Allow for extra st_other readelf output in ld testsuite
authorAlan Modra <amodra@gmail.com>
Thu, 31 Oct 2013 09:03:23 +0000 (19:33 +1030)
committerAlan Modra <amodra@gmail.com>
Sun, 3 Nov 2013 23:48:47 +0000 (10:18 +1030)
On PowerPC64 ELFv2 readelf emits [<localentry>: 8] describing extra
symbol st_other bits.

* ld-elfvers/vers24.rd: Allow extra readelf output after
symbol visibility.
* ld-ifunc/ifunc.exp: Likewise.

ld/testsuite/ChangeLog
ld/testsuite/ld-elfvers/vers24.rd
ld/testsuite/ld-ifunc/ifunc.exp

index 213a9093fdb013560c6305d771d29ee5ad7807d9..01175a5392153119375bd8e6659ee4942599e33d 100644 (file)
@@ -1,3 +1,9 @@
+2013-11-04  Alan Modra  <amodra@gmail.com>
+
+       * ld-elfvers/vers24.rd: Allow extra readelf output after
+       symbol visibility.
+       * ld-ifunc/ifunc.exp: Likewise.
+
 2013-11-04  Alan Modra  <amodra@gmail.com>
 
        * ld-scripts/crossref.exp: Don't allow changes made to CFLAGS
index 42e81e42d9c05d66eb7283a1da9f783c6b43721c..fb464f9f7a68f0c72fe3aa9f2d4206f775050583 100644 (file)
@@ -7,9 +7,9 @@ Symbol table '.dynsym' contains [0-9]+ entries:
 # And ensure the dynamic symbol table contains at least x@VERS.0
 # and foo@@VERS.0 symbols
 #...
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ _?foo@)@VERS\.0
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
 #...
- +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT +[0-9]+ _?foo@)@VERS\.0
+ +[0-9]+: [0-9a-f]+ +(4 +OBJECT +GLOBAL +DEFAULT +[0-9]+ _?x|[0-9]+ +FUNC +GLOBAL +DEFAULT .* [0-9]+ _?foo@)@VERS\.0
 #...
 Symbol table '.symtab' contains [0-9]+ entries:
 #pass
index 1d64efcd678e76c9bc8626fa02e87548f38a367b..fb106c6ed8271b8c8c1f02e707ce86e3060518d8 100644 (file)
@@ -98,8 +98,9 @@ proc contains_ifunc_symbol { binary_file } {
 
     # Look for a line like this:
     #    58: 0000000000400600    30 IFUNC   GLOBAL DEFAULT   12 library_func2
+    # with perhaps some other info between the visibility and section
 
-    if { ![regexp ".*\[ \]*IFUNC\[ \]+GLOBAL\[ \]+DEFAULT\[ \]+\[UND0-9\]+\[ \]+library_func2\n" [file_contents readelf.out]] } {
+    if { ![regexp ".*\[ \]*IFUNC\[ \]+GLOBAL\[ \]+DEFAULT .* \[UND0-9\]+\[ \]+library_func2\n" [file_contents readelf.out]] } {
        return 0
     }