llvm-project/llvm/tools/dsymutil
Vedant Kumar f0120556c7 [DWARF] Emit DW_AT_call_return_pc as an address
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
2020-01-15 13:02:23 -08:00
..
BinaryHolder.cpp [dsymutil] Use rfind for paths with parentheses 2019-02-28 18:46:04 +00:00
BinaryHolder.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CFBundle.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CFBundle.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
DebugMap.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DebugMap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DwarfLinkerForBinary.cpp [DWARF] Emit DW_AT_call_return_pc as an address 2020-01-15 13:02:23 -08:00
DwarfLinkerForBinary.h [Dsymutil][Debuginfo][NFC] #3 Refactor dsymutil to separate DWARF optimizing part. 2020-01-13 23:33:25 +03:00
DwarfStreamer.cpp [Dsymutil][Debuginfo][NFC] #3 Refactor dsymutil to separate DWARF optimizing part. 2020-01-13 23:33:25 +03:00
DwarfStreamer.h [Dsymutil][Debuginfo][NFC] #3 Refactor dsymutil to separate DWARF optimizing part. 2020-01-13 23:33:25 +03:00
LLVMBuild.txt [Dsymutil][Debuginfo][NFC] Reland: Refactor dsymutil to separate DWARF optimizing part. #2. 2020-01-08 14:15:31 +03:00
LinkUtils.h [dsymutil] Add support for linking remarks 2019-11-01 15:38:49 -07:00
MachODebugMapParser.cpp [dsymutil] Move CommonSymbols.clear() in resetParserState. 2019-10-10 16:37:38 +00:00
MachOUtils.cpp [Dsymutil][NFC] Move NonRelocatableStringpool into common CodeGen folder. 2019-12-06 10:02:27 +03:00
MachOUtils.h [dsymutil] Remove stale comment (NFC) 2019-06-10 23:30:20 +00:00
Options.td [dsymutil] Support --out (NFC) 2019-12-03 17:08:32 -08:00
SymbolMap.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SymbolMap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
dsymutil.cpp [dsymutil] Add support for linking remarks 2019-11-01 15:38:49 -07:00
dsymutil.h [dsymutil] Pass LinkOptions by value instead of const ref. 2019-07-30 19:34:26 +00:00