From deddc83b38f098c979fa1022174917a866aac1c2 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Mon, 15 Dec 2008 01:36:21 +0000 Subject: [PATCH] * 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/testsuite/ChangeLog | 4 +++ ld/testsuite/ld-cris/dso-1b.s | 4 +++ ld/testsuite/ld-cris/hidedsofns2468 | 1 + ld/testsuite/ld-cris/libdso-12b.d | 50 +++++++++++++++++++++++++++++++++++++ ld/testsuite/ld-cris/libdso-12c.d | 41 ++++++++++++++++++++++++++++++ ld/testsuite/ld-cris/libdso-1b.d | 15 +++++++++++ 6 files changed, 115 insertions(+) create mode 100644 ld/testsuite/ld-cris/dso-1b.s create mode 100644 ld/testsuite/ld-cris/hidedsofns2468 create mode 100644 ld/testsuite/ld-cris/libdso-12b.d create mode 100644 ld/testsuite/ld-cris/libdso-12c.d create mode 100644 ld/testsuite/ld-cris/libdso-1b.d diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index c7c1525..b0928f4 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2008-12-15 Hans-Peter Nilsson + * 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 index 0000000..fc7424a --- /dev/null +++ b/ld/testsuite/ld-cris/dso-1b.s @@ -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 index 0000000..ebe3d44 --- /dev/null +++ b/ld/testsuite/ld-cris/hidedsofns2468 @@ -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 index 0000000..87506ed --- /dev/null +++ b/ld/testsuite/ld-cris/libdso-12b.d @@ -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 index 0000000..37eab56 --- /dev/null +++ b/ld/testsuite/ld-cris/libdso-12c.d @@ -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 index 0000000..9ad2143 --- /dev/null +++ b/ld/testsuite/ld-cris/libdso-1b.d @@ -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 -- 2.7.4