Daniel Dunbar
bf9bba47a1
build: Add initial cut at LLVMBuild.txt files.
...
llvm-svn: 143634
2011-11-03 18:53:17 +00:00
NAKAMURA Takumi
f995985eba
lib/DebugInfo/DWARFDebugLine.cpp: De-Unicode-ify.
...
llvm-svn: 141484
2011-10-08 11:22:47 +00:00
NAKAMURA Takumi
ade616cb57
Whitespace
...
llvm-svn: 141483
2011-10-08 11:22:41 +00:00
Benjamin Kramer
2eeb4e5bd4
DWARF: avoid unnecessary map lookups.
...
llvm-svn: 140260
2011-09-21 17:31:42 +00:00
Benjamin Kramer
67b014b2c2
Namespacify.
...
llvm-svn: 139892
2011-09-16 00:35:06 +00:00
Benjamin Kramer
112ec17e1b
DWARF: Reset the state after parsing a line table prologue and remove an unnecessary lookup.
...
llvm-svn: 139859
2011-09-15 21:59:13 +00:00
Benjamin Kramer
901339d070
DWARF: Don't crash when looking up an invalid address.
...
llvm-svn: 139846
2011-09-15 21:08:54 +00:00
Benjamin Kramer
2602ca67e8
DWARF: Put all the pieces we have together and provide a single accessor to DIContext that provides line information when given an address.
...
llvm-svn: 139836
2011-09-15 20:43:22 +00:00
Benjamin Kramer
679e1752f8
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.
llvm-svn: 139835
2011-09-15 20:43:18 +00:00
Benjamin Kramer
6dda032003
DWARF: Print line tables per compile unit, so they get the right address size.
...
llvm-svn: 139808
2011-09-15 18:02:20 +00:00
Benjamin Kramer
07d4b1c455
DWARF: wire up .debug_str dumping.
...
llvm-svn: 139799
2011-09-15 16:57:13 +00:00
Benjamin Kramer
9bca64ff2a
DWARF: Make DIE printing more bulletproof.
...
llvm-svn: 139786
2011-09-15 05:43:00 +00:00
Benjamin Kramer
21a5092830
DWARF: Print the number for unknown abbrev fields.
...
Thanks Nick!
llvm-svn: 139778
2011-09-15 04:15:59 +00:00
Benjamin Kramer
4137b6a2b6
DWARF: Fail gracefully when encountering unknown values in an abbrev.
...
llvm-svn: 139777
2011-09-15 04:00:58 +00:00
Nick Lewycky
4d0449204e
Give structs with virtual methods a virtual destructor.
...
llvm-svn: 139776
2011-09-15 03:41:51 +00:00
Benjamin Kramer
21b6f1188f
DWARF: Silence GCC -Wsign-compare warning.
...
llvm-svn: 139775
2011-09-15 03:20:04 +00:00
Benjamin Kramer
123bfbbb73
DWARF: Fix indentation.
...
llvm-svn: 139774
2011-09-15 03:11:09 +00:00
Benjamin Kramer
a57c46aa49
DWARF: Include <algorithm> explicitly.
...
llvm-svn: 139773
2011-09-15 02:19:33 +00:00
Benjamin Kramer
5acab501de
DWARF: Add basic support for line tables.
...
The llvm-dwarfdump output isn't very verbose yet.
llvm-svn: 139771
2011-09-15 02:12:05 +00:00
Benjamin Kramer
3266493603
DWARF: Generate the address lookup table from the DIE tree if .debug_aranges is not available.
...
Ported from LLDB.
llvm-svn: 139732
2011-09-14 20:52:27 +00:00
Benjamin Kramer
a59d118b6c
DWARF: Reorder fields to reduce padding.
...
llvm-svn: 139712
2011-09-14 18:34:47 +00:00
Benjamin Kramer
f915acc613
DWARF: Improve indentation of DIE dumping so it's easier to see the structure.
...
llvm-svn: 139705
2011-09-14 17:54:56 +00:00
Benjamin Kramer
973b5cde7e
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.
llvm-svn: 139701
2011-09-14 17:28:13 +00:00
Benjamin Kramer
a9e7fb678d
Don't rely in <algorithm> being pulled in transitively.
...
llvm-svn: 139684
2011-09-14 01:27:48 +00:00
Benjamin Kramer
a6002fd920
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.
llvm-svn: 139680
2011-09-14 01:09:52 +00:00
Benjamin Kramer
1b2a65ca3a
DebugInfo: Don't print DIEs multiple times.
...
llvm-svn: 139671
2011-09-14 00:15:32 +00:00
Benjamin Kramer
eaa7433c85
Style & indentation tweaks.
...
llvm-svn: 139646
2011-09-13 21:47:32 +00:00
Benjamin Kramer
cef8ee3291
I know copy&paste!
...
llvm-svn: 139628
2011-09-13 19:49:53 +00:00
Benjamin Kramer
aa2f78f5e6
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.
llvm-svn: 139627
2011-09-13 19:42:23 +00:00