Keep original source path and mapped path in LineEntry

Summary:
The "file" variable in a LineEntry was mapped using target.source-map, except when stepping through inlined code. This patch adds a new variable to LineEntry, "original_file", that contains the original file from the debug info. "file" will continue to (possibly) be mapped.

Some code has been changed to use "original_file". This is code dealing with symbols. Code dealing with source files will still use "file". Reviewers, please confirm that these particular changes are correct.

Tests run on Ubuntu 12.04 show no regression.

Reviewers: clayborg, jingham

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D20135

llvm-svn: 269250
This commit is contained in:
Ted Woodward
2016-05-11 22:46:53 +00:00
parent 8c4136b0d8
commit 911d57840a
10 changed files with 57 additions and 33 deletions

View File

@@ -490,14 +490,7 @@ StackFrame::GetSymbolContext (uint32_t resolve_scope)
if ((resolved & eSymbolContextLineEntry) && !m_sc.line_entry.IsValid())
{
m_sc.line_entry = sc.line_entry;
if (m_sc.target_sp)
{
// Be sure to apply and file remappings to our file and line
// entries when handing out a line entry
FileSpec new_file_spec;
if (m_sc.target_sp->GetSourcePathMap().FindFile (m_sc.line_entry.file, new_file_spec))
m_sc.line_entry.file = new_file_spec;
}
m_sc.line_entry.ApplyFileMappings(m_sc.target_sp);
}
}
}