> I'm talking about Go's linker. In the Go runtime, the G and M > pointers need to be in a per-process storage area. On Plan 9, > this is the stack. Right now, the offset of the pointers is > hard-coded in the linker to be just before the Tos structure. > The problem is that the value that was chosen is not correct > when running on 9vx because the top of the stack is is at > 0x10000000 instead of 0xdffff000 (as it is on native Plan 9). > > I think that the Go 8l should not hard-code this value but, > instead, discover it somehow ... though I'm not sure how.
main9.s sets _tos on entry. why not just use _tos as the c glue code does? - erik