Messages in this thread | | | Date | Thu, 13 Apr 2023 08:03:21 -0700 | From | Josh Poimboeuf <> | Subject | Re: [PATCH v2 3/9] objtool: Limit unreachable warnings to once per function |
| |
On Thu, Apr 13, 2023 at 10:01:12AM +0200, Peter Zijlstra wrote: > On Wed, Apr 12, 2023 at 12:03:18PM -0700, Josh Poimboeuf wrote: > > > diff --git a/tools/objtool/include/objtool/warn.h b/tools/objtool/include/objtool/warn.h > > index b1c920dc9516..4ef9b278e5fd 100644 > > --- a/tools/objtool/include/objtool/warn.h > > +++ b/tools/objtool/include/objtool/warn.h > > @@ -55,7 +55,10 @@ static inline char *offstr(struct section *sec, unsigned long offset) > > > > #define WARN_INSN(insn, format, ...) \ > > ({ \ > > - WARN_FUNC(format, insn->sec, insn->offset, ##__VA_ARGS__); \ > > + if (!insn->sym || !insn->sym->warned) \ > > + WARN_FUNC(format, insn->sec, insn->offset, ##__VA_ARGS__);\ > > + if (insn->sym) \ > > + insn->sym->warned = 1; \ > > }) > > Do we want to write that like: > > #define WARN_INSN(insn, format, ...) \ > ({ \ > struct instruction *_insn = (insn); \ > if (!_insn->sym || !_insn->sym->warned) \ > WARN_FUNC(format, _insn->sec, _insn->offset, ##__VA_ARGS__);\ > if (_insn->sym) \ > _insn->sym->warned = 1; \ > }) > > instead ?
Yes indeed.
-- Josh
| |