[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 10:45:55 PDT 2017
grimar added a comment.
In https://reviews.llvm.org/D30699#708994, @ruiu wrote:
> When you compute G+A instead of G+A-GOT for an R_386_GOT32X, you always need to rewrite instructions as well.
Why ? Optimization in not applicable for some situations, for example for IFUNC.
If I have movl ifunc at GOT, %eax code, there is no base register and formula should be G+A.
No instructions will be overwrited here.
Otherwize result of (G+A-GOT) would be an offset against nothing (since there is no base register). That is what fixed in patch.
https://reviews.llvm.org/D30699
More information about the llvm-commits
mailing list