[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/23854] -no-pie -export-dynamic corrupts binary
From: |
hjl.tools at gmail dot com |
Subject: |
[Bug ld/23854] -no-pie -export-dynamic corrupts binary |
Date: |
Sun, 04 Nov 2018 22:24:27 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23854
--- Comment #3 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Stas Sergeev from comment #2)
> (In reply to H.J. Lu from comment #1)
> > dpmi.o has:
> >
> > 8f69: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 8f6b:
> > R_386_GOT32X DPMI_return_from_realmode
> > 8f6f: 66 05 00 48 add $0x4800,%ax
> > 8f73: 66 2b 83 00 00 00 00 sub 0x0(%ebx),%ax 8f76:
> > R_386_GOT32X DPMI_dummy_start
> > 8f7a: 66 89 46 30 mov %ax,0x30(%esi)
> These functions are not from dpmi.c, they
> are from another translation unit. The function
> of interest is "do_dpmi_int" - it gets corrupted,
> as my test-case shows.
>
> > Does dpmi.o contain normal i386 code?
> Yes, but not the ones you pointed to.
> These should be undefined in dpmi.c, and
> are actually written in 16bit asm.
> Please inspect "do_dpmi_int" instead - it
> is a valid C func from dpmi.o.
> You can see from my .gdbinit script where
> the corruption actually happens.
do_dpmi_int has
8f69: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 8f6b:
R_386_GOT32X DPMI_return_from_realmode
8f6f: 66 05 00 48 add $0x4800,%ax
8f73: 66 2b 83 00 00 00 00 sub 0x0(%ebx),%ax 8f76:
R_386_GOT32X DPMI_dummy_start
8f7a: 66 89 46 30 mov %ax,0x30(%esi)
8f7e: 0f b7 45 2c movzwl 0x2c(%ebp),%eax
Please show me the corresponding C code.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/23854] New: -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/03
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, hjl.tools at gmail dot com, 2018/11/04
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/04
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary,
hjl.tools at gmail dot com <=
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/04
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/04
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, hjl.tools at gmail dot com, 2018/11/04
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/05
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/05
- [Bug ld/23854] -no-pie -export-dynamic corrupts binary, stsp at users dot sourceforge.net, 2018/11/05
- [Bug ld/23854] 16-bit GOT access is incorrectly optimized, hjl.tools at gmail dot com, 2018/11/05
- [Bug ld/23854] 16-bit GOT access is incorrectly optimized, hjl.tools at gmail dot com, 2018/11/05
- [Bug ld/23854] 16-bit GOT access is incorrectly optimized, stsp at users dot sourceforge.net, 2018/11/05
- [Bug ld/23854] 16-bit GOT access is incorrectly optimized, hjl.tools at gmail dot com, 2018/11/05