aboutsummaryrefslogtreecommitdiff
path: root/binutils
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@linaro.org>2018-11-01 17:18:24 +0000
committerThomas Preud'homme <thomas.preudhomme@linaro.org>2018-11-01 17:19:17 +0000
commit33ea299c25134ce23805faa6b2b1e7fe6327f6bb (patch)
tree4ed73573972f15d6b8010fc846f6550677bf3e00 /binutils
parentcdcda965ea4c70c80b9f8c294597e991417ff9d5 (diff)
downloadgdb-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/ChangeLog8
-rw-r--r--binutils/testsuite/config/default.exp8
-rw-r--r--binutils/testsuite/lib/binutils-common.exp19
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"
}