[uClibc-cvs] CVS uClibc/libc/sysdeps/linux/powerpc
CVS User jocke
jocke at codepoet.org
Wed Nov 17 12:29:10 UTC 2004
Update of /var/cvs/uClibc/libc/sysdeps/linux/powerpc
In directory nail:/tmp/cvs-serv26374
Modified Files:
crt0.S
Log Message:
Make __builtin_return_address() return NULL at top of
stack frame. This will make backtracing possible.
--- /var/cvs/uClibc/libc/sysdeps/linux/powerpc/crt0.S 2004/08/30 11:37:47 1.11
+++ /var/cvs/uClibc/libc/sysdeps/linux/powerpc/crt0.S 2004/11/17 12:29:10 1.12
@@ -50,6 +50,10 @@
_start:
/* Save the stack pointer, in case we're statically linked under Linux. */
mr r9,r1
+#if defined L_Scrt0 || defined L_Scrt1
+ bl _GLOBAL_OFFSET_TABLE_-4 at local
+ mflr r31
+#endif
/* Set up an initial stack frame, and clear the LR. */
clrrwi r1,r1,4
li r0,0
@@ -66,28 +70,24 @@
addi r5,r5,1
rlwinm r5,r5,2,0,29
add r5,r5,r4
-#if defined L_Scrt0 || defined L_Scrt1
- bl _GLOBAL_OFFSET_TABLE_-4 at local
- mflr r31
-#endif
/* Ok, now run uClibc's main() -- shouldn't return */
#if (defined L_crt1 || defined L_Scrt1) && defined __UCLIBC_CTOR_DTOR__
# ifdef L_Scrt1
lwz r6,_init at got(r31)
lwz r7,_fini at got(r31)
- bl __uClibc_start_main at plt
+ b __uClibc_start_main at plt
# else
lis r6,_init at ha # load top 16 bits
addi r6,r6,_init at l # load bottom 16 bits
lis r7,_fini at ha # load top 16 bits of &msg
addi r7,r7,_fini at l # load bottom 16 bits
- bl __uClibc_start_main
+ b __uClibc_start_main
# endif
#else
# ifdef L_Scrt0
- bl __uClibc_main at plt
+ b __uClibc_main at plt
# else
- bl __uClibc_main
+ b __uClibc_main
# endif
#endif
.size _start,.-_start
More information about the uClibc-cvs
mailing list