aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc/patches/240-cris-crt0.patch
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2007-06-02 00:46:02 +0000
committerJohn Crispin <john@openwrt.org>2007-06-02 00:46:02 +0000
commite19eb3d8286ad66f455721f8b7f8260bce5e4016 (patch)
tree37c13b9c5ec72323b4ed9f1757aa7055b5013226 /toolchain/uClibc/patches/240-cris-crt0.patch
parenta1ddc8ab7d95ffb1f50b13c93a90e6e9fda9a591 (diff)
downloadupstream-e19eb3d8286ad66f455721f8b7f8260bce5e4016.tar.gz
upstream-e19eb3d8286ad66f455721f8b7f8260bce5e4016.tar.bz2
upstream-e19eb3d8286ad66f455721f8b7f8260bce5e4016.zip
add initial support for the crisarchitecture used on foxboards to openwrt
SVN-Revision: 7439
Diffstat (limited to 'toolchain/uClibc/patches/240-cris-crt0.patch')
-rw-r--r--toolchain/uClibc/patches/240-cris-crt0.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/240-cris-crt0.patch b/toolchain/uClibc/patches/240-cris-crt0.patch
new file mode 100644
index 0000000000..d0fa7f3b75
--- /dev/null
+++ b/toolchain/uClibc/patches/240-cris-crt0.patch
@@ -0,0 +1,31 @@
+diff -urN uClibc-0.9.28.2.orig/libc/sysdeps/linux/cris/crt0.c uClibc-0.9.28.2/libc/sysdeps/linux/cris/crt0.c
+--- uClibc-0.9.28.2.orig/libc/sysdeps/linux/cris/crt0.c 2007-05-18 00:27:56.000000000 +0200
++++ uClibc-0.9.28.2/libc/sysdeps/linux/cris/crt0.c 2007-05-18 00:32:08.000000000 +0200
+@@ -31,11 +31,10 @@
+
+ #include <features.h>
+
+-extern void __uClibc_main(int argc, char **argv, char **envp)
+- __attribute__ ((__noreturn__));
+-extern void __uClibc_start_main(int argc, char **argv, char **envp,
+- void (*app_init)(void), void (*app_fini)(void))
+- __attribute__ ((__noreturn__));
++extern void __uClibc_main(int (*main)(int, char **, char **), int argc,
++ char **argv, void (*app_init)(void), void (*app_fini)(void),
++ void (*rtld_fini)(void), void *stack_end) __attribute__ ((__noreturn__));
++
+ extern void weak_function _init(void);
+ extern void weak_function _fini(void);
+
+@@ -64,10 +63,5 @@
+ */
+ --environ;
+
+-#if defined L_crt0 || ! defined __UCLIBC_CTOR_DTOR__
+- /* Leave control to the libc */
+- __uClibc_main(argc, argv, environ);
+-#else
+- __uClibc_start_main(argc, argv, environ, _init, _fini);
+-#endif
++ __uClibc_main(__mainp, argc, argv, 0, 0, 0, 0);
+ }