diff options
Diffstat (limited to 'newlib/libc/sys/rtems/crt0.c')
-rw-r--r-- | newlib/libc/sys/rtems/crt0.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c deleted file mode 100644 index 9895ee6c7..000000000 --- a/newlib/libc/sys/rtems/crt0.c +++ /dev/null @@ -1,75 +0,0 @@ -void rtems_provides_crt0( void ) {} -/* - * RTEMS Fake crt0 - * - * Each RTEMS BSP provides its own crt0 and linker script. Unfortunately - * this means that crt0 and the linker script are not available as - * each tool is configured. Without a crt0 and linker script, some - * targets do not successfully link "conftest.c" during the configuration - * process. So this fake crt0.c provides all the symbols required to - * successfully link a program. The resulting program will not run - * but this is enough to satisfy the autoconf macro AC_PROG_CC. - */ - -/* RTEMS provides some of its own routines including a Malloc family */ - -void *malloc() { return 0; } -void *realloc() { return 0; } -void free() { ; } -void abort() { ; } -int raise() { return -1; } -void rtems_gxx_mutex_init() { } -int rtems_gxx_mutex_lock() { return -1; } -int rtems_gxx_mutex_unlock() { return -1; } -int rtems_gxx_once() { return -1; } - -/* gcc can implicitly generate references to these */ -strcmp() {} -strcpy() {} -strlen() {} -memcmp() {} -memcpy() {} -memset() {} - -/* The PowerPC expects certain symbols to be defined in the linker script. */ - -#if defined(__PPC__) - int __SDATA_START__; int __SDATA2_START__; - int __GOT_START__; int __GOT_END__; - int __GOT2_START__; int __GOT2_END__; - int __SBSS_END__; int __SBSS2_END__; - int __FIXUP_START__; int __FIXUP_END__; - int __EXCEPT_START__; int __EXCEPT_END__; - int __init; int __fini; -#endif - -/* The hppa expects this to be defined in the real crt0.s. - * Also for some reason, the hppa1.1 does not find atexit() - * during the AC_PROG_CC tests. - */ - -#if defined(__hppa__) -/* - asm ( ".subspa \$GLOBAL\$,QUAD=1,ALIGN=8,ACCESS=0x1f,SORT=40"); - asm ( ".export \$global\$" ); - asm ( "\$global\$:"); -*/ - - int atexit(void (*function)(void)) { return 0; } -#endif - - -/* - * The AMD a29k generates code expecting the following. - */ - -#if defined(_AM29000) || defined(_AM29K) -asm (".global V_SPILL, V_FILL" ); -asm (".global V_EPI_OS, V_BSD_OS" ); - -asm (".equ V_SPILL, 64" ); -asm (".equ V_FILL, 65" ); - -asm (".equ V_BSD_OS, 66" ); -asm (".equ V_EPI_OS, 69" ); -#endif |