aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ChangeLog5
-rw-r--r--ld/testsuite/ld-sh/sh64/gotplt.d12
-rw-r--r--ld/testsuite/ld-sh/sh64/gotplt.map4
-rw-r--r--ld/testsuite/ld-sh/sh64/gotplt.s8
4 files changed, 29 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 2e12b77..f48490f 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,4 +1,9 @@
2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
+
+ * ld-sh/sh64/gotplt.d, ld-sh/sh64/gotplt.map,
+ ld-sh/sh64/gotplt.s: New test.
+
+2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
* ld-sh/sh64/cmpct1.sd : Fix linked file name.
* ld-sh/sh64/crange3.dd: Likewise.
diff --git a/ld/testsuite/ld-sh/sh64/gotplt.d b/ld/testsuite/ld-sh/sh64/gotplt.d
new file mode 100644
index 0000000..3339a65
--- /dev/null
+++ b/ld/testsuite/ld-sh/sh64/gotplt.d
@@ -0,0 +1,12 @@
+#source: gotplt.s
+#as: --abi=32 --isa=SHmedia
+#ld: -shared -mshelf32 --version-script=$srcdir/$subdir/gotplt.map
+#readelf: -r
+#target: sh64-*-elf
+
+# Make sure that gotplt relocations of forced local symbols
+# use the GOT.
+
+Relocation section '\.rela\.dyn' at offset 0x3fc contains 1 entries:
+ Offset Info Type Sym\.Value Sym\. Name \+ Addend
+0000052c 000000a5 R_SH_RELATIVE 00000408
diff --git a/ld/testsuite/ld-sh/sh64/gotplt.map b/ld/testsuite/ld-sh/sh64/gotplt.map
new file mode 100644
index 0000000..a27c22c
--- /dev/null
+++ b/ld/testsuite/ld-sh/sh64/gotplt.map
@@ -0,0 +1,4 @@
+GLIBC_2.2 {
+ local:
+ xxx;
+};
diff --git a/ld/testsuite/ld-sh/sh64/gotplt.s b/ld/testsuite/ld-sh/sh64/gotplt.s
new file mode 100644
index 0000000..45ed0b2
--- /dev/null
+++ b/ld/testsuite/ld-sh/sh64/gotplt.s
@@ -0,0 +1,8 @@
+ .text
+ .global xxx
+xxx:
+ ptabs r18, tr0
+ blink tr0, r63
+ .global yyy
+yyy:
+ movi ((xxx@GOTPLT) & 65535), r1