On Mon, Feb 23, 2026 at 2:58 PM Josh Poimboeuf <[email protected]> wrote:
>
> On Thu, Feb 19, 2026 at 02:22:38PM -0800, Song Liu wrote:
> > +++ b/tools/objtool/klp-diff.c
> > @@ -519,6 +519,37 @@ static int correlate_symbols(struct elfs *e)
> >               }
> >       }
> >
> > +     /* Correlate original locals with patched globals */
> > +     for_each_sym(e->orig, sym1) {
> > +             if (sym1->twin || dont_correlate(sym1) || !is_local_sym(sym1))
> > +                     continue;
> > +             sym2 = find_global_symbol_by_name(e->patched, sym1->name);
> > +             if (!sym2 && find_global_symbol_by_demangled_name(e->patched, 
> > sym1, &sym2))
> > +                     return -1;
> > +             if (sym2 && !sym2->twin) {
> > +                     sym1->twin = sym2;
> > +                     sym2->twin = sym1;
> > +                     WARN("correlate LOCAL %s (original) to GLOBAL %s 
> > (patched)",
> > +                          sym1->name, sym2->name);
> > +             }
> > +     }
>
> Try to follow the existing newline conventions which break the code into
> "paragraphs", like:
>
>         for_each_sym(e->orig, sym1) {
>                 if (sym1->twin || dont_correlate(sym1) || !is_local_sym(sym1))
>                         continue;
>
>                 sym2 = find_global_symbol_by_name(e->patched, sym1->name);
>                 if (!sym2 && find_global_symbol_by_demangled_name(e->patched, 
> sym1, &sym2))
>                         return -1;
>
>                 if (sym2 && !sym2->twin) {
>                         sym1->twin = sym2;
>                         sym2->twin = sym1;
>                         WARN("correlate LOCAL %s (original) to GLOBAL %s 
> (patched)",
>                              sym1->name, sym2->name);
>                 }
>         }
>
> > +
> > +     /* Correlate original globals with patched locals */
> > +     for_each_sym(e->patched, sym2) {
> > +             if (sym2->twin || dont_correlate(sym2) || !is_local_sym(sym2))
> > +                     continue;
> > +             sym1 = find_global_symbol_by_name(e->orig, sym2->name);
> > +             if (!sym1 && find_global_symbol_by_demangled_name(e->patched, 
> > sym2, &sym1))
>                                                                   ^^^^^^^^^^
>
> should be e->orig?

Yes, exactly...

Thanks for catching this bug!
Song

Reply via email to