From: Than McIntosh Date: Tue, 19 Nov 2019 15:09:28 +0000 (-0500) Subject: cmd/cgo: better handling for '.' in pkgpath for gccgo X-Git-Tag: go1.14beta1~150 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2933e938bf9451a6f4551056b672cd7fc467e94d;p=gostls13.git cmd/cgo: better handling for '.' in pkgpath for gccgo Update gccgoPkgpathToSymbolNew() to bring it into conformance with the way that gccgo now handles packagepaths with embedded dots (see CL 200838). See also https://gcc.gnu.org/PR61880, a related bug. Updates #35623. Change-Id: I32f064320b9af387fc17771530c745a9e3003c20 Reviewed-on: https://go-review.googlesource.com/c/go/+/207957 Run-TryBot: Than McIntosh TryBot-Result: Gobot Gobot Reviewed-by: Ian Lance Taylor --- diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go index 6bee9b1909..e32a3a607b 100644 --- a/src/cmd/cgo/out.go +++ b/src/cmd/cgo/out.go @@ -1313,8 +1313,10 @@ func gccgoPkgpathToSymbolNew(ppath string) string { for _, c := range []byte(ppath) { switch { case 'A' <= c && c <= 'Z', 'a' <= c && c <= 'z', - '0' <= c && c <= '9', c == '_', c == '.': + '0' <= c && c <= '9', c == '_': bsl = append(bsl, c) + case c == '.': + bsl = append(bsl, ".x2e"...) default: changed = true encbytes := []byte(fmt.Sprintf("..z%02x", c))