aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/lib
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2011-06-10 14:04:25 +0000
committerNick Clifton <nickc@redhat.com>2011-06-10 14:04:25 +0000
commit894891db7f1ff09f021a0d2c8bb471f3a73a776a (patch)
tree92496b5fd1ebc0c60c95f341ca77699e87569545 /ld/testsuite/lib
parent12af614e24384fa939bbc1b55e40cfc28322c3a4 (diff)
downloadgdb-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.exp34
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