summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-01-10 17:36:54 +0000
committerFrancis Visoiu Mistrih <francisvm@yahoo.com>2019-01-10 17:36:54 +0000
commitb8819dc1e3cd59619b21276f0207e5377353db70 (patch)
treeb8c39f5b463471db7e72e9d71a45e29d4eff25fa
parent4d8c8fe62e8d8b679f91035fa0d2f3051d0f746f (diff)
downloadbcm5719-llvm-b8819dc1e3cd59619b21276f0207e5377353db70.tar.gz
bcm5719-llvm-b8819dc1e3cd59619b21276f0207e5377353db70.zip
[llvm-objdump][MachO] Fix error reporting after r350848 and r350849
llvm-svn: 350851
-rw-r--r--llvm/test/tools/llvm-objdump/invalid-input.test5
-rw-r--r--llvm/tools/llvm-objdump/MachODump.cpp8
2 files changed, 7 insertions, 6 deletions
diff --git a/llvm/test/tools/llvm-objdump/invalid-input.test b/llvm/test/tools/llvm-objdump/invalid-input.test
index 7e6c806cdcd..89ac35202de 100644
--- a/llvm/test/tools/llvm-objdump/invalid-input.test
+++ b/llvm/test/tools/llvm-objdump/invalid-input.test
@@ -9,8 +9,7 @@ RUN: not llvm-objdump -macho -disassemble -g -dsym=%s %p/Inputs/bind.macho-x86_6
UNKNOWN_FILE_TYPE_DSYM: {{.*}}llvm-objdump: error:
RUN: not llvm-objdump -macho -disassemble -g -dsym=%p/missing-dsym %p/Inputs/bind.macho-x86_64 2>&1 | FileCheck %s -check-prefix=NO_SUCH_FILE_DSYM
-NO_SUCH_FILE_DSYM: error: {{.*}}missing-dsym:
+NO_SUCH_FILE_DSYM: error: '{{.*}}missing-dsym':
RUN: not llvm-objdump -macho -disassemble -g -dsym=%s %p/Inputs/bind.macho-x86_64 2>&1 | FileCheck %s -check-prefix=UNKNOWN_FILE_TYPE_DSYM_MSG
-UNKNOWN_FILE_TYPE_DSYM_MSG: {{.*}}llvm-objdump: error:
-UNKNOWN_FILE_TYPE_DSYM_MSG-NOT: bind.macho-x86_64
+UNKNOWN_FILE_TYPE_DSYM_MSG: error: '{{.*}}.test'
diff --git a/llvm/tools/llvm-objdump/MachODump.cpp b/llvm/tools/llvm-objdump/MachODump.cpp
index a8e90dfdde2..397573e2a48 100644
--- a/llvm/tools/llvm-objdump/MachODump.cpp
+++ b/llvm/tools/llvm-objdump/MachODump.cpp
@@ -6970,15 +6970,17 @@ static void DisassembleMachO(StringRef Filename, MachOObjectFile *MachOOF,
ErrorOr<std::unique_ptr<MemoryBuffer>> BufOrErr =
MemoryBuffer::getFileOrSTDIN(DSYMFile);
if (std::error_code EC = BufOrErr.getError()) {
- WithColor::error(errs(), "llvm-objdump")
- << DSYMFile << ": " << EC.message() << '\n';
+ report_error(DSYMFile, errorCodeToError(EC));
return;
}
+
Expected<std::unique_ptr<MachOObjectFile>> DbgObjCheck =
ObjectFile::createMachOObjectFile(BufOrErr.get()->getMemBufferRef());
- if (Error E = DbgObjCheck.takeError())
+ if (Error E = DbgObjCheck.takeError()) {
report_error(DSYMFile, std::move(E));
+ return;
+ }
DbgObj = DbgObjCheck.get().release();
// We need to keep the file alive, because we're replacing DbgObj with it.
OpenPOWER on IntegriCloud