From: Stephen Tozer Date: Fri, 5 Apr 2019 16:32:25 +0000 (+0000) Subject: Revert "[llvm-readobj] Improve error message for --string-dump" X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=afee28400ca18bb2d09744c35d52fa0d7852d796;p=llvm Revert "[llvm-readobj] Improve error message for --string-dump" This reverts commit 681b0798dbbc6b3500c9930977ec8a274b142acb. Reverted due to causing build failures: llvm-svn: 357772 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@357774 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/tools/llvm-readobj/basic.test b/test/tools/llvm-readobj/basic.test index a08cc10aca7..ffe2374edf3 100644 --- a/test/tools/llvm-readobj/basic.test +++ b/test/tools/llvm-readobj/basic.test @@ -1,11 +1,11 @@ # Test case where input file does not exit. RUN: not llvm-readobj %t.blah 2>&1 | FileCheck --check-prefix=ENOENT %s -ENOENT: '{{.*}}.blah': {{[Nn]}}o such file or directory +ENOENT: {{.*}}.blah: {{[Nn]}}o such file or directory # Test case where input file is too small to be a recognised object file. RUN: touch %t.empty RUN: not llvm-readobj %t.empty 2>&1 | FileCheck --check-prefix=EMPTY %s -EMPTY: '{{.*}}.empty': The file was not recognized as a valid object file +EMPTY: {{.*}}.empty: The file was not recognized as a valid object file # Test that unrecognised files in archives are ignored. RUN: rm -f %t.a diff --git a/test/tools/llvm-readobj/codeview-merging-cycle.test b/test/tools/llvm-readobj/codeview-merging-cycle.test index 4d612e8314d..f597ad6f52f 100644 --- a/test/tools/llvm-readobj/codeview-merging-cycle.test +++ b/test/tools/llvm-readobj/codeview-merging-cycle.test @@ -1,6 +1,6 @@ ; RUN: not llvm-readobj -codeview-merged-types %S/Inputs/codeview-cycle.obj 2>&1 | FileCheck %s -; CHECK: error{{.*}} Input type graph contains cycles +; CHECK: Error{{.*}} Input type graph contains cycles ; To reproduce codeview-cycle.obj: ; $ cat codeview-cycle.asm diff --git a/test/tools/llvm-readobj/elf-dynamic-malformed.test b/test/tools/llvm-readobj/elf-dynamic-malformed.test index 4e04423d7b1..79af769aecd 100644 --- a/test/tools/llvm-readobj/elf-dynamic-malformed.test +++ b/test/tools/llvm-readobj/elf-dynamic-malformed.test @@ -3,7 +3,7 @@ # RUN: not llvm-readobj --dynamic-table %t.bad-size 2>&1 | FileCheck %s --check-prefix ERR-SIZE # RUN: not llvm-readelf --dynamic-table %t.bad-size 2>&1 | FileCheck %s --check-prefix ERR-SIZE -# ERR-SIZE: error: Invalid entity size +# ERR-SIZE: Error reading file: Invalid entity size. --- !ELF FileHeader: @@ -69,7 +69,7 @@ ProgramHeaders: # RUN: not llvm-readobj --dynamic-table %t.bad-string 2>&1 | FileCheck %s --check-prefix BAD-STRING # RUN: not llvm-readelf --dynamic-table %t.bad-string 2>&1 | FileCheck %s --check-prefix BAD-STRING -# BAD-STRING: Invalid dynamic string table reference +# BAD-STRING: Error reading file: Invalid dynamic string table reference. --- !ELF FileHeader: diff --git a/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test b/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test index e762a27865f..f061e1c3403 100644 --- a/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test +++ b/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test @@ -21,7 +21,7 @@ # RUN: %python -c "with open(r'%t.truncated2', 'r+') as f: f.truncate(0xFFF)" # RUN: not llvm-readobj %t.truncated2 --dynamic-table 2>&1 | FileCheck %s -# CHECK: error: Invalid data was encountered while parsing the file +# CHECK: Error reading file: Invalid data was encountered while parsing the file. --- !ELF FileHeader: diff --git a/test/tools/llvm-readobj/elf-packed-relocs-error1.s b/test/tools/llvm-readobj/elf-packed-relocs-error1.s index e418353465b..87dc6890a6c 100644 --- a/test/tools/llvm-readobj/elf-packed-relocs-error1.s +++ b/test/tools/llvm-readobj/elf-packed-relocs-error1.s @@ -1,7 +1,7 @@ // REQUIRES: x86-registered-target // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | not llvm-readobj -relocations - 2>&1 | FileCheck %s -// CHECK: error: invalid packed relocation header +// CHECK: Error reading file: invalid packed relocation header .section .rela.dyn, "a", @0x60000001 .ascii "APS9" diff --git a/test/tools/llvm-readobj/elf-packed-relocs-error2.s b/test/tools/llvm-readobj/elf-packed-relocs-error2.s index 28c325fec08..cbba5b73b60 100644 --- a/test/tools/llvm-readobj/elf-packed-relocs-error2.s +++ b/test/tools/llvm-readobj/elf-packed-relocs-error2.s @@ -1,7 +1,7 @@ // REQUIRES: x86-registered-target // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | not llvm-readobj -relocations - 2>&1 | FileCheck %s -// CHECK: error: malformed sleb128, extends past end +// CHECK: Error reading file: malformed sleb128, extends past end .section .rela.dyn, "a", @0x60000001 .ascii "APS2" diff --git a/test/tools/llvm-readobj/elf-packed-relocs-error3.s b/test/tools/llvm-readobj/elf-packed-relocs-error3.s index e373a53f730..7b2aa7dac5d 100644 --- a/test/tools/llvm-readobj/elf-packed-relocs-error3.s +++ b/test/tools/llvm-readobj/elf-packed-relocs-error3.s @@ -1,7 +1,7 @@ // REQUIRES: x86-registered-target // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | not llvm-readobj -relocations - 2>&1 | FileCheck %s -// CHECK: error: malformed sleb128, extends past end +// CHECK: Error reading file: malformed sleb128, extends past end .section .rela.dyn, "a", @0x60000001 .ascii "APS2" diff --git a/test/tools/llvm-readobj/elf-packed-relocs-error4.s b/test/tools/llvm-readobj/elf-packed-relocs-error4.s index 94ef6f4ca56..b8992e6b6e7 100644 --- a/test/tools/llvm-readobj/elf-packed-relocs-error4.s +++ b/test/tools/llvm-readobj/elf-packed-relocs-error4.s @@ -1,7 +1,7 @@ // REQUIRES: x86-registered-target // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | not llvm-readobj -relocations - 2>&1 | FileCheck %s -// CHECK: error: malformed sleb128, extends past end +// CHECK: Error reading file: malformed sleb128, extends past end .section .rela.dyn, "a", @0x60000001 .ascii "APS2" diff --git a/test/tools/llvm-readobj/elf-packed-relocs-error5.s b/test/tools/llvm-readobj/elf-packed-relocs-error5.s index b0c549fe06f..98a151e947b 100644 --- a/test/tools/llvm-readobj/elf-packed-relocs-error5.s +++ b/test/tools/llvm-readobj/elf-packed-relocs-error5.s @@ -1,7 +1,7 @@ // REQUIRES: x86-registered-target // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | not llvm-readobj -relocations - 2>&1 | FileCheck %s -// CHECK: error: relocation group unexpectedly large +// CHECK: Error reading file: relocation group unexpectedly large .section .rela.dyn, "a", @0x60000001 .ascii "APS2" diff --git a/test/tools/llvm-readobj/mips-got.test b/test/tools/llvm-readobj/mips-got.test index ca7edc2fbf1..7d8d2669bd2 100644 --- a/test/tools/llvm-readobj/mips-got.test +++ b/test/tools/llvm-readobj/mips-got.test @@ -30,7 +30,7 @@ RUN: llvm-readobj -mips-plt-got %p/Inputs/got-static.exe.mips \ RUN: --elf-output-style=GNU | \ RUN: FileCheck %s -check-prefix GNU-GOT-STATIC -GOT-OBJ: error: Cannot find .got section +GOT-OBJ: Error reading file: Cannot find .got section. GOT-EXE: Primary GOT { GOT-EXE-NEXT: Canonical gp value: 0x418880 @@ -386,7 +386,7 @@ GOT-STATIC-NEXT: } GOT-STATIC-NEXT: ] GOT-STATIC-NEXT: } -GNU-GOT-OBJ: error: Cannot find .got section +GNU-GOT-OBJ: Error reading file: Cannot find .got section. GNU-GOT-EXE: Primary GOT: GNU-GOT-EXE-NEXT: Canonical gp value: 00418880 diff --git a/test/tools/llvm-readobj/string-dump.test b/test/tools/llvm-readobj/string-dump.test index 321d2470177..a0ada84650e 100644 --- a/test/tools/llvm-readobj/string-dump.test +++ b/test/tools/llvm-readobj/string-dump.test @@ -50,14 +50,13 @@ # CHECK-NEXT: [ 3] null{{$}} # CHECK-NOT: {{.}} -# RUN: not llvm-readobj --string-dump=does_not_exist %t 2>&1 | FileCheck %s --check-prefix=ERR1 -# RUN: not llvm-readobj --string-dump=42 %t 2>&1 | FileCheck %s --check-prefix=ERR2 +# RUN: not llvm-readobj --string-dump=does_not_exist %t 2>&1 | FileCheck %s --check-prefix=ERR +# RUN: not llvm-readobj --string-dump=42 %t 2>&1 | FileCheck %s --check-prefix=ERR -# RUN: not llvm-readelf --string-dump=does_not_exist %t 2>&1 | FileCheck %s --check-prefix=ERR1 -# RUN: not llvm-readelf --string-dump=42 %t 2>&1 | FileCheck %s --check-prefix=ERR2 +# RUN: not llvm-readelf --string-dump=does_not_exist %t 2>&1 | FileCheck %s --check-prefix=ERR +# RUN: not llvm-readelf --string-dump=42 %t 2>&1 | FileCheck %s --check-prefix=ERR -# ERR1: error: could not find section 'does_not_exist' -# ERR2: error: could not find section '42' +# ERR: Error reading file: invalid section reference. --- !ELF FileHeader: diff --git a/test/tools/llvm-readobj/thin-archive-paths.test b/test/tools/llvm-readobj/thin-archive-paths.test index f1952c739cc..958f84509de 100644 --- a/test/tools/llvm-readobj/thin-archive-paths.test +++ b/test/tools/llvm-readobj/thin-archive-paths.test @@ -16,7 +16,7 @@ # RUN: rm a/b/1.o # RUN: not llvm-readobj --file-headers a/relative.a 2>&1 | FileCheck %s --check-prefix=ERR1 # RUN: not llvm-readelf --file-headers a/relative.a 2>&1 | FileCheck %s --check-prefix=ERR1 -# ERR1: error: 'a/relative.a': 'b/1.o': {{[Nn]}}o such file or directory +# ERR1: Error reading file: a/relative.a: 'b/1.o': {{[Nn]}}o such file or directory # RUN: mkdir -p %t/c # RUN: cp %p/Inputs/trivial.obj.elf-x86-64 a/b/1.o @@ -30,4 +30,4 @@ # RUN: rm a/b/1.o # RUN: not llvm-readobj --file-headers %t/c/absolute.a 2>&1 | FileCheck %s --check-prefix=ERR2 -DDIR=%t # RUN: not llvm-readelf --file-headers %t/c/absolute.a 2>&1 | FileCheck %s --check-prefix=ERR2 -DDIR=%t -# ERR2: error: '[[DIR]]/c/absolute.a': '[[DIR]]/a/b/1.o': {{[Nn]}}o such file or directory +# ERR2: Error reading file: [[DIR]]/c/absolute.a: '[[DIR]]/a/b/1.o': {{[Nn]}}o such file or directory diff --git a/test/tools/llvm-readobj/thin-archive.test b/test/tools/llvm-readobj/thin-archive.test index 23c435c28bb..3f103a7a01f 100644 --- a/test/tools/llvm-readobj/thin-archive.test +++ b/test/tools/llvm-readobj/thin-archive.test @@ -67,4 +67,4 @@ # MISSING: File: {{.*}}1.o # MISSING: SectionHeaderCount: 10 # MISSING-NOT: File: {{.*}}3.o -# ERR: error: '{{.*}}.a': '{{.*}}2.o': {{[Nn]}}o such file or directory +# ERR: Error reading file: {{.*}}.a: '{{.*}}2.o': {{[Nn]}}o such file or directory diff --git a/test/tools/llvm-readobj/wasm-invalid.test b/test/tools/llvm-readobj/wasm-invalid.test index e0e2e5d9044..d500d582ca0 100644 --- a/test/tools/llvm-readobj/wasm-invalid.test +++ b/test/tools/llvm-readobj/wasm-invalid.test @@ -4,4 +4,4 @@ FileHeader: Version: 0x0000000c -# CHECK: error: '': Bad version number +# CHECK: Error reading file: : Bad version number diff --git a/tools/llvm-readobj/ObjDumper.cpp b/tools/llvm-readobj/ObjDumper.cpp index 15facefaddf..2009ddeb57a 100644 --- a/tools/llvm-readobj/ObjDumper.cpp +++ b/tools/llvm-readobj/ObjDumper.cpp @@ -16,7 +16,6 @@ #include "llvm-readobj.h" #include "llvm/Object/ObjectFile.h" #include "llvm/Support/Error.h" -#include "llvm/Support/FormatVariadic.h" #include "llvm/Support/ScopedPrinter.h" #include "llvm/Support/raw_ostream.h" @@ -55,9 +54,8 @@ getSecNameOrIndexAsSecRef(const object::ObjectFile *Obj, StringRef SecName) { SecIndex++; } - return make_error( - formatv("could not find section '{0}'", SecName), - object::object_error::parse_failed); + return make_error("invalid section reference", + object::object_error::parse_failed); } void ObjDumper::printSectionAsString(const object::ObjectFile *Obj, diff --git a/tools/llvm-readobj/llvm-readobj.cpp b/tools/llvm-readobj/llvm-readobj.cpp index 7ccc67bfb31..30c51c46c9f 100644 --- a/tools/llvm-readobj/llvm-readobj.cpp +++ b/tools/llvm-readobj/llvm-readobj.cpp @@ -39,7 +39,6 @@ #include "llvm/Support/Path.h" #include "llvm/Support/ScopedPrinter.h" #include "llvm/Support/TargetRegistry.h" -#include "llvm/Support/WithColor.h" using namespace llvm; using namespace llvm::object; @@ -368,8 +367,8 @@ namespace opts { namespace llvm { LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg) { - errs() << "\n"; - WithColor::error(errs()) << Msg << "\n"; + errs() << "\nError reading file: " << Msg << ".\n"; + errs().flush(); exit(1); } @@ -392,14 +391,22 @@ bool relocAddressLess(RelocationRef a, RelocationRef b) { } // namespace llvm -static void reportError(StringRef Input, Error Err) { +static void reportError(StringRef Input, std::error_code EC) { if (Input == "-") Input = ""; - error(createFileError(Input, std::move(Err))); + + reportError(Twine(Input) + ": " + EC.message()); } -static void reportError(StringRef Input, std::error_code EC) { - reportError(Input, errorCodeToError(EC)); +static void reportError(StringRef Input, Error Err) { + if (Input == "-") + Input = ""; + std::string ErrMsg; + { + raw_string_ostream ErrStream(ErrMsg); + logAllUnhandledErrors(std::move(Err), ErrStream, Input + ": "); + } + reportError(ErrMsg); } static bool isMipsArch(unsigned Arch) {