diff options
Diffstat (limited to 'libgloss/arm/redboot-crt0.S')
-rw-r--r-- | libgloss/arm/redboot-crt0.S | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/libgloss/arm/redboot-crt0.S b/libgloss/arm/redboot-crt0.S deleted file mode 100644 index e14559a59..000000000 --- a/libgloss/arm/redboot-crt0.S +++ /dev/null @@ -1,98 +0,0 @@ - - - .file "crt0.S" - -#define XGLUE(a,b) a##b -#define GLUE(a,b) XGLUE(a,b) - -#ifdef __USER_LABEL_PREFIX__ -#define SYM_NAME( name ) GLUE (__USER_LABEL_PREFIX__, name) -#else -#error __USER_LABEL_PREFIX is not defined -#endif - - .text - /* - * Setup the assembly entry point. - */ - .code 32 - .globl SYM_NAME(start) - .globl SYM_NAME(_start) -SYM_NAME(start): -SYM_NAME(_start): - mov fp, #0 /* Null frame pointer */ - mov r7, #0 /* Null frame pointer for Thumb */ - - /* enable interrupts for gdb debugging */ - mrs r0, cpsr - bic r0, r0, #0xC0 - msr cpsr, r0 - - mov a2, #0 /* Second arg: fill value */ - ldr a1, .LC1 /* First arg: start of memory block */ - ldr a3, .LC2 - sub a3, a3, a1 /* Third arg: length of block */ - -#ifdef __thumb__ /* Enter Thumb mode.... */ - add a4, pc, #1 /* Get the address of the Thumb block */ - bx a4 /* Go there and start Thumb decoding */ - - .code 16 - .global __change_mode - .thumb_func -__change_mode: -#endif - - bl SYM_NAME(memset) - - bl SYM_NAME(__get_memtop) - sub r0, r0, #32 - mov sp, r0 - -#ifdef __USES_INITFINI__ - /* Some arm/elf targets use the .init and .fini sections - to create constructors and destructors, and for these - targets we need to call the _init function and arrange - for _fini to be called at program exit. */ - ldr r0, .Lfini - bl SYM_NAME (atexit) - bl SYM_NAME (_init) -#endif - - mov a1, #0 - ldr a2, .LC3 - mov a3, a2 - bl SYM_NAME(main) - 1: bl SYM_NAME(exit) - b 1b - .align 2 -.LC1: - .word __bss_start__ -.LC2: - .word __bss_end__ -.LC3: - .word 0 -#ifdef __USES_INITFINI__ -.Lfini: - .word SYM_NAME(_fini) -#endif - -#if 0 -#ifdef __thumb__ - .code 16 -#endif - .global SYM_NAME(__syscall) -#ifdef __thumb__ - .thumb_func -#else - .align 4 -#endif -SYM_NAME(__syscall): - mov r12, lr -#ifdef __thumb__ - swi 0x18 -#else - swi 0x180001 -#endif - mov pc, r12 -#endif |