[lld] 00dd2d1 - [ELF] --symbol-ordering-file: remove weird !lazy condition for "no such symbol" diagnostic
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 5 02:04:39 PST 2022
Author: Fangrui Song
Date: 2022-01-05T02:04:36-08:00
New Revision: 00dd2d15a40b0fe9916bb55a48f264498d8fe910
URL: https://github.com/llvm/llvm-project/commit/00dd2d15a40b0fe9916bb55a48f264498d8fe910
DIFF: https://github.com/llvm/llvm-project/commit/00dd2d15a40b0fe9916bb55a48f264498d8fe910.diff
LOG: [ELF] --symbol-ordering-file: remove weird !lazy condition for "no such symbol" diagnostic
The diagnostic is emitted for an unextracted lazy symbol but suppressed for an
undefined symbol. Suppressing the diagnostic for unextracted lazy symbol
probably makes more sense because (a) an unextracted lazy symbol is quite
similar to an undefined symbol and (b) an unextracted lazy symbol is different
from "no such symbol".
Added:
Modified:
lld/ELF/Writer.cpp
lld/test/ELF/symbol-ordering-file-warnings.s
Removed:
################################################################################
diff --git a/lld/ELF/Writer.cpp b/lld/ELF/Writer.cpp
index f62f6bf68ed71..cf346808110b4 100644
--- a/lld/ELF/Writer.cpp
+++ b/lld/ELF/Writer.cpp
@@ -1313,8 +1313,7 @@ static DenseMap<const InputSectionBase *, int> buildSectionOrder() {
// We want both global and local symbols. We get the global ones from the
// symbol table and iterate the object files for the local ones.
for (Symbol *sym : symtab->symbols())
- if (!sym->isLazy())
- addSym(*sym);
+ addSym(*sym);
for (ELFFileBase *file : objectFiles)
for (Symbol *sym : file->getSymbols()) {
diff --git a/lld/test/ELF/symbol-ordering-file-warnings.s b/lld/test/ELF/symbol-ordering-file-warnings.s
index daf47bcdb31c0..e4611e4031aab 100644
--- a/lld/test/ELF/symbol-ordering-file-warnings.s
+++ b/lld/test/ELF/symbol-ordering-file-warnings.s
@@ -64,11 +64,11 @@
# RUN: ld.lld %t1.o %t2.o -o %t --symbol-ordering-file %t-order-weak.txt \
# RUN: --unresolved-symbols=ignore-all 2>&1 | FileCheck %s --check-prefixes=WARN --allow-empty
-# Check that symbols only in unused archive members result in a warning.
+# Check that symbols only in unused archive members does not result in a warning.
# RUN: rm -f %t.a
# RUN: llvm-ar rc %t.a %t3.o
# RUN: ld.lld %t1.o %t.a -o %t --symbol-ordering-file %t-order-missing.txt \
-# RUN: --unresolved-symbols=ignore-all 2>&1 | FileCheck %s --check-prefixes=WARN,MISSING --allow-empty
+# RUN: --unresolved-symbols=ignore-all 2>&1 | count 0
# Check that a warning for each same-named symbol with an issue.
# RUN: echo "multi" > %t-order-same-name.txt
More information about the llvm-commits
mailing list