aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorYufeng Zhang <yufeng.zhang@arm.com>2013-06-14 15:55:36 +0000
committerYufeng Zhang <yufeng.zhang@arm.com>2013-06-14 15:55:36 +0000
commitaa489d7c4a270e6f87f7111c40c3ff39d9ae9270 (patch)
tree1f14cd66a5942cd9961dbabda91c65cfe41e234f /ld
parente410add4157311809c0b580cf2303bd07c55ea1e (diff)
downloadfsf-binutils-gdb-aa489d7c4a270e6f87f7111c40c3ff39d9ae9270.zip
fsf-binutils-gdb-aa489d7c4a270e6f87f7111c40c3ff39d9ae9270.tar.gz
fsf-binutils-gdb-aa489d7c4a270e6f87f7111c40c3ff39d9ae9270.tar.bz2
ld/
* emulparams/aarch64elf.sh: Add IREL_IN_PLT. ld/testsuite/ * ld-aarch64/ifunc-1-local.d: Replace hard-coded immediate offset with regexp. * ld-aarch64/ifunc-1.d: Likewise. * ld-aarch64/ifunc-2-local.d: Likewise. * ld-aarch64/ifunc-2.d: Likewise. * ld-aarch64/ifunc-3a.d: Likewise. * ld-aarch64/ifunc-2-local.s: Change not to declare __GI_foo and foo global.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/emulparams/aarch64elf.sh2
-rw-r--r--ld/testsuite/ChangeLog11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1-local.d2
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1.d2
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2-local.d4
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2-local.s3
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2.d4
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-3a.d2
9 files changed, 24 insertions, 10 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index e58945b..c1435fe 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * emulparams/aarch64elf.sh: Add IREL_IN_PLT.
+
2013-06-12 Nick Clifton <nickc@redhat.com>
* ldcref.c (output_one_cref): Place common definitions after
diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh
index 53ccd6a..99f4844 100644
--- a/ld/emulparams/aarch64elf.sh
+++ b/ld/emulparams/aarch64elf.sh
@@ -18,6 +18,8 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
ENTRY=_start
EMBEDDED=yes
SEPARATE_GOTPLT=24
+IREL_IN_PLT=
+
TEXT_START_ADDR=0x00400000
DATA_START_SYMBOLS='__data_start = . ;';
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index fa4c842..202c1eb 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * ld-aarch64/ifunc-1-local.d: Replace hard-coded immediate offset
+ with regexp.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Change not to declare __GI_foo and foo
+ global.
+
2013-06-13 Terry Guo <terry.guo@arm.com>
PR ld/15302
diff --git a/ld/testsuite/ld-aarch64/ifunc-1-local.d b/ld/testsuite/ld-aarch64/ifunc-1-local.d
index 0cce7f6..0b49004 100644
--- a/ld/testsuite/ld-aarch64/ifunc-1-local.d
+++ b/ld/testsuite/ld-aarch64/ifunc-1-local.d
@@ -3,5 +3,5 @@
#target: aarch64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x2a0@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-1.d b/ld/testsuite/ld-aarch64/ifunc-1.d
index 8a17cd7..0b49004 100644
--- a/ld/testsuite/ld-aarch64/ifunc-1.d
+++ b/ld/testsuite/ld-aarch64/ifunc-1.d
@@ -3,5 +3,5 @@
#target: aarch64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x2c0@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.d b/ld/testsuite/ld-aarch64/ifunc-2-local.d
index 07616ca..07cc0bf 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2-local.d
+++ b/ld/testsuite/ld-aarch64/ifunc-2-local.d
@@ -3,7 +3,7 @@
#target: aarch64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x2c0@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <_GLOBAL_OFFSET_TABLE_>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x2b0
+[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x[0-9a-f]+
#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.s b/ld/testsuite/ld-aarch64/ifunc-2-local.s
index da350df..632c31f 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2-local.s
+++ b/ld/testsuite/ld-aarch64/ifunc-2-local.s
@@ -1,9 +1,6 @@
.type foo, %gnu_indirect_function
- .global __GI_foo
- .hidden __GI_foo
.set __GI_foo, foo
.text
-.globl foo
.type foo, @function
foo:
ret
diff --git a/ld/testsuite/ld-aarch64/ifunc-2.d b/ld/testsuite/ld-aarch64/ifunc-2.d
index 07616ca..07cc0bf 100644
--- a/ld/testsuite/ld-aarch64/ifunc-2.d
+++ b/ld/testsuite/ld-aarch64/ifunc-2.d
@@ -3,7 +3,7 @@
#target: aarch64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x2c0@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <_GLOBAL_OFFSET_TABLE_>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x2b0
+[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x[0-9a-f]+
#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-3a.d b/ld/testsuite/ld-aarch64/ifunc-3a.d
index 1335480..91ba4aa 100644
--- a/ld/testsuite/ld-aarch64/ifunc-3a.d
+++ b/ld/testsuite/ld-aarch64/ifunc-3a.d
@@ -4,5 +4,5 @@
#target: aarch64-*-*
#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x2e0@plt>
+[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
#pass