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>
This commit is contained in:
Matt Madison
2017-09-22 17:58:20 -07:00
committed by Richard Purdie
parent 17a772775c
commit 988e253f47

View File

@@ -43,10 +43,14 @@ def go_map_arch(a, d):
return 'mips64le'
elif re.match('mips64*', a):
return 'mips64'
elif re.match('mipsel*', a):
return 'mipsle'
elif re.match('mips*', a):
return 'mips'
elif re.match('mips.*', a):
tf = d.getVar('TUNE_FEATURES').split()
if 'fpu-hard' in tf and 'n32' not in tf:
if 'mips32r2' in tf:
newtf = [t for t in tf if t != 'mips32r2']
newtf.append('mips32')
d.setVar('TUNE_FEATURES', ' '.join(newtf))
return 'mips' if 'bigendian' in tf else 'mipsle'
elif re.match('p(pc|owerpc)(64)', a):
return 'ppc64'
elif re.match('p(pc|owerpc)(64el)', a):