package/go: needs PIE support
authorRomain Naour <romain.naour@gmail.com>
Sun, 24 Jul 2016 15:39:43 +0000 (17:39 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 24 Jul 2016 19:50:05 +0000 (21:50 +0200)
commit5f2ff6064497637d1af04a163d83e849902f4bc7
tree984f4aa0fd3a2ace0fbb762635275e41ed14c1ad
parent3c93901bcd2f77232581ca82a3a5f741aa9e6345
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>
package/go/Config.in.host