aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/go
diff options
context:
space:
mode:
authorMatt Madison <matt@madison.systems>2017-09-14 16:22:28 -0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-21 09:03:33 +0100
commitf76779f7ef6636355a5aa5741a736f5234a67fdb (patch)
tree50b5ccec815bb3116089825c87cfce74ae8b5740 /meta/recipes-devtools/go
parent94cfa563388fb39e6a409eefcae1598a9d426a5c (diff)
downloadopenembedded-core-contrib-f76779f7ef6636355a5aa5741a736f5234a67fdb.tar.gz
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. 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>
Diffstat (limited to 'meta/recipes-devtools/go')
-rw-r--r--meta/recipes-devtools/go/go-runtime.inc5
-rw-r--r--meta/recipes-devtools/go/go-target.inc3
2 files changed, 8 insertions, 0 deletions
diff --git a/meta/recipes-devtools/go/go-runtime.inc b/meta/recipes-devtools/go/go-runtime.inc
index a074238e47..934d1aaeb9 100644
--- a/meta/recipes-devtools/go/go-runtime.inc
+++ b/meta/recipes-devtools/go/go-runtime.inc
@@ -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() {
diff --git a/meta/recipes-devtools/go/go-target.inc b/meta/recipes-devtools/go/go-target.inc
index 0d80bf0d97..b88d0166e5 100644
--- a/meta/recipes-devtools/go/go-target.inc
+++ b/meta/recipes-devtools/go/go-target.inc
@@ -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"