• Home
  • History
  • Annotate
  • only in /external/llvm/lib/DebugInfo/
History log of /external/llvm/lib/DebugInfo/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
WARFContext.cpp
WARFDebugAranges.cpp
WARFDebugAranges.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFUnit.cpp
075c621d834af7ffc32d2067fadb147cc1758b99 02-Jun-2014 Chris Wailes <chriswailes@google.com> Adds the ability to run the llvm test suite in-tree.

This was accomplished by building additional tools and hand-generating
several files that are auto-generated by the configuration system when
LLVM is built out-of-tree. The LTO, Interpreter, and DebugInfo libraries
are now being compiled, and several source files were added to existing
compilation targets.

To run these tests you must first run build/envsetup.sh and have used
lunch to select a target. You can then launch the test script by running:

cd $ANDROID_BUILD_TOP/external/llvm && ./android_test.sh

Bug: 15433215

Change-Id: I43d87de0a4620cdd46c8d0f825dd4428e8409702
ndroid.mk
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugAbbrev.cpp
WARFDebugAbbrev.h
WARFDebugArangeSet.h
WARFDebugAranges.cpp
WARFDebugAranges.h
WARFDebugFrame.cpp
WARFDebugFrame.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFDebugLine.cpp
WARFDebugLine.h
WARFDebugRangeList.cpp
WARFDebugRangeList.h
WARFFormValue.cpp
WARFTypeUnit.h
WARFUnit.cpp
WARFUnit.h
odule.modulemap
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
WARFAbbreviationDeclaration.cpp
WARFAbbreviationDeclaration.h
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugAbbrev.cpp
WARFDebugArangeSet.cpp
WARFDebugArangeSet.h
WARFDebugAranges.cpp
WARFDebugFrame.cpp
WARFDebugFrame.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFDebugLine.cpp
WARFDebugLine.h
WARFDebugLoc.cpp
WARFDebugLoc.h
WARFDebugRangeList.cpp
WARFTypeUnit.h
WARFUnit.cpp
WARFUnit.h
2e110c3fa62bce0182c1635964f5e09e34e3cbb5 01-Nov-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Make pubnames header printing similar to unit header printing

In a failed attempt to allow the gnu-public-names.ll test case to not
hardcode the size of the unit that the pubnames section referred to I've
at least managed to have unit headers and pubnames headers print out in
a similar style.

This failed to achieve the desired goal because the header in a unit
specifies the length of the unit without the length element of the
header whereas the length in the pubnames includes this element, so the
numbers are off by 4 bytes. I don't know of any arithmetic powers in
FileCheck so the test case can't simply say "CU_LENGTH + 4".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193872 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
9e189f12e6779dd6e7918f8b20f6ace4f9838dd7 31-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARFDebugArangeSet: remove dead code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193785 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
WARFDebugArangeSet.h
7d82b4284984143a093b793d0979a6bee4490332 31-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARFUnit: kill dead code and make a couple of functions private. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193780 91177308-0d34-0410-b5e6-96231b3b80d8
WARFUnit.cpp
WARFUnit.h
bc5e25ddef214e8bebf04bd7abeffade2f21dc4e 31-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARFAbbreviationDeclaration: remove dead code, refactor parsing code and make it more robust. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193770 91177308-0d34-0410-b5e6-96231b3b80d8
WARFAbbreviationDeclaration.cpp
WARFAbbreviationDeclaration.h
WARFAttribute.h
636a5cb8ded0d6ab7051cbde98953039ef80a6bb 29-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARF parser: propery handle DW_FORM_ref_sig8 and fix Windows build.

Based on D2050 by Timur Iskhodzhanov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193619 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
45d2e6492c48d41267f2d7576028422554c9875e 29-Oct-2013 Timur Iskhodzhanov <timurrrr@google.com> Quick-fix DebugInfo build on Windows

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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193604 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
8fea6c8315d12df811422acedc1017584b3ef2e5 29-Oct-2013 Richard Smith <richard-llvm@metafoo.co.uk> Clean up.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193576 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
f5f0b2051678814e0aa06880c889ce35458bada0 29-Oct-2013 NAKAMURA Takumi <geek4civic@gmail.com> DWARFFormValue.cpp: Appease gcc to give explicit constructors.

error: conversion from `const uint8_t*' to non-scalar type `llvm::ArrayRef<unsigned char>' requested

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193575 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
39f62fa3dd1f683288e67ba58bef785b2dcaa98c 29-Oct-2013 Alexey Samsonov <samsonov@google.com> Merge DWARFDIE::extractFast and DWARFDIE::extract into one function.

Complicated CU-DIE-specific logic in the latter was never used,
and it makes sense to have safety checks for broken dwarf in the former.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193563 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
6faff4886a3059a8cda08f015d29a6c9a0a4de3c 29-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARF parser: Use ArrayRef to represent form sizes and simplify DWARFDIE::extractFast() interface. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193560 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
WARFUnit.cpp
d2d54e2b7c8a427cf1f4684bee335c4bedc5a99b 29-Oct-2013 Alexey Samsonov <samsonov@google.com> DWARF parser: since DWARF4, DW_AT_high_pc may be a constant representing function size

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193555 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
c5253237f8b3b4eb888f7f85f39acd7d4d0f57cf 29-Oct-2013 Alexey Samsonov <samsonov@google.com> DebugInfo: Introduce the notion of "form classes"

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193553 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
WARFUnit.cpp
e1bc6ddc0bf671826a9b7230e321a42af75734f2 18-Oct-2013 Ed Maste <emaste@freebsd.org> Correct log message typo: ended ad -> ended at

