mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
025d4791c0
This reverts D53469, which changed llvm's DWARF emission to emit DW_AT_call_return_pc as a function-local offset. Such an encoding is not compatible with post-link block re-ordering tools and isn't standards- compliant. In addition to reverting back to the original DW_AT_call_return_pc encoding, teach lldb how to fix up DW_AT_call_return_pc when the address comes from an object file pointed-to by a debug map. While doing this I noticed that lldb's support for tail calls that cross a DSO/object file boundary wasn't covered, so I added tests for that. This latter case exercises the newly added return PC fixup. The dsymutil changes in this patch were originally included in D49887: the associated test should be sufficient to test DW_AT_call_return_pc encoding purely on the llvm side. Differential Revision: https://reviews.llvm.org/D72489 |
||
---|---|---|
.. | ||
BinaryHolder.cpp | ||
BinaryHolder.h | ||
CFBundle.cpp | ||
CFBundle.h | ||
CMakeLists.txt | ||
DebugMap.cpp | ||
DebugMap.h | ||
dsymutil.cpp | ||
dsymutil.h | ||
DwarfLinkerForBinary.cpp | ||
DwarfLinkerForBinary.h | ||
DwarfStreamer.cpp | ||
DwarfStreamer.h | ||
LinkUtils.h | ||
LLVMBuild.txt | ||
MachODebugMapParser.cpp | ||
MachOUtils.cpp | ||
MachOUtils.h | ||
Options.td | ||
SymbolMap.cpp | ||
SymbolMap.h |