diff options
author | Peter Zijlstra <peterz@infradead.org> | 2022-03-08 16:30:52 +0100 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2022-03-15 10:32:46 +0100 |
commit | 96db4a988d653a7f18b518c25367f7bf238f4667 (patch) | |
tree | efd356e39547ac494fb6e484ce4c1bbcd17cd1fb /tools/objtool/include | |
parent | 3515899bef545fc5b5f6b865e080bfe4c9a92a41 (diff) | |
download | lwn-96db4a988d653a7f18b518c25367f7bf238f4667.tar.gz lwn-96db4a988d653a7f18b518c25367f7bf238f4667.zip |
objtool: Read the NOENDBR annotation
Read the new NOENDBR annotation. While there, attempt to not bloat
struct instruction.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Josh Poimboeuf <jpoimboe@redhat.com>
Link: https://lore.kernel.org/r/20220308154319.586815435@infradead.org
Diffstat (limited to 'tools/objtool/include')
-rw-r--r-- | tools/objtool/include/objtool/check.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/tools/objtool/include/objtool/check.h b/tools/objtool/include/objtool/check.h index 6cfff078897f..f10d7374f388 100644 --- a/tools/objtool/include/objtool/check.h +++ b/tools/objtool/include/objtool/check.h @@ -45,11 +45,18 @@ struct instruction { unsigned int len; enum insn_type type; unsigned long immediate; - bool dead_end, ignore, ignore_alts; - bool hint; - bool retpoline_safe; + + u8 dead_end : 1, + ignore : 1, + ignore_alts : 1, + hint : 1, + retpoline_safe : 1, + noendbr : 1; + /* 2 bit hole */ s8 instr; u8 visited; + /* u8 hole */ + struct alt_group *alt_group; struct symbol *call_dest; struct instruction *jump_dest; |