Lines Matching +full:alternative +full:- +full:b
8 Objtool has become an integral part of the x86-64 kernel toolchain. The
14 --------
18 - Stack unwinding metadata validation -- useful for helping to ensure
21 - ORC unwinder metadata generation -- a faster and more precise
22 alternative to frame pointer based unwinding
24 - Retpoline validation -- ensures that all indirect calls go through
27 - Retpoline call site annotation -- annotates all retpoline thunk call
31 - Non-instrumentation validation -- validates non-instrumentable
32 ("noinstr") code rules, preventing instrumentation in low-level C
35 - Static call annotation -- annotates static call sites, enabling the
36 kernel to implement inline static calls, a faster alternative to some
39 - Uaccess validation -- validates uaccess rules for a proper
42 - Straight Line Speculation validation -- validates certain SLS
45 - Indirect Branch Tracking validation -- validates Intel CET IBT rules
49 - Indirect Branch Tracking annotation -- annotates unused ENDBR
53 - Function entry annotation -- annotates function entries, enabling
56 - Other toolchain hacks which will go unmentioned at this time...
63 -------
66 the kernel. If a TU is part of a kernel module, the '--module' option
71 - If noinstr validation is enabled, it also runs on vmlinux.o, with all
72 options removed and '--noinstr' added.
74 - If IBT or LTO is enabled, it doesn't run on TUs at all. Instead it
80 TU: objtool [--module] <options>
84 B) CONFIG_NOINSTR_VALIDATION=y && !(CONFIG_X86_KERNEL_IBT=y || CONFIG_LTO=y):
85 TU: objtool [--module] <options> // no --noinstr
86 vmlinux: objtool --noinstr // other options removed
91 vmlinux: objtool --noinstr <options>
92 module: objtool --module --noinstr <options>
96 ----------------
107 alternative execution paths to a given instruction (or set of
125 frame pointers when the -fno-omit-frame-pointer option is used.
177 b) ORC (Oops Rewind Capability) unwind table generation
179 An alternative to frame pointers and DWARF, ORC unwind data can be
184 For more details, see Documentation/arch/x86/orc-unwinder.rst.
211 This rule is needed so that objtool can ignore non-callable code.
221 function B, the _caller_ of function A will be skipped on the stack
228 b) the jump matches sibling call semantics and the frame pointer has
245 ----------------
259 -fno-omit-frame-pointer or adds -fomit-frame-pointer to the gcc options.
277 If it's a GCC-compiled .c file, the error may be because the function
289 $ OBJTOOL_ARGS="--verbose" make arch/x86/kvm/
294 LD [M] arch/x86/kvm/kvm-intel.o
299 0008 28228: 48 8b 57 10 mov 0x10(%rdi),%rdx
389 objtool's hard-coded global_noreturns array. Feel free to bug the
401 This means that an unexpected call to a non-whitelisted function exists
402 outside of arch-specific guards.
427 This means that in the use of the alternative() or ALTERNATIVE()
435 11. file.o: warning: unannotated intra-function call
444 This means that objtool is running with --ibt and a function expected
456 -----------------
462 - To skip validation of a function, use the STACK_FRAME_NON_STANDARD
465 - To skip validation of a file, add
471 - To skip validation of a directory, add