(From LLDB r192897)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192968 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
8d433bd458b37327e2fa979a3234762f206b3467 18-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Remove unneeded struct member and hide struct definition. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192954 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
71f6d6ee1a42a39b897f165802716baaad91e21b 18-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Remove dead code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192952 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
2e56d575b7ea507684935d5cd6d5aee96d72ceb4 17-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Delete dead code, simplify and fix code style for some existing code. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192894 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
3db24f52c5c0404529b627688106e0fd11a64400 02-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Further simplify DWARFDebugAranges public interface

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191813 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugAranges.cpp
WARFDebugAranges.h
041f7c8d65a653701cb9ed464911cd44b19ab47e 01-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Simplify and speedup .debug_aranges parsing

Parsing .debug_aranges section now takes O(nlogn) operations instead
of O(n^2), where "n" is the number of address ranges. With this change,
the time required to symbolize an address from a random large
Clang-generated binary drops from 165 seconds to 1.5 seconds.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191781 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAranges.cpp
17f7d099e4a381a3876ce1e9412f0b0d76d71e8a 01-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Further simplify DWARFDebugAranges. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191779 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAranges.cpp
WARFDebugAranges.h
d1fc0f8d4ef32b4302338b8a3fd0d976e5bd8ae3 01-Oct-2013 Alexey Samsonov <samsonov@google.com> [DebugInfo] Remove unused functions from DWARFDebugAranges and fix code style.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191778 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAranges.cpp
WARFDebugAranges.h
1fe49e68baf567a689312eaf5973e017b8d2fdd5 29-Sep-2013 Benjamin Kramer <benny.kra@googlemail.com> Deallocate type units when destroying a DWARFContext.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191637 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
5972df2696354b328b519bedc07d1c253648cf0e 28-Sep-2013 Eric Christopher <echristo@gmail.com> Rework conditional for printing out pub sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191571 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
7357f03e888e7d95066ca1bbb26994c278eb465c 26-Sep-2013 Eric Christopher <echristo@gmail.com> Dump the normal dwarf pubtypes section as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191408 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
c839df0e4cbc3329ae9f03ca4db5893ea9b2c7bd 26-Sep-2013 Eric Christopher <echristo@gmail.com> Unify pubsection/gnu pubsection printing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191407 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
f8809477befa3df882540a870b05a85a82d5b86c 25-Sep-2013 Eric Christopher <echristo@gmail.com> Slight formatting change for pubnames/pubtypes output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191401 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
0c5e6c673098f91fa9d90a15efaadfc767325897 24-Sep-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump: add missing opening quotation mark lost in r191330

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191333 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
d374c7b3bf49a62a722b52367f122ca7fd53ab08 24-Sep-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump: re-add field formatting for the entry kind lost in r191329

CR feedback from Eric Christopher

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191330 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
9ddf28d501144276fb47ce2e5f48f2497d9898d5 24-Sep-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump support for gnu_pubtypes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191329 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
e1e8fe1f2ff38a16a63a3b29b97c31fdd162f696 24-Sep-2013 NAKAMURA Takumi <geek4civic@gmail.com> DWARFTypeUnit::dump(): Use PRIx64 to format uint64_t.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191266 91177308-0d34-0410-b5e6-96231b3b80d8
WARFTypeUnit.cpp
56b62c0ea29d2579a982c620eddaaf432904c079 24-Sep-2013 Eric Christopher <echristo@gmail.com> Format the index entry kind string to align.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191255 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
75331656124ddfdc7829b4dd430083e140bd8549 24-Sep-2013 David Blaikie <dblaikie@gmail.com> Comments for r191234 as suggested by Eric Christopher.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191244 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
262f548b09b9208a067814c612859410f82d2273 24-Sep-2013 David Blaikie <dblaikie@gmail.com> Unbreak the build (from r191233)since we're calling printf.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191238 91177308-0d34-0410-b5e6-96231b3b80d8
WARFUnit.cpp
438f5391b2d502a132a4a20469e9e56305b221a4 24-Sep-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump/libDebugInfo support for type units

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191234 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
WARFContext.cpp
WARFContext.h
WARFTypeUnit.cpp
WARFTypeUnit.h
cd7c4980d4ee2d22d92a4907f2d029e67b52d732 24-Sep-2013 David Blaikie <dblaikie@gmail.com> Exract most of DWARFCompileUnit into a new DWARFUnit to prepare for the coming DWARFTypeUnit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191233 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
WARFUnit.cpp
WARFUnit.h
9528b0e466ace36268abe9d011fffc67d831088c 23-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: Wrap section data and relocs together for dwarf dumping support

This is a small step that may enable some simplifications in producer
(DWARFContext) and consumer (DWARFCompileUnit and other places) by
making a more complete abstraction around the data and relocations for a
section. Small initial steps could include simple changes such as
passing the pair to DWARFCompileUnit's ctor rather than passing the data
and relocs separately. I don't intend to pursue any such changes
immediately, however.

