Message ID | 20210710192514.ghvksi3ozhez4lvb@treble (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | [1/2] objtool: Add frame-pointer-specific function ignore | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Not a local patch |
On Sat, 10 Jul 2021 12:25:14 -0700 Josh Poimboeuf <jpoimboe@redhat.com> wrote: > 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(). This also looks good to me, and test with my series works fine. Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Tested-by: Masami Hiramatsu <mhiramat@kernel.org> Thanks! > > Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com> > --- > 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); > -- > 2.31.1 >
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);
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@redhat.com> --- tools/objtool/check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)