https://sourceware.org/bugzilla/show_bug.cgi?id=21285

--- Comment #1 from georgerim at gmail dot com ---
So gold implementation assumes that movl bar@GOT, %eax is always encoded using
0x8b, what is wrong, I think.

Because ABI says:
(https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-1.1.pdf and
https://github.com/hjl-tools/x86-psABI/wiki/intel386-psABI-draft.pdf p37)
"mov name@GOT, %eax must be encoded with opcode 0x8b, not 0xa0, to allow linker
optimization."

R_386_GOT32 is not supposed to be optimized, R_386_GOT32X is used for
optimizations. That I believe means that using 0xa1 for encoding mov 0x0,%eax
with R_386_GOT32 relocation is correct. And gold behavior is broken now.

-- 
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

Reply via email to