The motivation for doing this now is that type unit dumping will need to
deal with these data+reloc pairs moreso than the existing dumping
support has needed to associate the data as type unit sections are named
the same (debug_types) and comdat group folded. So to implement dumping
and reloc handling we'll need a mapping of section->data+relocs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191209 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
e7174f183280fa4e3288f48ae01b5190f0011d48 22-Sep-2013 David Blaikie <dblaikie@gmail.com> Remove dead code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191179 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
eaad5cdc2a3ac1f8813e9ee72c58428fd5e8bc33 22-Sep-2013 David Blaikie <dblaikie@gmail.com> StringRef-ize some things

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191178 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
c87f9488b851335fc92b48e9a15ee98df29b0def 20-Sep-2013 Richard Smith <richard-llvm@metafoo.co.uk> Revert r191062; the build break was also fixed in a different (incompatible) way in r191060.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191065 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
dbf76421109b5a60f988f30f47f035bda6147c46 20-Sep-2013 Richard Smith <richard-llvm@metafoo.co.uk> Unbreak Clang build after r191050: don't pass a StringRef to snprintf.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191062 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
5cfcb3677ade67e563f2746bce67904a9c0d842b 20-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: constrain gnu pubnames test further

Ensures that the pubnames entries actually refer to the intended
entities. This test could be more flexible if there was a way to do
multiline FileCheck matches with captures (in that way the test wouldn't
need to have hardcoded offset values and would thus be resilient to
changes in the layout of the DIEs in this CU).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191055 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
994c37fcb001bc5a53bf2c676009b327b882d765 20-Sep-2013 David Blaikie <dblaikie@gmail.com> DebugInfo: llvm-dwarfdump support for gnu_pubnames section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191050 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
63fd2af3892a81026f40374d08b5124e72ccff4e 27-Aug-2013 Alexey Samsonov <samsonov@google.com> Add support for DebugFission to DWARF parser

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189329 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFDebugAranges.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
eb0c179b5688177c1ab5f52a8c0338459e97606e 23-Aug-2013 Alexey Samsonov <samsonov@google.com> Make DWARFCompileUnit non-copyable

Summary:
This is a part of D1164. DWARFCompileUnit is not that lightweight
to copy it around, and we want it to own corresponding .dwo compile unit
eventually.

Reviewers: echristo

Reviewed By: echristo

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1298

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189089 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
a9b697975592b204e86496efc62a8b26fbfa1a03 19-Aug-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump: Do not include address offsets for attributes, only for tags

This reduces the noise in diffs making it more likely that, at least for
LLVM revision-over-revision, diffs will actually yield usable results.

This is consistent with objdump's DWARF dumping behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188650 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
e664290ad6d988e0ae40f2461084f6adbababa47 06-Aug-2013 Alexey Samsonov <samsonov@google.com> Store compile unit corresponding to each chain of inlined debug info entries. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187792 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
749d35c593eb3238c5dcb7284f1e3aee60d57b9e 06-Aug-2013 Alexey Samsonov <samsonov@google.com> Add LLVM-style RTTI to DIContext/DWARFContext classes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187790 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.h
99c22aaeed3d519c0ec958c77aa35aad2e3b0ae9 06-Aug-2013 Eric Christopher <echristo@gmail.com> Allow 4 as a valid debug info version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187763 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.h
40d8c69c596e3aa5c2679014f07bb065ced2cb3b 15-Jul-2013 Alexey Samsonov <samsonov@google.com> DebugInfo: Factor out parsing compile unit DIEs to a separate function. Improve code style and comments.

No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186315 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
0812304ad8c8eded9785acff3194e3f5058e5dbf 19-Jun-2013 David Blaikie <dblaikie@gmail.com> Spell correct (s/begining/beginning/)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184362 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLoc.cpp
3df7d2f70bb316ebeec8a8c862b3da5386fbb145 19-Jun-2013 David Blaikie <dblaikie@gmail.com> llvm-dwarfdump: Add support for dumping the .debug_loc section

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184361 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
WARFContext.cpp
WARFContext.h
WARFDebugLoc.cpp
WARFDebugLoc.h
WARFFormValue.cpp
6c1202c459ffa6d693ad92fa84e43902bc780bca 05-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Handle relocations that don't point to symbols.

In ELF (as in MachO), not all relocations point to symbols. Represent this
properly by using a symbol_iterator instead of a SymbolRef. Update llvm-readobj
ELF's dumper to handle relocatios without symbols.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183284 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
7486d92a6c949a193bb75c0ffa0170eeb2fabb80 30-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Change how we iterate over relocations on ELF.

For COFF and MachO, sections semantically have relocations that apply to them.
That is not the case on ELF.

In relocatable objects (.o), a section with relocations in ELF has offsets to
another section where the relocations should be applied.

In dynamic objects and executables, relocations don't have an offset, they have
a virtual address. The section sh_info may or may not point to another section,
but that is not actually used for resolving the relocations.

This patch exposes that in the ObjectFile API. It has the following advantages:

* Most (all?) clients can handle this more efficiently. They will normally walk
all relocations, so doing an effort to iterate in a particular order doesn't
save time.

* llvm-readobj now prints relocations in the same way the native readelf does.

* probably most important, relocations that don't point to any section are now
visible. This is the case of relocations in the rela.dyn section. See the
updated relocation-executable.test for example.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182908 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
86a0f19e310dba555c97fa6878a33002e4d49a24 30-May-2013 Eric Christopher <echristo@gmail.com> Reformat comments here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182901 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
6ce62dc1d05cb97c048d0e248781c959cbffdd8b 09-May-2013 Benjamin Kramer <benny.kra@googlemail.com> libDebugInfo depends on libObject nowadays.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181510 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
e305e03d6f71f70a7102f15ac5ff6fd93cf9e818 06-May-2013 Eric Christopher <echristo@gmail.com> Hoist boundary condition out of loop header.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181248 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
5a0c366b1f0112de7d55346ab75e4aa7073a6a19 06-May-2013 Eric Christopher <echristo@gmail.com> Untabify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181247 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
93f3fed999e039988deca64d19cbf122d46cdd59 06-May-2013 Eric Christopher <echristo@gmail.com> Don't emit .dwo sections unless they exist.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181224 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
956ca7265c697107708468b7e1b2fd21f4185bae 25-Apr-2013 Rafael Espindola <rafael.espindola@gmail.com> Clarify getRelocationAddress x getRelocationOffset a bit.

