gotest: explicitly skip type descriptors
authorIan Lance Taylor <iant@golang.org>
Wed, 22 Jan 2020 23:52:23 +0000 (15:52 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 23 Jan 2020 04:53:43 +0000 (20:53 -0800)
Type descriptors are normally weak and nm will report them as V,
so we will skip them when collecting the list of symbols.
But when not using GNU nm, they may be reported as D,
so also skip them in symstogo.

This fixes go/doc/check on Solaris.

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

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

index a778a8540a553bbcd4632ebecc728b8886ff7461..a8ba3afe86e449a1f7a5718798140ed6c7a1acf1 100644 (file)
@@ -1,4 +1,4 @@
-1d64b76f559c0969ee2a6eb8e0ac9d268713880c
+7d3081ce69dda123d77e35e8b9d282e40e9465e2
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index de4a392b8cddf0c83875d6cfdce244245f914978..33f99d77a31fd1f0bcb7fdef18061993c2abc5de 100755 (executable)
@@ -517,6 +517,11 @@ symtogo() {
     if expr "$tp" : '^\.' >/dev/null 2>&1; then
       continue
     fi
+    # Skip type descriptors.  These are normally skipped because they
+    # are weak symbols, but if not using GNU nm we may see them here.
+    if expr "$tp" : '^type\.\.' >/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