[binutils-gdb] Build ifunc tests when non-native

Alan Modra amodra@sourceware.org
Mon Jun 18 12:43:00 GMT 2018


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

commit 77236b8349e95c869179b1efa4e6c2ee5c878141
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jun 18 16:42:23 2018 +0930

    Build ifunc tests when non-native
    
    Plus a number of fixes to the pr23169 tests.
    
    	* testsuite/lib/ld-lib.exp (check_ifunc_available): Pass without
    	running executable when non-native.
    	(check_ifunc_attribute_available): Likewise.
    	* testsuite/ld-ifunc/pr23169a.rd: Remove extraneous lines.  Match
    	st_other strings.  Pass when func is an ifunc.
    	* testsuite/ld-ifunc/pr23169b.rd: Remove extraneous lines.  Correct
    	reloc regexp.  Correct match-anything line.
    	* testsuite/ld-ifunc/pr23169c.rd: Remove extraneous lines.  Match
    	st_other strings.

Diff:
---
 ld/ChangeLog                      | 12 ++++++++++++
 ld/testsuite/ld-ifunc/pr23169a.rd |  7 ++-----
 ld/testsuite/ld-ifunc/pr23169b.rd |  5 +++--
 ld/testsuite/ld-ifunc/pr23169c.rd |  7 ++-----
 ld/testsuite/lib/ld-lib.exp       |  4 ++--
 5 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 2ec38ac..9519834 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,15 @@
+2018-06-18  Alan Modra  <amodra@gmail.com>
+
+	* testsuite/lib/ld-lib.exp (check_ifunc_available): Pass without
+	running executable when non-native.
+	(check_ifunc_attribute_available): Likewise.
+	* testsuite/ld-ifunc/pr23169a.rd: Remove extraneous lines.  Match
+	st_other strings.  Pass when func is an ifunc.
+	* testsuite/ld-ifunc/pr23169b.rd: Remove extraneous lines.  Correct
+	reloc regexp.  Correct match-anything line.
+	* testsuite/ld-ifunc/pr23169c.rd: Remove extraneous lines.  Match
+	st_other strings.
+
 2018-06-14  Alan Modra  <amodra@gmail.com>
 
 	* testsuite/ld-elf/readelf.exp: Delete DUMP and selection of
diff --git a/ld/testsuite/ld-ifunc/pr23169a.rd b/ld/testsuite/ld-ifunc/pr23169a.rd
index ca04d8f..fcb4fea 100644
--- a/ld/testsuite/ld-ifunc/pr23169a.rd
+++ b/ld/testsuite/ld-ifunc/pr23169a.rd
@@ -1,6 +1,3 @@
-
-Symbol table '\.dynsym' contains [0-9]+ entries:
- +Num: +Value +Size Type +Bind +Vis +Ndx Name
-#...
- +[0-9]+: +[a-f0-9]+ +0 +FUNC +GLOBAL +DEFAULT +[0-9]+ +func
 #...
+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +I?FUNC +GLOBAL +DEFAULT.* [0-9]+ +func
+#pass
diff --git a/ld/testsuite/ld-ifunc/pr23169b.rd b/ld/testsuite/ld-ifunc/pr23169b.rd
index d57a793..8f80052 100644
--- a/ld/testsuite/ld-ifunc/pr23169b.rd
+++ b/ld/testsuite/ld-ifunc/pr23169b.rd
@@ -1,3 +1,4 @@
 #failif
-[a-f0-9]+ +[0-9a-f]+ +R_.*_* +[a-f0-9]+ +func(| \+ 0)
-...
+#...
+[0-9a-f]+ +[0-9a-f]+ +R_[^ ]+ +[0-9a-f]+ +func(| \+ 0)
+#pass
diff --git a/ld/testsuite/ld-ifunc/pr23169c.rd b/ld/testsuite/ld-ifunc/pr23169c.rd
index 1c4ba8a..ad364d4 100644
--- a/ld/testsuite/ld-ifunc/pr23169c.rd
+++ b/ld/testsuite/ld-ifunc/pr23169c.rd
@@ -1,6 +1,3 @@
-
-Symbol table '\.dynsym' contains [0-9]+ entries:
- +Num: +Value +Size Type +Bind +Vis +Ndx Name
-#...
- +[0-9]+: +[a-f0-9]+ +[0-9]+ +IFUNC +GLOBAL +DEFAULT +[0-9]+ +func
 #...
+ +[0-9]+: +[0-9a-f]+ +[0-9]+ +IFUNC +GLOBAL +DEFAULT.* [0-9]+ +func
+#pass
diff --git a/ld/testsuite/lib/ld-lib.exp b/ld/testsuite/lib/ld-lib.exp
index 4168933..cfbefe9 100644
--- a/ld/testsuite/lib/ld-lib.exp
+++ b/ld/testsuite/lib/ld-lib.exp
@@ -2137,7 +2137,7 @@ proc check_ifunc_available { } {
 	    set src [remote_download host $src]
 	}
 	set ifunc_available_saved [run_host_cmd_yesno "$CC" "$flags $src -o $output"]
-	if { $ifunc_available_saved == 1 } {
+	if { [isnative] && $ifunc_available_saved == 1 } {
 	  set ifunc_available_saved [run_host_cmd_yesno "$output" ""]
 	}
 	remote_file host delete $src
@@ -2184,7 +2184,7 @@ proc check_ifunc_attribute_available { } {
 	    set src [remote_download host $src]
 	}
 	set ifunc_attribute_available_saved [run_host_cmd_yesno "$CC" "$flags $src -o $output"]
-	if { $ifunc_attribute_available_saved == 1 } {
+	if { [isnative] && $ifunc_attribute_available_saved == 1 } {
 	  set ifunc_attribute_available_saved [run_host_cmd_yesno "$output" ""]
 	}
 	remote_file host delete $src



More information about the Binutils-cvs mailing list