From: Hans-Peter Nilsson Date: Tue, 9 Jul 2002 03:46:49 +0000 (+0000) Subject: * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=57a4c584135c2e34f82de89bf58ba76d20010ad5;p=binutils-gdb.git * ld-cris/libdso-3.d, ld-cris/dso-3.s, ld-cris/noglob1.s, ld-cris/noglob1.d: New tests. --- diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index f29197f86f6..15dc6f4f37b 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 00000000000..6610504e1c8 --- /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 00000000000..91117972016 --- /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 00000000000..a07cef8202a --- /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 00000000000..62111bf87f0 --- /dev/null +++ b/ld/testsuite/ld-cris/noglob1.s @@ -0,0 +1,4 @@ +; See noglob1.d + .text +x: + move.d .,$r0