summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/ld/testsuite/ld-cris/hiddef1.d
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/ld/testsuite/ld-cris/hiddef1.d')
-rw-r--r--binutils-2.25/ld/testsuite/ld-cris/hiddef1.d28
1 files changed, 28 insertions, 0 deletions
diff --git a/binutils-2.25/ld/testsuite/ld-cris/hiddef1.d b/binutils-2.25/ld/testsuite/ld-cris/hiddef1.d
new file mode 100644
index 00000000..0be90a1f
--- /dev/null
+++ b/binutils-2.25/ld/testsuite/ld-cris/hiddef1.d
@@ -0,0 +1,28 @@
+#source: gotrel1.s
+#source: hiddef1.s
+#source: hidrefgotplt1.s
+#ld: -shared -m crislinux
+#as: --pic --no-underscore -I$srcdir/$subdir --em=criself
+#readelf: -S -s -r
+
+# Regression test for mishandling of GOTPLT relocs against a
+# hidden symbol, where the reloc is found after the symbol
+# definition. There should be no PLT, just a single GOT entry
+# from a GOTPLT reloc moved to the .got section. It's hard to
+# check for absence of a .plt section, so we just check the
+# number of symbols and sections. When the number of symbols
+# and sections change, make sure that there's no .plt and that
+# dsofn is hidden (not exported as a dynamic symbol).
+
+There are 11 section headers, starting at offset 0x[0-9a-f]+:
+#...
+ \[[ 0-9]+\] \.got PROGBITS [0-9a-f]+ [0-9a-f]+ 0+10 04 WA 0 0 4
+#...
+Relocation section '\.rela\.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
+#...
+[0-9a-f]+ 0+c R_CRIS_RELATIVE +[0-9a-f]+
+#...
+Symbol table '\.dynsym' contains 6 entries:
+#...
+Symbol table '\.symtab' contains 18 entries:
+#pass