12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- asm(
- "\t.global _start\n"
- "\t_start:\n"
-
-
- "\tli 0,0\n"
- "\tstwu 1,-32(1)\n"
- "\tmtlr 0\n"
-
- "\tb _start2\n
-
- ");
- asm(
- "\t.section .ctors,\"aw\"\n"
- "\t.align 4\n"
- "\t.global __CTOR_LIST__\n"
- "__CTOR_LIST__:\n"
- "\t.long -1\n"
- "\t.section .dtors,\"aw\"\n"
- "\t.align 4\n"
- "\t.global __DTOR_LIST__\n"
- "__DTOR_LIST__:\n"
- "\t.long -1\n"
- );
- void __uClibc_main(int argc,void *argv,void *envp);
- void _start2(void)
- {
- void **p;
- int argc;
- p=__builtin_frame_address(0)+0x30;
- argc=*(int *)p;
-
- if(argc==0){
- p=((void *)p)+0x10;
- argc=*(int *)p;
- }
- __uClibc_main(argc,p+1,p+2+argc);
- }
|