summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Poimboeuf <jpoimboe@kernel.org>2026-04-09 20:50:35 -0700
committerJosh Poimboeuf <jpoimboe@kernel.org>2026-05-04 21:16:04 -0700
commitff0cf5efef40e3b60e7bb27a6072f9a0c6e4c5ce (patch)
treee4da5f82e84ae35d724db38bcb71de8e0e676ad3
parent9e4512d7de5ab27c1b0c3891f7a0e9202a5a2eef (diff)
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>
-rw-r--r--tools/objtool/klp-diff.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/objtool/klp-diff.c b/tools/objtool/klp-diff.c
index 463b6daa5234..7e58ef36f805 100644
--- a/tools/objtool/klp-diff.c
+++ b/tools/objtool/klp-diff.c
@@ -1030,14 +1030,15 @@ found_sym:
}
/*
- * 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 */
}
/*