[llvm] r343887 - [llvm-nm] Write "no symbol" output to stderr
Petr Hosek via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 5 14:10:03 PDT 2018
Author: phosek
Date: Fri Oct 5 14:10:03 2018
New Revision: 343887
URL: http://llvm.org/viewvc/llvm-project?rev=343887&view=rev
Log:
[llvm-nm] Write "no symbol" output to stderr
This matches the output of binutils' nm and ensures that any scripts
or tools that use nm and expect empty output in case there no symbols
don't break.
Differential Revision: https://reviews.llvm.org/D52943
Modified:
llvm/trunk/test/Object/nm-shared-object.test
llvm/trunk/test/ThinLTO/X86/empty-module.ll
llvm/trunk/test/tools/llvm-nm/X86/nm-no-symbols.test
llvm/trunk/tools/llvm-nm/llvm-nm.cpp
Modified: llvm/trunk/test/Object/nm-shared-object.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Object/nm-shared-object.test?rev=343887&r1=343886&r2=343887&view=diff
==============================================================================
--- llvm/trunk/test/Object/nm-shared-object.test (original)
+++ llvm/trunk/test/Object/nm-shared-object.test Fri Oct 5 14:10:03 2018
@@ -30,5 +30,6 @@ RUN: | FileCheck %s -check-prefi
ERROR: File format has no dynamic symbol table.
-RUN: llvm-nm -D %p/Inputs/trivial-object-test.elf-i386 | FileCheck %s -check-prefix=NO-SYMBOLS
+RUN: llvm-nm -D %p/Inputs/trivial-object-test.elf-i386 2>&1 \
+RUN: | FileCheck %s -check-prefix=NO-SYMBOLS
NO-SYMBOLS: no symbols
Modified: llvm/trunk/test/ThinLTO/X86/empty-module.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/ThinLTO/X86/empty-module.ll?rev=343887&r1=343886&r2=343887&view=diff
==============================================================================
--- llvm/trunk/test/ThinLTO/X86/empty-module.ll (original)
+++ llvm/trunk/test/ThinLTO/X86/empty-module.ll Fri Oct 5 14:10:03 2018
@@ -3,7 +3,7 @@
; RUN: rm -f %t2.0
; RUN: llvm-lto2 run %t.bc -r %t.bc,foo,pl -o %t2 -thinlto-distributed-indexes
; RUN: llvm-readobj -h %t2.0 | FileCheck %s
-; RUN: llvm-nm %t2.0 | FileCheck %s -check-prefix=NO-SYMBOLS
+; RUN: llvm-nm %t2.0 2>&1 | FileCheck %s -check-prefix=NO-SYMBOLS
; NO-SYMBOLS: no symbols
; CHECK: Format: ELF64-x86-64
Modified: llvm/trunk/test/tools/llvm-nm/X86/nm-no-symbols.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-nm/X86/nm-no-symbols.test?rev=343887&r1=343886&r2=343887&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-nm/X86/nm-no-symbols.test (original)
+++ llvm/trunk/test/tools/llvm-nm/X86/nm-no-symbols.test Fri Oct 5 14:10:03 2018
@@ -1,6 +1,6 @@
# RUN: yaml2obj %s > %t.o
-# RUN: llvm-nm %t.o | FileCheck %s
-# RUN: llvm-nm --print-file-name %t.o | FileCheck %s --check-prefix=CHECK-PRINT-FILE-NAME
+# RUN: llvm-nm %t.o 2>&1 | FileCheck %s
+# RUN: llvm-nm --print-file-name %t.o 2>&1 | FileCheck %s --check-prefix=CHECK-PRINT-FILE-NAME
!ELF
FileHeader:
Modified: llvm/trunk/tools/llvm-nm/llvm-nm.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-nm/llvm-nm.cpp?rev=343887&r1=343886&r2=343887&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-nm/llvm-nm.cpp (original)
+++ llvm/trunk/tools/llvm-nm/llvm-nm.cpp Fri Oct 5 14:10:03 2018
@@ -757,22 +757,22 @@ static void sortAndPrintSymbolList(Symbo
}
}
- auto writeFileName = [&]() {
+ auto writeFileName = [&](raw_ostream &S) {
if (!ArchitectureName.empty())
- outs() << "(for architecture " << ArchitectureName << "):";
+ S << "(for architecture " << ArchitectureName << "):";
if (OutputFormat == posix && !ArchiveName.empty())
- outs() << ArchiveName << "[" << CurrentFilename << "]: ";
+ S << ArchiveName << "[" << CurrentFilename << "]: ";
else {
if (!ArchiveName.empty())
- outs() << ArchiveName << ":";
- outs() << CurrentFilename << ": ";
+ S << ArchiveName << ":";
+ S << CurrentFilename << ": ";
}
};
if (SymbolList.empty()) {
if (PrintFileName)
- writeFileName();
- outs() << "no symbols\n";
+ writeFileName(errs());
+ errs() << "no symbols\n";
}
for (SymbolListT::iterator I = SymbolList.begin(), E = SymbolList.end();
@@ -797,7 +797,7 @@ static void sortAndPrintSymbolList(Symbo
(Weak && NoWeakSymbols))
continue;
if (PrintFileName)
- writeFileName();
+ writeFileName(outs());
if ((JustSymbolName ||
(UndefinedOnly && MachO && OutputFormat != darwin)) &&
OutputFormat != posix) {
More information about the llvm-commits
mailing list