[llvm-commits] [llvm] r162657 - in /llvm/trunk: include/llvm/DebugInfo/DIContext.h lib/DebugInfo/DIContext.cpp lib/DebugInfo/DWARFContext.cpp lib/DebugInfo/DWARFContext.h lib/DebugInfo/DWARFDebugRangeList.cpp lib/DebugInfo/DWARFDebugRangeList.h t

NAKAMURA Takumi geek4civic at gmail.com
Mon Aug 27 03:14:00 PDT 2012


2012/8/27 Alexey Samsonov <samsonov at google.com>:
> Author: samsonov
> Date: Mon Aug 27 02:17:47 2012
> New Revision: 162657
>
> URL: http://llvm.org/viewvc/llvm-project?rev=162657&view=rev
> Log:
> 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.
>
> Added:
>     llvm/trunk/lib/DebugInfo/DWARFDebugRangeList.cpp
>     llvm/trunk/lib/DebugInfo/DWARFDebugRangeList.h
> Modified:
>     llvm/trunk/include/llvm/DebugInfo/DIContext.h
>     llvm/trunk/lib/DebugInfo/DIContext.cpp
>     llvm/trunk/lib/DebugInfo/DWARFContext.cpp
>     llvm/trunk/lib/DebugInfo/DWARFContext.h
>     llvm/trunk/test/DebugInfo/dwarfdump-test.test
>     llvm/trunk/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
(snip)
> +void DWARFDebugRangeList::dump(raw_ostream &OS) const {
> +  for (int i = 0, n = Entries.size(); i != n; ++i) {
> +    const char *format_str = (AddressSize == 4) ? "%08x %08x %08x\n"
> +                                                : "%08x %016x %016x\n";
> +    OS << format(format_str, Offset, Entries[i].StartAddress,
> +                                     Entries[i].EndAddress);
> +  }
> +  OS << format("%08x <End of list>\n", Offset);
> +}

It was i686-unsafe. Fixed in r162665.

...Takumi



More information about the llvm-commits mailing list