Build ifunc tests when non-native
authorAlan Modra <amodra@gmail.com>
Mon, 18 Jun 2018 07:12:23 +0000 (16:42 +0930)
committerAlan Modra <amodra@gmail.com>
Mon, 18 Jun 2018 12:30:32 +0000 (22:00 +0930)
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.

ld/ChangeLog
ld/testsuite/ld-ifunc/pr23169a.rd
ld/testsuite/ld-ifunc/pr23169b.rd
ld/testsuite/ld-ifunc/pr23169c.rd
ld/testsuite/lib/ld-lib.exp

index 2ec38acb9c39f9bd6c01b7e35c484a568428ef1f..9519834be3246f6c8d3ee7ca565b2850942afcd4 100644 (file)
@@ -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
index ca04d8fc38a72656333e5eb720e43a0aa1441b71..fcb4feae950be9c1ffaa48ab0308851b02a35bdb 100644 (file)
@@ -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
index d57a79308bc426d8a5e87ebbf0005df0dd97cab9..8f80052c3321dd328f954906a48e114a934696a3 100644 (file)
@@ -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
index 1c4ba8ad4a5a7119c7e71722696e8623f7f56381..ad364d4a53a44e0c917c0405eed169139eb2753e 100644 (file)
@@ -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
index 41689333a6ff1e7d07a739699c999c39f07ec6db..cfbefe9028e03598b7e071a1bf27c0bc7f5de76c 100644 (file)
@@ -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