go/misc/cgo
Ian Lance Taylor 928a4b6919 [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop
CL 122575 and its successors introduced a loop calling loadDWARF,
whereas before we only called it once. Pass a single typeConv to each
call, rather than creating a new one in loadDWARF itself. Change the
maps from dwarf.Type to use string keys rather than dwarf.Type keys,
since when the DWARF is reloaded the dwarf.Type pointers will be
different. These changes permit typeConv.Type to return a consistent
value for a given DWARF type, avoiding spurious type conversion errors
due to typedefs loaded after the first loop iteration.

Updates #27340
Fixes #27395

Change-Id: Ic33467bbfca4c54e95909621b35ba2a58216d96e
Reviewed-on: https://go-review.googlesource.com/c/152762
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
(cherry picked from commit 6d43587053)
Reviewed-on: https://go-review.googlesource.com/c/154277
Run-TryBot: Filippo Valsorda <filippo@golang.org>
2018-12-14 19:40:45 +00:00
..
errors cmd/go: accept only limited compiler and linker flags in #cgo directives 2018-02-07 15:35:57 +00:00
fortran *.bash: always use the same string equality operator 2017-03-14 21:46:31 +00:00
gmp all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00
life test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
nocgo
stdio test: remove rundircmpout and cmpout actions 2018-05-31 17:36:45 +00:00
test [release-branch.go1.11] cmd/cgo: preserve type information across loadDWARF loop 2018-12-14 19:40:45 +00:00
testasan
testcarchive misc/cgo/testcarchive: increase timeout duration in TestOsSignal 2018-07-06 13:55:35 +00:00
testcshared misc/cgo/testcshared: force descriptor 30 to be closed when execing test 2018-08-01 23:10:11 +00:00
testgodefs cmd/cgo: don't resolve typedefs in -godefs mode 2018-07-27 16:46:42 +00:00
testplugin runtime: restore r2 when restoring state from gobuf in gogo on ppc64x 2018-06-11 12:13:11 +00:00
testsanitizers cm/go/internal/test: make vet run when using go test -c 2018-07-20 19:57:26 +00:00
testshared cmd/go: fix handling of vet.cfg with buggyInstall 2018-07-17 05:41:06 +00:00
testsigfwd misc/cgo/testsigfwd: add missing return statement 2016-08-30 21:44:14 +00:00
testso
testsovar misc/cgo/testsovar: needs the `extern` keyword to export variables on non-windows platforms 2015-07-21 18:10:57 +00:00
testtls all: make copyright headers consistent with one space after period 2016-05-02 13:43:18 +00:00