mirror-linux/tools/objtool/include/objtool
Josh Poimboeuf fe1042b1ef objtool: Split INSN_CONTEXT_SWITCH into INSN_SYSCALL and INSN_SYSRET
INSN_CONTEXT_SWITCH is ambiguous.  It can represent both call semantics
(SYSCALL, SYSENTER) and return semantics (SYSRET, IRET, RETS, RETU).
Those differ significantly: calls preserve control flow whereas returns
terminate it.

Objtool uses an arbitrary rule for INSN_CONTEXT_SWITCH that almost works
by accident: if in a function, keep going; otherwise stop.  It should
instead be based on the semantics of the underlying instruction.

In preparation for improving that, split INSN_CONTEXT_SWITCH into
INSN_SYCALL and INSN_SYSRET.

No functional change.

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/19a76c74d2c051d3bc9a775823cafc65ad267a7a.1744095216.git.jpoimboe@kernel.org
2025-04-08 09:14:11 +02:00
..
arch.h objtool: Split INSN_CONTEXT_SWITCH into INSN_SYSCALL and INSN_SYSRET 2025-04-08 09:14:11 +02:00
builtin.h objtool: Reduce CONFIG_OBJTOOL_WERROR verbosity 2025-03-25 09:20:27 +01:00
cfi.h objtool: Allow stack operations in UNWIND_HINT_UNDEFINED regions 2023-06-07 10:03:11 -07:00
check.h objtool: Fix X86_FEATURE_SMAP alternative handling 2025-03-25 09:20:26 +01:00
elf.h Revert "objtool: Increase per-function WARN_FUNC() rate limit" 2025-04-01 09:07:13 +02:00
endianness.h objtool: Use target file endianness instead of a compiled constant 2022-11-18 19:00:15 +11:00
objtool.h objtool: Improve error handling 2025-03-25 09:20:27 +01:00
orc.h objtool/x86: Separate arch-specific and generic parts 2024-03-11 22:23:47 +08:00
special.h objtool: Fix X86_FEATURE_SMAP alternative handling 2025-03-25 09:20:26 +01:00
warn.h objtool: Change "warning:" to "error: " for fatal errors 2025-04-01 09:07:13 +02:00