From 57a4c584135c2e34f82de89bf58ba76d20010ad5 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Tue, 9 Jul 2002 03:46:49 +0000 Subject: [PATCH] * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s, ld-cris/noglob1.d: New tests. --- ld/testsuite/ChangeLog | 3 +++ ld/testsuite/ld-cris/dso-3.s | 20 ++++++++++++++++++++ ld/testsuite/ld-cris/libdso-3.d | 14 ++++++++++++++ ld/testsuite/ld-cris/noglob1.d | 8 ++++++++ ld/testsuite/ld-cris/noglob1.s | 4 ++++ 5 files changed, 49 insertions(+) create mode 100644 ld/testsuite/ld-cris/dso-3.s create mode 100644 ld/testsuite/ld-cris/libdso-3.d create mode 100644 ld/testsuite/ld-cris/noglob1.d create mode 100644 ld/testsuite/ld-cris/noglob1.s diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index f29197f86f..15dc6f4f37 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2002-07-09 Hans-Peter Nilsson + * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s, + ld-cris/noglob1.d: New tests. + * ld-cris/libdso-1.d: Tweak for change in size of dynamic sections. 2002-07-03 Alan Modra diff --git a/ld/testsuite/ld-cris/dso-3.s b/ld/testsuite/ld-cris/dso-3.s new file mode 100644 index 0000000000..6610504e1c --- /dev/null +++ b/ld/testsuite/ld-cris/dso-3.s @@ -0,0 +1,20 @@ +; The visibility definitions here override the default +; definitions in the object where the symbols are defined. We +; check STV_HIDDEN and STV_PROTECTED with function and object +; definition respectively. This is by no means a full coverage, +; just enough to be a test-case for the bug described in +; libdso-3.d. Use ld-elfvsb for general visibility tests. + + .hidden expobj + .protected expfn + + .text + .global globsym + .type globsym,@function +globsym: + move.d expfn:GOTOFF,$r3 + move.d expfn:PLTG,$r3 + move.d expfn:PLT,$r3 + move.d expobj:GOTOFF,$r3 +.Lfe1: + .size globsym,.Lfe1-globsym diff --git a/ld/testsuite/ld-cris/libdso-3.d b/ld/testsuite/ld-cris/libdso-3.d new file mode 100644 index 0000000000..9111797201 --- /dev/null +++ b/ld/testsuite/ld-cris/libdso-3.d @@ -0,0 +1,14 @@ +#source: expdyn1.s +#source: dso-3.s +#as: --pic --no-underscore +#ld: --shared -m crislinux +#objdump: -R + +# GOTOFF relocs against global symbols with non-default +# visibility got a linker error. (A non-default visibility is +# to be treated as a local definition for the reloc.) We also +# make sure we don't get unnecessary dynamic relocations. + +.*: file format elf32-cris + +DYNAMIC RELOCATION RECORDS \(none\) diff --git a/ld/testsuite/ld-cris/noglob1.d b/ld/testsuite/ld-cris/noglob1.d new file mode 100644 index 0000000000..a07cef8202 --- /dev/null +++ b/ld/testsuite/ld-cris/noglob1.d @@ -0,0 +1,8 @@ +#ld: +#objdump: -p + +# Check that we can link an object that doesn't have any global symbols; +# where elf_sym_hashes(bfd) is NULL. + +.*: file format elf32.*-cris +#pass diff --git a/ld/testsuite/ld-cris/noglob1.s b/ld/testsuite/ld-cris/noglob1.s new file mode 100644 index 0000000000..62111bf87f --- /dev/null +++ b/ld/testsuite/ld-cris/noglob1.s @@ -0,0 +1,4 @@ +; See noglob1.d + .text +x: + move.d .,$r0