This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Fix ld action in run_dump_test


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=33ea299c25134ce23805faa6b2b1e7fe6327f6bb

commit 33ea299c25134ce23805faa6b2b1e7fe6327f6bb
Author: Thomas Preud'homme <thomas.preudhomme@linaro.org>
Date:   Thu Nov 1 17:18:24 2018 +0000

    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.

Diff:
---
 binutils/ChangeLog                         |  8 ++++++++
 binutils/testsuite/config/default.exp      |  8 ++++++++
 binutils/testsuite/lib/binutils-common.exp | 19 +++++++++++++++++++
 gas/ChangeLog                              |  5 +++++
 gas/testsuite/config/default.exp           |  8 ++++++++
 ld/ChangeLog                               |  5 +++++
 ld/testsuite/lib/ld-lib.exp                | 17 -----------------
 7 files changed, 53 insertions(+), 17 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"
 	}
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 86eb344..eef02b8 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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>
 
 	* testsuite/gas/arm/armv8-a+rdma-warning.d: Remove objdump execution.
diff --git a/gas/testsuite/config/default.exp b/gas/testsuite/config/default.exp
index 888e90d..b76c5ba 100644
--- a/gas/testsuite/config/default.exp
+++ b/gas/testsuite/config/default.exp
@@ -26,6 +26,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 OBJDUMP] then {
     set OBJDUMP [findfile $base_dir/../../binutils/objdump \
 			  $base_dir/../../binutils/objdump \
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 0453e2e..7fee0dd 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -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>
 
 	* ldlang.c (load_symbols): When -t, print file names for script
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index d6453f19..3fb1e58 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -1069,23 +1069,6 @@ proc check_gc_sections_available { } {
     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).
 proc is_generic_elf { } {
     if { [istarget "d30v-*-*"]


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]