llvm-project/lldb/source/Symbol
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
..
ArmUnwindInfo.cpp Support Linux signal return trampolines in frame initialization 2019-07-19 14:05:55 +00:00
Block.cpp [lldb][NFC] Move Address and AddressRange functions out of Stream and let them take raw_ostream 2019-12-05 14:41:33 +01:00
CMakeLists.txt [lldb][NFC] Remove ClangExternalASTSourceCommon 2019-12-24 13:17:27 +01:00
ClangASTContext.cpp [lldb][NFC] Make name parameter in AddMethodToCXXRecordType a StringRef 2020-01-14 14:26:29 +01:00
ClangASTImporter.cpp [lldb] Make CompleteTagDeclsScope completion order deterministic 2020-01-10 21:19:04 +01:00
ClangASTMetadata.cpp [lldb][NFC] Move definition of ClangASTMetadata out of ClangExternalASTSourceCommon.h 2019-12-16 10:52:31 +01:00
ClangExternalASTSourceCallbacks.cpp [lldb][NFC] Simplify ClangExternalASTSourceCallbacks 2019-12-23 13:22:29 +01:00
ClangUtil.cpp [lldb] Remove lldb's own ASTDumper 2019-11-25 13:27:51 +01:00
CompactUnwindInfo.cpp Add arm64_32 support to lldb, an ILP32 codegen 2019-10-16 19:14:49 +00:00
CompileUnit.cpp [lldb] Don't put compile unit name into the support file list and support DWARF5 line tables 2019-12-05 11:37:18 +01:00
CompilerDecl.cpp [lldb][NFC] Remove CompilerDeclContext::IsClang 2019-11-28 15:54:11 +01:00
CompilerDeclContext.cpp [lldb][NFC] Delete all 'else return ...' in CompilerDeclContext.cpp 2019-12-23 11:49:35 +01:00
CompilerType.cpp [lldb][NFC] Simplify CompilerType constructors/destructors and fix unused variable warning 2020-01-01 22:56:16 +01:00
CxxModuleHandler.cpp [lldb] Fix crash in CxxModuleHandler when std module is empty 2019-10-11 08:42:22 +00:00
DWARFCallFrameInfo.cpp [Logging] Replace Log::Printf with LLDB_LOG macro (NFC) 2019-07-24 17:56:10 +00:00
DebugMacros.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclVendor.cpp [Symbol] Decouple clang from DeclVendor 2019-08-23 06:11:32 +00:00
Declaration.cpp [lldb] s/FileSpec::Equal/FileSpec::Match 2019-12-04 10:42:32 +01:00
FuncUnwinders.cpp [lldb] Initialize some bitfields in FuncUnwinders.cpp 2020-01-07 18:01:59 +01:00
Function.cpp [DWARF] Emit DW_AT_call_return_pc as an address 2020-01-15 13:02:23 -08:00
LineEntry.cpp [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
LineTable.cpp [lldb] Use llvm range functions in LineTable.cpp 2019-12-03 16:22:52 +01:00
LocateSymbolFile.cpp [lldb] Remove FileSpec(FileSpec*) constructor 2019-12-04 10:49:25 +01:00
LocateSymbolFileMacOSX.cpp [lldb] Fix macOS build by replacing nullptr with FileSpec() 2019-12-04 14:37:10 +01:00
ObjectFile.cpp [lldb/DWARF] Move location list sections into DWARFContext 2020-01-14 15:19:29 +01:00
PostfixExpression.cpp Postfix: move more code out of the PDB plugin 2019-08-26 11:44:14 +00:00
Symbol.cpp [lldb] Add -m option to 'target modules dump symtab' to disable demangling 2019-11-07 15:47:01 +01:00
SymbolContext.cpp [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
SymbolFile.cpp Add RTTI support to the SymbolFile class hierarchy 2019-11-15 11:52:13 -08:00
SymbolVendor.cpp SymbolVendor: Remove passthrough methods 2019-08-06 09:12:42 +00:00
Symtab.cpp [lldb] Fix lookup of symbols with the same address range but different binding 2020-01-13 12:05:26 +01:00
Type.cpp [lldb] Remove various dead Compare functions 2020-01-08 18:05:33 -08:00
TypeList.cpp [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
TypeMap.cpp [Symbol][NFC] Remove references to clang in TypeMap 2019-08-20 20:44:36 +00:00
TypeSystem.cpp [lldb] Support for DWARF-5 atomic types 2019-12-09 10:46:26 +01:00
UnwindPlan.cpp Unwind: Add a stack scanning mechanism to support win32 unwinding 2019-09-27 12:10:06 +00:00
UnwindTable.cpp [Windows] Use information from the PE32 exceptions directory to construct unwind plans 2019-10-11 09:03:29 +00:00
Variable.cpp [lldb][NFC] Make some checks more readable in Variable::PrivateAutoComplete 2020-01-01 18:47:44 +01:00
VariableList.cpp [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00