]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
objtool/klp: Handle Clang .data..Lanon anonymous data sections
authorJosh Poimboeuf <jpoimboe@kernel.org>
Fri, 10 Apr 2026 03:50:35 +0000 (20:50 -0700)
committerJosh Poimboeuf <jpoimboe@kernel.org>
Tue, 5 May 2026 04:16:04 +0000 (21:16 -0700)
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>
tools/objtool/klp-diff.c

index 463b6daa523414e15f70f8e4a630c5a56700e17f..7e58ef36f805b1d12e67d8e4bb7eb85d851ba3ce 100644 (file)
@@ -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 */
 }
 
 /*