summaryrefslogtreecommitdiff
path: root/libc/sysdeps/linux/mips
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-01-23 17:55:27 +0000
committerEric Andersen <andersen@codepoet.org>2003-01-23 17:55:27 +0000
commita3560dc47b3cf2eef3ebf0e0c9765e11bdf66b6a (patch)
treeb6a67f0d5748f0f69cb2b0a971e6f2c74da3065f /libc/sysdeps/linux/mips
parent100cc918a944bd0d40ecb2afc635f2b76d7cb577 (diff)
Update architecture specific support to consistantly
generate a crt0 and crt1 file. Most arches still need to be updated to call __uClibc_start_main() rather than __uClibc_main().
Diffstat (limited to 'libc/sysdeps/linux/mips')
-rw-r--r--libc/sysdeps/linux/mips/Makefile7
-rw-r--r--libc/sysdeps/linux/mips/crt0.S21
2 files changed, 14 insertions, 14 deletions
diff --git a/libc/sysdeps/linux/mips/Makefile b/libc/sysdeps/linux/mips/Makefile
index 1fba4ef74..53b3031b8 100644
--- a/libc/sysdeps/linux/mips/Makefile
+++ b/libc/sysdeps/linux/mips/Makefile
@@ -1,7 +1,6 @@
# Makefile for uClibc
#
-# Copyright (C) 2001 by Lineo, inc.
-# Copyright (C) 2000-2002 Erik Andersen <andersen@uclibc.org>
+# Copyright (C) 2000-2003 Erik Andersen <andersen@uclibc.org>
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU Library General Public License as published by the Free
@@ -16,10 +15,6 @@
# You should have received a copy of the GNU Library General Public License
# along with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# Derived in part from the Linux-8086 C library, the GNU C Library, and several
-# other sundry sources. Files within this library are copyright by their
-# respective copyright holders.
TOPDIR=../../../../
include $(TOPDIR)Rules.mak
diff --git a/libc/sysdeps/linux/mips/crt0.S b/libc/sysdeps/linux/mips/crt0.S
index fdb997b73..b24fe1d84 100644
--- a/libc/sysdeps/linux/mips/crt0.S
+++ b/libc/sysdeps/linux/mips/crt0.S
@@ -12,8 +12,19 @@
#include <sys/regdef.h>
.text
-.global __start
-.type __start,@function
+ .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 */
+ .type main,%function
__start:
#ifdef __PIC__
@@ -49,9 +60,3 @@ __start:
hlt:
b hlt
-/* 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
-