diff options
author | Matt Madison <matt@madison.systems> | 2017-09-22 17:58:20 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-26 11:05:00 +0100 |
commit | 988e253f47dd84d6b90efad1c941998bc3e5a117 (patch) | |
tree | b40968c15e4fc60dcdc2355f1e7514bc74c43dbb /meta/classes/goarch.bbclass | |
parent | 17a772775c2559897e49236ae352444065e1b1ff (diff) | |
download | poky-988e253f47dd84d6b90efad1c941998bc3e5a117.tar.gz |
goarch.bbclass: fixups for Go mips32 support
* 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]
(From OE-Core rev: bdd20c296048937737da0f10bd1a3b63843c5bf4)
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>
Diffstat (limited to 'meta/classes/goarch.bbclass')
-rw-r--r-- | meta/classes/goarch.bbclass | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/meta/classes/goarch.bbclass b/meta/classes/goarch.bbclass index 8b95c5fe94..9ed562d5ab 100644 --- a/meta/classes/goarch.bbclass +++ b/meta/classes/goarch.bbclass | |||
@@ -43,10 +43,14 @@ def go_map_arch(a, d): | |||
43 | return 'mips64le' | 43 | return 'mips64le' |
44 | elif re.match('mips64*', a): | 44 | elif re.match('mips64*', a): |
45 | return 'mips64' | 45 | return 'mips64' |
46 | elif re.match('mipsel*', a): | 46 | elif re.match('mips.*', a): |
47 | return 'mipsle' | 47 | tf = d.getVar('TUNE_FEATURES').split() |
48 | elif re.match('mips*', a): | 48 | if 'fpu-hard' in tf and 'n32' not in tf: |
49 | return 'mips' | 49 | if 'mips32r2' in tf: |
50 | newtf = [t for t in tf if t != 'mips32r2'] | ||
51 | newtf.append('mips32') | ||
52 | d.setVar('TUNE_FEATURES', ' '.join(newtf)) | ||
53 | return 'mips' if 'bigendian' in tf else 'mipsle' | ||
50 | elif re.match('p(pc|owerpc)(64)', a): | 54 | elif re.match('p(pc|owerpc)(64)', a): |
51 | return 'ppc64' | 55 | return 'ppc64' |
52 | elif re.match('p(pc|owerpc)(64el)', a): | 56 | elif re.match('p(pc|owerpc)(64el)', a): |