Kernel questions: Syscalls, ABIs, Signals, and Threads
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 | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.
participants (1)
-
Andrew Begel