getRelocationAddress is for dynamic libraries and executables,
getRelocationOffset for relocatable objects.

Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a
test of ELF's. llvm-readobj -r now prints the same values as readelf -r.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180259 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
005159e92420a102516ee6e29ef2178c818da5d0 23-Apr-2013 Alexey Samsonov <samsonov@google.com> Use zlib to uncompress debug sections in DWARF parser.

This makes llvm-dwarfdump and llvm-symbolizer understand
debug info sections compressed by ld.gold linker.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180088 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
f38bc31b0d37605e70f350d7862cfac5727efe49 22-Apr-2013 Eric Christopher <echristo@gmail.com> Remove variable store that is never read.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180013 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
784baa6f4440beac54881673ecc7baa88f8b94dd 17-Apr-2013 Alexey Samsonov <samsonov@google.com> Use StringSwitch instead of long chain of if-else. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179682 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
cd61455798777446f35723fdb77f54a17e602009 17-Apr-2013 Alexey Samsonov <samsonov@google.com> Create a stub for DWARF parser unittests

Moves one DWARF-specific header to include/llvm/DebugInfo from lib/.
Add a short unittest for r179095.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179678 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
WARFFormValue.h
acc897a5e1bd7320da5aab728b9e0c39552f3816 11-Apr-2013 Benjamin Kramer <benny.kra@googlemail.com> Rename the C function to create a SLPVectorizerPass to something sane and expose it in the header file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179272 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
32a3e78304a94ea214aee5fe82b10dd110e8863a 09-Apr-2013 Alexey Samsonov <samsonov@google.com> DWARF parser: Fix DWARF-2/3 incompatibility: size of DW_FORM_ref_addr is the 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179095 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFFormValue.cpp
WARFFormValue.h
d6b89ef0fa17cf77677358a797934fa061564f5b 08-Apr-2013 Alexey Samsonov <samsonov@google.com> DWARF parser: remove duplicated code and fix code style in DIE extractors.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179023 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
9a9e73b47d139ecb6bfc3c934352ab7c7ee9af44 07-Apr-2013 Eric Christopher <echristo@gmail.com> DW_FORM_sec_offset should be a relocation on platforms that use
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178969 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
26c417bb588a3e5f9957cf5ba2a034b92513ec15 21-Mar-2013 Matt Arsenault <Matthew.Arsenault@amd.com> Fix missing std::. Not sure how this compiles for anyone else.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177620 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAranges.cpp
7b1bea3ccbf2d1cff66d4287e0cb7bc045802d31 20-Mar-2013 Rafael Espindola <rafael.espindola@gmail.com> xlC doesn't like Header being both a type and a member variable. Rename the
member variable.

Patch by Kai <kai@redstar.de>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@177575 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
WARFDebugArangeSet.h
46e0d1d58c9c1f288cbf943e4c930efd1a2968af 22-Feb-2013 Eli Bendersky <eliben@google.com> Code cleanup: pass Offset by pointer to parseInstruction to more explicitly
convey that it's a INOUT argument.
Also, if parsing of entry instructions fails, don't push the entry.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175847 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
7bf3d6a0438485df61c438f26cfbaef2f8d8a3c4 21-Feb-2013 Eli Bendersky <eliben@google.com> Previously, parsing capability of the .debug_frame section was added
to lib/DebugInfo, with dumping in llvm-dwarfdump. This patch adds
initial ability to parse and dump CFA instructions contained in
entries.

To keep it manageable, the patch omits some more advanced capabilities
(accounted in TODOs):

* Parsing of instructions with BLOCK arguments (expression lists)
* Dumping of actual instruction arguments (currently only names are
dumped). This is quite tricky since the dumper has to effectively
"interpret" the instructions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175820 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
74b3c8da4800c7e8ba8f019879db29738ecc5f74 15-Feb-2013 Benjamin Kramer <benny.kra@googlemail.com> Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175264 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
e38825f490b898644089d5cd9cb90cec681bded8 12-Feb-2013 Krzysztof Parzyszek <kparzysz@codeaurora.org> Add support for the pubnames section to llvm-dwarfdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174976 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
0b821eff4c9c8d3b7ac872691bc453337ad3d03a 08-Feb-2013 David Tweed <david.tweed@arm.com> The patch to fix some issues in r174543 fixed the lines failing the test, but missed a couple
of lines which weren't being explicitly looked at and were printing incorrect results. These
values clearly must lie within 32 bits, so the casts are definitely safe.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174717 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
d9a8d43ed3e7c6c32f52ab5d0f627f7b1cdb6aac 07-Feb-2013 NAKAMURA Takumi <geek4civic@gmail.com> FDE::dumpHeader(): Forgot to fix one more formatting, ... take two!

Excuse me, I could not test it locally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174614 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
8ff0631967c64d51b193b862aa0a6f1e8eb06f78 07-Feb-2013 NAKAMURA Takumi <geek4civic@gmail.com> FDE::dumpHeader(): Forgot to fix one more formatting. It affected bigendian hosts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174602 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
90e01ac0ea5bdc6dd6bccd9c59c3acb04e339666 07-Feb-2013 NAKAMURA Takumi <geek4civic@gmail.com> DWARFDebugFrame.cpp: Fix formatting on i686 hosts.

