[OE-core] go-runtime does not build for mips32r2 tune

Matt Madison matt at madison.systems
Tue Sep 19 11:47:28 UTC 2017


On Mon, Sep 18, 2017 at 4:26 PM, Khem Raj <raj.khem at gmail.com> wrote:
> On Mon, Sep 18, 2017 at 3:52 PM, Mark Hatle <mark.hatle at windriver.com> wrote:
>> On 9/18/17 5:50 PM, Matt Madison wrote:
>>>
>>>> On 18 Sep 2017, at 2:11 PM, Slater, Joseph <joe.slater at windriver.com
>>>> <mailto:joe.slater at windriver.com>> wrote:
>>>>
>>>> This is the default tune for qemumips.  It appears that the problem does not
>>>> occur for an oe-core checkout just before the split creating go-runtime.
>>>>
>>>> Before the split, go-helloworld will build, but after the split it will not
>>>> because it needs go-runtime.
>>>
>>> There’s a TUNE_CCARGS_remove in go_1.9.bb to remove the ‘-march=mips32r2’ flag
>>> that probably either needs to be moved to a .inc file or copied to
>>> go-runtime_1.9.bb.  Missed that when splitting out the runtime recipe.
>>
>> That seems wrong.  We should be using the TUNE_CCARGS, and -not- using the
>> arguments that 'go' has decided must be right.
>>
>> Otherwise the optimizations may or may not be compatible... and if someone
>> selects different arguments, they won't get filtered.
>
> go supports mips32r1, and needs fpu or kernel FPU emulation enabled
> so using mips32r2 might be fine back when I was adding it to oe-core it
> did not work, things might be different with 1.9 release where mips
> support is complete in golang.

It's still mips32r1, though, and the go build tool explicitly adds
'-march=mips32 -mabi=32' when invoking the C compiler for cgo.

-Matt



More information about the Openembedded-core mailing list