> if by intent, you mean that go is using xmm registers as if they were > general purpose registers, then the solution is to stop doing that. > and there's such a patch already.
No, Go's intent is to minimise runtime surprises. It is possible to define signal (calling them notes does not change their nature) handlers and nothing in the Go specifications compels the user not to use floating point instructions in such handlers. It would also not be possible to enforce such restrictions in known implementations of Go and that creates a conflict. Unless I'm straying into areas I am ignorant of, something needs to be done for Go and Plan 9 to coexist amicably, the current conditions are prone to Go-incompatible behaviour. Solving the memmove() problem just puts the crisis off for a while. Once Go is being used on Plan 9 and especially if a user expects portability from more common platforms, this particular incompatibility is likely to hurt. ++L