diff options
author | Josh Poimboeuf <jpoimboe@redhat.com> | 2021-09-14 23:41:23 +0900 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2021-09-30 21:24:07 -0400 |
commit | 5b284b1933688ff18099b2cb8e83456bdd149e10 (patch) | |
tree | 7c1d1f8dcd1dfcbe26b06c01bc41b68e5b3fd5aa /tools | |
parent | e028c4f7ac7ca8c96126fe46c54ab3d56ffe6a66 (diff) | |
download | linux-5b284b1933688ff18099b2cb8e83456bdd149e10.tar.gz linux-5b284b1933688ff18099b2cb8e83456bdd149e10.tar.bz2 linux-5b284b1933688ff18099b2cb8e83456bdd149e10.zip |
objtool: Ignore unwind hints for ignored functions
If a function is ignored, also ignore its hints. This is useful for the
case where the function ignore is conditional on frame pointers, e.g.
STACK_FRAME_NON_STANDARD_FP().
Link: https://lkml.kernel.org/r/163163048317.489837.10988954983369863209.stgit@devnote2
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org>
Tested-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/objtool/check.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/objtool/check.c b/tools/objtool/check.c index e5947fbb9e7a..67cbdcfcabae 100644 --- a/tools/objtool/check.c +++ b/tools/objtool/check.c @@ -2909,7 +2909,7 @@ static int validate_unwind_hints(struct objtool_file *file, struct section *sec) } while (&insn->list != &file->insn_list && (!sec || insn->sec == sec)) { - if (insn->hint && !insn->visited) { + if (insn->hint && !insn->visited && !insn->ignore) { ret = validate_branch(file, insn->func, insn, state); if (ret && backtrace) BT_FUNC("<=== (hint)", insn); |