[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug gold/21285] R_386_GOT32 for baseless case looks implemented incorre
From: |
georgerim at gmail dot com |
Subject: |
[Bug gold/21285] R_386_GOT32 for baseless case looks implemented incorrectly. |
Date: |
Thu, 23 Mar 2017 07:56:58 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=21285
--- Comment #1 from georgerim at gmail dot com ---
So gold implementation assumes that movl address@hidden, %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 address@hidden, %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.