| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 | /* Startup code compliant to the ELF CRIS ABI */#include <features.h>/* The first piece of initialized data.  */.data.global __data_start.align 2.type	__data_start, @object.size	__data_start, 4__data_start:	.dword	0.text.align 1.global _start.type   _start,%function#if defined(__UCLIBC_CTOR_DTOR__).type   _init,%function.type   _fini,%function#else.weak   _init.weak   _fini#endif.type   main,%function.type   __uClibc_main,%function/* * On the stack we have argc. We can calculate argv/envp * from that and the succeeding stack location, but fix so * we get the right calling convention (regs in r10/r11). * * Please view linux/fs/binfmt_elf.c for a complete * understanding of this. *//* * Need to call __uClibc_main(main, argc, argv, _init, _fini) */_start:	pop $r10	move.d $sp, $r11	jump .L1.L1:	Push $srp	Subq 4,$sp	move.d $r10,$r9	move.d $r11,$r12	move.d _fini,$r13	move.d $r13,[$sp]	move.d main,$r10	move.d $r9,$r11	move.d _init,$r13	/* Leave control to the libc */	jsr __uClibc_main.size _start,.-_start
 |