diff options
Diffstat (limited to 'newlib/libc/sys/z8ksim/crt0.c')
-rw-r--r-- | newlib/libc/sys/z8ksim/crt0.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/newlib/libc/sys/z8ksim/crt0.c b/newlib/libc/sys/z8ksim/crt0.c deleted file mode 100644 index f9aad6d..0000000 --- a/newlib/libc/sys/z8ksim/crt0.c +++ /dev/null @@ -1,58 +0,0 @@ -extern char _start_bss; -extern char _end_bss; -extern int main(int argc, char **argv, char **environ); -void __main(); - -static void -enter() -{ -#if defined(__Z8002__) - __main(); -#endif - exit(main(0,0,0)); -} -start() -{ - char *p; -#if defined(__Z8002__) - asm("ld r15,#__stack_top"); - asm("ld r10,r15"); -#endif -#if defined(__Z8001__) - asm("ldl rr14,#__stack_top"); - asm("ldl rr10,rr14"); -#endif - - - /* zero bss */ - p = &_start_bss; - while (p < & _end_bss) - { - *p++ = 0; - } - enter(); -} - -#if defined(__Z8002__) -void __do_global_ctors () -{ - typedef void (*pfunc)(); - extern pfunc __ctors[]; - extern pfunc __ctors_end[]; - pfunc *p; - for (p = __ctors_end; p > __ctors; ) - { - (*--p)(); - } -} - -void __main() -{ - static int initialized; - if (! initialized) - { - initialized = 1; - __do_global_ctors (); - } -} -#endif |