FIXME: Are they really truncated to i32 from i64 unconditionally?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174574 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
2e402d5b5f2fce8bfe29509cc771b9919946003b 06-Feb-2013 Eli Bendersky <eliben@google.com> Add some comments to new frame entries


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174515 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
b2ac7c09b17efadea2a9f90f45801d9d2ee687aa 06-Feb-2013 Eli Bendersky <eliben@google.com> Failing builds because a private class member is not being used after
initialization is one of the reasons I consider -werror to be shoddy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174485 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
8a0329e6ffc290fb177fd058a64b4cf81d4b620a 06-Feb-2013 Eli Bendersky <eliben@google.com> Add virtual desctructor to FrameEntry to avoid error on delete-non-virtual-dtor


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174483 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
ba42625074aa7f4f1324a5d6666bd0e302b57f2b 06-Feb-2013 Eli Bendersky <eliben@google.com> Fix some formatting & add comments, following Eric's review


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174473 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugFrame.cpp
7743232775d2fe12f3152fe955218dc1fc97a497 06-Feb-2013 Eli Bendersky <eliben@google.com> Add missing file to CMake list


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174465 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
60bdc5b16e2fc17be184b515a00c2e2a2eb40b89 06-Feb-2013 Eli Bendersky <eliben@google.com> Initial support for DWARF CFI parsing and dumping in LLVM


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174463 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
WARFDebugFrame.cpp
WARFDebugFrame.h
8090a24bd6369662dfcd9d9df21b9c122238ed10 26-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> DWARFDebugLine.cpp: Fix true path. Did you forget "return true" here?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173552 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
e27a787760ea7c2899da3287002fe8ba316df0d0 26-Jan-2013 Andrew Kaylor <andrew.kaylor@intel.com> Add DIContext::getLineInfoForAddressRange() function and test. This function allows a caller to obtain a table of line information for a function using the function's address and size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173537 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
WARFDebugLine.h
f777d09f375c1206cd0cea649bd0b2c04d668bfa 25-Jan-2013 Nadav Rotem <nrotem@apple.com> Fix a warning in the new DWARFheader. Add a new line at the end of the file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173518 91177308-0d34-0410-b5e6-96231b3b80d8
WARFRelocMap.h
ee7c0d2f931590ccdc53a14b1839e11bb29fc96e 25-Jan-2013 Andrew Kaylor <andrew.kaylor@intel.com> Add support for applying in-memory relocations to the .debug_line section 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173517 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
WARFDebugLine.h
WARFRelocMap.h
939a4e8b693820d161f362317f7dba9057e66cc7 25-Jan-2013 Eli Bendersky <eliben@google.com> Add command-line flags for DWARF dumping.

Flags for dumping specific DWARF sections added in lib/DebugInfo and
llvm-dwarfdump.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173480 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
446b88fb81e14f5fa6f98ca924c83edc856cade7 17-Jan-2013 Eric Christopher <echristo@gmail.com> Fix the assembly and dissassembly of DW_FORM_sec_offset. Found this by
changing both the string of the dwo_name to be correct and the type of
the statement list.

Testcases all around.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172699 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
d96c72a14cf327af98cbc7d3491f7a2248f5137d 17-Jan-2013 Eric Christopher <echristo@gmail.com> Add the DW_AT_GNU_addr_base for the skeleton cu. Add support for
emitting the dwarf32 version of DW_FORM_sec_offset and correct
disassembler support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172698 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
72f7bfbf0e02bb11d3e7cca1f9598c5f9d9fa2ca 16-Jan-2013 Eric Christopher <echristo@gmail.com> Split address information for DWARF5 split dwarf proposal. This involves
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172578 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFFormValue.cpp
WARFFormValue.h
2af949ddddfaf2feb4a446c754e09d2d8c207ce4 09-Jan-2013 NAKAMURA Takumi <geek4civic@gmail.com> [Object, DebugInfo] Make DWARFContext BE-aware.

test/DebugInfo/member-pointers.ll would not fail in targetting BE any more.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171943 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
e7285c72793b69f005b5656be9f7aed101cdee4a 07-Jan-2013 Eric Christopher <echristo@gmail.com> Whitespace and 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171804 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.h
WARFFormValue.cpp
dd8e9f395e881972b320d947de88102a0be04b70 07-Jan-2013 Eric Christopher <echristo@gmail.com> Add support for separating strings for the split debug info DWARF5
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171779 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
WARFFormValue.h
e5ef305be2505741941b8e7c7a391add3632ebc3 07-Jan-2013 Eric Christopher <echristo@gmail.com> Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171689 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
642469f5826a29beb7d8abf675fc669c42f804c9 04-Jan-2013 Eric Christopher <echristo@gmail.com> Add a space to the end of the line so we don't get "itsbounds" in output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171487 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
82de10a34c9432029040ced17129079a7d80904e 03-Jan-2013 Eric Christopher <echristo@gmail.com> Extend the dumping infrastructure to deal with additional
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).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171428 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
32b3768ec1ae95cb05d1f595d31761c510c43251 27-Dec-2012 Eric Christopher <echristo@gmail.com> Right now all of the relocations are 32-bit dwarf, and the relocation
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171126 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
b66fc293a2248564ae341f40882243dacccc42f3 21-Dec-2012 Rafael Espindola <rafael.espindola@gmail.com> Don't skip __DWARF,

