|
From: Paul M. <pa...@sa...> - 2007-11-12 02:29:57
|
Julian Seward writes: > complaining that r2 contains an undefined value. And it's true; > it is not written at all in the procedure in which this is > reported. Which is odd. AFAIK r2 is not an argument register > and it didn't used to have any particular meaning in the ppc32 ELF > ABI. It's now used as the TLS pointer. It should get initialized for the main thread in glibc, and for other threads by the clone() system call. Maybe the CLONE_SETTLS flag isn't handled properly by the syscall wrapper for clone? It should cause r2 in the child to be initialized to the value of the 4th argument (for 32-bit processes; 64-bit processes use r13 instead). Paul. |