mirror of
https://git.yoctoproject.org/poky
synced 2026-04-23 00:32:12 +02:00
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>
This commit is contained in:
@@ -54,7 +54,6 @@ GOTOOLDIR_class-native = "${STAGING_LIBDIR_NATIVE}/go/pkg/tool/${BUILD_GOTUPLE}"
|
||||
export GOTOOLDIR
|
||||
|
||||
export CGO_ENABLED ?= "1"
|
||||
export CGO_ENABLED_riscv64 = "0"
|
||||
export CGO_CFLAGS ?= "${CFLAGS}"
|
||||
export CGO_CPPFLAGS ?= "${CPPFLAGS}"
|
||||
export CGO_CXXFLAGS ?= "${CXXFLAGS}"
|
||||
@@ -147,10 +146,10 @@ FILES_${PN}-staticdev = "${libdir}/go/pkg"
|
||||
INSANE_SKIP_${PN} += "ldflags"
|
||||
|
||||
# Add -buildmode=pie to GOBUILDFLAGS to satisfy "textrel" QA checking, but mips
|
||||
# doesn't support -buildmode=pie, so skip the QA checking for mips and its
|
||||
# doesn't support -buildmode=pie, so skip the QA checking for mips/rv32 and its
|
||||
# variants.
|
||||
python() {
|
||||
if 'mips' in d.getVar('TARGET_ARCH') or 'riscv' in d.getVar('TARGET_ARCH'):
|
||||
if 'mips' in d.getVar('TARGET_ARCH') or 'riscv32' in d.getVar('TARGET_ARCH'):
|
||||
d.appendVar('INSANE_SKIP_%s' % d.getVar('PN'), " textrel")
|
||||
else:
|
||||
d.appendVar('GOBUILDFLAGS', ' -buildmode=pie')
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
export CGO_ENABLED_riscv64 = ""
|
||||
require go-${PV}.inc
|
||||
require go-runtime.inc
|
||||
|
||||
|
||||
@@ -4,15 +4,14 @@ require go-target.inc
|
||||
inherit linuxloader
|
||||
|
||||
export GOBUILDMODE=""
|
||||
export CGO_ENABLED_riscv64 = ""
|
||||
export GO_LDSO = "${@get_linuxloader(d)}"
|
||||
export CC_FOR_TARGET = "gcc"
|
||||
export CXX_FOR_TARGET = "g++"
|
||||
|
||||
# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv and its
|
||||
# mips/rv64 doesn't support -buildmode=pie, so skip the QA checking for mips/riscv32 and its
|
||||
# variants.
|
||||
python() {
|
||||
if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv' in d.getVar('TARGET_ARCH',True):
|
||||
if 'mips' in d.getVar('TARGET_ARCH',True) or 'riscv32' in d.getVar('TARGET_ARCH',True):
|
||||
d.appendVar('INSANE_SKIP_%s' % d.getVar('PN',True), " textrel")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user