From 61f5c66f62502f33e1f2441a043bd29bb3ad6ea5 Mon Sep 17 00:00:00 2001
From: Alan Modra <amodra@gmail.com>
Date: Tue, 3 Jun 2014 10:47:55 +0930
Subject: [PATCH] Fix gold plugin_test failures on PowerPC64 ELFv2
readelf output for ELFv2 includes st_other bits specifying a
function's local entry offset.
* testsuite/plugin_test.c (parse_readelf_line): Skip non-visibility
st_other output.
---
gold/ChangeLog | 5 +++++
gold/testsuite/plugin_test.c | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/gold/ChangeLog b/gold/ChangeLog
index b421ad9008c..0bde6a1cd0a 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-03 Alan Modra <amodra@gmail.com>
+
+ * testsuite/plugin_test.c (parse_readelf_line): Skip non-visibility
+ st_other output.
+
2014-06-02 Alan Modra <amodra@gmail.com>
* powerpc.cc (Target_powerpc::local_reloc_may_be_function_pointer):
diff --git a/gold/testsuite/plugin_test.c b/gold/testsuite/plugin_test.c
index 68f9d99f9bd..79ae44e13ac 100644
--- a/gold/testsuite/plugin_test.c
+++ b/gold/testsuite/plugin_test.c
@@ -584,6 +584,13 @@ parse_readelf_line(char* p, struct sym_info* info)
p += strcspn(p, " ");
p += strspn(p, " ");
+ if (*p == '[')
+ {
+ /* Skip st_other. */
+ p += strcspn(p, "]");
+ p += strspn(p, "] ");
+ }
+
/* Section field. */
info->sect = p;
p += strcspn(p, " ");