| 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
|
|
|
|
|
|
|
|
|
|
|
| |
utils/sort_includes.py.
I clearly haven't done this in a while, so more changed than usual. This
even uncovered a missing include from the InstrProf library that I've
added. No functionality changed here, just mechanical cleanup of the
include order.
llvm-svn: 225974
|
|
|
|
|
|
|
|
|
|
| |
The color scheme is the same as the one used by the colorize dwarfdump
script on Darwin.
A new --color option can be used to forcibly turn color on or off.
http://reviews.llvm.org/D6852
llvm-svn: 225269
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently FormValues are only used for attributes of DIEs and thus
uers always have a CU lying around when calling into the FormValue
API.
Accelerator tables encode their information using the same Forms
as the attributes, thus it is natural to use DWARFFormValue to
extract/dump them. There is no CU in that case though. Allow the
API to be called with a null CU arguemnt by making the RelocMap
lookup conditional on the CU pointer validity. And document this
new behvior in the header. (Test coverage for this use of the API
comes in the DwarfAccelTable support patch)
llvm-svn: 221835
|
|
|
|
| |
llvm-svn: 221834
|
|
|
|
|
|
| |
Looks like one can't put 'const uint8_t' as ArrayRef contained type. It fails to build with libstdc++.
llvm-svn: 217132
|
|
|
|
|
|
|
|
| |
an unsigned constant.
To be used in further patches that improve the dumpers.
llvm-svn: 217129
|
|
|
|
|
|
| |
instead of comparing to nullptr.
llvm-svn: 206252
|
|
|
|
|
|
| |
Based on D2050 by Timur Iskhodzhanov.
llvm-svn: 193619
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
MSVC can't comprehend
template<typename T, size_t N>
ArrayRef<T> makeArrayRef(const T (&Arr)[N]) {
return ArrayRef<T>(Arr);
}
if Arr is
static const uint8_t sizes[];
declared in a templated and defined a few lines later.
I'll send a proper fix (i.e. get rid of unnecessary templates) for review soon.
llvm-svn: 193604
|
|
|
|
| |
llvm-svn: 193576
|
|
|
|
|
|
| |
error: conversion from `const uint8_t*' to non-scalar type `llvm::ArrayRef<unsigned char>' requested
llvm-svn: 193575
|
|
|
|
|
|
| |
DWARFDIE::extractFast() interface. No functionality change.
llvm-svn: 193560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Use DWARF4 table of form classes to fetch attributes from DIE
in a more consistent way. This shouldn't change the functionality and
serves as a refactoring for upcoming change: DW_AT_high_pc has different
semantics depending on its form class.
Reviewers: dblaikie, echristo
Reviewed By: echristo
CC: echristo, llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1961
llvm-svn: 193553
|
|
|
|
|
|
| |
functionality change.
llvm-svn: 192954
|
|
|
|
| |
llvm-svn: 192952
|
|
|
|
|
|
| |
coming DWARFTypeUnit.
llvm-svn: 191233
|
|
|
|
| |
llvm-svn: 191179
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
1) Make llvm-symbolizer properly symbolize
files with split debug info (by using stanalone .dwo files).
2) Make DWARFCompileUnit parse and store corresponding .dwo file,
if necessary.
3) Make bits of DWARF parsing more CompileUnit-oriented.
Reviewers: echristo
Reviewed By: echristo
CC: bkramer, llvm-commits
Differential Revision: http://llvm-reviews.chandlerc.com/D1164
llvm-svn: 189329
|
|
|
|
|
|
|
|
|
| |
This is a basic implementation - we still don't have any support (that I
know of) for dumping DWARF expressions in a meaningful way, so the
location information itself is just printed as a sequence of bytes as we
do elsewhere.
llvm-svn: 184361
|
|
|
|
| |
llvm-svn: 182901
|
|
|
|
| |
llvm-svn: 180013
|
|
|
|
|
|
|
| |
Moves one DWARF-specific header to include/llvm/DebugInfo from lib/.
Add a short unittest for r179095.
llvm-svn: 179678
|
|
|
|
|
|
| |
expose it in the header file.
llvm-svn: 179272
|
|
|
|
|
|
| |
same as DW_FORM_addr in DWARF2, and is 4/8 bytes on 32/64-bit DWARF starting from DWARF3. Adding a test for this is a huge pain - generating and uploading pre-built binary with DWARF3 debug info is way too ugly, and writing fine-grained unittests for DebugInfo is impossible, as it doesn't expose any headers in include/llvm. That said, I'm going to choose the second approach and submit the patch exposing DebugInfo headers for review soon enough.
llvm-svn: 179095
|
|
|
|
|
|
|
|
|
| |
a relocation across sections. Do this for DW_AT_stmt list in the
skeleton CU and check the relocations in the debug_info section.
Add a FIXME for multiple CUs.
llvm-svn: 178969
|
|
|
|
|
|
|
|
|
| |
changing both the string of the dwo_name to be correct and the type of
the statement list.
Testcases all around.
llvm-svn: 172699
|
|
|
|
|
|
|
| |
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.
llvm-svn: 172698
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
using the DW_FORM_GNU_addr_index and a separate .debug_addr section which
stays in the executable and is fully linked.
Sneak in two other small changes:
a) Print out the debug_str_offsets.dwo section.
b) Change form we're expecting the entries in the debug_str_offsets.dwo
section to take from ULEB128 to U32.
Add tests for all of this in the fission-cu.ll test.
llvm-svn: 172578
|
|
|
|
| |
llvm-svn: 171804
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
proposal. This leaves the strings in the skeleton die as strp,
but in all dwo files they're accessed now via DW_FORM_GNU_str_index.
Add support for dumping these sections and modify the fission-cu.ll
testcase to have the correct strings and form. Fix a small bug
in the fixed form sizes routine that involved out of array accesses
for the table and add a FIXME in the extractFast routine to fix
this up.
llvm-svn: 171779
|
|
|
|
|
|
|
|
|
|
|
|
| |
sections for debug info. These are some of the dwo sections from the
DWARF5 split debug info proposal. Update the fission-cu.ll testcase
to show what we should be able to dump more of now.
Work in progress: Ultimately the relocations will be gone for the
dwo section and the strings will be a different form (as well as
the rest of the sections will be included).
llvm-svn: 171428
|
|
|
|
|
|
|
|
| |
information doesn't return an addend for Rel relocations. Go ahead
and use this information to fix relocation handling inside dwarfdump
for 32-bit ELF REL.
llvm-svn: 171126
|
|
|
|
| |
llvm-svn: 168223
|
|
|
|
| |
llvm-svn: 167757
|
|
|
|
|
|
| |
DIContext. This is needed to prevent crashes because of dangling reference if the clients don't provide RelocMap to DIContext constructor.
llvm-svn: 167728
|
|
|
|
|
|
|
| |
values in a map that can be passed to consumers. Add a testcase that
ensures this works for llvm-dwarfdump.
llvm-svn: 167558
|
|
|
|
| |
llvm-svn: 163258
|
|
|
|
|
| |
TODO: Fix code duplication and coding style.
llvm-svn: 162525
|
|
|
|
|
|
| |
Still not fixed in the standard ;)
llvm-svn: 154044
|
|
|
|
|
|
| |
match the types.
llvm-svn: 143814
|
|
|
|
| |
llvm-svn: 143799
|
|
|
|
| |
llvm-svn: 139799
|
|
|
|
| |
llvm-svn: 139774
|
|
|
|
| |
llvm-svn: 139646
|
|
This introduces a new library to LLVM: libDebugInfo. It will provide debug information
parsing to LLVM. Much of the design and some of the code is taken from the LLDB project.
It also contains an llvm-dwarfdump tool that can dump the abbrevs and DIEs from an
object file. It can be used to write tests for DWARF input and output easily.
llvm-svn: 139627
|