Hi Timo, I had a question regarding the same topic years ago but nobody wanted to take it for serious. I filed a bug for uclibc (#538), maybe it helps you:
http://bugs.uclibc.org/view.php?id=538 kind regards, Thomas tike64 wrote: > Hi folks, > > I don't understand what's wrong: > > When I look at Linux code where it prepares to jump into user application, I > see it putting argc into r0 (include/asm-arm/processor.h macro start_thread > line 78): > > > regs->ARM_pc = pc & ~1; /* pc */ \ > regs->ARM_sp = sp; /* sp */ \ > regs->ARM_r2 = stack[2]; /* r2 (envp) */ \ > regs->ARM_r1 = stack[1]; /* r1 (argv) */ \ > ==> regs->ARM_r0 = stack[0]; /* r0 (argc) */ \ > nommu_start_thread(regs); \ > > Then uClibc seems to use the r0 as a pointer into some cleanup function > (libc/sysdeps/linux/arm/crt1.S _start line 200): [...] _______________________________________________ uClibc mailing list [email protected] http://busybox.net/cgi-bin/mailman/listinfo/uclibc
