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.
This commit is contained in:
parent
cdcda965ea
commit
33ea299c25
7 changed files with 53 additions and 17 deletions
|
@ -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>
|
2018-10-18 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* doc/binutils.texi (readelf): Document alternatives to the
|
* doc/binutils.texi (readelf): Document alternatives to the
|
||||||
|
|
|
@ -28,6 +28,14 @@ if ![info exists ASFLAGS] then {
|
||||||
set ASFLAGS ""
|
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 {
|
if ![info exists NM] then {
|
||||||
set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]]
|
set NM [findfile $base_dir/nm-new $base_dir/nm-new [transform nm]]
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,6 +248,23 @@ proc is_bad_symtab {} {
|
||||||
return 0;
|
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
|
# 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.
|
# 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
|
catch "exec rm -f $objfile" exec_output
|
||||||
|
|
||||||
set ld_extra_opt ""
|
set ld_extra_opt ""
|
||||||
|
global ld
|
||||||
|
set ld "$LD"
|
||||||
if { [is_elf_format] && [check_shared_lib_support] } {
|
if { [is_elf_format] && [check_shared_lib_support] } {
|
||||||
set ld_extra_opt "$ld_elf_shared_opt"
|
set ld_extra_opt "$ld_elf_shared_opt"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-11-01 Thomas Preud'homme <thomas.preudhomme@linaro.org>
|
||||||
|
|
||||||
|
* testsuite/config/default.exp: Define LD, LDFLAGS and
|
||||||
|
ld_elf_shared_opt.
|
||||||
|
|
||||||
2018-10-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
2018-10-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
|
||||||
|
|
||||||
* testsuite/gas/arm/armv8-a+rdma-warning.d: Remove objdump execution.
|
* testsuite/gas/arm/armv8-a+rdma-warning.d: Remove objdump execution.
|
||||||
|
|
|
@ -26,6 +26,14 @@ if ![info exists ASFLAGS] then {
|
||||||
set ASFLAGS ""
|
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 OBJDUMP] then {
|
if ![info exists OBJDUMP] then {
|
||||||
set OBJDUMP [findfile $base_dir/../../binutils/objdump \
|
set OBJDUMP [findfile $base_dir/../../binutils/objdump \
|
||||||
$base_dir/../../binutils/objdump \
|
$base_dir/../../binutils/objdump \
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2018-11-01 Thomas Preud'homme <thomas.preudhomme@linaro.org>
|
||||||
|
|
||||||
|
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Moved to
|
||||||
|
binutils-common.exp.
|
||||||
|
|
||||||
2018-10-29 Alan Modra <amodra@gmail.com>
|
2018-10-29 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* ldlang.c (load_symbols): When -t, print file names for script
|
* ldlang.c (load_symbols): When -t, print file names for script
|
||||||
|
|
|
@ -1069,23 +1069,6 @@ proc check_gc_sections_available { } {
|
||||||
return $gc_sections_available_saved
|
return $gc_sections_available_saved
|
||||||
}
|
}
|
||||||
|
|
||||||
# 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
|
|
||||||
}
|
|
||||||
|
|
||||||
# Return true if target uses genelf.em (assuming it is ELF).
|
# Return true if target uses genelf.em (assuming it is ELF).
|
||||||
proc is_generic_elf { } {
|
proc is_generic_elf { } {
|
||||||
if { [istarget "d30v-*-*"]
|
if { [istarget "d30v-*-*"]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue