diff options
author | Vedant Kumar <vsk@apple.com> | 2020-01-09 18:00:33 -0800 |
---|---|---|
committer | Vedant Kumar <vsk@apple.com> | 2020-01-15 13:02:23 -0800 |
commit | f0120556c7e2ef14ff3da5bd7d5717cedf94b767 (patch) | |
tree | fc86e05798dbbc5cc92cc2e57058240f16a6dfa5 /llvm/lib/CodeGen/SafeStack.cpp | |
parent | d629525597ebe3533d110ea288c2640f0dc24bf7 (diff) | |
download | llvm-f0120556c7e2ef14ff3da5bd7d5717cedf94b767.zip llvm-f0120556c7e2ef14ff3da5bd7d5717cedf94b767.tar.gz llvm-f0120556c7e2ef14ff3da5bd7d5717cedf94b767.tar.bz2 |
[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
Diffstat (limited to 'llvm/lib/CodeGen/SafeStack.cpp')
0 files changed, 0 insertions, 0 deletions