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