Fix linknamespace test handling of architecture-specific st_other.
authorJoseph Myers <joseph@codesourcery.com>
Tue, 12 May 2015 17:09:49 +0000 (17:09 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 12 May 2015 17:09:49 +0000 (17:09 +0000)
For mips16, some of the linknamespace tests were failing because
[MIPS16] annotations in readelf output were wrongly interpreted as
falling in the symbol index field, meaning symbol index values were
wrongly interpreted as symbol names and such names as 1 and 2 then
resulted in namespace test failures.

This patch fixes this by removing the annotations for such
architecture-specific st_other bits before splitting the readelf
output into fields.  Tested for x86_64 and mips16.

* conform/linknamespace.pl (list_syms): Remove \[.*?\] before
splitting into fields.

ChangeLog
conform/linknamespace.pl

index d78c626..cd34a09 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-12  Joseph Myers  <joseph@codesourcery.com>
+
+       * conform/linknamespace.pl (list_syms): Remove \[.*?\] before
+       splitting into fields.
+
 2015-05-12  Leonhard Holz <leonhard.holz@web.de>
 
        * locale/categories.def: Define _NL_COLLATE_ENCODING_TYPE.
index b534746..8ea437d 100644 (file)
@@ -68,6 +68,9 @@ sub list_syms {
       next;
     }
     s/^\s*//;
+    # Architecture-specific st_other bits appear inside [] and disrupt
+    # the format of readelf output.
+    s/\[.*?\]//;
     my (@fields) = split (/\s+/, $_);
     if (@fields < 8) {
       next;