[set,get,make,swap]context from glibc for amd64 implementation and question for Norman

Alexander Tormasov a.tormasov at innopolis.ru
Thu Mar 18 18:50:35 CET 2021


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/73649e4a5d98cf83c8bed56ca17f300dd8a06971

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.





More information about the users mailing list