objtool/klp: Handle Clang .data..Lanon anonymous data sections

Clang generates anonymous data sections named .data..Lanon.<hash>.
These need section-symbol references in the same way as .data..Lubsan
(GCC) and .data..L__unnamed_ (Clang UBSAN) sections.  Without this,
convert_reloc_sym() fails when processing relocations that reference
these sections.

Acked-by: Song Liu <song@kernel.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
This commit is contained in:
Josh Poimboeuf 2026-04-09 20:50:35 -07:00
parent 9e4512d7de
commit ff0cf5efef

View File

@ -1030,14 +1030,15 @@ static int convert_reloc_secsym_to_sym(struct elf *elf, struct reloc *reloc)
}
/*
* Sections with anonymous or uncorrelated data (strings, UBSAN data)
* need section symbol references.
* Sections with anonymous or uncorrelated data (strings, UBSAN data, Clang
* anonymous constants) need section symbol references.
*/
static bool is_uncorrelated_section(struct section *sec)
{
return is_string_sec(sec) ||
strstarts(sec->name, ".data..Lubsan") || /* GCC */
strstarts(sec->name, ".data..L__unnamed_"); /* Clang */
strstarts(sec->name, ".data..L__unnamed_") || /* Clang */
strstarts(sec->name, ".data..Lanon."); /* Clang */
}
/*