mirror of
https://git.yoctoproject.org/poky
synced 2026-04-20 18:32:12 +02:00
go: disable PIE CFLAGS for nativesdk and cross-canadian builds
The statically-linked Go code in the toolchain is not compatible with PIE, so disable its use in the C compiler during the toolchain build. (From OE-Core rev: cc7b179917c715b29822200fe91ecd755a5750e6) Signed-off-by: Matt Madison <matt@madison.systems> 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
3ffafcd9cf
commit
8701fe54a8
@@ -12,13 +12,13 @@ export GOTOOLDIR_BOOTSTRAP = "${STAGING_LIBDIR_NATIVE}/${HOST_SYS}/go/pkg/tool/$
|
||||
export GOROOT_FINAL = "${libdir}/go"
|
||||
export CGO_CFLAGS = "${CFLAGS}"
|
||||
export CGO_LDFLAGS = "${LDFLAGS}"
|
||||
export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${HOST_CC_ARCH} ${LDFLAGS}"'
|
||||
export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"'
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}"
|
||||
export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}"
|
||||
export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
cd src
|
||||
./make.bash --host-only --no-banner
|
||||
cd ${B}
|
||||
|
||||
@@ -3,8 +3,8 @@ require go-${PV}.inc
|
||||
|
||||
export GOHOSTOS_CROSS = "${HOST_GOOS}"
|
||||
export GOHOSTARCH_CROSS = "${HOST_GOARCH}"
|
||||
export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}"
|
||||
export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}"
|
||||
export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}"
|
||||
|
||||
do_compile_prepend() {
|
||||
export GOBIN="${B}/bin"
|
||||
|
||||
@@ -14,8 +14,7 @@ GO_LDFLAGS = ""
|
||||
GO_LDFLAGS_class-nativesdk = "-linkmode external"
|
||||
export GO_LDFLAGS
|
||||
|
||||
SECURITY_CFLAGS = "${SECURITY_NOPIE_CFLAGS}"
|
||||
SECURITY_LDFLAGS = ""
|
||||
CC_append_class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user