Reapply "llvm-dwarfdump: Report errors when failing to parse loclist/debug_loc entries""
authorDavid Blaikie <dblaikie@gmail.com>
Tue, 14 Apr 2020 21:21:33 +0000 (14:21 -0700)
committerDavid Blaikie <dblaikie@gmail.com>
Tue, 14 Apr 2020 21:44:32 +0000 (14:44 -0700)
commit208a11ab3a7be7c3e5d3fae9dd4affdb01a0ed1f
tree0c6a17b3d6c381afe9d7542de561826b72f15d67
parent37b520763fd9a51c94c446108907f48d04b7cab1
Reapply "llvm-dwarfdump: Report errors when failing to parse loclist/debug_loc entries""

Originally committed as 416fa7720e30750939c53935051c6c750dfad2c2
Reverted (due to buildbot failure - breaking lldb) in 7a45aeacf3a23449039ef2efcf476995ae1c7007.

I still can't seem to build lldb locally, but Pavel Labath has kindly
provided a potential fix to preserve the old behavior in lldb by
registering a simple recoverable error handler there that prints to the
desired stream in lldb, rather than stderr.
22 files changed:
lldb/source/Expression/DWARFExpression.cpp
lldb/test/Shell/SymbolFile/DWARF/debug_loc.s
llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
llvm/test/DebugInfo/X86/dwarfdump-debug-loc-error-cases.s
llvm/test/DebugInfo/X86/dwarfdump-debug-loc-error-cases2.s
llvm/test/DebugInfo/X86/dwarfdump-debug-loclists-error-cases.s
llvm/test/DebugInfo/X86/dwarfdump-debug-loclists-error-cases2.s
llvm/test/DebugInfo/X86/dwarfdump-ranges-baseaddr.s
llvm/test/DebugInfo/X86/dwarfdump-str-offsets-invalid-6.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_address_size_not_multiple.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_invalid_addr_size.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_reserved_length.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_segment_selector.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_small_length_field.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_extended_length_field.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_length_field.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_too_small_for_section.s
llvm/test/tools/llvm-dwarfdump/X86/debug_addr_unsupported_version.s
llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists.s
llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_invalid.s
llvm/test/tools/llvm-dwarfdump/X86/debug_rnglists_reserved_length.s
llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp