[all-commits] [llvm/llvm-project] 03e29e: [lldb/DWARF] Reland: Use DW_AT_call_pc to determin...
Vedant Kumar via All-commits
all-commits at lists.llvm.org
Tue Mar 24 12:54:47 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 03e29e2c19a8e1f6a225b1878df3eed4e54891e5
https://github.com/llvm/llvm-project/commit/03e29e2c19a8e1f6a225b1878df3eed4e54891e5
Author: Vedant Kumar <vsk at apple.com>
Date: 2020-03-24 (Tue, 24 Mar 2020)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/test/API/functionalities/tail_call_frames/unambiguous_sequence/main.cpp
Log Message:
-----------
[lldb/DWARF] Reland: Use DW_AT_call_pc to determine artificial frame address
Reland with changes: the test modified in this change originally failed
on a Debian/x86_64 builder, and I suspect the cause was that lldb looked
up the line location for an artificial frame by subtracting 1 from the
frame's address. For artificial frames, the subtraction must not happen
because the address is already exact.
---
lldb currently guesses the address to use when creating an artificial
frame (i.e., a frame constructed by determining the sequence of (tail)
calls which must have happened).
Guessing the address creates problems -- use the actual address provided
by the DW_AT_call_pc attribute instead.
Depends on D76336.
rdar://60307600
Differential Revision: https://reviews.llvm.org/D76337
More information about the All-commits
mailing list