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-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils