Andrew Kaylor
9a8ff813f3
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.
...
llvm-svn: 173537
2013-01-26 00:28:05 +00:00
Andrew Kaylor
d55d7019fc
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.
...
llvm-svn: 173517
2013-01-25 22:50:58 +00:00
Alexey Samsonov
45be793e3a
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.
llvm-svn: 162895
2012-08-30 07:49:50 +00:00
Alexey Samsonov
947228c4f7
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.
llvm-svn: 161414
2012-08-07 11:46:57 +00:00
Alexey Samsonov
e16e16add6
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.
llvm-svn: 160496
2012-07-19 07:03:58 +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
Nick Lewycky
4d0449204e
Give structs with virtual methods a virtual destructor.
...
llvm-svn: 139776
2011-09-15 03:41:51 +00:00
Benjamin Kramer
123bfbbb73
DWARF: Fix indentation.
...
llvm-svn: 139774
2011-09-15 03:11:09 +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