summaryrefslogtreecommitdiffstats
path: root/package/go
Commit message (Collapse)AuthorAgeFilesLines
* package/go: set GOCACHE to a host pathChristian Stewart2019-03-251-0/+4
| | | | | | | | | | | Set the GOCACHE environment variable properly. It was previously unset, and defaults to $HOME/.cache/go-build. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> (cherry picked from commit 3909423f1ccf186bd064e225ecb064ca1ece0310) Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go: explicitly disable modules to avoid unintended network lookupChristian Stewart2019-03-031-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Go "modules" refers to the dependency fetching, verification (hashing), and version control system built into Go as of 1.11. It is not desirable to have Go modules enabled in Buildroot in the normal case, as Buildroot manages downloading the sources, and third party dependency managers are typically not used. In the absence of the GO111MODULE environment variable, the Go compiler will correctly compile using the "vendor" version of dependencies downloaded by Buildroot during the compilation process for Go-based packages. However, if the user sets the GO111MODULE=on environment variable, the Go compiler will download the Go dependencies for Buildroot packages, using the modules system. This is potentially unintended behavior from user environment variables. This commit sets the GO111MODULE=off variable in the Go target and host compilation environments, disabling Go modules support for Buildroot mainline packages. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go: security bump to 1.11.5Christian Stewart2019-01-242-2/+2
| | | | | | | | Go 1.11.5 addresses a reported security issue, CVE-2019-6486. Signed-off-by: Christian Stewart <christian@paral.in> Acked-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/go: security bump to version 1.11.4Peter Korsgaard2018-12-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | go 1.11.3 fixes the following security issues: cmd/go: remote command execution during "go get -u" The issue is CVE-2018-16873 and Go issue golang.org/issue/29230. See the Go issue for details. Thanks to Etienne Stalmans from the Heroku platform security team for discovering and reporting this issue. cmd/go: directory traversal in "go get" via curly braces in import paths The issue is CVE-2018-16874 and Go issue golang.org/issue/29231. See the Go issue for details. Thanks to ztz of Tencent Security Platform for discovering and reporting this issue. crypto/x509: CPU denial of service in chain validation The issue is CVE-2018-16875 and Go issue golang.org/issue/29233. See the Go issue for details. Thanks to Netflix for discovering and reporting this issue. go 1.11.4 fixes issues, including regressions introduced by 1.11.3: 1.11.4 includes fixes to cgo, the compiler, linker, runtime, documentation, go command, and the net/http and go/types packages. It includes a fix to a bug introduced in Go 1.11.3 that broke go get for import path patterns containing "...". Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package: hide golang packages for toolchains with binutils bug 20006Yann E. MORIN2018-11-291-0/+1
| | | | | | | | | | | | Fixes: http://autobuild.buildroot.org/results/020/02039969b16534d4020ecd4574bae71b91c1e6b8/ (flannel) http://autobuild.buildroot.org/results/e95/e9528b06b350ef84c1e2cb59fba87b4db77b4660/ (docker-engine) [...] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Cc: Romain Naour <romain.naour@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go: bump to v1.11.2Christian Stewart2018-11-082-2/+3
| | | | | | | | | Bumps Golang host-go compiler to 1.11.2 release. Add hash for LICENSE. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: bump to v1.11.1Christian Stewart2018-10-312-2/+2
| | | | | | | Bumps Golang host-go compiler to 1.11.1 release. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: bump to v1.11Christian Stewart2018-09-132-2/+2
| | | | | | | Signed-off-by: Christian Stewart <christian@paral.in> Reviewed-by: Anisse Astier <anisse@astier.eu> Tested-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: security bump to version 1.10.2Anisse Astier2018-05-112-2/+2
| | | | | | | | | | | | | | This bump contains many bug fixes, as well as the following security issue, patched in Go 1.10.1: CVE-2018-7187: The "go get" implementation in Go 1.9.4, when the -insecure command-line option is used, does not validate the import path (get/vcs.go only checks for "://" anywhere in the string), which allows remote attackers to execute arbitrary OS commands via a crafted web site. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: honor building with V=1 for debugging purposesAnisse Astier2018-05-111-1/+2
| | | | | Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: cleanup cross-compilation supportAnisse Astier2018-05-111-22/+5
| | | | | | | | | | Now that we fixed cross-compilation in the go package, cleanup the build to remove the workaround added in 60c5c96ae109dcea48e0997b5e6e6645ac9b86 "package/go: Build host tools with host CC". We only need a single pass to build the go toolchain. Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* package/go: fixing host go cross compilationAngelo Compagnucci2018-05-112-1/+42
| | | | | | | | | | | | | | | | | | | | | Actually if GOHOSTOS == GOOS || GOHOSTARCH == GOARCH the go build system assume it's not cross compiling and uses the same toolchain for both the host and the target. This commit adds a patch to enable the explicit GO_ASSUME_CROSSCOMPILING in go build system and updates to go package accordingly. Fixes: http://autobuild.buildroot.net/results/3636b1ac5756a782fd7578186508aaf9d105e3e9/ http://autobuild.buildroot.net/results/25790dca7e19527bb360d7dfb325cd9cfc3b56cc/ and many more. References: https://github.com/golang/go/issues/25177 https://golang.org/cl/112156 Signed-off-by: Angelo Compagnucci <angelo@amarulasolutions.com> Signed-off-by: Anisse Astier <anisse@astier.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
* go: bump to 1.10Christian Stewart2018-02-192-2/+2
| | | | | | | This commit bumps the Go programming language to the 1.10 release. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go-bootstrap: add BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTSThomas Petazzoni2017-11-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | go-bootstrap is a host package that builds a first stage Go compiler, later used to build the final Go compiler. However, this first stage compiler only supports building on x86, x86-64 and arm as host architectures, so we need to add the relevant architecture dependencies to avoid having go-bootstrap built on other unsupported platforms. We do this by introducing BR2_PACKAGE_HOST_GO_BOOTSTRAP_ARCH_SUPPORTS in a new package/go-bootstrap/Config.in.host file. This option is then used by BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS to make sure we can't enable Go packages when the host architecture doesn't allow building the Go compiler. Fixes: http://autobuild.buildroot.net/results/cbd419c6ab6fa8a6d18dc137c91f895867e53b8a/ Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go: bump version to 1.9Christian Stewart2017-10-222-3/+3
| | | | | | | Go 1.9 is required for docker-engine and other Go packages in Buildroot. Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: fix cross-compilation settingsAngelo Compagnucci2017-10-211-6/+8
| | | | | | | | | | | | | This patch fixes a bug with the BR2_TOOLCHAIN_HAS_THREADS variable handling which causes CGO_ENABLED to be always 0. Furthermore, it fixes the cross compilation options for the go compiler: setting CGO_ENABLED should be done only for the target compiler not the host one. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Christian Stewart <christian@paral.in>
* Globally replace $(HOST_DIR)/usr/lib with $(HOST_DIR)/libArnout Vandecappelle2017-07-051-1/+1
| | | | | | | | | | | Since things are no longer installed in $(HOST_DIR)/usr, the callers should also not refer to it. This is a mechanical change with git grep -l '$(HOST_DIR)/usr/lib' | xargs sed -i 's%$(HOST_DIR)/usr/lib%$(HOST_DIR)/lib%g' Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Globally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/binArnout Vandecappelle2017-07-051-2/+2
| | | | | | | | | | | Since things are no longer installed in $(HOST_DIR)/usr, the callers should also not refer to it. This is a mechanical change with git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g' Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* go: bump version to 1.8.3Christian Stewart2017-05-302-2/+2
| | | | | | | | | | | Bumping Go to 1.8.3 from 1.7. Go 1.8 comes with significant performance improvements, particularly around ARM: "CPU time required by our benchmark programs was reduced by 20-30% on 32-bit ARM systems." Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* boot, package: use SPDX short identifier for BSD-3cRahul Bedarkar2017-04-011-1/+1
| | | | | | | | | | | We want to use SPDX identifier for license string as much as possible. SPDX short identifier for BSD-3c is BSD-3-Clause. This change is done using following command. find . -name "*.mk" | xargs sed -ri '/LICENSE( )?[\+:]?=/s/BSD-3c/BSD-3-Clause/g' Signed-off-by: Rahul Bedarkar <rahulbedarkar89@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* go: security bump to version 1.7.4Peter Korsgaard2017-01-232-2/+2
| | | | | | | | | | | | | | | | | | On Darwin, user's trust preferences for root certificates were not honored. If the user had a root certificate loaded in their Keychain that was explicitly not trusted, a Go program would still verify a connection using that root certificate. This is addressed by https://golang.org/cl/33721, tracked in https://golang.org/issue/18141. Thanks to Xy Ziemba for identifying and reporting this issue. The net/http package's Request.ParseMultipartForm method starts writing to temporary files once the request body size surpasses the given "maxMemory" limit. It was possible for an attacker to generate a multipart request crafted such that the server ran out of file descriptors. This is addressed by https://golang.org/cl/30410, tracked in https://golang.org/issue/17965. Thanks to Simon Rawet for the report. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* go: remove powerpc64 big-endian from supported architecturesThomas Petazzoni2016-11-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | cgo currently doesn't properly support powerpc64 big-endian, as noted in https://github.com/golang/go/issues/13192, and indeed, we have a large number of build failures of Go packages on this architecture. This commit therefore disables Go on PowerPC64 big-endian (PowerPC64 little-endian is fine). Fixes: http://autobuild.buildroot.net/results/a6e9bac0a735f48d0ba0af081aeac4ed9fdfaca7/ (flannel) http://autobuild.buildroot.net/results/230f52bc35f437836c7a76d4b58ef454635ee0d3/ (docker-containerd) http://autobuild.buildroot.net/results/77c31d6e8f5efe3e024e27a160cf5d1d1952719e/ (runc) http://autobuild.buildroot.net/results/a87b07417ea8bd81ffe27e5661b4359ddc0149ab/ (docker-engine) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* go: bump to 1.7.2Christian Stewart2016-10-192-2/+2
| | | | | Signed-off-by: Christian Stewart <christian@paral.in> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* MIPS: replace every BR2_mips_* with the new MIPS CPU optionsVicente Olivert Riera2016-10-151-1/+1
| | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* package/go: needs PIE supportRomain Naour2016-07-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* go: define a hidden boolean to specify if CGO linking is supportedVicente Olivert Riera2016-07-061-0/+8
| | | | | Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* go: disable for MIPS R6Vicente Olivert Riera2016-07-011-0/+2
| | | | | | | MIPS R6 support in Go has not yet been developed. Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Enable MIPS supportGeoff Levand2016-06-012-1/+5
| | | | | | | | Enable go language support for mips64 and mips64el (mips64le), which were added in go-1.6.2. Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: add double quotes around TARGET_CC/TARGET_CXXThomas Petazzoni2016-05-261-4/+4
| | | | | | | Using double quotes around TARGET_CC/TARGET_CXX is mandatory, since they are composed of several words when ccache support is enabled. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Set file timestampGeoff Levand2016-05-261-0/+4
| | | | | | | | Set all file timestamps to prevent the go compiler from rebuilding any built in packages when programs are built. Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Add HOST_GO_CGO_ENABLEDGeoff Levand2016-05-261-1/+11
| | | | | | | | | | | | | | | | The go compiler's cgo support uses threads. If BR2_TOOLCHAIN_HAS_THREADS is set, build in cgo support for any go programs that may need it. Note that any target package needing cgo support must include 'depends on BR2_TOOLCHAIN_HAS_THREADS' in its config file. Fixes build errors like these: error: #warning requested reentrant code http://autobuild.buildroot.net/results/42a8d07101d8d954511d1c884ecb66e8d861899e Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Add HOST_GO_TARGET_ENVGeoff Levand2016-05-261-0/+9
| | | | | | | | For the convenience of package makefiles define the new make variables HOST_GO_TOOLDIR and HOST_GO_TARGET_ENV. Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Build host tools with host CCGeoff Levand2016-05-261-4/+25
| | | | | | | | | | | | | | | | | | | | The go build system doesn't have the notion of cross compiling, but just the notion of architecture. When the host and target architectures are different it expects to be given a target cross compiler in CC_FOR_TARGET. When the architectures are the same it will use CC_FOR_TARGET for both host and target compilation. To work around this limitation build and install a set of compiler and tool binaries built with CC_FOR_TARGET set to the host compiler. Also, the go build system is not compatible with ccache, so use HOSTCC_NOCCACHE. See https://github.com/golang/go/issues/11685. Fixes build errors like these: host/usr/bin/go: No such file or directory http://autobuild.buildroot.net/results/6664189a6f3a815978e8d0a1d7ef408ca47e2874/ Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: Fix powerpc64 config typoGeoff Levand2016-05-122-2/+4
| | | | | | | | | Fix typo in config powerpc64 depends. Go language only supports 64 bit powerpc. Also add BR2_powerpc64le to depends list. Signed-off-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/go: bump version to 1.6.2Christian Stewart2016-05-072-2/+2
| | | | | | | | | | Golang has significant improvements to support for multiarch in later versions. This bump is required to make many go programs functional under arm64, for example. Signed-off-by: Christian Stewart <christian@paral.in> Acked-by: Geoff Levand <geoff@infradead.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* go: new host packageGeoff Levand2016-04-203-0/+77
Add a new package 'go' which builds the host cross compiler and libraries for the go programming language. Signed-off-by: Geoff Levand <geoff@infradead.org> [Thomas: - Put the computation of GO_GOARM inside the ifeq ($(BR2_arm),y) condition rather than duplicating this condition. - Remove the GO_GOARCH=unknown case, since there is no way to fall in this case as only supported architectures can use host-go. - Remove the GO_GOARM=unknown case, since we are sure that only ARMv5/6/7 will use host-go. - Rename HOST_GO_FINAL to HOST_GO_ROOT, since it's really the "root" of the Go installation. - Remove visible Config.in.host option.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
OpenPOWER on IntegriCloud