summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorMatt Madison <matt@madison.systems>2017-09-22 17:58:20 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-26 11:05:00 +0100
commit988e253f47dd84d6b90efad1c941998bc3e5a117 (patch)
treeb40968c15e4fc60dcdc2355f1e7514bc74c43dbb /meta
parent17a772775c2559897e49236ae352444065e1b1ff (diff)
downloadpoky-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')
-rw-r--r--meta/classes/goarch.bbclass12
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):