Now that we don't merge section and segment names, we don't need to skip the
segment name to get to the section name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170839 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
034b94b17006f51722886b0f2283fb6fb19aca1f 19-Dec-2012 Bill Wendling <isanbard@gmail.com> Rename the 'Attributes' class to 'Attribute'. It's going to represent a single attribute in the future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170502 91177308-0d34-0410-b5e6-96231b3b80d8
WARFAbbreviationDeclaration.cpp
WARFAbbreviationDeclaration.h
a1514e24cc24b050f53a12650e047799358833a1 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort includes for all of the .h files under the 'lib' tree. These were
missed in the first pass because the script didn't yet handle include
guards.

Note that the script is now able to handle all of these headers without
manual edits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169224 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.h
eb6363adf05b65b0ec079ad7cbcb871acdb60a8c 27-Nov-2012 Eric Christopher <echristo@gmail.com> The section is .debug_line.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168666 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
205e60b223c1f4139d14edd42dfc048adb811ad0 17-Nov-2012 Eric Christopher <echristo@gmail.com> Add some basic support for the fission addr forms to DebugInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168223 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
63a450a313a9b0a08622e97b53f5dd83f9266143 16-Nov-2012 Alexey Samsonov <samsonov@google.com> [DebugInfo] Generate address ranges for compile units even if .debug_aranges is present: it is often the case that .debug_aranges section contains ranges only for a small subset of compile units. Test cases will be added in separate commits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168144 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugAranges.cpp
WARFDebugAranges.h
d1726a4580f3dc42e2debbfea41acb9e815c06be 12-Nov-2012 Eric Christopher <echristo@gmail.com> Rewrite DIContext interface to take an object. Update all callers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167757 91177308-0d34-0410-b5e6-96231b3b80d8
IContext.cpp
WARFContext.cpp
WARFContext.h
WARFFormValue.cpp
4c0ae9066fecbbd507162a880450641aa5c33098 12-Nov-2012 Alexey Samsonov <samsonov@google.com> Fixup for r167558: Store raw pointer (instead of reference) to RelocMap in DIContext. This is needed to prevent crashes because of dangling reference if the clients don't provide RelocMap to DIContext constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167728 91177308-0d34-0410-b5e6-96231b3b80d8
IContext.cpp
WARFContext.h
WARFFormValue.cpp
806e03d2381709ddfb5a8012729bbe6eae12caf5 08-Nov-2012 Eric Christopher <echristo@gmail.com> Add a relocation visitor to lib object. This works via caching relocated
values in a map that can be passed to consumers. Add a testcase that
ensures this works for llvm-dwarfdump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167558 91177308-0d34-0410-b5e6-96231b3b80d8
IContext.cpp
WARFContext.h
WARFFormValue.cpp
203e6f60a84096d7fbc0ded932a6636177580198 30-Oct-2012 Eric Christopher <echristo@gmail.com> Reformat and 80-column this. It's not strictly conforming
yet, but it's better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167053 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
e9403c1fd6647eda9f6c9d46a75ab9370b2354b6 17-Oct-2012 Eric Christopher <echristo@gmail.com> Use a typedef to reduce some typing and reformat code accordingly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166077 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
b69b55f54a66d4df9549927a3cce307855d6de49 17-Oct-2012 Eric Christopher <echristo@gmail.com> Variable name cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166076 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
c2945e44d5d485ce080a09900fbd5245e01165fc 18-Sep-2012 Craig Topper <craig.topper@gmail.com> Mark unimplemented copy constructors and copy assignment operators as LLVM_DELETED_FUNCTION.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164090 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.h
59324297650c12a8dccf1a7ad650a9e895fdc17e 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Stop casting away const qualifier needlessly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163258 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
WARFFormValue.h
15d0c81b2496a025af30a78e3a36fd7f05b165ef 05-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Remove unused typedefs gcc4.8 warns about.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163225 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAranges.cpp
5eae90d727c64ca5b4b43b110521b38dcd9f0de6 04-Sep-2012 Alexey Samsonov <samsonov@google.com> Add support for fetching inlining context (stack of source code locations)
by instruction address from DWARF.

