summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/arm/crt0.S
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-05-28 23:44:06 +0000
committerJoakim Tjernlund <joakim.tjernlund@transmode.se>2005-05-28 23:44:06 +0000
commitd1b0dffff4be58782a15ebec6595de2447f63dc2 (patch)
treed07c74419c3531984ae620899fc9a0e9cf892797 /libc/sysdeps/linux/arm/crt0.S
parent83bb7f2166ccec164942b010130b285676d7cf3b (diff)
Add Peter Mazinger fini/crt compat patch. Select DL_FINI_CRT_COMPAT to
be able to run apps built with 0.9.27. This also renames __uClibc_start_main to __uClibc_main. This compat option should be removed some time after 0.9.28 is released. Let me know if you don't like this change.
Diffstat (limited to 'libc/sysdeps/linux/arm/crt0.S')
-rw-r--r--libc/sysdeps/linux/arm/crt0.S10
1 files changed, 1 insertions, 9 deletions
diff --git a/libc/sysdeps/linux/arm/crt0.S b/libc/sysdeps/linux/arm/crt0.S
index f58885d17..4f4a8cefd 100644
--- a/libc/sysdeps/linux/arm/crt0.S
+++ b/libc/sysdeps/linux/arm/crt0.S
@@ -51,13 +51,9 @@ ARM register quick reference:
.text
.global _start
.type _start,%function
-#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__
- .type __uClibc_main,%function
-#else
.weak _init
.weak _fini
.type __uClibc_start_main,%function
-#endif
/* Stick in a dummy reference to main(), so that if an application
* is linking when the main() function is in a static library (.a)
* we can be sure that main() actually gets linked in */
@@ -92,7 +88,6 @@ _start:
ldr r2,[sp, #8]
#endif
-#if (defined L_crt1 ) && defined __UCLIBC_CTOR_DTOR__
#ifdef __PIC__
/* Store the address of _init in r3 as an argument to main() */
adr r5, .L_init
@@ -113,14 +108,11 @@ _start:
/* Ok, now run uClibc's main() -- shouldn't return */
bl __uClibc_start_main
-#else
- bl __uClibc_main
-#endif
/* Crash if somehow `exit' returns anyways. */
bl abort
-#if (defined L_crt1 ) && defined __UCLIBC_CTOR_DTOR__ && defined __PIC__
+#ifdef __PIC__
.L_init:
.word _init - .L_init
.word _fini - .L_init