[PATCH -tip v11 18/27] objtool: Ignore unwind hints for ignored functions
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: Steven Rostedt <rostedt@xxxxxxxxxxx>, Josh Poimboeuf <jpoimboe@xxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>
- Subject: [PATCH -tip v11 18/27] objtool: Ignore unwind hints for ignored functions
- From: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
- Date: Tue, 14 Sep 2021 23:41:23 +0900
- Cc: X86 ML <x86@xxxxxxxxxx>, Masami Hiramatsu <mhiramat@xxxxxxxxxx>, Daniel Xu <dxu@xxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, bpf@xxxxxxxxxxxxxxx, kuba@xxxxxxxxxx, mingo@xxxxxxxxxx, ast@xxxxxxxxxx, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, kernel-team@xxxxxx, yhs@xxxxxx, linux-ia64@xxxxxxxxxxxxxxx, Abhishek Sagar <sagar.abhishek@xxxxxxxxx>, Andrii Nakryiko <andrii.nakryiko@xxxxxxxxx>, Paul McKenney <paulmck@xxxxxxxxxx>
- In-reply-to: <163163030719.489837.2236069935502195491.stgit@devnote2>
- References: <163163030719.489837.2236069935502195491.stgit@devnote2>
- User-agent: StGit/0.19
From: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
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().
Signed-off-by: Josh Poimboeuf <jpoimboe@xxxxxxxxxx>
Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Tested-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
---
tools/objtool/check.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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);
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]