OK, the problem with _tos on 9vx is making some sense. gcc and 8c disagree on the size of the Tos struct. It's declared the same way in 9vx as in Plan 9, but 8c thinks it is 56 bytes and gcc thinks it is 88.
The reason is that 9vx is compiled on a 64-bit machine in this case, so we are running 32-bit binaries on a 64-bit kernel, i.e. it is heterogeneous. Amusing :-) Guess I'll try 9vx as a 32-bit binary and see what shakes. ron