|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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: 174976 | 
| | 
| 
| 
| | llvm-svn: 174463 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | politely report it instead of running into llvm_unreachable.
Also patch llvm-dwarfdump to actually check whether the file it's attempting to
dump is a valid object file.
llvm-svn: 173489 | 
| | 
| 
| 
| 
| 
| 
| | Flags for dumping specific DWARF sections added in lib/DebugInfo and
llvm-dwarfdump.
llvm-svn: 173480 | 
| | 
| 
| 
| | llvm-svn: 173460 | 
| | 
| 
| 
| 
| 
| 
| 
| | Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.
llvm-svn: 169252 | 
| | 
| 
| 
| | 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: 166075 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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).
llvm-svn: 163128 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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.
llvm-svn: 162657 | 
| | 
| 
| 
| 
| 
| 
| 
| | (instead of basenames) from DWARF. Use this behavior in llvm-dwarfdump tool.
Reviewed by Benjamin Kramer.
llvm-svn: 160496 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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
llvm-svn: 159512 | 
| | 
| 
| 
| | llvm-svn: 141392 | 
| | 
| 
| 
| 
| 
| 
| 
| | Usage:
$ llvm-dwarfdump -address=0x0000000100000ed4 a.out.dSYM/Contents/Resources/DWARF/a.out 
xxx.c:6:0
llvm-svn: 139850 | 
| | 
| 
| 
| | llvm-svn: 139799 | 
| | 
| 
| 
| 
| 
| | The llvm-dwarfdump output isn't very verbose yet.
llvm-svn: 139771 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | doesn't accidentaly picks up the wrong section.
Also add some validation code to the aranges section parser.
Fixes PR10926.
llvm-svn: 139701 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
|  | 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 |