1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools/llvm-readobj
Georgii Rymar 08e2edb9fd [DebugInfo] - DWARFDebugFrame: do not call abort() on errors.
Imagine we have a broken .eh_frame.
Below is a possible sample output of llvm-readelf:

```
...
    entry 2 {
      initial_location: 0x10f5
      address: 0x2080
    }
  }
}
.eh_frame section at offset 0x2028 address 0x2028:
LLVM ERROR: Parsing entry instructions at 0 failed
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
Stack dump:
0.  Program arguments: /home/umb/LLVM/LLVM/llvm-project/build/bin/llvm-readelf -a 1
 #0 0x000055f4a2ff5a1a llvm::sys::PrintStackTrace(llvm::raw_ostream&) (/home/umb/LLVM/LLVM/llvm-project/build/bin/llvm-readelf+0x2b9a1a)
...
#15 0x00007fdae5dc209b __libc_start_main /build/glibc-B9XfQf/glibc-2.28/csu/../csu/libc-start.c:342:3
#16 0x000055f4a2db746a _start (/home/umb/LLVM/LLVM/llvm-project/build/bin/llvm-readelf+0x7b46a)
Aborted
```

I.e. it calls abort(), suggests to submit a bug report and exits with the code 134.
This patch changes the logic to propagate errors to callers.
This fixes the behavior for llvm-dwarfdump, llvm-readobj and other possible tools.

Differential revision: https://reviews.llvm.org/D79165
2020-05-15 13:05:35 +03:00
..
ARMEHABIPrinter.h [llvm-readobj] - Remove 'error(Error EC)' helper. 2019-08-13 12:07:41 +00:00
ARMWinEHPrinter.cpp [llvm-readobj] Fix/improve printing WinEH unwind info for linked PE images 2019-12-11 10:20:34 +02:00
ARMWinEHPrinter.h [Object] Change getSectionName() to return Expected<StringRef> 2019-05-02 10:32:03 +00:00
CMakeLists.txt [Object][XCOFF] Add an XCOFF dumper for llvm-readobj. 2019-05-03 12:57:07 +00:00
COFFDumper.cpp [COFF] Migrate COFFObjectFile to Expected<T> 2020-05-08 14:01:39 -07:00
COFFImportDumper.cpp [Object] Change SymbolicFile::printSymbolName to use Error 2019-05-10 09:59:04 +00:00
DwarfCFIEHPrinter.h [DebugInfo] - DWARFDebugFrame: do not call abort() on errors. 2020-05-15 13:05:35 +03:00
ELFDumper.cpp [llvm-readobj] - --gnu-hash-table: do not crash when the GNU hash table goes past the EOF. 2020-05-15 11:33:23 +03:00
Error.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Error.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
llvm-readobj.cpp [llvm-readobj] - --gnu-hash-table: do not crash when the GNU hash table goes past the EOF. 2020-05-15 11:33:23 +03:00
llvm-readobj.h [llvm-readobj] - Remove reportError(std::error_code EC, StringRef Input) helper. 2019-08-22 08:56:24 +00:00
LLVMBuild.txt Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
MachODumper.cpp Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting API." 2019-08-17 16:07:18 +00:00
ObjDumper.cpp Make bugpoint work with gcc5 again. 2020-01-29 03:11:00 +01:00
ObjDumper.h [llvm-readobj] - --gnu-hash-table: do not crash when the GNU hash table goes past the EOF. 2020-05-15 11:33:23 +03:00
StackMapPrinter.h [StackMaps] Add location size to llvm-readobj -stackmap output 2019-04-13 03:08:45 +00:00
WasmDumper.cpp [WebAssembly] Add int32 DW_OP_WASM_location variant 2020-04-16 16:32:17 -07:00
Win64EHDumper.cpp [llvm-readobj] Fix/improve printing WinEH unwind info for linked PE images 2019-12-11 10:20:34 +02:00
Win64EHDumper.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
WindowsResourceDumper.cpp [llvm-readobj] Print the resource type textually for .res files 2019-08-29 08:59:31 +00:00
WindowsResourceDumper.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XCOFFDumper.cpp [NFC][XCOFF] refactor readobj/XCOFFDumper.cpp 2020-04-07 11:33:31 -04:00