mirror of
https://git.yoctoproject.org/poky
synced 2026-02-20 08:29:42 +01:00
goarch.bbclass: Define HOST_GO386 and TARGET_GO386
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. (From OE-Core rev: 7e96cf3c9850dc34d53af73a9ac22b1624994484) Signed-off-by: Paul Barker <pbarker@toganlabs.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
df645a936a
commit
68e77cfb8a
@@ -4,10 +4,12 @@ BUILD_GOTUPLE = "${BUILD_GOOS}_${BUILD_GOARCH}"
|
||||
HOST_GOOS = "${@go_map_os(d.getVar('HOST_OS'), d)}"
|
||||
HOST_GOARCH = "${@go_map_arch(d.getVar('HOST_ARCH'), d)}"
|
||||
HOST_GOARM = "${@go_map_arm(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
|
||||
HOST_GO386 = "${@go_map_386(d.getVar('HOST_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
|
||||
HOST_GOTUPLE = "${HOST_GOOS}_${HOST_GOARCH}"
|
||||
TARGET_GOOS = "${@go_map_os(d.getVar('TARGET_OS'), d)}"
|
||||
TARGET_GOARCH = "${@go_map_arch(d.getVar('TARGET_ARCH'), d)}"
|
||||
TARGET_GOARM = "${@go_map_arm(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
|
||||
TARGET_GO386 = "${@go_map_386(d.getVar('TARGET_ARCH'), d.getVar('TUNE_FEATURES'), d)}"
|
||||
TARGET_GOTUPLE = "${TARGET_GOOS}_${TARGET_GOARCH}"
|
||||
GO_BUILD_BINDIR = "${@['bin/${HOST_GOTUPLE}','bin'][d.getVar('BUILD_GOTUPLE') == d.getVar('HOST_GOTUPLE')]}"
|
||||
|
||||
@@ -66,6 +68,15 @@ def go_map_arm(a, f, d):
|
||||
return '5'
|
||||
return ''
|
||||
|
||||
def go_map_386(a, f, d):
|
||||
import re
|
||||
if re.match('i.86', a):
|
||||
if ('core2' in f) or ('corei7' in f):
|
||||
return 'sse2'
|
||||
else:
|
||||
return '387'
|
||||
return ''
|
||||
|
||||
def go_map_os(o, d):
|
||||
if o.startswith('linux'):
|
||||
return 'linux'
|
||||
|
||||
Reference in New Issue
Block a user