summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Chartre <alexandre.chartre@oracle.com>2025-11-21 10:53:26 +0100
committerPeter Zijlstra <peterz@infradead.org>2025-11-21 15:30:12 +0100
commitc3b7d044fc5ac99a31ce9420431b90e21ed55503 (patch)
treed90bf1e02f11aeedd597e97bc41c7eefbdcb3afa
parent350c7ab8577a32c101a097f4c072220d9ce64f3b (diff)
objtool: Do not validate IBT for .return_sites and .call_sites
The .return_sites and .call_sites sections reference text addresses, but not with the intent to indirect branch to them, so they don't need to be validated for IBT. This is useful when running objtool on object files which already have .return_sites or .call_sites sections, for example to re-run objtool after it has reported an error or a warning. Signed-off-by: Alexandre Chartre <alexandre.chartre@oracle.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Acked-by: Josh Poimboeuf <jpoimboe@kernel.org> Link: https://patch.msgid.link/20251121095340.464045-17-alexandre.chartre@oracle.com
-rw-r--r--tools/objtool/check.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index 442b655e3f25..4ebadf94f8af 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -4753,6 +4753,8 @@ static int validate_ibt(struct objtool_file *file)
!strcmp(sec->name, ".llvm.call-graph-profile") ||
!strcmp(sec->name, ".llvm_bb_addr_map") ||
!strcmp(sec->name, "__tracepoints") ||
+ !strcmp(sec->name, ".return_sites") ||
+ !strcmp(sec->name, ".call_sites") ||
!strcmp(sec->name, "__patchable_function_entries"))
continue;