[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