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 a778a85..a8ba3af 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 de4a392..33f99d7 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