llvm-project/llvm/lib/DebugInfo/DWARF
Alok Kumar Sharma 5a26345fe2 [DebugInfo][llvm-dwarfdump] Fix printing of Unit header with DW_UT_partial type
llvm-dwarfdump crashed for Unit header with DW_UT_partial type.
-------------
llvm-dwarfdump: /tmp/llvm/include/llvm/ADT/Optional.h:197: T& llvm::optional_detail::OptionalStorage<T, true>::getValue() &
[with T = long unsigned int]: Assertion `hasVal' failed.
PLEASE submit a bug report to the technical support section of https://developer.amd.com/amd-aocc and include the crash backtrace.
Stack dump:
0.      Program arguments: llvm-dwarfdump -v /tmp/test/DebugInfo/X86/Output/dwarfdump-he
ader.s.tmp.o
 #0 0x00007f37d5ad8838 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /tmp/llvm/lib/Support/Unix/Signals.inc:565:0
 #1 0x00007f37d5ad88ef PrintStackTraceSignalHandler(void*) /tmp/llvm/lib/Support/Unix/Signals.inc:632:0
 #2 0x00007f37d5ad65bd llvm::sys::RunSignalHandlers() /tmp/llvm/lib/Support/Signals.cpp:71:0
 #3 0x00007f37d5ad81b9 SignalHandler(int) /tmp/llvm/lib/Support/Unix/Signals.inc:407:0
 #4 0x00007f37d4c26040 (/lib/x86_64-linux-gnu/libc.so.6+0x3f040)
 #5 0x00007f37d4c25fb7 raise /build/glibc-S9d2JN/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #6 0x00007f37d4c27921 abort /build/glibc-S9d2JN/glibc-2.27/stdlib/abort.c:81:0
 #7 0x00007f37d4c1748a __assert_fail_base /build/glibc-S9d2JN/glibc-2.27/assert/assert.c:89:0
 #8 0x00007f37d4c17502 (/lib/x86_64-linux-gnu/libc.so.6+0x30502)
 #9 0x00007f37d7576b81 llvm::optional_detail::OptionalStorage<unsigned long, true>::getValue() & /tmp/llvm/include/llvm/ADT/Optional.h:198:0
 #10 0x00007f37d75726ac llvm::Optional<unsigned long>::operator*() && /tmp/llvm/include/llvm/ADT/Optional.h:309:0
 #11 0x00007f37d7582968 llvm::DWARFCompileUnit::dump(llvm::raw_ostream&, llvm::DIDumpOptions) /tmp/llvm/lib/DebugInfo/DWARF/DWARFCompileUnit.cpp:30:0
--------------

Patch by: @jini.susan

Reviewed By: @probinson

Differential Revision: https://reviews.llvm.org/D101255
2021-04-27 10:32:44 +05:30
..
CMakeLists.txt llvmbuildectomy - replace llvm-build by plain cmake 2020-11-13 10:35:24 +01:00
DWARFAbbreviationDeclaration.cpp
DWARFAcceleratorTable.cpp [DebugInfo] Report the format of .debug_names [2/10] 2020-06-02 17:55:30 +07:00
DWARFAddressRange.cpp llvm-dwarfdump: Dump address forms in their encoded length rather than always in 64 bits 2020-10-04 15:48:57 -07:00
DWARFCompileUnit.cpp [DebugInfo][llvm-dwarfdump] Fix printing of Unit header with DW_UT_partial type 2021-04-27 10:32:44 +05:30
DWARFContext.cpp Fix bug in .eh_frame/.debug_frame PC offset calculation for DW_EH_PE_pcrel 2021-04-15 15:06:20 +04:00
DWARFDataExtractor.cpp [lib/Object] - Generalize the RelocationResolver API. 2020-11-20 10:32:49 +03:00
DWARFDebugAbbrev.cpp
DWARFDebugAddr.cpp [DebugInfo] Report the format of address tables [4/10] 2020-06-02 17:55:30 +07:00
DWARFDebugArangeSet.cpp llvm-dwarfdump: Dump address forms in their encoded length rather than always in 64 bits 2020-10-04 15:48:57 -07:00
DWARFDebugAranges.cpp [DebugInfo] Remove some unused includes. NFCI. 2021-01-28 11:21:35 +00:00
DWARFDebugFrame.cpp [DebugInfo] Do not error on unsupported CIE version 2021-03-08 19:39:08 -08:00
DWARFDebugInfoEntry.cpp [llvm-dwarfdump] Avoid crashing if an abbreviation offset is invalid. 2020-08-12 16:01:53 +07:00
DWARFDebugLine.cpp llvm-dwarfdump: Print addresses in debug_line to the parsed address size 2020-10-04 16:05:49 -07:00
DWARFDebugLoc.cpp [DWARF] DWARFDebugLoc::dumpRawEntry - remove dead stores. NFCI. 2021-01-07 12:53:28 +00:00
DWARFDebugMacro.cpp DebugInfo: Filter DWARFv5 TUs out of the debug_info unit list when CUs requested 2020-09-23 22:15:53 -07:00
DWARFDebugPubTable.cpp [DebugInfo] Fix pessimizing move. NFC. 2020-07-09 14:23:46 +02:00
DWARFDebugRangeList.cpp llvm-dwarfdump: Skip tombstoned address ranges 2020-10-04 13:43:29 -07:00
DWARFDebugRnglists.cpp llvm-dwarfdump: Add support for DW_RLE_startx_endx 2020-10-04 17:50:43 -07:00
DWARFDie.cpp [DWARF] Fix crash for DWARFDie::dump. 2021-04-14 18:46:34 -07:00
DWARFExpression.cpp llvm-dwarfdump: fix the counting when printing DW_OP_entry_value 2021-02-11 11:17:04 -08:00
DWARFFormValue.cpp llvm-dwarfdump: Fix DWARF-5 DW_FORM_implicit_const (used by GCC) 2021-03-09 09:26:58 +01:00
DWARFGdbIndex.cpp [CodeGen, DebugInfo] Use llvm::find_if (NFC) 2021-01-10 09:24:53 -08:00
DWARFListTable.cpp [WIP][DebugInfo] Lazily parse debug_loclist offsets 2020-08-18 10:49:39 -07:00
DWARFLocationExpression.cpp
DWARFTypeUnit.cpp [llvm-dwarfdump] Avoid crashing if an abbreviation offset is invalid. 2020-08-12 16:01:53 +07:00
DWARFUnit.cpp [DWARF] Check for AddrOffsetSectionBase to work with DWO Units. 2021-03-15 14:46:09 -07:00
DWARFUnitIndex.cpp Fix crash after looking up dwo_id=0 in CU index. 2020-11-19 11:15:01 -08:00
DWARFVerifier.cpp [dwarfdump] Warn for tags with DW_CHILDREN_yes but no children. 2020-09-23 22:12:04 -07:00