about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-05-12 17:09:49 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-05-12 17:09:49 +0000
commit8e65ea4dc05e32a2d461f9db8e570f2c0fcbecbc (patch)
treecfc34db9cf2dfe83db02ff46ca5a9d644767ca34
parentf13c2a8dff2329c6692a80176262ceaaf8a6f74e (diff)
downloadglibc-8e65ea4dc05e32a2d461f9db8e570f2c0fcbecbc.tar.gz
glibc-8e65ea4dc05e32a2d461f9db8e570f2c0fcbecbc.tar.xz
glibc-8e65ea4dc05e32a2d461f9db8e570f2c0fcbecbc.zip
Fix linknamespace test handling of architecture-specific st_other.
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.
-rw-r--r--ChangeLog5
-rw-r--r--conform/linknamespace.pl3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d78c626b25..cd34a09852 100644
--- 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.
diff --git a/conform/linknamespace.pl b/conform/linknamespace.pl
index b5347466b0..8ea437d457 100644
--- a/conform/linknamespace.pl
+++ b/conform/linknamespace.pl
@@ -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;