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
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils