I tried a simple hack on 9vx. First, I had sysbrk_ return the max possible value instead of the requested value. I.e., if go runtime asked for 768MB, I had it return something less than TSTKTOP, which is around 256 MB. I like this because if we change the USTKTOP on 9vx in future we don't have to recompile the go runtime, and a single binary can run on many 9vx systems which might have different limits compiled in.
Unfortunately the runtime code ignores the returned value from sbrk_; strike one. I then had it return -1 when asked for more memory than could be returned; Got this: term% ./testgo.out throw: and that was it. Russ, could the go runtime maybe use the value returned by sbrk instead of assuming it got all it asked for? ron