Skip to content
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

cmd/compile: shouldn't use duffcopy and duffzero on plan9/amd64 #14605

Closed
0intro opened this issue Mar 2, 2016 · 6 comments
Closed

cmd/compile: shouldn't use duffcopy and duffzero on plan9/amd64 #14605

0intro opened this issue Mar 2, 2016 · 6 comments

Comments

@0intro
Copy link
Member

0intro commented Mar 2, 2016

Since commit commit a6fb2aede7 (merge of dev.ssa branch), programs built by the Go compiler don't work anymore on plan9/amd64.

go_bootstrap 477229: suicide: sys: floating point in note handler pc=0x2c717c

See http://build.golang.org/log/43797a52b5ed323d15f7736d8cc66ee154493a99

go_bootstrap is crashing in runtime·duffcopy, because it uses MOVUPS, while floating point instructions are not allowed in the Plan 9 note handler.

@0intro 0intro added the OS-Plan9 label Mar 2, 2016
@0intro 0intro self-assigned this Mar 2, 2016
@0intro 0intro added this to the Go1.7 milestone Mar 2, 2016
@minux
Copy link
Member

minux commented Mar 2, 2016 via email

@0intro
Copy link
Member Author

0intro commented Mar 2, 2016

I've just seen the discussion on golang-dev. Your proposed solution seems good to me.

@0intro
Copy link
Member Author

0intro commented Mar 3, 2016

I propose CL 20171 to disable the use of duffcopy and duffzero entirely on Plan 9, for now.

@gopherbot
Copy link

CL https://golang.org/cl/20171 mentions this issue.

@minux
Copy link
Member

minux commented Mar 3, 2016 via email

@0intro 0intro changed the title cmd/compile: shouldn't use duffcopy on plan9/amd64 cmd/compile: shouldn't use duffcopy and duffzero on plan9/amd64 Mar 3, 2016
gopherbot pushed a commit that referenced this issue Mar 3, 2016
The ssa compiler uses the duffcopy and duffzero functions,
which rely on the MOVUPS instructions.

However, this doesn't work on Plan 9, since floating point
operations are not allowed in the note handler.

This change disables the use of duffcopy and duffzero
on Plan 9 in the ssa compiler.

Updates #14605.

Change-Id: I017f8ff83de00eabaf7e146b4344a863db1dfddc
Reviewed-on: https://go-review.googlesource.com/20171
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: David du Colombier <0intro@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
@nightlyone
Copy link
Contributor

Can this be closed @0intro?

@0intro 0intro closed this as completed Mar 22, 2016
@golang golang locked and limited conversation to collaborators Mar 23, 2017
@rsc rsc unassigned 0intro Jun 23, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants