📄 crt0.c
字号:
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 SH expects certain symbols to be defined in the linker script. */#if defined(__sh__)int __EH_FRAME_BEGIN__;#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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -