[PATCH] D54145: [ELF] - Fix R_X86_64_GOTPCRELX/R_X86_64_REX_GOTPCRELX when target is IFUNC.

Peter Smith via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 6 07:07:48 PST 2018


peter.smith added a comment.

I've tested this out on X86, Arm and AArch64 and it works for X86 and Arm. Unfortunately it doesn't seem to work with AArch64 yet. I don't see any R_AARCH64_IRELATIVE relocations.

I haven't found out why as yet. I'll do some digging to see if there is anything obvious that we are missing. If you have access to a X86 Linux box this is reproducible with a GCC aarch64-linux-gnu cross compilation toolchain and the linux user mode emulator qemu-aarch64.



================
Comment at: test/ELF/gotpc-relax.s:26
+# from the .got.plt which is subject to an R_X86_64_IRELATIV relocation.
+# 0x20101f + 8154 + 7 = 0x203000 
+# DISASM-NEXT:  20101f: {{.*}} movq 8154(%rip), %rax
----------------
my git diff is showing some trailing whitespace characters on the lines ending with 0x203000

Not a massive problem, but worth removing.


https://reviews.llvm.org/D54145





More information about the llvm-commits mailing list