Add --inlining flag to llvm-dwarfdump to demonstrate and test this functionality,
so that "llvm-dwarfdump --inlining --address=0x..." now works much like
"addr2line -i 0x...", provided that the binary has debug info
(Clang's -gline-tables-only *is* enough).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163128 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFDebugRangeList.cpp
WARFDebugRangeList.h
38a6381c0a58e013577b1957199128af9573fc20 30-Aug-2012 Alexey Samsonov <samsonov@google.com> Refactor fetching file/line info from DWARFContext to simplify the
code and allow better code reuse. Make the code a bit more conforming
to LLVM code style.
No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162895 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
WARFDebugLine.h
e1630e01dee7f131eda6c1ddac4b6776fa1b31f4 28-Aug-2012 Marshall Clow <mclow@qualcomm.com> Fix compile error when building with C++11 - clang thinks that PRIx64 is a user-defined suffix or something

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162704 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugRangeList.cpp
83e2546ad3fd75dca35dc3cdbf8f0d085d57e189 27-Aug-2012 NAKAMURA Takumi <geek4civic@gmail.com> DWARFDebugRangeList.cpp: Use PRIx64 for uint64_t as format string.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162665 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugRangeList.cpp
07071c1c7559b52591190dbe74f2fa13ddea03be 27-Aug-2012 Alexey Samsonov <samsonov@google.com> [DebugInfo] fixup for r162657: update CMakeLists.txt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162659 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
eceb5b99777ba944a0ae3748a0371e9a3aa94d56 27-Aug-2012 Alexey Samsonov <samsonov@google.com> Add basic support for .debug_ranges section to LLVM's DebugInfo library.
This section (introduced in DWARF-3) is used to define instruction address
ranges for functions that are not contiguous and can't be described
by low_pc/high_pc attributes (this is the usual case for inlined subroutines).
The patch is the first step to support fetching complete inlining info from DWARF.

Reviewed by Benjamin Kramer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162657 91177308-0d34-0410-b5e6-96231b3b80d8
IContext.cpp
WARFContext.cpp
WARFContext.h
WARFDebugRangeList.cpp
WARFDebugRangeList.h
3887a902a1b8e5a6aad4fc822479845ce3ba0dfe 24-Aug-2012 Eric Christopher <echristo@apple.com> Add support for some missing DW_FORM_*.

TODO: Fix code duplication and coding style.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162525 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
08cdb6e6b2a768f81dedd61725c7d67cdb05f0a0 24-Aug-2012 Eric Christopher <echristo@apple.com> Formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162524 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
5d04a3ad0e202a50122d6739c9af533575254a80 24-Aug-2012 Eric Christopher <echristo@apple.com> Formatting cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162499 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
fa76f22865a8ee2adf29fdd4087b0982b7aedaf2 24-Aug-2012 Eric Christopher <echristo@apple.com> Add an assert here in case parsing gave us a NULL compile unit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162498 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
bd5bc2161cb4520134d3e7eb6ac5f160b3653e78 23-Aug-2012 Eric Christopher <echristo@apple.com> 80-col.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162422 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
1a145c409af461a12a385540e7a0781eec13e9da 23-Aug-2012 Eric Christopher <echristo@apple.com> Tidy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162421 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
351f83be64057380877615153fe5dc50308ab017 07-Aug-2012 Alexey Samsonov <samsonov@google.com> Fix the representation of debug line table in DebugInfo LLVM library,
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.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161414 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugLine.cpp
WARFDebugLine.h
71d94f805514f28730bf39143ee227648d521d09 19-Jul-2012 Alexey Samsonov <samsonov@google.com> DebugInfo library: add support for fetching absolute paths to source files
(instead of basenames) from DWARF. Use this behavior in llvm-dwarfdump tool.

Reviewed by Benjamin Kramer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160496 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFDebugLine.h
9d26b0ba06479d9debadebce19344169f72407dd 17-Jul-2012 Alexey Samsonov <samsonov@google.com> Improve behavior of DebugInfoEntryMinimal::getSubprogramName() introduced in r159512.
To fetch a subprogram name we should not only inspect the DIE for this subprogram, but optionally inspect
its specification, or its abstract origin (even if there is no inlining), or even specification of an abstract origin.

Reviewed by Benjamin Kramer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160365 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
a9543aadffcee08d1e49ec9b6904db55671f71f3 04-Jul-2012 Alexey Samsonov <samsonov@google.com> Fix a bug in DebugInfo lib, extend a comment for one of the methods

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159707 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
3e25c4a1e3e58bc1d00d894854a29dd2e4e7e88a 02-Jul-2012 Alexey Samsonov <samsonov@google.com> This patch extends the libLLVMDebugInfo which contains a minimalistic DWARF parser:
1) DIContext is now able to return function name for a given instruction address (besides file/line info).
2) llvm-dwarfdump accepts flag --functions that prints the function name (if address is specified by --address flag).
3) test case that checks the basic functionality of llvm-dwarfdump added

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159512 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugAranges.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
e25a2bd2e349528e48d3cc8dd287307029acf97b 04-Apr-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix a C++11 UDL conflict.

Still not fixed in the standard ;)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154044 91177308-0d34-0410-b5e6-96231b3b80d8
WARFFormValue.cpp
4d6ccb5f68cd7c6418a209f1fa4dbade569e4493 20-Jan-2012 David Blaikie <dblaikie@gmail.com> More dead code removal (using -Wunreachable-code)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148578 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
4ab406d7fc06b1272d02cd8be46f0c5ebe51a3da 12-Dec-2011 Daniel Dunbar <daniel@zuster.org> LLVMBuild: Remove trailing newline, which irked me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
d782bae970e888572f0458ac05369bbd7752f05a 29-Nov-2011 Daniel Dunbar <daniel@zuster.org> build/CMake: Finish removal of add_llvm_library_dependencies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145420 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
5eccd36f1a8d917201b39697f3f1b6f45ecc139c 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Audited all the format strings in libDebugInfo and fixed those that didn't match the types.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143814 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugAbbrev.cpp
WARFDebugAbbrev.h
WARFDebugLine.cpp
WARFFormValue.cpp
80cc2598f89d09a6df2b84a5f8cea813b280b17b 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Reduce the offsets in DwarfDebugInfoEntry to 32 bit, they're printed with %x and
that breaks on big-endian machines.

