aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ChangeLog3
-rw-r--r--ld/testsuite/ld-cris/locref1.d23
-rw-r--r--ld/testsuite/ld-cris/locref1.s3
-rw-r--r--ld/testsuite/ld-cris/locref2.d23
-rw-r--r--ld/testsuite/ld-cris/locref2.s5
5 files changed, 57 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index e54d285..23e8b58 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2003-06-18 Hans-Peter Nilsson <hp@axis.com>
+ * ld-cris/locref1.d, ld-cris/locref1.s, ld-cris/locref2.d,
+ ld-cris/locref2.s: New tests.
+
* ld-elfcomm/elfcomm.exp (dump_common1): Use $READELF, not plain
readelf as found using default path.
diff --git a/ld/testsuite/ld-cris/locref1.d b/ld/testsuite/ld-cris/locref1.d
new file mode 100644
index 0000000..aa8e4c5
--- /dev/null
+++ b/ld/testsuite/ld-cris/locref1.d
@@ -0,0 +1,23 @@
+#as: --no-underscore --pic
+#source: expdyn1.s
+#source: locref1.s
+#ld: -m crislinux
+#objdump: -dt
+
+# Referencing a "normal" (non-hidden) symbol with a local-only PIC
+# relocation is ok when building an executable.
+
+.*: file format elf32-cris
+
+SYMBOL TABLE:
+#...
+0+80076 g F \.text 0+2 expfn
+0+820a0 g O \.data 0+ expobj
+#...
+0+820a4 g O \.got 0+ _GLOBAL_OFFSET_TABLE_
+#...
+Disassembly of section \.text:
+#...
+0+80078 <y>:
+ 80078: 6fae d2df ffff .*
+ 8007e: 6fbe fcff ffff .*
diff --git a/ld/testsuite/ld-cris/locref1.s b/ld/testsuite/ld-cris/locref1.s
new file mode 100644
index 0000000..7a29841
--- /dev/null
+++ b/ld/testsuite/ld-cris/locref1.s
@@ -0,0 +1,3 @@
+y:
+ move.d expfn:GOTOFF,$r10
+ move.d expobj:GOTOFF,$r11
diff --git a/ld/testsuite/ld-cris/locref2.d b/ld/testsuite/ld-cris/locref2.d
new file mode 100644
index 0000000..ca25dd8
--- /dev/null
+++ b/ld/testsuite/ld-cris/locref2.d
@@ -0,0 +1,23 @@
+#as: --no-underscore --pic
+#source: gotrel1.s
+#source: locref2.s
+#ld: -m crislinux
+#objdump: -dt
+
+# Referencing an undefined weak (non-hidden) symbol with a local-only
+# PIC relocation is ok when building an executable.
+
+.*: file format elf32-cris
+
+SYMBOL TABLE:
+#...
+0+ w \*UND\* 0+ expfn
+0+ w \*UND\* 0+ expobj
+#...
+0+820a0 g O \.got 0+ _GLOBAL_OFFSET_TABLE_
+#...
+Disassembly of section \.text:
+#...
+0+8007c <y>:
+ 8007c: 6fae 60df f7ff .*
+ 80082: 6fbe 60df f7ff .*
diff --git a/ld/testsuite/ld-cris/locref2.s b/ld/testsuite/ld-cris/locref2.s
new file mode 100644
index 0000000..3b407a6
--- /dev/null
+++ b/ld/testsuite/ld-cris/locref2.s
@@ -0,0 +1,5 @@
+ .weak expfn
+ .weak expobj
+y:
+ move.d expfn:GOTOFF,$r10
+ move.d expobj:GOTOFF,$r11