[all-commits] [llvm/llvm-project] c0db06: [DWARFLibrary] Add support to re-construct cu-index
Alexander Yermolovich via All-commits
all-commits at lists.llvm.org
Thu Jan 12 11:00:09 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c0db06227721dc50d3933be81af9393773baaae4
https://github.com/llvm/llvm-project/commit/c0db06227721dc50d3933be81af9393773baaae4
Author: Alexander Yermolovich <ayermolo at fb.com>
Date: 2023-01-12 (Thu, 12 Jan 2023)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
A llvm/test/tools/llvm-dwp/X86/cu_tu_units_manual_v5.s
M llvm/test/tools/llvm-dwp/X86/debug_macro_v5.s
M llvm/test/tools/llvm-dwp/X86/type_dedup.test
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[DWARFLibrary] Add support to re-construct cu-index
According to DWARF5 specification and gnu specification for DWARF4 the offset
entry in the CU/TU Index is 32 bits. This presents a problem when
.debug_info.dwo in DWP file grows beyond 4GB. The CU Index becomes partially
corrupted.
This diff adds manual parsing of .debug_info.dwo/.debug_abbrev.dwo to
reconstruct CU index in general, and TU index for DWARF5. This is a work around
until DWARF6 spec is finalized.
Next patch will change internal CU/TU struct to 64 bit, and change uses as
necessary. The plan is to land all the patches in one go after all are approved.
This patch originates from the discussion in: https://discourse.llvm.org/t/dwarf-dwp-4gb-limit/63902
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D137882
More information about the All-commits
mailing list