linux/tools/objtool
Peter Zijlstra 7d209d13e7 objtool: Add IBT/ENDBR decoding
Intel IBT requires the target of any indirect CALL or JMP instruction
to be the ENDBR instruction; optionally it allows those two
instructions to have a NOTRACK prefix in order to avoid this
requirement.

The kernel will not enable the use of NOTRACK, as such any occurence
of it in compiler generated code should be flagged.

Teach objtool to Decode ENDBR instructions and WARN about NOTRACK
prefixes.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220308154319.645963517@infradead.org
2022-03-15 10:32:46 +01:00
..
arch/x86 objtool: Add IBT/ENDBR decoding 2022-03-15 10:32:46 +01:00
Documentation objtool: Support stack layout changes in alternatives 2021-01-14 09:53:54 -06:00
include/objtool objtool: Add IBT/ENDBR decoding 2022-03-15 10:32:46 +01:00
.gitignore objtool: Rework header include paths 2021-01-13 18:13:14 -06:00
Build objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
builtin-check.c objtool: Rename --duplicate to --lto 2022-03-15 10:32:42 +01:00
builtin-orc.c objtool: Collate parse_options() users 2021-03-06 12:44:23 +01:00
check.c objtool: Read the NOENDBR annotation 2022-03-15 10:32:46 +01:00
elf.c objtool: Ignore extra-symbol code 2022-03-15 10:32:43 +01:00
Makefile objtool: Refactor ORC section generation 2021-01-14 09:53:42 -06:00
objtool.c objtool: Fix pv_ops noinstr validation 2021-12-03 09:11:42 +01:00
orc_dump.c x86/unwind/orc: Change REG_SP_INDIRECT 2021-02-10 20:53:51 +01:00
orc_gen.c Merge branch 'objtool/urgent' 2021-10-07 00:40:17 +02:00
special.c objtool,x86: Replace alternatives with .retpoline_sites 2021-10-28 23:25:25 +02:00
sync-check.sh Merge branch 'x86/cpu' into WIP.x86/core, to merge the NOP changes & resolve a semantic conflict 2021-04-02 12:36:30 +02:00
weak.c objtool: Refactor ORC section generation 2021-01-14 09:53:42 -06:00