-
Notifications
You must be signed in to change notification settings - Fork 18k
cmd/compile: CL 305829 broke plan9/amd64 build #45372
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
Comments
CC @thanm |
Thanks. The change in question seems fairly benign (since according to the Go ABI0 calling convention, any scratch register can be used in such situations). Is there a plan9 expert who could advise me as to whether there this might be breaking some sort of Plan9 rule regarding register use? |
Sorry, amd64 is outside my zone of expertise, and I don't have an amd64 Plan 9 machine to try to reproduce this on. I wonder if there is anything in the _amd64.s files in the runtime which is touching that register? |
That was the first thing I looked for. Can't see anything specific to plan9 there. I'll poke around some more. |
I can't seem to create a gomote to work on this problem -- maybe something is wrong with the builder? Output from gomote create:
Scheduler state doesn't seem to show anything else running: @0intro, is this something you can help with? It is unlikely I'll be able to investigate this problem if I can't triage it via gomote/builder. |
It should be fixed now. Please try again. |
Thanks, yes, "gomote create" seems to have worked now. How exactly do we run "make.bash" on our plan9 builders? I can't seem to see a copy of bash in any of the usual places (/bin/bash, /usr/local/bin/bash, etc). Thanks. |
On Plan 9, it's called |
I fired up a copy of 9legacy 9k flavour of Plan 9 on an amd64 machine and I see the same error. So it's not specific to 9front. |
The builder was historically called |
Maybe time to rename it then? |
Sure. I've just sent CL 307409. |
Change https://golang.org/cl/307469 mentions this issue: |
Change https://golang.org/cl/307829 mentions this issue: |
It should be fixed now. |
Thanks. |
This patch provides a better long-term fix for the compiler's zerorange() helper function to make it generate code friendly to the register ABI. CL 305829 did part of the work, but didn't properly handle the case where the compiler emits a REP.STOSQ sequence; this patch changes the REP code to make sure it doesn't clobber any incoming register parameter values. Also included is a test that is specifically written to trigger the REP emit code in the compiler (prior to this, this code was not being hit on linux/amd64 all.bash). Updates #45372. Updates #40724. Change-Id: Iaf1c4e709e98eda45cd6f3aeebda0fe9160f1f42 Reviewed-on: https://go-review.googlesource.com/c/go/+/307829 Trust: Than McIntosh <thanm@google.com> Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
After CL 305829 (commit 3300390), the plan9/amd64 builder has been failing with this:
See https://build.golang.org/log/62148fe37ac833f3b20c10296797908bca7a356c
It builds fine on my machine after I reverted the change.
CC @0intro
@gopherbot add labels OS-Plan9, NeedsFix
The text was updated successfully, but these errors were encountered: