aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/go
AgeCommit message (Collapse)Author
2018-07-04go: Update 1.10.2 -> 1.10.3Otavio Salvador
go1.10.3 (released 2018/06/05) includes fixes to the go command, and the crypto/tls, crypto/x509, and strings packages. In particular, it adds minimal support to the go command for the vgo transition. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-04go: Update 1.9.6 -> 1.9.7Otavio Salvador
go1.9.7 (released 2018/06/05) includes fixes to the go command, and the crypto/x509, and strings packages. In particular, it adds minimal support to the go command for the vgo transition. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-15go-native: use libdir_nativeDan McGregor
Setting staging_libdir to libdir caused unnecessary rebuilds of go-native when switching from a multilib build to a non-multilib build. Switch to libdir_native because it doesn't change based on target configuration. Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04go: Update 1.9.4 -> 1.9.6Otavio Salvador
The 1.9.6 fixes a number of issues since 1.9.4 release, mainly: go1.9.5 (released 2018/03/28) includes fixes to the compiler, go command, and net/http/pprof package. go1.9.6 (released 2018/05/01) includes fixes to the compiler and go command. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04go: Upgrade 1.10.1 -> 1.10.2Otavio Salvador
This is a minor release that fixes many important issues found since 1.10.1 release. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-04-23go-runtime_1.9: pass BUILD_ flags to cgo for host-side buildMatt Madison
When running the make.bash script to build the host-side tools, make sure that cgo is using CFLAGS and LDFLAGS for the build host, rather than those for the target. [YOCTO #12704] Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-30go: Upgrade 1.10 -> 1.10.1Otavio Salvador
This is a minor release that fixes many important issues found since 1.10 release. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-06go-runtime: remove unneeded nativesdk override, rename variableMatt Madison
since GO_LDFLAGS is also used by the dist tool, and it's confusing to use a variable with the same name (but not exported, so unused by make.bash/dist). Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go: disable PIE CFLAGS for nativesdk and cross-canadian buildsMatt Madison
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>
2018-03-06go: move common settings to go-common.incMatt Madison
Eliminate some redundancy in the recipes by moving some commonly-used variable settings to the common include file. Also removed a duplicate inherit from go-target.inc that was already in go-common.inc. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go: set GOMIPS envrionment variableMatt Madison
Go 1.10 adds support for selecting hard/soft float object code through the GOMIPS environment variable. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-06go: update go 1.9 -> go 1.10Matt Madison
* Patches and recipes reworked for go 1.10's significant changes to its bootstrap and build steps. * Update go1.4 source tarball used for go-native bootstrapping to the version recommended in the current go documentation * Remove test data from installed sources to eliminate some packaging QA warnings * Set GOCACHE to 'off' to disable 1.10's build caching in the go recipes and bbclass * Update go_do_compile to compile both static and dynamic objects dynamic linking is in use, since go1.10's build tool is pickier about this Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24go-dep: Upgrade 0.3.2 -> 0.4.1Otavio Salvador
The release was announced in Jan 24th 2018 and provides a number of features and bug fixes. The 0.4.1 restores the `dep prune` command support, which was dropped on 0.4.0, so existing scripts will continue to work. That said, it is advisable to change the scripts to use the new features of `dep ensure` as `dep prune` will be removed in future. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-24go: Upgrade 1.9 to 1.9.4 stable releaseOtavio Salvador
The 1.9.4 fixes a number of issues in the Go compiler and is important to get in before we start working on 1.10 inclusion. - go1.9.1 (released 2017/10/04) includes two security fixes. - go1.9.2 (released 2017/10/25) includes fixes to the compiler, linker, runtime, documentation, go command, and the crypto/x509, database/sql, log, and net/smtp packages. It includes a fix to a bug introduced in Go 1.9.1 that broke go get of non-Git repositories under certain conditions. - go1.9.3 (released 2018/01/22) includes fixes to the compiler, runtime, and the database/sql, math/big, net/http, and net/url packages. - go1.9.4 (released 2018/02/07) includes a security fix to “go get”. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-16go: fix upstream version checkAlexander Kanavin
Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-21go-dep: Add native and nativesdk variantsOtavio Salvador
The go-dep must be used as native (and consequently as nativesdk) during the build process. This adds the two variants as supported by the recipe. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-17go-dep: upgrade 0.3.1 -> 0.3.2Otavio Salvador
The 0.3.2 version has been released in Oct 19, 2017, and has a great set of features and improvements, as seen in the announcement summary: ,---- | NEW FEATURES: | | - Add support for importing from gvt and gb. (#1149) | - Wildcard ignore support. (#1156) | - Disable SourceManager lock by setting DEPNOLOCK environment | variable. (#1206) | - dep ensure -no-vendor -dry-run now exits with an error when | changes would have to be made to Gopkg.lock. This is useful | for CI. (#1256) | | BUG FIXES: | | - gps: Fix case mismatch error with multiple dependers. (#1233) | - Skip broken vendor symlink rather than returning an error. (#1191) | - Fix status shows incorrect reason for lock mismatch when ignoring | packages. (#1216) | | IMPROVEMENTS: | | - Allow dep ensure -add and -update when lock is out-of-sync. (#1225) | - gps: vcs: Dedupe git version list (#1212) | - gps: Add prune functions to gps. (#1020) | - gps: Skip broken vendor symlinks. (#1191) | - dep ensure -add now concurrently fetches the source and adds the | projects. (#1218) | - File name case check is now performed on Gopkg.toml and Gopkg.lock. | (#1114) | - gps: gps now supports pruning. (#1020) | - dep ensure -update now concurrently validates the passed project | arguments. Improving performance when updating dependencies with | -update. (#1175) | - dep status now concurrently fetches repo info. Improving status | performance. (#1135) | - gps: Add SourceURLsForPath() to SourceManager. (#1166) | - gps: Include output in error. (#1180) `---- Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-02go: ensure use of BUILD_CC when building bootstrap toolsMatt Madison
For cross-canadian builds, we were accidentally using the crosssdk C compiler when building the Go compiler bootstrap. Add a patch to the make script to let us use BUILD_CC, and prepend do_compile to set it in the local environment to ensure that the trailing blank gets stripped, since that confuses Go. [YOCTO #12341] Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-21go: Use right dynamic linker on muslKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-11-05go-dep: Upgrade to 0.3.1Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-16go: Export correct GO386 value for targetPaul Barker
When compiling go code for the target we need to ensure that GO386 is exported and set appropriately. This controls whether sse/sse2 instructions are used to implement floating-point operations or not. Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06go-runtime: prevent host leakage into target objectsMatt Madison
When building for a target whose architecture matches the build host's, the second pass through make.bash to build the shareable runtime would also overwrite the target's static cgo library with host-compatibile binaries. Fix this by running the host-side build once and target-only passes of make.bash twice, for static and shareable. This ensures that what gets installed is target-compatible. Also fix an issue with x86-64 targets running MUSL by removing the pre-built (for glibc) objects for the race detector runtime before building. [YOCTO #12136] Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25meta: drop True option to getVar callsMing Liu
Search made with the following regex: getVar ?\((.*), True\). Signed-off-by: Ming Liu <liu.ming50@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25go: Fix build with -buildmode=pieKhem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25go_1.9: remove obsolete overridesMatt Madison
Now that mips and security flags fixes are in place in the bbclasses, remove the local settings in this recipe. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-25go: disable PIE flags for cgoMatt Madison
If the security_flags.inc file is included, gcc will do PIE builds by default. These flags need to be disabled for go packages that use cgo. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-21go: fixes for cross-canadian buildsMatt Madison
* Add patch for go's make script to allow for build system != host system * Add dependencies on the appropriate crosssdk recipes, and use the crosssdk C compiler and linker * Remove bashism in the wrapper script * Restrict installation to only the tool binaries to address some packaging errors Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21go: fix linking issues for nativesdk buildsMatt Madison
Switch to using an external linker for nativesdk go, go-runtime, and go package builds, which works more reliably when building 32-bit SDKs. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-21go-crosssdk: fix host/target references and cleanupMatt Madison
* The _FOR_TARGET variables need to include SDKNATIVEPATH * Install tools (cmd) only, and for the build host * Remove unnecessary FILES setting Corrects some errors when the build host architecture is different from the SDKMACHINE's. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-13go: update to go 1.9Matt Madison
* Rebased patches - dropped armhf-elf patch, should no longer be needed - dropped syslog patch which should not have been imported to begin with - reworked other patches as needed for the updated code base * Updated native, cross, cross-canadian .inc files to remove some testdata directories that contain .a files that strip chokes on during sysroot staging Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go.bbclass: Add "ldflags" to QA skip listOtavio Salvador
Currently every Go package will end with GNU_HASH in the ELF binary however adding it to every recipe is cumbersome so instead we handle that here. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-runtime: build the Go runtime as a shared libraryMatt Madison
If the target architecture supports, it build the Go runtime as a shared library in addition to building the static libraries. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-1.8: add patch for set soname in ELF shared objectsMatt Madison
The go link tool does not set the soname by default, which prevents package.bbclass's shlibs processing from seeing shared libraries built with go. This patch passes appropriate options to go's linker and the external linker to set the soname. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13go-runtime: extend to nativesdk buildsMatt Madison
Missed this when addding SDK support. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-cross-canadian: add recipeMatt Madison
Enable cross-canadian builds of the Go toolchain. This requires an additional patch to the Go source to allow us to use the native GOTOOLDIR during the bootstrap phase. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-crosssdk: add recipeMatt Madison
Enable crosssdk builds for the Go toolchain. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: enable nativesdk builds for the toolchainMatt Madison
All that's needed is setting BBCLASSEXTEND. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-cross: take GOARM environment settingMatt Madison
Instead of hard-coding GOARM to ${TARGET_GOARM} in the wrapper script, take it from an existing environment setting if present. This allows the same cross-compiler to be used for different ARM targets. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: rename go.inc -> go-target.incMatt Madison
to make it clearer that it is only used for building the toolchain for the target. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-dep: Move bash dependency to -dev packageOtavio Salvador
The src content has been moved to -dev package, so does the test routines. Fix the runtime dependency accordingly. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go: split out go-runtime into separate recipeMatt Madison
Reorganize the Go toolchain build to split out the Go standard runtime libraries into a separate recipe. This simplifies the extension to crosssdk and cross-canadian builds. * Adds a patch to the go build tool to prevent it from trying to rebuild anything in GOROOT, which is now resident in the target sysroot. * 'go' bb and inc files are now for building the compiler for the target only. * 'go-cross' bb and inc files are now just for the cross-compiler. * Adds virtual/<prefix> PROVIDES for the compiler and runtime * Removes testdata directories from the sysroot during staging, as they are unnecessary and can cause strip errors (some of the test files are ELF files). * Re-enables pacakage QA checks, adding selective INSANE_SKIP settings where needed. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-bootstrap-native: remove recipeMatt Madison
No longer needed, with go-native handling its own bootstrap phase. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-12go-native: remove dependency on go-bootstrap-nativeMatt Madison
The go1.4 toolchain is only required for bootstrapping go-native, and should not be used for anything else, so build it as part of the go-native build. This way, we don't have to carry around its built artifacts in the native sysroot. The go-cross and target toolchains can then just depend on go-native, using that for their 'bootstrap' toolchain. Also removed some unnecessary package-related noexec settings, since native recipes inherit nopackages. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go-dep: Add 0.3.0 releaseOtavio Salvador
This is the Golang dependency management tool under development; it is ready for production use and intended to be merged onto Golang 1.10. Until that, projects are starting to use it and making it available on OE-Core reduces the Golang integration work for new recipes. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11go: Remove Go 1.6 and 1.7 releasesOtavio Salvador
The OE-Core has no reason to support multiple versions of Go as this increases the maintenance work and testing efforts. So we are going to support just a single version from now on which currently is 1.8.3. The 1.4 release is kept around as it is used for bootstrap, as such, it cannot be removed. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-09go: Remove -fPIE -pie from SECURITY_PIE_CFLAGSKhem Raj
External compilers will explicitly pass -fPIE -pie flags unlike internal toolchain which does not use them, so the build fails with external toolchains because, its passing these flags to linker when building with -r option and fails to link | /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/go/1.8.3-r0/recipe-sysroot-native/usr/bin/x86_64-bec-linux/x86_64-bec-linux-ld: -r and -pie may not be used together Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-27go: centralize definition of COMPATIBLE_HOSTJoe Slater
Put it in goarch.bbclass which all go related recipes inherit. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-09go: do not try to build for powerpc64Joe Slater
Add powerpc64 to the incompatible host list. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-06-04go: Upgrade to 1.8.3Khem Raj
Add a comment to fix build musl<->glibc switch while using same TMPDIR Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12recipes/*-cross recipes: ignore TARGET_ARCH sstate hashPatrick Ohly
"yocto-compat-layer.py --machines" showed that shared packages like gcc-cross-powerpc64 have a sstate signature that depends on TUNEFLAGS. As a result, there are unnecessary rebuilds and potential conflicts in a multiconfig. That's due to the way how TARGET_ARCH is set. Richard Purdie suggested setting TARGET_ARCH[vardepvalue] as fix, which works. It would be shorter to do that in cross.bbclass instead of repeating the relevant line in different recipes, but Richard was concerned about potential side-effects in other usages of cross.bbclass. TARGET_GOARM as used in go.inc is still causing signature differences for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This needs further investigation. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>