On Thu, Apr 23, 2026 at 12:05:03PM -0700, Song Liu wrote:
> On Wed, Apr 22, 2026 at 9:04 PM Josh Poimboeuf <[email protected]> wrote:
> >
> > With Clang LTO enabled, DECLARE_PCI_FIXUP_SECTION() uses __UNIQUE_ID()
> > to generate uniquely named wrapper functions, which are being reported
> > as new functions and unnecessarily included in the patch module:
> >
> > vmlinux.o: new function: __UNIQUE_ID_quirk_f0_vpd_link_661
> >
> > These stub functions only exist to make the compiler happy. Just ignore
> > them along with any other dont_correlate() symbols. Note that
> > dont_correlate() already includes prefix functions.
> >
> > Signed-off-by: Josh Poimboeuf <[email protected]>
>
> The actual change appears to be much bigger than the subject line.
> Maybe rephrase it a bit?
Hm, in fact this is a relic from a previous iteration of the patches: it
longer fixes what it claims to fix, as __UNIQUE_ID_ (other than
__ADDRESSABLE()) are now correlated. The claimed issue actually gets
fixed later by the rewriting of the correlation algorithm.
That said, I still think the below is needed, I just need to rewrite the
commit log.
>
> > ---
> > tools/objtool/klp-diff.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/objtool/klp-diff.c b/tools/objtool/klp-diff.c
> > index 36753eeba58c..ea9ccf8c4ea9 100644
> > --- a/tools/objtool/klp-diff.c
> > +++ b/tools/objtool/klp-diff.c
> > @@ -786,7 +786,7 @@ static int mark_changed_functions(struct elfs *e)
> >
> > /* Find changed functions */
> > for_each_sym(e->orig, sym_orig) {
> > - if (!is_func_sym(sym_orig) || is_prefix_func(sym_orig))
> > + if (!is_func_sym(sym_orig) || dont_correlate(sym_orig))
> > continue;
> >
> > patched_sym = sym_orig->twin;
> > @@ -802,7 +802,7 @@ static int mark_changed_functions(struct elfs *e)
> >
> > /* Find added functions and print them */
> > for_each_sym(e->patched, patched_sym) {
> > - if (!is_func_sym(patched_sym) ||
> > is_prefix_func(patched_sym))
> > + if (!is_func_sym(patched_sym) ||
> > dont_correlate(patched_sym))
> > continue;
> >
> > if (!patched_sym->twin) {
> > --
> > 2.53.0
> >
--
Josh