aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-aarch64/ifunc-21.s
diff options
context:
space:
mode:
authorWill Newton <will.newton@linaro.org>2013-11-25 11:07:07 +0000
committerWill Newton <will.newton@linaro.org>2013-11-26 15:24:54 +0000
commitb1ee0cc48909c2116709038e6e1f2ffa7c3bd99c (patch)
tree1484096e5f4d20e7d2e6a81c858bfc6fba65d5f5 /ld/testsuite/ld-aarch64/ifunc-21.s
parent158599681f7c57e4d233a3e14c2e01faeaae55aa (diff)
downloadgdb-b1ee0cc48909c2116709038e6e1f2ffa7c3bd99c.zip
gdb-b1ee0cc48909c2116709038e6e1f2ffa7c3bd99c.tar.gz
gdb-b1ee0cc48909c2116709038e6e1f2ffa7c3bd99c.tar.bz2
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.
Diffstat (limited to 'ld/testsuite/ld-aarch64/ifunc-21.s')
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-21.s13
1 files changed, 13 insertions, 0 deletions
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