> 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


Reply via email to