summaryrefslogtreecommitdiff
path: root/package/go
diff options
context:
space:
mode:
authorRomain Naour <romain.naour@gmail.com>2016-07-24 17:39:43 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2016-07-24 21:50:05 +0200
commit5f2ff6064497637d1af04a163d83e849902f4bc7 (patch)
tree984f4aa0fd3a2ace0fbb762635275e41ed14c1ad /package/go
parent3c93901bcd2f77232581ca82a3a5f741aa9e6345 (diff)
package/go: needs PIE support
When built statically, runc try to link against Scrt1.o which is not provided by uClibc ARM toolchain for static build only. [...]arm-buildroot-linux-uclibcgnueabi/bin/ld: cannot find Scrt1.o: No such file or directory collect2: error: ld returned 1 exit status On ARM, Go forces the use of -pie, for some reason: pie := (goarch == "arm" && goos == "linux") || goos == "android" if pie { // we need to use -pie for Linux/ARM to get accurate imported sym cgoLDFLAGS = append(cgoLDFLAGS, "-pie") } For this reason, add a dependency on BR2_TOOLCHAIN_SUPPORTS_PIE for ARM CPUs to disable Go for such toolchains. While at it, rewrap Go dependencies. [1] http://lists.busybox.net/pipermail/buildroot/2016-July/167206.html Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Christian Stewart <christian@paral.in> Tested-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/go')
-rw-r--r--package/go/Config.in.host4
1 files changed, 3 insertions, 1 deletions
diff --git a/package/go/Config.in.host b/package/go/Config.in.host
index d6d35dc3f..d79c669e0 100644
--- a/package/go/Config.in.host
+++ b/package/go/Config.in.host
@@ -1,7 +1,9 @@
config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS
bool
default y
- depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || BR2_powerpc64le || BR2_mips64 || BR2_mips64el
+ depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \
+ || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || BR2_powerpc64le \
+ || BR2_mips64 || BR2_mips64el
depends on !BR2_ARM_CPU_ARMV4
# MIPS R6 support in Go has not yet been developed.
depends on !BR2_mips_64r6