gotest: explicitly skip type descriptors

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
This commit is contained in:
Ian Lance Taylor 2020-01-22 15:52:23 -08:00
parent 591b59ebfc
commit 92bea423c2
2 changed files with 6 additions and 1 deletions

View 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.

View File

@ -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