1 ! Copyright (C) 2013 Imagination Technologies Ltd.
3 ! Licensed under the LGPL v2.1 or later, see the file COPYING.LIB in this tarball.
6 #include <asm/unistd.h>
10 .type __start,function
30 MOV D1Ar3,D0Ar2 ! argv
31 MOV D0Ar2,D1Ar1 ! argc
32 MOV D0Ar6,D0Ar4 ! rtld_fini
35 ADDT A1LbP,CPC1,#HI(__GLOBAL_OFFSET_TABLE__)
36 ADD A1LbP,A1LbP,#LO(__GLOBAL_OFFSET_TABLE__+4)
39 ADDT D1Ar1,D1Ar1,#HI(_main@GOTOFF)
40 ADD D1Ar1,D1Ar1,#LO(_main@GOTOFF)
43 ADDT D0Ar4,D0Ar4,#HI(__init@GOTOFF)
44 ADD D0Ar4,D0Ar4,#LO(__init@GOTOFF)
47 ADDT D1Ar5,D1Ar5,#HI(__fini@GOTOFF)
48 ADD D1Ar5,D1Ar5,#LO(__fini@GOTOFF)
51 ADD D1Ar1,D1Ar1,#LO(_main)
52 MOVT D0Ar4,#HI(__init)
53 ADD D0Ar4,D0Ar4,#LO(__init)
54 MOVT D1Ar5,#HI(__fini)
55 ADD D1Ar5,D1Ar5,#LO(__fini)
60 SETL [A0StP++],D0Re0,D1Re0 ! stack_end (8Mb)
66 CALLR D1RtP, ___uClibc_main@PLT
68 CALLR D1RtP, ___uClibc_main
73 SWITCH #0x440001 ! exit syscall
75 .size __start,.-__start