Lines Matching refs:code
11 It enforces a set of rules on asm code and C inline assembly code so
14 For each function, it recursively follows all possible code paths and
17 It also follows code paths involving special sections, like
36 code and debug tools to be able to walk the stack to determine the
38 code.
44 For C code, gcc automatically generates instructions for setting up
47 But for asm code, the frame setup instructions have to be written by
49 CONFIG_FRAME_POINTER is honored for C code but not for most asm code.
122 function type. In asm code, this is typically done using the
125 callable code which should be annotated accordingly.
130 2. Conversely, each section of code which is *not* callable should *not*
134 This rule is needed so that objtool can ignore non-callable code.
135 Such code doesn't have to follow any of the other rules.
139 the architecture's back chain rules. This can by done in asm code
155 function's code paths. If a function jumps to code in another file,
160 The only code which needs such instructions is kernel entry code,
171 first make sure that the affected code follows the above rules.
176 Another possible cause for errors in C code is if the Makefile removes
207 Objtool couldn't find a code path to reach the instruction.
212 Otherwise, the code should probably be annotated with the unwind hint
214 stack state associated with the code.
216 If you're 100% sure the code won't affect stack traces, or if you're
220 If it's not actually in a callable function (e.g. kernel entry code),
237 likely part of the kernel entry code. They should usually not have
249 destination code to the local file.
252 kernel entry code), change ENDPROC to END and annotate manually with
264 Also make sure that no other code in the function touches the frame
267 Another possibility is that the code has some asm or inline asm which
285 2) funcA() uses the unreachable() annotation in a section of code
288 3) If funcA() calls an inline function, the object code for funcA()
321 macro, the code paths have conflicting modifications to the stack.
324 instruction boundaries regardless of which code has been patched.