From 4c0f50c81ecdc5ee0ef3a418ac56c712c953c432 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Fri, 18 Oct 2013 02:38:34 +0000 Subject: * ld-cris/asneed1.d: New test. --- ld/testsuite/ChangeLog | 4 ++++ ld/testsuite/ld-cris/asneed1.d | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 ld/testsuite/ld-cris/asneed1.d diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index eed5226a57..788a8e7554 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2013-10-18 Hans-Peter Nilsson + + * ld-cris/asneed1.d: New test. + 2013-10-14 Chao-ying Fu * ld-mips-elf/attr-gnu-8-0.s, ld-mips-elf/attr-gnu-8-1.s, diff --git a/ld/testsuite/ld-cris/asneed1.d b/ld/testsuite/ld-cris/asneed1.d new file mode 100644 index 0000000000..00fba75822 --- /dev/null +++ b/ld/testsuite/ld-cris/asneed1.d @@ -0,0 +1,25 @@ +#source: start1.s +#source: dso-2.s +#source: dso-1.s +#as: --pic --no-underscore --em=criself +#ld: -m crislinux --as-needed tmpdir/libdso-1.so +#objdump: -p + +# Using --as-needed caused a elf_hash_table (info)->dynobj to be +# registered before cris_elf_check_relocs was called, thereby +# voiding an assumption that it was the sole setter of +# htab->dynobj, trigging a SEGV due to a NULL dereference for +# the variable holding the .got section. +# The test-case would FAIL for the SEGV and we also check that +# we don't get the DT_NEEDED tag (indeed no dynamic things at +# all) because the library isn't needed and would have to move +# to the end of the link-line to have effect if actually needed. + +.*: file format elf32-cris + +Program Header: + LOAD off .* + filesz .* + LOAD off .* + filesz .* +private flags = 0: -- cgit v1.2.1