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:43:10 -0800 |
commit | 8701fe54a801705a99136f3a5d2afb5e47d37a29 (patch) | |
tree | 62a0f3a58f9572898317f1f7616376775c1fe9d9 /meta/recipes-devtools/go | |
parent | 3ffafcd9cf18051074b3a6298f754f34768e36dc (diff) | |
download | poky-8701fe54a801705a99136f3a5d2afb5e47d37a29.tar.gz |
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>
Diffstat (limited to 'meta/recipes-devtools/go')
-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/$ | |||
12 | export GOROOT_FINAL = "${libdir}/go" | 12 | export GOROOT_FINAL = "${libdir}/go" |
13 | export CGO_CFLAGS = "${CFLAGS}" | 13 | export CGO_CFLAGS = "${CFLAGS}" |
14 | export CGO_LDFLAGS = "${LDFLAGS}" | 14 | export CGO_LDFLAGS = "${LDFLAGS}" |
15 | export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${HOST_CC_ARCH} ${LDFLAGS}"' | 15 | export GO_LDFLAGS = '-linkmode external -extld ${HOST_PREFIX}gcc -extldflags "--sysroot=${STAGING_DIR_HOST} ${SECURITY_NOPIE_CFLAGS} ${HOST_CC_ARCH} ${LDFLAGS}"' |
16 | 16 | ||
17 | do_configure[noexec] = "1" | 17 | do_configure[noexec] = "1" |
18 | 18 | ||
19 | do_compile() { | 19 | do_compile() { |
20 | export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}" | 20 | export CC_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}" |
21 | export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}" | 21 | export CXX_FOR_${HOST_GOOS}_${HOST_GOARCH}="${HOST_PREFIX}gxx --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}" |
22 | cd src | 22 | cd src |
23 | ./make.bash --host-only --no-banner | 23 | ./make.bash --host-only --no-banner |
24 | cd ${B} | 24 | 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 | |||
3 | 3 | ||
4 | export GOHOSTOS_CROSS = "${HOST_GOOS}" | 4 | export GOHOSTOS_CROSS = "${HOST_GOOS}" |
5 | export GOHOSTARCH_CROSS = "${HOST_GOARCH}" | 5 | export GOHOSTARCH_CROSS = "${HOST_GOARCH}" |
6 | export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}" | 6 | export CC_FOR_TARGET = "${HOST_PREFIX}gcc --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}" |
7 | export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE}" | 7 | export CXX_FOR_TARGET = "${HOST_PREFIX}g++ --sysroot=${STAGING_DIR_HOST}${SDKPATHNATIVE} ${SECURITY_NOPIE_CFLAGS}" |
8 | 8 | ||
9 | do_compile_prepend() { | 9 | do_compile_prepend() { |
10 | export GOBIN="${B}/bin" | 10 | 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 = "" | |||
14 | GO_LDFLAGS_class-nativesdk = "-linkmode external" | 14 | GO_LDFLAGS_class-nativesdk = "-linkmode external" |
15 | export GO_LDFLAGS | 15 | export GO_LDFLAGS |
16 | 16 | ||
17 | SECURITY_CFLAGS = "${SECURITY_NOPIE_CFLAGS}" | 17 | CC_append_class-nativesdk = " ${SECURITY_NOPIE_CFLAGS}" |
18 | SECURITY_LDFLAGS = "" | ||
19 | 18 | ||
20 | do_configure[noexec] = "1" | 19 | do_configure[noexec] = "1" |
21 | 20 | ||