diff options
author | Thomas Preud'homme <thomas.preudhomme@linaro.org> | 2018-11-01 17:18:24 +0000 |
---|---|---|
committer | Thomas Preud'homme <thomas.preudhomme@linaro.org> | 2018-11-01 17:19:17 +0000 |
commit | 33ea299c25134ce23805faa6b2b1e7fe6327f6bb (patch) | |
tree | 4ed73573972f15d6b8010fc846f6550677bf3e00 /binutils | |
parent | cdcda965ea4c70c80b9f8c294597e991417ff9d5 (diff) | |
download | gdb-33ea299c25134ce23805faa6b2b1e7fe6327f6bb.zip gdb-33ea299c25134ce23805faa6b2b1e7fe6327f6bb.tar.gz gdb-33ea299c25134ce23805faa6b2b1e7fe6327f6bb.tar.bz2 |
Fix ld action in run_dump_test
run_dump_test proposes an ld action but when trying to make use of it in
a gas test it gave me some Tcl error. It turns out that it references
the check_shared_lib_support procedure and ld_elf_shared_opt variable
both only available in ld-lib.exp. I've thus moved the procedure in
binutils-common.exp and defined the variable needed in the various
default.exp of testsuite that seem to be using run_dump_test.
Since check_shared_lib_support itself references the ld variable not
defined in binutils-common I've defined it from LD in run_dump_test and
fixed LD and LDFLAGS to be defined as expected by run_dump_test in the
various default.exp of testsuite using run_dump_test.
2018-11-01 Thomas Preud'homme <thomas.preudhomme@linaro.org>
binutils/
* testsuite/config/default.exp: Define LD, LDFLAGS and
ld_elf_shared_opt.
* testsuite/lib/binutils-common.exp (check_shared_lib_support): Moved
from ld-lib.exp.
(run_dump_test): Set ld to $LD.
gas/
* testsuite/config/default.exp: Define LD, LDFLAGS and
ld_elf_shared_opt.
ld/
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Moved to
binutils-common.exp.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 8 | ||||
-rw-r--r-- | binutils/testsuite/config/default.exp | 8 | ||||
-rw-r--r-- | binutils/testsuite/lib/binutils-common.exp | 19 |
3 files changed, 35 insertions, 0 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index e3bbbc3..8404b67 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,11 @@ +2018-11-01 Thomas Preud'homme <thomas.preudhomme@linaro.org> + + * testsuite/config/default.exp: Define LD, LDFLAGS and + ld_elf_shared_opt. + * testsuite/lib/binutils-common.exp (check_shared_lib_support): Moved + from ld-lib.exp. + (run_dump_test): Set ld to $LD. + 2018-10-18 Nick Clifton <nickc@redhat.com> * doc/binutils.texi (readelf): Document alternatives to the diff --git a/binutils/testsuite/config/default.exp b/binutils/testsuite/config/default.exp index 6c55be6..1bfe72e 100644 --- a/binutils/testsuite/config/default.exp +++ b/binutils/testsuite/config/default.exp @@ -28,6 +28,14 @@ if ![info exists ASFLAGS] then { set ASFLAGS "" } +if ![info exists LD] then { + set LD [findfile $base_dir/../ld/ld-new $base_dir/../ld/ld-new [transform ld]] +} +if ![info exists LDFLAGS] then { + set LDFLAGS "" +} +set ld_elf_shared_opt "-z norelro" + if ![info exists NM] then { set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]] } diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp index 08d57ae..fcd2c8e 100644 --- a/binutils/testsuite/lib/binutils-common.exp +++ b/binutils/testsuite/lib/binutils-common.exp @@ -248,6 +248,23 @@ proc is_bad_symtab {} { return 0; } +# Returns true if -shared is supported on the target + +proc check_shared_lib_support { } { + global shared_available_saved + global ld + + if {![info exists shared_available_saved]} { + set ld_output [remote_exec host $ld "-shared"] + if { [ string first "not supported" $ld_output ] >= 0 } { + set shared_available_saved 0 + } else { + set shared_available_saved 1 + } + } + return $shared_available_saved +} + # Compare two files line-by-line. FILE_1 is the actual output and FILE_2 # is the expected output. Ignore blank lines in either file. # @@ -1002,6 +1019,8 @@ proc run_dump_test { name {extra_options {}} } { catch "exec rm -f $objfile" exec_output set ld_extra_opt "" + global ld + set ld "$LD" if { [is_elf_format] && [check_shared_lib_support] } { set ld_extra_opt "$ld_elf_shared_opt" } |