https://llvm.org/bugs/show_bug.cgi?id=30569

            Bug ID: 30569
           Summary: Functions missing in .arange
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: DebugInfo
          Assignee: unassignedb...@nondot.org
          Reporter: cl...@martinien.de
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

Hi,

we have a custom callstack printer that does not work on clang 3.9 anymore. It
unwinds the stack and looks up function/file name/line number for the code
locations from DWARF. But for some functions properly listed in .debuginfo with
DW_AT_low_pc/DW_AT_high_pc there is no corresponding code location in the
.arange section which could be mapped to a translation unit, so for some frames
we get missing file names/line numbers.

This only affects some functions in a translation unit. I have a pretty small
reproducer which has one function with correct and one with broken .arange
info, unfortunately I still depend on a custom STL implementation which pulls
in lots of headers which I cannot attach here :(

Comparing the output between clang 3.7 and 3.9 I see that the location info for
the two functions get merged into one chunk in 3.7, so the printer can find the
translation unit for both functions using that info. In 3.9 this merging does
not seem to happen and the code area of one function is listed only.

I tried to bisect but hit bug 27728 in between.

I will continue trying to reduce the reproducer, but perhaps someone has an
idea already?

Thanks and Best regards,
Martin

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to