[all-commits] [llvm/llvm-project] f01205: [DWARF] Emit DW_AT_call_return_pc as an address
Vedant Kumar via All-commits
all-commits at lists.llvm.org
Wed Jan 15 13:13:39 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: f0120556c7e2ef14ff3da5bd7d5717cedf94b767
https://github.com/llvm/llvm-project/commit/f0120556c7e2ef14ff3da5bd7d5717cedf94b767
Author: Vedant Kumar <vsk at apple.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Makefile
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/One.mk
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/One/One.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Two.mk
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/Two/Two.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/main.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/shared.h
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/Makefile
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/One.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/Two.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/main.c
A lldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/shared.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
M lldb/source/Symbol/Function.cpp
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/test/DebugInfo/X86/debug_addr.ll
A llvm/test/tools/dsymutil/Inputs/call-site-entry.c
A llvm/test/tools/dsymutil/Inputs/call-site-entry.macho.x86_64
A llvm/test/tools/dsymutil/Inputs/call-site-entry.macho.x86_64.o
A llvm/test/tools/dsymutil/call-site-entry-linking.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
Log Message:
-----------
[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
Commit: a2cc80bc95703b99afefddb1d9d545c639ac4ff5
https://github.com/llvm/llvm-project/commit/a2cc80bc95703b99afefddb1d9d545c639ac4ff5
Author: Vedant Kumar <vsk at apple.com>
Date: 2020-01-15 (Wed, 15 Jan 2020)
Changed paths:
M llvm/include/llvm/IR/DebugInfo.h
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
Log Message:
-----------
DebugInfo: Factor out logic to update locations in MD_loop metadata, NFC
Factor out the logic needed to update debug locations contained within
MD_loop metadata.
This refactor is preparation for a future change that also needs to
rewrite MD_loop metadata.
rdar://45507940
Compare: https://github.com/llvm/llvm-project/compare/d629525597eb...a2cc80bc9570
More information about the All-commits
mailing list