Jamie Lokier wrote:
Without MMU, everything is in the same address space, including
different processes.  To distinguish state, each process is either
post-linked (relocated) when it is started, or a dedicated CPU
register points to process/thread-specific state.

Since this is done quite differently with/without MMU, GDB needs
specific code for each one to debug threads without an MMU (and even
processes, but that's already done).
Thanks for the explanation. I suppose it will be helpful once I'll try to get this going. as libpthread does work, I suppose this information can be found in the libpthread sources.
To complicate further, some no-MMU architectures have old-style
pthreads (Linuxthreads) and new-style pthreads (NPTL aka TLS), as well
as non-PIC and PIC ABIs, and all combinations use dedicated CPU
registers to access thread/process state in different ways.
Right now the NIOS distr only provides Linuxthreads. I intend to try to implement NPTL, anyway. (I don't know if I might succeed with that...)

-Michael


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

Reply via email to