mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
go: fix linking issues for nativesdk builds
Switch to using an external linker for nativesdk go, go-runtime, and go package builds, which works more reliably when building 32-bit SDKs. (From OE-Core rev: f76779f7ef6636355a5aa5741a736f5234a67fdb) Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
82ba908d86
commit
975246ffe6
@@ -37,7 +37,9 @@ GO_RPATH = "${@'-r ${libdir}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_D
|
||||
GO_RPATH_class-native = "${@'-r ${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
|
||||
GO_RPATH_LINK_class-native = "${@'-Wl,-rpath-link=${STAGING_LIBDIR_NATIVE}/go/pkg/${TARGET_GOTUPLE}_dynlink' if d.getVar('GO_DYNLINK') else ''}"
|
||||
GO_EXTLDFLAGS ?= "${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} ${GO_RPATH_LINK} ${LDFLAGS}"
|
||||
GO_LDFLAGS ?= '-ldflags="${GO_RPATH} -extldflags '${GO_EXTLDFLAGS}'"'
|
||||
GO_LINKMODE ?= ""
|
||||
GO_LINKMODE_class-nativesdk = "--linkmode=external"
|
||||
GO_LDFLAGS ?= '-ldflags="${GO_RPATH} ${GO_LINKMODE} -extldflags '${GO_EXTLDFLAGS}'"'
|
||||
export GOBUILDFLAGS ?= "-v ${GO_LDFLAGS}"
|
||||
export GOPTESTBUILDFLAGS ?= "${GOBUILDFLAGS} -c"
|
||||
export GOPTESTFLAGS ?= "-test.v"
|
||||
|
||||
@@ -45,6 +45,11 @@ do_install() {
|
||||
done
|
||||
}
|
||||
|
||||
# Remove test binaries that cannot be relocated
|
||||
do_install_append_class-nativesdk() {
|
||||
rm -rf ${D}${libdir}/go/src/runtime/pprof/testdata
|
||||
}
|
||||
|
||||
# These testdata directories aren't needed for builds and contain binaries
|
||||
# that can cause errors in sysroot_strip(), so just remove them.
|
||||
sysroot_stage_all_append() {
|
||||
|
||||
@@ -14,6 +14,9 @@ export CC_FOR_TARGET = "${CC}"
|
||||
export CXX_FOR_TARGET = "${CXX}"
|
||||
export GO_TARGET_INSTALL = "cmd"
|
||||
export GO_FLAGS = "-a"
|
||||
GO_LDFLAGS = ""
|
||||
GO_LDFLAGS_class-nativesdk = "-linkmode external"
|
||||
export GO_LDFLAGS
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user