summaryrefslogtreecommitdiff
path: root/libc/sysdeps
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2007-03-31 13:36:07 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2007-03-31 13:36:07 +0000
commit39d1a8c871a46e603a60f210b6aa19bf7d1eedc4 (patch)
tree875f11fb0c2ef9094aabff3a0adcbf4b7ded6b22 /libc/sysdeps
parente7bcf43b6440ac9fc61a0eef5591393810daafb5 (diff)
Update comment regarding passing dl_fini.
Diffstat (limited to 'libc/sysdeps')
-rw-r--r--libc/sysdeps/linux/powerpc/crt1.S7
1 files changed, 5 insertions, 2 deletions
diff --git a/libc/sysdeps/linux/powerpc/crt1.S b/libc/sysdeps/linux/powerpc/crt1.S
index 8798849b3..4f1494a8f 100644
--- a/libc/sysdeps/linux/powerpc/crt1.S
+++ b/libc/sysdeps/linux/powerpc/crt1.S
@@ -74,8 +74,11 @@ _start:
lwz r4,0(r9)
/* find argv one word offset from the stack pointer */
addi r5,r9,4
- mr r8,r3 /* Pass _dl_fini from ldso or NULL if statically linked
- Note: using r3 instead of r7, since linux 2.6 clobbers r7 */
+ mr r8,r3 /* Pass _dl_fini from ldso or NULL if statically linked */
+ /* Note: PPC depends on the kernel to zero r3 before */
+ /* handing over to user space, otherwise static apps */
+ /* will SEGV during exit() */
+
/* Ok, now run uClibc's main() -- shouldn't return */
#ifdef __PIC__
lwz r6,_init@got(r31)