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

Reply via email to