Hi Alexander,
congratulations for this great achievement, and thank you for sharing your work!
Even though I'm unable to give meaningful feedback regarding Go, I'm very happy that you found ways to avoid patching Genode's main repository. Thank you for having taken our earlier feedback wrt to the libc to heart.
Future plan:
- add arm64 support
- check sel4 problem
- add automated generation of part of run file (all shared libs/binaries need to appears in appropriate places to unwind process works correctly)
- check performance problems on sel4 and foc (probably timeouts/timer, waits too long in the very beginning)
- try to integrate it in native mode to create workable «go build» code inside genode as native compilation.
Hats off for your perseverance and for your further planning.
The initial delay of the seL4 version possibly depends on the amount of physical memory used. At boot time, physical memory gets converted into seL4 kernel objects in [1] (if I remember right). To see the effect, you may try tweaking the Qemu's -m argument.
[1] https://github.com/genodelabs/genode/blob/master/repos/base-sel4/src/core/pl...
Note2: May be it worth to add patch below permanently to main genode?
Yes, this patch would be welcome.
Cheers Norman