Lines Matching +full:sub +full:- +full:function
1 /* SPDX-License-Identifier: GPL-2.0-only */
7 #include "entry-header.S"
10 * When compiling with -pg, gcc inserts a call to the mcount routine at the
11 * start of every function. In mcount, apart from the function's address (in
12 * lr), we need to get hold of the function's caller's address.
22 * mcount can be thought of as a function called in the middle of a subroutine
36 sub \rd, \rd, #MCOUNT_INSN_SIZE
63 mcount_adjust_addr r0, lr @ instrumented function
73 sub sp, sp, #8 @ space for PC and CPSR OLD_R0,
86 stmdb sp!, {r0-r11, lr}
96 @ function tracing op
102 mcount_adjust_addr r0, lr @ instrumented function
115 ldmia sp!, {r0-r12} @ restore r0 through r12
125 sub r0, fp, #4 @ lr of instrumented routine (parent)
135 ldmia sp!, {r0-r12} @ restore r0 through r12
149 mcount_adjust_addr r0, lr @ instrumented function
154 @ function tracing op
172 sub r0, fp, #4 @ &lr of instrumented routine (&parent)
193 * unable to unwind through a function which does not otherwise save its lr.
196 stmdb sp!, {r0-r3, lr}
197 UNWIND(.save {r0-r3, lr})
205 ldmia sp!, {r0-r3, ip, lr}
261 stmdb sp!, {r0-r3}
265 ldmia sp!, {r0-r3}