From b1ee0cc48909c2116709038e6e1f2ffa7c3bd99c Mon Sep 17 00:00:00 2001 From: Will Newton <will.newton@linaro.org> Date: Mon, 25 Nov 2013 11:07:07 +0000 Subject: bfd/elfnn-aarch64.c: Fix miscalculation of GOTPLT offset for ifunc syms. The .got.plt header size was not being correctly taken into account when calculating the offset for relocations against ifunc symbols. bfd/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Ensure PLT_INDEX is calculated using correct header size. ld/testsuite/ChangeLog: 2013-11-26 Will Newton <will.newton@linaro.org> * ld-aarch64/aarch64-elf.exp: Add ifunc-21 test. * ld-aarch64/ifunc-21.d: New file. * ld-aarch64/ifunc-21.s: Likewise. --- ld/testsuite/ld-aarch64/ifunc-21.s | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 ld/testsuite/ld-aarch64/ifunc-21.s (limited to 'ld/testsuite/ld-aarch64/ifunc-21.s') diff --git a/ld/testsuite/ld-aarch64/ifunc-21.s b/ld/testsuite/ld-aarch64/ifunc-21.s new file mode 100644 index 0000000..a1563dc --- /dev/null +++ b/ld/testsuite/ld-aarch64/ifunc-21.s @@ -0,0 +1,13 @@ + .text + .type ifunc, @gnu_indirect_function + .hidden ifunc +ifunc: + ret + .size ifunc, .-ifunc + .type bar, @function + .globl bar +bar: + adrp x0, :got:ifunc + ldr x0, [x0, #:got_lo12:ifunc] + ret + .size bar, .-bar -- cgit v1.1