summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-02-23 20:13:19 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-02-26 15:21:20 +0000
commitb1eea8178ae36ca82918f658b6bffd7da9fe7a1f (patch)
tree46c2333e262da85e269a9492387fcde53eeaccef
parentcedb3aa8173a9443fec5adee8419d2f505bc304c (diff)
downloadpoky-b1eea8178ae36ca82918f658b6bffd7da9fe7a1f.tar.gz
go: Enable CGO and pie buildmode on rv64
go1.16 has added CGO support for riscv64 arch (From OE-Core rev: 8e078238312948e8c7b09c66ba7a186512e995d3) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/go.bbclass5
-rw-r--r--meta/recipes-devtools/go/go-runtime_1.16.bb1
-rw-r--r--meta/recipes-devtools/go/go_1.16.bb5
3 files changed, 4 insertions, 7 deletions
diff --git a/meta/classes/go.bbclass b/meta/classes/go.bbclass
index fa147892b0..77ec98dd51 100644
--- a/meta/classes/go.bbclass
+++ b/meta/classes/go.bbclass
@@ -54,7 +54,6 @@ GOTOOLDIR_class-native = "${STAGING_LIBDIR_NATIVE}/go/pkg/tool/${BUILD_GOTUPLE}"
54export GOTOOLDIR 54export GOTOOLDIR
55 55
56export CGO_ENABLED ?= "1" 56export CGO_ENABLED ?= "1"
57export CGO_ENABLED_riscv64 = "0"
58export CGO_CFLAGS ?= "${CFLAGS}" 57export CGO_CFLAGS ?= "${CFLAGS}"
59export CGO_CPPFLAGS ?= "${CPPFLAGS}" 58export CGO_CPPFLAGS ?= "${CPPFLAGS}"
60export CGO_CXXFLAGS ?= "${CXXFLAGS}" 59export CGO_CXXFLAGS ?= "${CXXFLAGS}"
@@ -147,10 +146,10 @@ FILES_${PN}-staticdev = "${libdir}/go/pkg"
147INSANE_SKIP_${PN} += "ldflags" 146INSANE_SKIP_${PN} += "ldflags"
148 147
149# Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips 148# Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips
150# doesn't support -buildmode=pie, so skip the QA checking for mips and its 149# doesn't support -buildmode=pie, so skip the QA checking for mips/rv32 and its
151# variants. 150# variants.
152python() { 151python() {
153 if 'mips' in d.getVar('TARGET_ARCH') or 'riscv' in d.getVar('TARGET_ARCH'): 152 if 'mips' in d.getVar('TARGET_ARCH') or 'riscv32' in d.getVar('TARGET_ARCH'):
154 d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel") 153 d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
155 else: 154 else:
156 d.appendVar('GOBUILDFLAGS', ' -buildmode=pie') 155 d.appendVar('GOBUILDFLAGS', ' -buildmode=pie')
diff --git a/meta/recipes-devtools/go/go-runtime_1.16.bb b/meta/recipes-devtools/go/go-runtime_1.16.bb
index d6ddb31ed4..63464a1501 100644
--- a/meta/recipes-devtools/go/go-runtime_1.16.bb
+++ b/meta/recipes-devtools/go/go-runtime_1.16.bb
@@ -1,4 +1,3 @@
1export CGO_ENABLED_riscv64 = ""
2require go-${PV}.inc 1require go-${PV}.inc
3require go-runtime.inc 2require go-runtime.inc
4 3
diff --git a/meta/recipes-devtools/go/go_1.16.bb b/meta/recipes-devtools/go/go_1.16.bb
index d4812c0f0a..4e9e0ebec8 100644
--- a/meta/recipes-devtools/go/go_1.16.bb
+++ b/meta/recipes-devtools/go/go_1.16.bb
@@ -4,15 +4,14 @@ require go-target.inc
4inherit linuxloader 4inherit linuxloader
5 5
6export GOBUILDMODE="" 6export GOBUILDMODE=""
7export CGO_ENABLED_riscv64 = ""
8export GO_LDSO = "${@get_linuxloader(d)}" 7export GO_LDSO = "${@get_linuxloader(d)}"
9export CC_FOR_TARGET = "gcc" 8export CC_FOR_TARGET = "gcc"
10export CXX_FOR_TARGET = "g++" 9export CXX_FOR_TARGET = "g++"
11 10
12# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv and its 11# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its
13# variants. 12# variants.
14python() { 13python() {
15 if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv' in d.getVar('TARGET_ARCH',True): 14 if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True):
16 d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel") 15 d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
17} 16}
18 17