I have to clean up the 32/64 bit confusion in libDebugInfo some day.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143812 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
41a964931a0e0943ceef28b0c691843bf8ca87b7 05-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Add more PRI.64 macros for MSVC and use them throughout the codebase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143799 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
WARFDebugAranges.cpp
WARFDebugLine.cpp
WARFFormValue.cpp
a3a2dfd4a2a8265a9a0c962cb776e2e6ba123956 03-Nov-2011 Daniel Dunbar <daniel@zuster.org> build: Add initial cut at LLVMBuild.txt files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143634 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
017449d64b8920eb926e9e752e22d2f5921a6237 08-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> lib/DebugInfo/DWARFDebugLine.cpp: De-Unicode-ify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141484 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
3a79eac5b8b2fa9e1376a7833723b6bfc1d26570 08-Oct-2011 NAKAMURA Takumi <geek4civic@gmail.com> Whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141483 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
1d13d9ed969259d3be267cf0e2c6fe92c1baed49 21-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: avoid unnecessary map lookups.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140260 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
76f58d20313a23758399a59ceec0fbc6c2c16397 16-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Namespacify.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139892 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
9013db3399d2847899ba32daf58844bba1aef6dd 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Reset the state after parsing a line table prologue and remove an unnecessary lookup.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139859 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugAranges.cpp
WARFDebugLine.cpp
f5b0accf43a4fa22fc6050daac59441e3c9288b0 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Don't crash when looking up an invalid address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139846 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
101b1c5ff16dffd45d03746d92c024740f72ecc6 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Put all the pieces we have together and provide a single accessor to DIContext that provides line information when given an address.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139836 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
c26ed9b47ff77ca6244feda9e3837b49624605db 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Remove accessors that parse the whole line table section in one go, 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139835 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
WARFDebugLine.h
fe80f1da404d25f93e4a2492b127554a882bd5bb 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Print line tables per compile unit, so they get the right address size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139808 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
34f864fd382156331c61fbb6b7ae4828108b9d69 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: wire up .debug_str dumping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139799 91177308-0d34-0410-b5e6-96231b3b80d8
WARFContext.cpp
WARFDebugInfoEntry.cpp
WARFFormValue.cpp
WARFFormValue.h
75c63087b4e1528cc608b1586014fc1ebad2d9fb 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Make DIE printing more bulletproof.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139786 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
7b97442b491f0cc69eb0676323b7fe4b14837ac1 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Print the number for unknown abbrev fields.

Thanks Nick!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139778 91177308-0d34-0410-b5e6-96231b3b80d8
WARFAbbreviationDeclaration.cpp
42180e83368b42c4ba4ce01d35e6c97d8b9d3b4b 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Fail gracefully when encountering unknown values in an abbrev.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139777 91177308-0d34-0410-b5e6-96231b3b80d8
WARFAbbreviationDeclaration.cpp
6bc4e712dc35db68a621f54c176f6e0b14f40f97 15-Sep-2011 Nick Lewycky <nicholas@mxc.ca> Give structs with virtual methods a virtual destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139776 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
WARFDebugLine.h
068d9a564b6010787992597f75e2065ceffb53ea 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Silence GCC -Wsign-compare warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139775 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
89aedba562243c7b60b24b5ffba55394d9c55a12 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Fix indentation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139774 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.h
WARFFormValue.cpp
7393c7f748acb10b143cab296ae98551b4c430f4 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Include <algorithm> explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139773 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugLine.cpp
b848e976110a2c4f0a6a9e252115ba291c844fbe 15-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Add basic support for line tables.

The llvm-dwarfdump output isn't very verbose yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139771 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
WARFContext.cpp
WARFContext.h
WARFDebugLine.cpp
WARFDebugLine.h
10df80692cc1594fb06fc02cae6eba177123cfd9 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Generate the address lookup table from the DIE tree if .debug_aranges is not available.

Ported from LLDB.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139732 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFDebugAranges.cpp
WARFDebugAranges.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
d6361c0954247c4b5978b7f3dc5f42bcfa6bafc7 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Reorder fields to reduce padding.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139712 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.h
0942255f6daf49354dd1e19cc5f07aca65bea0d1 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Improve indentation of DIE dumping so it's easier to see the structure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139705 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugInfoEntry.cpp
1c0b24f91a5a6f3aeca483e753e7fd27357ecb71 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> llvm-dwarfdump: Make the "is debug info section" heuristic stricter so it doesn't accidentaly picks up the wrong section.

Also add some validation code to the aranges section parser.

Fixes PR10926.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139701 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
553f93396367fd1e1372d41c02583b2dc060947f 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Don't rely in <algorithm> being pulled in transitively.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139684 91177308-0d34-0410-b5e6-96231b3b80d8
WARFDebugArangeSet.cpp
358f4fd9ee078b3c79597fc688855fb48bc1f356 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DWARF: Port support for parsing .debug_aranges section from LLDB and wire it up to llvm-dwarfdump.

This is only one half of it, the part that caches address ranges from the DIEs when .debug_aranges is
not available will be ported soon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139680 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
WARFContext.cpp
WARFContext.h
WARFDebugArangeSet.cpp
WARFDebugArangeSet.h
WARFDebugAranges.cpp
WARFDebugAranges.h
15ec085c40cf45726a5c8925706795b52fd231bd 14-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> DebugInfo: Don't print DIEs multiple times.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139671 91177308-0d34-0410-b5e6-96231b3b80d8
WARFCompileUnit.cpp
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
4aa3fea8b13b91800c908f8e7d74fad96adba69a 13-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Style & indentation tweaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139646 91177308-0d34-0410-b5e6-96231b3b80d8
WARFAbbreviationDeclaration.cpp
WARFDebugAbbrev.cpp
WARFDebugAbbrev.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
WARFFormValue.h
8a23a77a54a8ab87acb1cc8c9dbed73d6f0330a9 13-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> I know copy&paste!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139628 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
72c0d7fdd3d0930c7507060e96aec7d7429a8190 13-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Sketch out a DWARF parser.

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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139627 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
IContext.cpp
WARFAbbreviationDeclaration.cpp
WARFAbbreviationDeclaration.h
WARFAttribute.h
WARFCompileUnit.cpp
WARFCompileUnit.h
WARFContext.cpp
WARFContext.h
WARFDebugAbbrev.cpp
WARFDebugAbbrev.h
WARFDebugInfoEntry.cpp
WARFDebugInfoEntry.h
WARFFormValue.cpp
WARFFormValue.h
akefile