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.
Signed-off-by: Josh Poimboeuf <[email protected]> --- tools/objtool/klp-diff.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/objtool/klp-diff.c b/tools/objtool/klp-diff.c index 57d2af98a33c..1951a8b2df44 100644 --- a/tools/objtool/klp-diff.c +++ b/tools/objtool/klp-diff.c @@ -873,9 +873,10 @@ static bool section_reference_needed(struct section *sec) if (strstarts(sec->name, ".rodata")) return true; - /* UBSAN anonymous data */ + /* Anonymous data (UBSAN, Clang anonymous constants, etc.) */ if (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 */ return true; return false; -- 2.53.0

