[PATCH] D30699: [ELF] - Stop producing broken output for R_386_GOT32X relocation.
George Rimar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 23 11:25:21 PDT 2017
grimar added a comment.
I think llvm-mc emits GOT32X relocation only for 0x8b opcode case.
So for case movl ifunc at GOT, %eax it would emit 0xa1 00 00 00 00 and R_386_GOT32, and R_386_GOT32X + 0x8b for
movl ifunc at GOT, %ebx and other registers.
GAS looks always uses 0x8b form for R_386_GOT32X.
That means that if we see R_386_GOT32X relocation, then I belive we *can* assume it used with 0x8b.
That should work with both GAS and llvm-mc I think.
Though in any case, I still hope to see comments on issue I posted to gold bugtracker.
We can postpone this one, but I really believe it is correct.
https://reviews.llvm.org/D30699
More information about the llvm-commits
mailing list