master
1__asm__(
2".weak _DYNAMIC \n"
3".hidden _DYNAMIC \n"
4".text \n"
5".global " START " \n"
6".type " START ", %function \n"
7START ": \n"
8" // Find _DYNAMIC\n"
9" jump 1f\n"
10".word _DYNAMIC - .\n"
11"1: r2 = pc\n"
12" r2 = add(r2, #-4)\n"
13" r1 = memw(r2)\n"
14" r1 = add(r2, r1)\n"
15" r30 = #0 // Signals the end of backtrace\n"
16" r0 = r29 // Pointer to argc/argv\n"
17" r29 = and(r29, #-16) // Align\n"
18" memw(r29+#-8) = r29\n"
19" r29 = add(r29, #-8)\n"
20" call " START "_c \n"
21".size " START ", .-" START "\n"
22);