[oe-commits] [openembedded-core] 17/21: goarch.bbclass: Define HOST_GO386 and TARGET_GO386

git at git.openembedded.org git at git.openembedded.org
Mon Oct 16 22:53:22 UTC 2017


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master
in repository openembedded-core.

commit 7e96cf3c9850dc34d53af73a9ac22b1624994484
Author: Paul Barker <pbarker at toganlabs.com>
AuthorDate: Fri Oct 13 19:25:28 2017 +0000

    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.
    
    Signed-off-by: Paul Barker <pbarker at toganlabs.com>
    Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 meta/classes/goarch.bbclass | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass
index 659b26a..653f035 100644
--- a/meta/classes/goarch.bbclass
+++ b/meta/classes/goarch.bbclass
@@ -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'

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list