> And note how the u32int is actually converted to a pointer to a long,
> which is 64 bits. I put a panic in there on sizeof(*addr) !=
> sizeof(*arg) and bang! away we go.
> 
> So it's a 32/64 bit cleanliness problem. And it's not just for go,
> it's for everything.
> 
> This is a huge problem as pentium is little-endian and you're going to
> end up trashing data. Bad.
> 
> I will try to put a fix in now. We just need to be a little cleaner
> about realizing that the syscall interface is always 32 bits, even
> when 9vx is built as 64 bits. This is pretty much the TOS thing all
> over again.

the plan 9 core needs to religiously use uintptr and not long.  long
is always wrong for these things.

- erik

Reply via email to