From: Ian Lance Taylor Date: Sat, 2 Dec 2017 00:46:00 +0000 (+0000) Subject: runtime: export cgoCheck functions X-Git-Tag: basepoints/gcc-9~2912 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79c9f76563e0c0943c9dc44bd1b892175c3239b9;p=thirdparty%2Fgcc.git runtime: export cgoCheck functions The functions cgoCheckPointer and cgoCheckResult are called by code generated by cgo. That means that we need to export them using go:linkname, as otherwise they are local symbols. The cgo code currently uses weak references to only call the symbols if they are defined, which is why it has been working--the cgo code has not been doing any checks. Reviewed-on: https://go-review.googlesource.com/80295 From-SVN: r255347 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 61f941599741..ecb38ee31e80 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -1949a203fca0c8bde6f2690ebc36427c5e3953c7 +338f7434175bb71f3c8905e9ad7f480aec3afee6 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/libgo/go/runtime/cgocall.go b/libgo/go/runtime/cgocall.go index 2e0e591138a3..4a416fbf6adb 100644 --- a/libgo/go/runtime/cgocall.go +++ b/libgo/go/runtime/cgocall.go @@ -11,6 +11,10 @@ import ( "unsafe" ) +// Functions called by cgo-generated code. +//go:linkname cgoCheckPointer runtime.cgoCheckPointer +//go:linkname cgoCheckResult runtime.cgoCheckResult + // Pointer checking for cgo code. // We want to detect all cases where a program that does not use