| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In preparation for adding PDB support to LLVM, this moves the
DWARF parsing code to its own subdirectory under DebugInfo, and
renames LLVMDebugInfo to LLVMDebugInfoDWARF.
This is purely a mechanical / build system change.
Differential Revision: http://reviews.llvm.org/D7269
Reviewed by: Eric Christopher
llvm-svn: 227586
|
|
|
|
|
|
|
|
|
|
| |
dsymutil needs access to DWARF specific inforamtion, the small DIContext
wrapper isn't sufficient. Other DWARF consumers might want to use it too
(I'm looking at you lldb).
Differential Revision: http://reviews.llvm.org/D6694
llvm-svn: 224594
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getFileLineInfoForCompileUnit() into full-blowm DWARFDebugLine::LineTable methods.
Summary:
getFileNameForUnit() is basically a wrapper around LineTable::getFileNameByIndex().
Fold its additional functionality (adding the DWARFUnit compilation dir) into
LineTable::getFileNameByIndex().
getFileLineInfoForCompileUnit() is a wrapper around getFileNameForUnit(). As
a function to search the line information by address, it seems natural to put
it in the LineTable also.
Before this commit only the Context with its private helpers could do Linetable
lookups. This newly exposed feature will be used by the DIE dumping code to
get access to file information referenced in DIE attributes.
This commit has already been partly reviewed in D5192 and contained an
additional and a bit controversial 'realpath' call that is left out of this
patch. We can reinstate that realpath code later if it is desirable.
Test Plan:
The patch contains no tests as it should be functionally equivalent to the
previous code. As requested in the last review, I checked if the relative
path handling copied from the Context to LineTable::getFileNameByIndex()
was covered, and indeed the symbolizer tests fail if it is removed.
Reviewers: dblaikie, echristo, aprantl, samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5354
llvm-svn: 218125
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is more appropriate than the current situation, when one flag
(AbsoluteFilePath) is relevant only if another flag is set.
This refactoring would also simplify fetching the short function name
(stored in DW_AT_name) instead of a linkage name returned currently.
No functionality change.
llvm-svn: 208921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Streamline parsing and dumping line tables:
Prefer composition to multiple inheritance in DWARFDebugLine::ParsingState.
Get rid of the weird concept of "DumpingState" structure.
was:
DWARFDebugLine::DumpingState state(OS);
DWARFDebugLine::parseStatementTable(..., state);
now:
DWARFDebugLine::LineTable LineTable;
LineTable.parse(...);
LineTable.dump(OS);
No functionality change.
llvm-svn: 207599
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move several function definitions into .cpp, unify constructors
and clear() methods (fixing a couple of latent bugs from copy-paste),
turn static function parsePrologue() into Prologue::parse().
More work needed here to untangle weird multiple inheritance
in table parsing and dumping.
No functionality change.
llvm-svn: 207579
|
|
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206252
|
|
|
|
| |
llvm-svn: 203766
|
|
|
|
|
|
| |
units under fission.
llvm-svn: 202091
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This adds support for emitting DWARF path discriminator values in
the object streamer. It also changes the DWARF dumper to show
discriminator values in the line table output.
Reviewers: echristo
CC: llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D2794
llvm-svn: 201427
|
|
|
|
|
|
| |
(From LLDB r192897)
llvm-svn: 192968
|
|
|
|
| |
llvm-svn: 173552
|
|
|
|
|
|
| |
function allows a caller to obtain a table of line information for a function using the function's address and size.
llvm-svn: 173537
|
|
|
|
|
|
| |
and, in the case of ELF files, using symbol addresses when available for relocations to the .debug_info section. Also extending the llvm-rtdyld tool to add the ability to dump line number information for testing purposes.
llvm-svn: 173517
|
|
|
|
|
|
|
|
| |
code and allow better code reuse. Make the code a bit more conforming
to LLVM code style.
No functionality change.
llvm-svn: 162895
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and "instruction address -> file/line" lookup.
Instead of plain collection of rows, debug line table for compilation unit is now
treated as the number of row ranges, describing sequences (series of contiguous machine
instructions). The sequences are not always listed in the order of increasing
address, so previously used std::lower_bound() sometimes produced wrong results.
Now the instruction address lookup consists of two stages: finding the correct
sequence, and searching for address in range of rows for this sequence.
llvm-svn: 161414
|
|
|
|
|
|
| |
match the types.
llvm-svn: 143814
|
|
|
|
| |
llvm-svn: 143799
|
|
|
|
| |
llvm-svn: 141484
|
|
|
|
| |
llvm-svn: 141483
|
|
|
|
| |
llvm-svn: 140260
|
|
|
|
|
|
| |
unnecessary lookup.
llvm-svn: 139859
|
|
|
|
|
|
| |
DIContext that provides line information when given an address.
llvm-svn: 139836
|
|
|
|
|
|
|
|
| |
this can't possibly work.
The address size is specified by the compile unit associated with a line table, there is no global address size.
llvm-svn: 139835
|
|
|
|
| |
llvm-svn: 139776
|
|
|
|
| |
llvm-svn: 139775
|
|
|
|
| |
llvm-svn: 139773
|
|
The llvm-dwarfdump output isn't very verbose yet.
llvm-svn: 139771
|