go/misc/cgo
Cuong Manh Le 94c02a3cc4 [release-branch.go1.20] cmd/compile: re-compile instantiated generic methods in linkshared mode
For G[T] that was seen and compiled in imported package, it is not added
to typecheck.Target.Decls, prevent wasting compile time re-creating
DUPOKS symbols. However, the linker do not support a type symbol
referencing a method symbol across DSO boundary. That causes unreachable
sym error when building under -linkshared mode.

To fix it, always re-compile generic methods in linkshared mode.

Fixes #59236

Change-Id: I894b417cfe8234ae1fe809cc975889345df22cef
Reviewed-on: https://go-review.googlesource.com/c/go/+/477375
Run-TryBot: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-on: https://go-review.googlesource.com/c/go/+/479355
2023-03-29 18:40:30 +00:00
..
errors misc/cgo: replace ioutil.ReadFile with os.ReadFile 2022-09-19 16:55:59 +00:00
fortran misc/cgo/fortran: convert to Go test 2022-10-17 15:15:37 +00:00
gmp all: gofmt main repo 2022-04-11 16:34:30 +00:00
life all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
nocgo
stdio all: update references to symbols moved from io/ioutil to io 2021-04-05 17:51:15 +00:00
test cmd/cgo: walk {FuncType,TypeSpec}.TypeParams fields 2022-11-30 21:45:10 +00:00
testcarchive misc/cgo: replace os.SEEK_SET with io.SeekStart 2022-09-19 16:55:26 +00:00
testcshared misc/cgo/testcshared: reapply CL 451816 2022-11-22 02:27:05 +00:00
testgodefs cmd/cgo: retain original file paths in godefs generated comment 2022-04-03 07:18:10 +00:00
testplugin cmd/compile: make jump table symbol local 2022-07-22 20:12:19 +00:00
testsanitizers misc/cgo/testsanitizers: run libfuzzer tests in temp directory 2022-12-28 15:34:23 +00:00
testshared [release-branch.go1.20] cmd/compile: re-compile instantiated generic methods in linkshared mode 2023-03-29 18:40:30 +00:00
testso all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00
testsovar all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00
testtls all: gofmt more (but vendor, testdata, and top-level test directories) 2021-08-13 20:45:17 +00:00