libgo/testsuite: ignore symbols with a leading dot in symtogo
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 26 Jun 2019 00:17:32 +0000 (00:17 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 26 Jun 2019 00:17:32 +0000 (00:17 +0000)
    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.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/177837

From-SVN: r272666

gcc/go/gofrontend/MERGE
libgo/testsuite/gotest

index caa7bf91664b3d90c0550e883996efccb75bcf6d..5ca1dc041f963ca6f045b1533604930a5d8be4a7 100644 (file)
@@ -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 c9c14652c76ae0490dbeacf219fbe81d8def451f..5256bb6cb63ccbd753861de701cad0d6b3e6afb1 100755 (executable)
@@ -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