Browse Source

Update crt0 for arm to provide the main reference
a bit more nicely, and make _init and _fini be weak
for people with broken compilers
-Erik

Eric Andersen 23 years ago
parent
commit
1cb64284ed
1 changed files with 13 additions and 7 deletions
  1. 13 7
      libc/sysdeps/linux/arm/crt0.S

+ 13 - 7
libc/sysdeps/linux/arm/crt0.S

@@ -50,7 +50,19 @@ ARM register quick reference:
 
 .text
 	.global _start
-	.type   _start,%function
+	.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 */
+	.type	main,%function
+
 
 .text
 _start:
@@ -97,9 +109,3 @@ _start:
 	/* Crash if somehow `exit' returns anyways.  */
 	bl abort
 
-/* 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 */
-L_dummy_main_reference:
-	.long	main
-