diff options
author | Nick Clifton <nickc@redhat.com> | 2011-06-10 14:04:25 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-06-10 14:04:25 +0000 |
commit | 894891db7f1ff09f021a0d2c8bb471f3a73a776a (patch) | |
tree | 92496b5fd1ebc0c60c95f341ca77699e87569545 /ld/testsuite/lib | |
parent | 12af614e24384fa939bbc1b55e40cfc28322c3a4 (diff) | |
download | gdb-894891db7f1ff09f021a0d2c8bb471f3a73a776a.zip gdb-894891db7f1ff09f021a0d2c8bb471f3a73a776a.tar.gz gdb-894891db7f1ff09f021a0d2c8bb471f3a73a776a.tar.bz2 |
* elflink.c (_bfd_elf_link_create_dynamic_sections): If the
backend does not provide a function for creating dynamic sections
then fail.
(bfd_elf_final_link): Issue a warning message if a dynamic section
has the SHT_NOTE type.
(bfd_elf_final_link): Do not look for dynamic strings in a section
that does not have the SHT_STRTAB type or the name .dynstr.
* elf32-arm.c (elf32_arm_finish_dynamic_sections): Fail if the got
section is not in the output binary.
* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Likewise.
* ld-elf/elf.exp: Add test for linking a shared library with a
broken linker script that marks dynamic sections as being notes.
* ld-elf/note-3.s: New test source file.
* ld-elf/note-3.t: New test linker script.
* ld-elf/note-3.l: Expected output from the linker.
* lib/ld-lib.exp (run_ld_link_tests): Improve description.
Diffstat (limited to 'ld/testsuite/lib')
-rw-r--r-- | ld/testsuite/lib/ld-lib.exp | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp index 62e0ff7..2020372 100644 --- a/ld/testsuite/lib/ld-lib.exp +++ b/ld/testsuite/lib/ld-lib.exp @@ -903,18 +903,24 @@ proc ar_simple_create { ar aropts target objects } { # List contains test-items with 3 items followed by 2 lists, one item and # one optional item: -# 0:name 1:ld/ar options 2:assembler options -# 3:filenames of assembler files 4: action and options. 5: name of output file -# 6:compiler flags (optional) +# 0:name +# 1:ld/ar options +# 2:assembler options +# 3:filenames of assembler files +# 4:list of actions, options and expected outputs. +# 5:name of output file +# 6:compiler flags (optional) # -# Actions: -# objdump: Apply objdump options on result. Compare with regex (last arg). -# nm: Apply nm options on result. Compare with regex (last arg). -# readelf: Apply readelf options on result. Compare with regex (last arg). -# ld: Don't apply anything on result. Compare output during linking with -# regex (second arg). Note that this *must* be the first action if it -# is to be used at all; in all other cases, any output from the linker -# during linking is treated as a sign of an error and FAILs the test. +# Actions: { command command-line-options file-containg-expected-output-regexps } +# Commands: +# objdump: Apply objdump options on result. +# nm: Apply nm options on result. +# readelf: Apply readelf options on result. +# ld: Don't apply anything on result. Compare output during linking with +# the file containing regexps (which is the second arg, not the third). +# Note that this *must* be the first action if it is to be used at all; +# in all other cases, any output from the linker during linking is +# treated as a sign of an error and FAILs the test. # proc run_ld_link_tests { ldtests } { global ld @@ -1019,11 +1025,11 @@ proc run_ld_link_tests { ldtests } { } if { $action == "ld" } { - set dumpfile [lindex $actionlist 1] - verbose "dumpfile is $dumpfile" + set regexpfile $progopts + verbose "regexpfile is $srcdir/$subdir/$regexpfile" set_file_contents "tmpdir/ld.messages" "$ld_output" verbose "ld.messages has '[file_contents tmpdir/ld.messages]'" - if { [regexp_diff "tmpdir/ld.messages" "$srcdir/$subdir/$dumpfile"] } then { + if { [regexp_diff "tmpdir/ld.messages" "$srcdir/$subdir/$regexpfile"] } then { verbose "output is $ld_output" 2 set failed 1 break |