-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rocko revision does not have the go Quark patches #96
Comments
@jan-kiszka maybe? |
I need to recheck, but I vaguely recall that Go 1.9 does not easily allow our patching anymore. In any case, there are currently no plans to move to Go 1.9. |
Go 1.9 has split out the go runtime to a different recipe apparently. So it looks like go-runtime needs to be patched instead for 1.9 |
In any case, when using with Poky Rocko, there is no go 1.8 recipe available. Would it be possible for meta-iot2000 to provide it? |
One would have to use a layer in an older revision that used to provide us Go. I think I was once using oe-meta-go. |
Applying the patches to go-runtime yields the following compile error:
|
Yeah, the code changed, and the result of cpuid(1).edx is no longer saves for later use. Will require more than mechanical adaptations... |
Yeah, unfortunately going forward, there will be pieces of software that won't compile with older golang versions. Already, our moby based balena container engine requires golang 1.9 or newer to compile. The quick and dirty solution is to revert golang/go@aeee34c |
If you have a working patch set for some newer Go, mind to send a PR? We can still sort out the patch details later. |
Will send once I have a free slot. Started something else in the meanwhile for the moment |
Hi. I'm trying to compile go 1.9 with your 3 patches from here: https://github.com/siemens/meta-iot2000/tree/master/meta-iot2000-bsp/recipes-devtools/go/patches-1.8. In addition to this, one also needs to revert golang/go@aeee34c as stated previously.
Does that ring any bell @jan-kiszka ? |
Hmm... The message sounds like an internal memory corruption of the compiler, maybe an unlock of an invalid lock variable. That would make sense if it ran its own code with Quark tunings (ie. without lock prefixes) on multiple cores. But I don't think it does that. You could try to nail down the crash by reverting your changes stepwise until it builds again. |
The compile crash takes place only when changing GO386 to |
Forward-porting 101: If something subtly breaks around some hunk, check the history of its context: you need to account for golang/go@5437cde#diff-d8fa74b92bd74f06a5fc36f00e5273e0. Maybe that will fix the issue already. Looking forward to a PR if the patches work! |
Curious if there has been any progress on this that has not been reported back? I recently hit the same problem, as I wanted to run |
I didn't receive any update from @floion so far. As we are currently updating the rest of the layer, it would be a good time. |
We updated on our layers like so: balena-os/balena-iot2000@4c3ed2c However, on our usecase we are currently running into some issues with our implementation of the docker container engine and not entirely sure if it's because of these backports. I will be getting back to this issue in the near future but until then, @jan-kiszka feel free to use anything from there, give it a test and merge it here if you think it's appropriate. |
This should work with later versions: @jan-kiszka thank you for the patches. I notice later versions of Go seem to optimize closer to 386 code as the switch says. |
Is this issue also present for IOT2050? |
Unless someone contributes a port, Go won't be updated for the Quark anymore. |
Hi,
any plans to update the golang patches for Rocko? Poky Rocko uses go 1.9 and this layer only supports 1.6 and 1.8
Thanks
The text was updated successfully, but these errors were encountered: