>
 >Quoth Geert Uytterhoeven:
 >>   b. Use 2 separate stacks:
 >>      1. The standard stack for return addresses (jump to
 >> subroutine), so you can relocate all addresses (pointers
 >> to code) when moving/copying the code,
 >>      2. A second stack for storing data (mix of "pointers"
 >> and other variables), which you don't touch when moving
 >> (remember, all pointers are actually offsets relative to
 >>         the base register).
 >
 >What about other pointers to code (vtables, app-defined variables, etc)?
 >I don't think you can rely on everything being in the stack.
 >
 >Although as long as processes aren't modifying their own code (which
 >can't always be guaranteed, but isn't common) then there's no need to
 >copy the code at all.  Just point both parent and child at the same code
 >but copy their data segment (and keep data pointers relative to the base
 >register).

This is good because I only need to get mono going . Once running everything 
will be C# and no fork. Worst case I can deal with a big startup overhead. 

The existing uclinux apps are a huge bonus from the nothing I start with as a 
green field OS. 

Regards, 

Ben

_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to