compiler, libgo: change mangling scheme
authorIan Lance Taylor <iant@golang.org>
Tue, 17 Nov 2020 04:06:53 +0000 (20:06 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 20 Nov 2020 20:44:35 +0000 (12:44 -0800)
commita01dda3c23b836754814fab1cab949a1bbc641e8
tree826310b88323c0f636baf89393557fde6a56fdeb
parent90bf60c3c24c6c99ebbecf9d08a6d0d916d73721
compiler, libgo: change mangling scheme

Overhaul the mangling scheme to avoid ambiguities if the package path
contains a dot. Instead of using dot both to separate components and
to mangle characters, use dot only to separate components and use
underscore to mangle characters.

For golang/go#41862

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/271726
57 files changed:
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/ast-dump.cc
gcc/go/gofrontend/export.cc
gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/go-encode-id.cc
gcc/go/gofrontend/go-encode-id.h
gcc/go/gofrontend/gogo.cc
gcc/go/gofrontend/gogo.h
gcc/go/gofrontend/names.cc
gcc/go/gofrontend/runtime.def
gcc/go/gofrontend/types.cc
gcc/go/gofrontend/types.h
libgo/configure
libgo/configure.ac
libgo/go/cmd/cgo/out.go
libgo/go/cmd/internal/pkgpath/pkgpath.go
libgo/go/cmd/internal/pkgpath/pkgpath_test.go
libgo/go/go/internal/srcimporter/srcimporter.go
libgo/go/internal/bytealg/bytealg.c
libgo/go/internal/cpu/cpu_gccgo.c
libgo/go/log/syslog/syslog_c.c
libgo/go/runtime/atomic_pointer.go
libgo/go/runtime/chan.go
libgo/go/runtime/cpuprof.go
libgo/go/runtime/debug.go
libgo/go/runtime/heapdump.go
libgo/go/runtime/iface.go
libgo/go/runtime/internal/atomic/atomic.c
libgo/go/runtime/malloc.go
libgo/go/runtime/map.go
libgo/go/runtime/mbarrier.go
libgo/go/runtime/mgc.go
libgo/go/runtime/mheap.go
libgo/go/runtime/mprof.go
libgo/go/runtime/mstats.go
libgo/go/runtime/net_plan9.go
libgo/go/runtime/netpoll.go
libgo/go/runtime/pprof/mprof_test.go
libgo/go/runtime/pprof/pprof_test.go
libgo/go/runtime/preempt.go
libgo/go/runtime/proc.go
libgo/go/runtime/proflabel.go
libgo/go/runtime/rdebug.go
libgo/go/runtime/runtime.go
libgo/go/runtime/runtime1.go
libgo/go/runtime/sema.go
libgo/go/runtime/sigqueue.go
libgo/go/runtime/symtab.go
libgo/go/runtime/trace.go
libgo/go/runtime/traceback_gccgo.go
libgo/go/sync/atomic/atomic.c
libgo/runtime/go-ffi.c
libgo/runtime/go-setenv.c
libgo/runtime/go-unsafe-pointer.c
libgo/runtime/go-unsetenv.c
libgo/runtime/runtime.h
libgo/testsuite/gotest