summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ld/testsuite/ChangeLog4
-rw-r--r--ld/testsuite/ld-cris/weakhid.s13
-rw-r--r--ld/testsuite/ld-cris/weakhiddso.d31
3 files changed, 48 insertions, 0 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 78b39cd4c3..ec2a32520b 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-27 Hans-Peter Nilsson <hp@axis.com>
+
+ * ld-cris/weakhiddso.d, ld-cris/weakhid.s: New test.
+
2009-01-26 Nathan Sidwell <nathan@codesourcery.com>
* ld-powerpc/powerpc.exp: Add vxworks relax testcase.
diff --git a/ld/testsuite/ld-cris/weakhid.s b/ld/testsuite/ld-cris/weakhid.s
new file mode 100644
index 0000000000..e4c419f121
--- /dev/null
+++ b/ld/testsuite/ld-cris/weakhid.s
@@ -0,0 +1,13 @@
+ .weak xweakobj
+ .weak xweakhidobj
+ .hidden xweakhidobj
+
+ .data
+ .global x
+ .type x,@object
+x:
+ .dword xweakhidobj
+ .dword xweakobj
+ .dword xregobj
+.Lfe1:
+ .size x,.Lfe1-x
diff --git a/ld/testsuite/ld-cris/weakhiddso.d b/ld/testsuite/ld-cris/weakhiddso.d
new file mode 100644
index 0000000000..c0908df1d4
--- /dev/null
+++ b/ld/testsuite/ld-cris/weakhiddso.d
@@ -0,0 +1,31 @@
+#source: weakhid.s
+#as: --pic --no-underscore --em=criself
+#ld: --shared -m crislinux -z nocombreloc
+#objdump: -s -R -T
+
+# Check that .weak and .weak .hidden object references are handled
+# correctly when generating a DSO. For now, we have to live with the
+# R_CRIS_NONE entry.
+
+.*: file format elf32-cris
+
+DYNAMIC SYMBOL TABLE:
+0+2214 l d \.data 0+ .data
+0+2214 g DO \.data 0+c x
+0+ D \*UND\* 0+ xregobj
+0+2220 g D \*ABS\* 0+ __bss_start
+0+ w D \*UND\* 0+ xweakobj
+0+2220 g D \*ABS\* 0+ _edata
+0+2220 g D \*ABS\* 0+ _end
+
+
+DYNAMIC RELOCATION RECORDS
+OFFSET TYPE VALUE
+0+ R_CRIS_NONE \*ABS\*
+0+2218 R_CRIS_32 xweakobj
+0+221c R_CRIS_32 xregobj
+
+Contents of section \.hash:
+#...
+Contents of section .data:
+ 2214 00000000 00000000 00000000 .*