diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index 8f543cf6097..8678536962d 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -114,12 +114,13 @@ void DumpSymbolNamesFromModule (Module *M) { void DumpSymbolNamesFromFile (std::string &Filename) { std::string ErrorMessage; - if (!FileOpenable (Filename)) { + if (Filename != "-" && !FileOpenable (Filename)) { std::cerr << ToolName << ": " << Filename << ": " << strerror (errno) << "\n"; return; } - if (IsBytecode (Filename)) { + // Note: Currently we do not support reading an archive from stdin. + if (Filename == "-" || IsBytecode (Filename)) { Module *Result = ParseBytecodeFile(Filename, &ErrorMessage); if (Result) { DumpSymbolNamesFromModule (Result);