From 8e65ea4dc05e32a2d461f9db8e570f2c0fcbecbc Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Tue, 12 May 2015 17:09:49 +0000 Subject: [PATCH] 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. --- ChangeLog | 5 +++++ conform/linknamespace.pl | 3 +++ 2 files changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index d78c626b25..cd34a09852 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-05-12 Joseph Myers + + * conform/linknamespace.pl (list_syms): Remove \[.*?\] before + splitting into fields. + 2015-05-12 Leonhard Holz * 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;