5 .type _start, %function
7 mr r9, r1 // Save the original stack pointer.
8 clrrwi r1, r1, 4 // Align the stack to 16 bytes.
9 lis r13, _SDA_BASE_@ha // r13 points to the small data area.
10 addi r13, r13, _SDA_BASE_@l //
11 li r0, 0 // Zero the frame pointer.
12 stwu r1, -16(r1) // The initial stack frame.
13 mtlr r0 // Clear the link register.
14 stw r0, 0(r1) // And save it.
15 lis r3, main@ha // Get main() ...
17 lwz r4, 0(r9) // and argc...
18 addi r5, r9, 4 // and argv ...
19 lis r6, _init@ha // and _init() ...
21 lis r7, _fini@ha // and _fini() ...
23 li r8, 0 // ldso_fini == NULL
24 bl __libc_start_main // Let's go!
25 b . // Never gets here.
27 .size _start, .-_start