Index: ELF/Driver.cpp =================================================================== --- ELF/Driver.cpp +++ ELF/Driver.cpp @@ -681,7 +681,8 @@ template static void readCallGraphsFromObjectFiles() { auto FindSection = [&](const Symbol *Sym) -> const InputSectionBase * { - warnUnorderableSymbol(Sym); + if (!Sym->isUndefined()) + warnUnorderableSymbol(Sym); if (const auto *SymD = dyn_cast(Sym)) return dyn_cast_or_null(SymD->Section); return nullptr; Index: test/ELF/cgprofile-shared-warn.s =================================================================== --- /dev/null +++ test/ELF/cgprofile-shared-warn.s @@ -0,0 +1,10 @@ +# REQUIRES: x86 + +# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o +# RUN: ld.lld -shared %t.o -o /dev/null 2>&1 | count 0 + .section .text.A,"ax",@progbits + .globl A +A: + callq B + + .cg_profile A, B, 10