diff options
author | Matt Madison <matt@madison.systems> | 2018-03-04 13:09:34 -0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-06 06:36:33 -0800 |
commit | cc7b179917c715b29822200fe91ecd755a5750e6 (patch) | |
tree | e270d9720007592ade5303b23f1c1480293bc123 /meta/recipes-devtools | |
parent | f2ff90eb7d27a2f69f5948fa8c301de30f5c8132 (diff) | |
download | openembedded-core-cc7b179917c715b29822200fe91ecd755a5750e6.tar.gz openembedded-core-cc7b179917c715b29822200fe91ecd755a5750e6.tar.bz2 openembedded-core-cc7b179917c715b29822200fe91ecd755a5750e6.zip |
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.
Signed-off-by: Matt Madison <matt@madison.systems>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/recipes-devtools')
-rw-r--r-- | meta/recipes-devtools/go/go-cross-canadian.inc | 6 | ||||
-rw-r--r-- | meta/recipes-devtools/go/go-cross-canadian_1.9.bb | 4 | ||||
-rw-r--r-- | meta/recipes-devtools/go/go-target.inc | 3 |
3 files changed, 6 insertions, 7 deletions
diff --git a/meta/recipes-devtools/go/go-cross-canadian.inc b/meta/recipes-devtools/go/go-cross-canadian.inc index e630b83df8..ea68b8875d 100644 --- a/meta/recipes-devtools/go/go-cross-canadian.inc +++ b/meta/recipes-devtools/go/go-cross-canadian.inc @@ -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} diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.9.bb b/meta/recipes-devtools/go/go-cross-canadian_1.9.bb index 0306fdf684..367a967056 100644 --- a/meta/recipes-devtools/go/go-cross-canadian_1.9.bb +++ b/meta/recipes-devtools/go/go-cross-canadian_1.9.bb @@ -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" diff --git a/meta/recipes-devtools/go/go-target.inc b/meta/recipes-devtools/go/go-target.inc index 3bc32f3bec..29a1344675 100644 --- a/meta/recipes-devtools/go/go-target.inc +++ b/meta/recipes-devtools/go/go-target.inc @@ -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" |