18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
.globl of_forward_stret
.section .text
of_forward:
stmfd sp!, {r0-r3, lr}
fstmfdd sp!, {d0-d7}
ldr r1, sel_forwardingTargetForSelector__indirect_L0
.L0:
add r1, pc
stmfd sp!, {r1}
bl objc_msg_lookup(PLT)
ldmfd sp!, {r1}
mov r12, r0
|
|
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
.globl of_forward_stret
.section .text
of_forward:
stmfd sp!, {r0-r3, lr}
fstmfdd sp!, {d0-d7}
ldr r1, sel_forwardingTargetForSelector_$indirect_L0
.L0:
add r1, pc
stmfd sp!, {r1}
bl objc_msg_lookup(PLT)
ldmfd sp!, {r1}
mov r12, r0
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
.size of_forward, .-of_forward
of_forward_stret:
stmfd sp!, {r0-r3, lr}
fstmfdd sp!, {d0-d7}
mov r0, r1
ldr r1, sel_forwardingTargetForSelector__indirect_L1
.L1:
add r1, pc
stmfd sp!, {r1}
bl objc_msg_lookup(PLT)
ldmfd sp!, {r1}
mov r12, r0
|
|
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
.size of_forward, .-of_forward
of_forward_stret:
stmfd sp!, {r0-r3, lr}
fstmfdd sp!, {d0-d7}
mov r0, r1
ldr r1, sel_forwardingTargetForSelector_$indirect_L1
.L1:
add r1, pc
stmfd sp!, {r1}
bl objc_msg_lookup(PLT)
ldmfd sp!, {r1}
mov r12, r0
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
init:
ldr r0, module_indirect_L2
.L2:
add r0, pc
b __objc_exec_class(PLT)
sel_forwardingTargetForSelector__indirect_L0:
.long sel_forwardingTargetForSelector_-(.L0+8)
sel_forwardingTargetForSelector__indirect_L1:
.long sel_forwardingTargetForSelector_-(.L1+8)
module_indirect_L2:
.long module-(.L2+8)
.section .ctors, "a", %progbits
.long init
|
|
|
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
init:
ldr r0, module_indirect_L2
.L2:
add r0, pc
b __objc_exec_class(PLT)
sel_forwardingTargetForSelector_$indirect_L0:
.long sel_forwardingTargetForSelector_-(.L0+8)
sel_forwardingTargetForSelector_$indirect_L1:
.long sel_forwardingTargetForSelector_-(.L1+8)
module_indirect_L2:
.long module-(.L2+8)
.section .ctors, "a", %progbits
.long init
|