Forget to mention that current state of golang/libgo 21.02 support is not intended for evaluation
After this 'alloc_secondary_stack' caused a page fault, because 'stack->top' will give the stack beginning aligned to 16 byte + 8 byte for x86. In case the stack size is a multiple of page size, this causes a page fault in 'memset' because the page at the end of the stack is crossed. Adding 16 byte to the allocation size quick fixes the problem. In the next iteration we received a page fault at a high address in 'src/lib/gcc/libgo/runtime/proc.c:610' in 'makeGContext' caused by the value of 'uc'. We have not debugged this any further for now.
I start porting of it from old version and it is in transit state now. As you can see, I do not yet finish debug of new version of libgo, so, no reasons in this moment to check it.
for *context functions I add separate test here, please use it
https://github.com/tor-m6/genode/commit/73649e4a5d98cf83c8bed56ca17f300dd8a0...
I think that good idea to finalise context/anon parts of required genode core functionality (move them to separate support lib) and only after I will return to libgo fixes.