diff options
Diffstat (limited to 'toolchain/uClibc/patches/0.9.28.2/240-cris-crt0.patch')
-rw-r--r-- | toolchain/uClibc/patches/0.9.28.2/240-cris-crt0.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/toolchain/uClibc/patches/0.9.28.2/240-cris-crt0.patch b/toolchain/uClibc/patches/0.9.28.2/240-cris-crt0.patch new file mode 100644 index 0000000..d0fa7f3 --- /dev/null +++ b/toolchain/uClibc/patches/0.9.28.2/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); + } |