[PATCH] D49426: [DEBUG_INFO] fix .loc directives emitted for missing prologues
    Tom Weaver via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Tue Jul 17 10:27:58 PDT 2018
    
    
  
TWeaver added a comment.
In https://reviews.llvm.org/D49426#1165146, @dblaikie wrote:
> Could you provide a small example dump of the invalid line table you're addressing?
Hi David,
thanks for your review.
I built a pre-patch version of clang and recompiled the source in the test (which I've updated as was out of date).
I fed the resulting .elf into dwarfdump with -l and got the following output:
root at clangbox-VirtualBox:~/dev/clang/lldb_release/bin# dwarfdump -l leafCall.elf
.debug_line: line number info for a single cu
Source lines (from CU-DIE at .debug_info offset 0x0000000b):
  NS new statement, BB new basic block, ET end of text sequence
  PE prologue end, EB epilogue begin
  IS=val ISA number, DI=val discriminator value
<pc>        [lno,col] NS BB ET PE EB IS= DI= uri: "filepath"
0x00400480  [   2, 0] NS uri: "/home/clangbox/dev/clang/lldb_release/bin/./leafCall.cpp"
0x00400480  [   3, 3] NS PE
0x00400490  [   7, 0] NS
0x00400490  [   8, 3] NS PE
0x00400496  [   8, 3] NS ET
You can see there's two sets of two line entries (one for each function) where a single instruction is mapped to two different source lines.
https://reviews.llvm.org/D49426
    
    
More information about the llvm-commits
mailing list