This libgo patch by Clément Chigot changes the libgo testsuite script
to ignore symbols with a leading dot.  On AIX, a function has two
symbols, a text symbol (with a leading dot) and a data one (without
it).  As the tests must be run only once, only the data symbol can be
used to retrieve the final go symbol.  Therefore, all symbols
beginning with a dot are ignored by symtogo.  Bootstrapped and ran Go
testsuite on x86_64-pc-linux-gnu.  Committed to mainline.

Ian
Index: gcc/go/gofrontend/MERGE
===================================================================
--- gcc/go/gofrontend/MERGE     (revision 272661)
+++ gcc/go/gofrontend/MERGE     (working copy)
@@ -1,4 +1,4 @@
-1d6578a20a9a2ee599a07f03cf7f8e7797d72b9c
+d3d0f3c5bbe9d272178d55bdb907b07c188800e1
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
Index: libgo/testsuite/gotest
===================================================================
--- libgo/testsuite/gotest      (revision 272608)
+++ libgo/testsuite/gotest      (working copy)
@@ -501,6 +501,13 @@ localname() {
 symtogo() {
   result=""
   for tp in $*; do
+    # Discard symbols with a leading dot.
+    # On AIX, this will remove function text symbols (with a leading dot).
+    # Therefore, only function descriptor symbols (without this leading dot)
+    # will be used to retrieve the go symbols, avoiding duplication.
+    if expr "$tp" : '^\.' >/dev/null 2>&1; then
+      continue
+    fi
     s=$(echo "$tp" | sed -e 's/\.\.z2f/%/g' | sed -e 's/.*%//')
     # Screen out methods (X.Y.Z).
     if ! expr "$s" : '^[^.]*\.[^.]*$' >/dev/null 2>&1; then

Reply via email to