On Fri, May 1, 2026 at 6:04 PM Josh Poimboeuf <[email protected]> wrote: > > On Fri, May 01, 2026 at 11:37:49AM +0100, Song Liu wrote: > > > +/* > > > + * Some .rodata is anonymous and can't be correlated due to there being > > > no > > > + * symbol names. > > > + * > > > + * The .rodata.cst* sections aren't technically anonymous, they're > > > SHF_MERGE > > > + * constant pool sections containing small fixed-size data (lookup > > > tables, > > > + * bitmasks) which are only read by value, so pointer equivalence isn't > > > needed. > > > + * They are typically referenced by UBSAN data sections. > > > + */ > > > +static bool is_anonymous_rodata(struct symbol *sym) > > > +{ > > > + return is_rodata_sec(sym->sec) && > > > + (!is_object_sym(sym) || strstarts(sym->sec->name, > > > ".rodata.cst")); > > > +} > > > + > > > /* > > > * These symbols should never be correlated, so their local patched > > > versions > > > * are used instead of linking to the originals. > > > @@ -386,7 +401,7 @@ static bool dont_correlate(struct symbol *sym) > > > is_uncorrelated_static_local(sym) || > > > is_local_label(sym) || > > > is_string_sec(sym->sec) || > > > - (is_rodata_sec(sym->sec) && !is_object_sym(sym)) || > > ^^^^ > > This line was added in 19/53. Maybe we can merge 19 and 20? > > I think I'd prefer to keep them separate as they are two distinct issues > related to rodata: pointer equivalence (patch 19) and UBSAN mergeable > constants (patch 20).
Fair enough. I think we can keep these two patches as-is. Thanks, Song Acked-by: Song Liu <[email protected]>

