aboutsummaryrefslogtreecommitdiffstats
path: root/meta/classes/goarch.bbclass
AgeCommit message (Collapse)Author
2017-12-04goarch: There is no GOARCH defined for mips64-n32Joe Slater
Defeat building for mipsarchn32 because there is no corresponding GOARCH. Neither "mips" nor "mips64" allows go-runtime to compile. Existing mips32 code assumes the o32 ABI. Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster@mvista.com>
2017-10-16goarch.bbclass: Define HOST_GO386 and TARGET_GO386Paul Barker
These variables are used to control the floating-point instructions emitted by the go compiler for x86 architectures. The default is '387' which disables the use of sse/sse2 instructions and is safe to use on all x86 processors from the i486 onwards. If TUNE_FEATURES contains a feature set which is known to support sse/sse2 instructions then they are set to 'sse2' to enable the use of these instructions. This is suitable for most processors from Pentium 4 onwards. Only the 'core2' and 'corei7' TUNE_FEATURES are defined in the oe-core layer and are known to support ss2 instructions. Other layers may introduce additional tunings which support sse2 instructions and for these layers, TARGET_GO386 or go_map_386 should be overridden as needed. Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-10-06goarch.bbclass: rework mips architecture checksMatt Madison
Remove the TUNE_FEATURES references from go_map_arch, to avoid an unwanted variable dependency. Direct comparisons of the architecture name are sufficient for covering what Go currently supports, and using TUNE_CCARGS_remove adequately handles the conflict with the cgo-supplied flags for mips. Signed-off-by: Matt Madison <matt@madison.systems> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-09-25goarch.bbclass: fixups for Go mips32 supportMatt Madison
* Fix the regular expression in the mips test * Flag as incompatible any mips32 tunes for n32 ABI or soft-float, as go does not support them. * Replace mips32r2 tune with mips32r1. Go only supports mips32r1, which is a strict subset of r2. Adjusting this tune is not ideal, but is hopefully a temporary measure until more complete mips32 ISA coverage arrives upstream. [YOCTO #12108] 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-13goarch.bbclass: set ARM_INSTRUCTION_SET to "arm"Matt Madison
Go does not play well with thumb, so ensure that the toolchain and any packages use arm, not thumb, instructions. 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-13goarch.bbclass: identify archs with Go dynamic linking supportMatt Madison
Go only supports shared libraries for some architectures, so add a variable for use elsewhere that gets a non-null value only for those architectures. 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-11goarch.bbclass: Add support for ARMv5Otavio Salvador
This adds support to return the proper ARMv5 format. This change is based on the meta-golang[1] layer. Thanks to Matt Madison <matt@madison.systems> for his work on this. 1. https://github.com/madisongh/meta-golang Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11goarch.bbclass: Replace logic for setting GOARMWill Newton
The previous logic applied a regex to TUNE_FEATURES which could set the GOARM value to 7 incorrectly, for example when dealing with an arm1176 core. Simplify to check for the presence of "armv7" instead. At the same time add a check for "armv6" and set GOARM to 6 in that case. Signed-off-by: Will Newton <willn@resin.io> Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11goarch.bbclass: Stop passing True as second argument of d.getVarOtavio Salvador
The d.getVar has the second argument as True by default, avoid passing it here. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18goarch: Disable build for muslx32sweeaun
Disable build for muslx32. Signed-off-by: sweeaun <swee.aun.khor@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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-03-10go: Add recipes for golang compilers and toolsKhem Raj
* This is converging the recipes for go from meta-virtualization and oe-meta-go * Add recipes for go 1.7 * go.bbclass is added to ease out writing recipes for go packages * go-examples: Add an example, helloworld written in go This should serve as temlate for writing go recipes * Disable for musl, at least for now * Disable for x32/ppc32 which is not supported Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>