Kernel questions: Syscalls, ABIs, Signals, and Threads
Kernel questions: Syscalls, ABIs, Signals, and Threads
- Subject: Kernel questions: Syscalls, ABIs, Signals, and Threads
- From: Andrew Begel <email@hidden>
- Date: Thu, 11 Dec 2003 17:02:31 -0800
I hope this list proves to be more productive for kernel questions than
darwin-development.
1. What is the syscall # for thread_create() and
thread_create_running() on Darwin 7 PPC? Even better would be a pointer
on where to find this number in the source code. In
/usr/include/mach/task.h is a table of function names to numbers,
indicating that thread_create() was 4311, but when I tried using that
syscall number to set an emulation point (using task_set_emulation())
and redirect thread_create() to my own function, my own function was
never called.
2. How many bytes is the red zone in the Darwin i386 ABI? Actually, a
better question would be where can I find documentation (or source
code) as to the ABI and calling conventions used by Darwin i386?
3. When a signal is delivered to a Mach-O application's thread, does
the call to the signal handler obey the runtime calling conventions
outlined in the Mach-O Runtime Architecture manual? Specifically, is
the linkage area with the LR and CR registers stored at 8(SP) and 4(SP)
(respectively?). Does the stack pointer stored in the signal handler's
stack frame also point back to the stack pointer of the stack frame
that was executing when the signal was triggered? Are there any stack
frames in between them/is the original thread's stack still accessible
from within the signal handler?
4. Are NSThreads implemented using pthreads or directly on top of Mach
threads? i.e. if I call pthread_self() from an NSThread, will that give
me a real answer?
_______________________________________________
darwin-kernel mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/darwin-kernel
Do not post admin requests to the list. They will be ignored.