* ld-cris/hidedsofns2468, ld-cris/libdso-12b.d,
authorHans-Peter Nilsson <hp@axis.com>
Mon, 15 Dec 2008 01:36:21 +0000 (01:36 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Mon, 15 Dec 2008 01:36:21 +0000 (01:36 +0000)
ld-cris/libdso-12c.d, ld-cris/libdso-1b.d, ld-cris/dso-1b.s: New
tests.

ld/testsuite/ChangeLog
ld/testsuite/ld-cris/dso-1b.s [new file with mode: 0644]
ld/testsuite/ld-cris/hidedsofns2468 [new file with mode: 0644]
ld/testsuite/ld-cris/libdso-12b.d [new file with mode: 0644]
ld/testsuite/ld-cris/libdso-12c.d [new file with mode: 0644]
ld/testsuite/ld-cris/libdso-1b.d [new file with mode: 0644]

index c7c1525b613b9cba93cf53242040d14b675fa50d..b0928f446eecc7017319a938ff9b4ad2c9be35ab 100644 (file)
@@ -1,5 +1,9 @@
 2008-12-15  Hans-Peter Nilsson  <hp@axis.com>
 
+       * ld-cris/hidedsofns2468, ld-cris/libdso-12b.d,
+       ld-cris/libdso-12c.d, ld-cris/libdso-1b.d, ld-cris/dso-1b.s: New
+       tests.
+
        * ld-cris/got7.s: Correct .size expression.
        * ld-cris/tls-e-20a.d: Adjust accordingly.
 
diff --git a/ld/testsuite/ld-cris/dso-1b.s b/ld/testsuite/ld-cris/dso-1b.s
new file mode 100644 (file)
index 0000000..fc7424a
--- /dev/null
@@ -0,0 +1,4 @@
+       .include "dso-1.s"
+       .symver dsofn,expfn@@TST2
+       .include "init.s"
+       .symver _init,expobj@@TST2
diff --git a/ld/testsuite/ld-cris/hidedsofns2468 b/ld/testsuite/ld-cris/hidedsofns2468
new file mode 100644 (file)
index 0000000..ebe3d44
--- /dev/null
@@ -0,0 +1 @@
+TST2 { local: dsofn; dsofn2; dsofn4; dsofn6; dsofn8; };
diff --git a/ld/testsuite/ld-cris/libdso-12b.d b/ld/testsuite/ld-cris/libdso-12b.d
new file mode 100644 (file)
index 0000000..87506ed
--- /dev/null
@@ -0,0 +1,50 @@
+#source: expdyn1.s
+#source: dsov32-1.s
+#source: dsov32-2.s
+#as: --pic --no-underscore --march=v32 --em=criself
+#ld: --shared -m crislinux
+#objdump: -s -T
+
+# Like libdso-12.d but without -z nocombreloc.
+
+.*:     file format elf32-cris
+
+DYNAMIC SYMBOL TABLE:
+#...
+0+23e g    DF \.text   0+12 dsofn4
+0+234 g    DF \.text   0+2 expfn
+0+22fc g    DO \.data  0+4 expobj
+#...
+0+236 g    DF \.text   0+8 dsofn3
+#...
+0+      D  \*UND\*     0+ dsofn
+#...
+Contents of section \.rela\.dyn:
+ 01c0 f8220000 0a040000 00000000           .*
+Contents of section \.rela\.plt:
+ 01cc f0220000 0b020000 00000000 f4220000  .*
+ 01dc 0b0a0000 00000000                    .*
+Contents of section \.plt:
+ 01e4 84e20401 7e7a3f7a 04f26ffa bf09b005  .*
+ 01f4 00000000 00000000 00006f0d 0c000000  .*
+ 0204 6ffabf09 b0053f7e 00000000 bf0ed4ff  .*
+ 0214 ffffb005 6f0d1000 00006ffa bf09b005  .*
+ 0224 3f7e0c00 0000bf0e baffffff b005      .*
+Contents of section \.text:
+ 0232 b005b005 bfbee2ff ffffb005 7f0da620  .*
+ 0242 00005f0d 1400bfbe b6ffffff b0050000  .*
+Contents of section \.dynamic:
+ 2254 04000000 94000000 05000000 84010000  .*
+ 2264 06000000 d4000000 0a000000 3a000000  .*
+ 2274 0b000000 10000000 03000000 e4220000  .*
+ 2284 02000000 18000000 14000000 07000000  .*
+ 2294 17000000 cc010000 07000000 c0010000  .*
+ 22a4 08000000 0c000000 09000000 0c000000  .*
+ 22b4 00000000 00000000 00000000 00000000  .*
+ 22c4 00000000 00000000 00000000 00000000  .*
+ 22d4 00000000 00000000 00000000 00000000  .*
+Contents of section \.got:
+ 22e4 54220000 00000000 00000000 0a020000  .*
+ 22f4 24020000 00000000                    .*
+Contents of section \.data:
+ 22fc 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-12c.d b/ld/testsuite/ld-cris/libdso-12c.d
new file mode 100644 (file)
index 0000000..37eab56
--- /dev/null
@@ -0,0 +1,41 @@
+#source: expdyn1.s
+#source: dsov32-1.s
+#source: dsov32-2.s
+#source: dso-1.s
+#as: --pic --no-underscore --march=v32 --em=criself
+#ld: --shared -m crislinux --version-script $srcdir/$subdir/hidedsofns2468
+#objdump: -s -T
+
+# Like libdso-12b.d, but dsofn is defined and the two called functions
+# are forced local using a linker script.  There should just be the
+# GOT relocation for expobj in the DSO.
+
+.*:     file format elf32-cris
+
+DYNAMIC SYMBOL TABLE:
+#...
+0+202 g[       ]+DF \.text     0+2  Base[      ]+expfn
+0+22bc g[      ]+DO \.data     0+4  Base[      ]+expobj
+#...
+0+204 g[       ]+DF \.text     0+8  Base[      ]+dsofn3
+#...
+Contents of section \.rela\.dyn:
+ 01f4 b8220000 0a040000 00000000           .*
+Contents of section \.text:
+ 0200 b005b005 bfbe1c00 0000b005 7f0da020  .*
+ 0210 00005f0d 0c00bfbe f6ffffff b0050000  .*
+ 0220 b0050000                             .*
+Contents of section .dynamic:
+ 2224 04000000 94000000 05000000 70010000  .*
+ 2234 06000000 d0000000 0a000000 37000000  .*
+ 2244 0b000000 10000000 07000000 f4010000  .*
+ 2254 08000000 0c000000 09000000 0c000000  .*
+ 2264 fcffff6f bc010000 fdffff6f 02000000  .*
+ 2274 f0ffff6f a8010000 00000000 00000000  .*
+ 2284 00000000 00000000 00000000 00000000  .*
+ 2294 00000000 00000000 00000000 00000000  .*
+ 22a4 00000000 00000000                    .*
+Contents of section \.got:
+ 22ac 24220000 00000000 00000000 00000000  .*
+Contents of section \.data:
+ 22bc 00000000                             .*
diff --git a/ld/testsuite/ld-cris/libdso-1b.d b/ld/testsuite/ld-cris/libdso-1b.d
new file mode 100644 (file)
index 0000000..9ad2143
--- /dev/null
@@ -0,0 +1,15 @@
+#source: dso-1b.s
+#as: --pic --no-underscore --em=criself -I$srcdir/$subdir
+#ld: --shared -m crislinux --version-script $srcdir/$subdir/hidedsofns2468
+#objdump: -T
+
+# Like libdso-1, but export the function as expfn@@TST2 and another
+# function as expobj@@TST2.
+
+.*:     file format elf32-cris
+
+DYNAMIC SYMBOL TABLE:
+#...
+00000[12].[02468ace] g    DF .text     0+2[    ]+TST2[  ]+expobj
+00000[12].[02468ace] g    DF .text     0+2[    ]+TST2[  ]+expfn
+#pass