mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 19:52:54 +01:00
e992eb498a
This recommits 089c0f581492cd6e2a3d2927be3fbf60ea2d7e62, which was reverted due to failing tests on big endian machines. It includes a fix which I believe (I don't have BE machine) should fix this issue. The fix consists of correcting the invocation DWARFYAML::EmitDebugSections, which was missing one (default) function arguments, and so didn't actually force the little-endian mode. The original commit message follows. Summary: This patch adds DWARFDie::getLocations, which returns the location expressions for a given attribute (typically DW_AT_location). It handles both "inline" locations and references to the external location list sections (currently only of the DW_FORM_sec_offset type). It is implemented on top of DWARFUnit::findLoclistFromOffset, which is also added in this patch. I tried to make their signatures similar to the equivalent range list functionality. The actual location list interpretation logic is in DWARFLocationTable::visitAbsoluteLocationList. This part is not equivalent to the range list code, but this deviation is motivated by a desire to reuse the same location list parsing code within lldb. The functionality is tested via a c++ unit test of the DWARFDie API. Reviewers: dblaikie, JDevlieghere, SouraVX Subscribers: mgorny, hiraditya, cmtice, probinson, llvm-commits, aprantl Tags: #llvm Differential Revision: https://reviews.llvm.org/D70394 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CodeViewYAMLDebugSections.cpp | ||
CodeViewYAMLSymbols.cpp | ||
CodeViewYAMLTypeHashing.cpp | ||
CodeViewYAMLTypes.cpp | ||
COFFEmitter.cpp | ||
COFFYAML.cpp | ||
DWARFEmitter.cpp | ||
DWARFVisitor.cpp | ||
DWARFVisitor.h | ||
DWARFYAML.cpp | ||
ELFEmitter.cpp | ||
ELFYAML.cpp | ||
LLVMBuild.txt | ||
MachOEmitter.cpp | ||
MachOYAML.cpp | ||
MinidumpEmitter.cpp | ||
MinidumpYAML.cpp | ||
ObjectYAML.cpp | ||
WasmEmitter.cpp | ||
WasmYAML.cpp | ||
XCOFFYAML.cpp | ||
yaml2obj.cpp | ||
YAML.cpp |