<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 23, 2020 at 7:02 PM Sriraman Tallam <<a href="mailto:tmsriram@google.com" target="_blank">tmsriram@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 23, 2020 at 4:46 PM David Blaikie <<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hey folks,<br><br>So I've been doing some more testing/implementation work on various address pool reduction strategies previously discussed back in January ( <a href="http://lists.llvm.org/pipermail/llvm-dev/2020-January/thread.html#138029" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2020-January/thread.html#138029</a> ).<br><br>I've committed a -mllvm flag to allow experimenting with the first of these strategies: Always using ranges in DWARFv5 (the flag has no effect pre-v5). Since ranges can use address pool entries, this allows significant address reuse (clang opt split-dwarf 13% reduction in object file size, specifically a reduction in aggregate .rela.debug_addr size from 78MB to 16MB - the lowest this could go is approximately 8MB (this is the size of .rela.debug_line)).<br><br>It causes one lldb test to fail lldb/test/SymbolFile/DWARF/Output/debug-types-expressions.test which reveals that lldb has some trouble with ranges on DW_TAG_subprograms.<br><br>Anyone happen to have ideas about what the problem might be? Anyone interested in fixing this? (Jordan, maybe?) <br><br>Sri: Sounded like you folks had done some testing of Propeller with lldb - and I'd expect it to trip over this same problem, since it'll cause ranges to be used for DW_TAG_subprograms to an even greater degree. Have you come across anything like this? <br></div></blockquote><div><br></div><div>Not sure David. I think you tested basic block sections for v5 a while back.</div></div></div></blockquote><div><br>I'd looked at the DWARF being well-formed & for the most part efficient as it can be, given the nature of Basic Block Sections - but I haven't done any debugger testing with it.<br><br>You mentioned gdb might already be pretty well setup for functions that are split into multiple chunks because GCC does this under some circumstances?<br><br>But it looks like lldb might not be so well situated.<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> How do I test if this breaks with bbsections?</div></div></div></blockquote><div><br>Test printing out the value of a variable in a function with more than one section, eg:<br><br>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">$ ~/dev/llvm/build/default/bin/lldb ./b</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) target create "./b"</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Current executable set to '/usr/local/google/home/blaikie/dev/scratch/b' (x86_64).</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">b main</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Breakpoint 1: where = b`main + 15, address = 0x000000000040112f</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">start</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)"><b>error: </b></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">'start' is not a valid command.</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">r</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Process 1827628 launched: '/usr/local/google/home/blaikie/dev/scratch/b' (x86_64)</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Process 1827628 stopped</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">* thread #1, name = 'b', stop reason = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">breakpoint 1.1</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>frame #0: </span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">0x000000000040112f</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> b`main at </span><span class="gmail-s5" style="font-variant-ligatures:no-common-ligatures;color:rgb(56,185,199)">test.cpp</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">:</span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">5</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">:</span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">7</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 2<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> j = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">12</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 3<span class="gmail-Apple-converted-space"> </span>}</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 4<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> main() {</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">-></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 5<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> </span><span class="gmail-s7" style="text-decoration-line:underline;font-variant-ligatures:no-common-ligatures">i</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">7</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 6<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">if</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> (i)</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 7<span class="gmail-Apple-converted-space"> </span>f1();</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 8<span class="gmail-Apple-converted-space"> </span>}</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">p i</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">error: <user expression 0>:1:1: use of undeclared identifier 'i'</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">i</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">^</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">^D</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">$ clang++-tot test.cpp -g -o b</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">$ ~/dev/llvm/build/default/bin/lldb ./b</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) target create "./b"</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Current executable set to '/usr/local/google/home/blaikie/dev/scratch/b' (x86_64).</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">b main</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Breakpoint 1: where = b`main + 15 at test.cpp:5:7, address = 0x000000000040112f</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">r</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Process 1828108 launched: '/usr/local/google/home/blaikie/dev/scratch/b' (x86_64)</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">p i</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">Process 1828108 stopped</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">* thread #1, name = 'b', stop reason = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">breakpoint 1.1</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>frame #0: </span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">0x000000000040112f</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> b`main at </span><span class="gmail-s5" style="font-variant-ligatures:no-common-ligatures;color:rgb(56,185,199)">test.cpp</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">:</span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">5</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">:</span><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">7</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 2<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> j = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">12</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 3<span class="gmail-Apple-converted-space"> </span>}</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 4<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> main() {</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">-></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 5<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> </span><span class="gmail-s7" style="text-decoration-line:underline;font-variant-ligatures:no-common-ligatures">i</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> = </span><span class="gmail-s3" style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">7</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 6<span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s6" style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">if</span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> (i)</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 7<span class="gmail-Apple-converted-space"> </span>f1();</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s4" style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span class="gmail-Apple-converted-space"> </span></span><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"> 8<span class="gmail-Apple-converted-space"> </span>}</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">p i</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(int) $0 = 0</span></p>
<p class="gmail-p2" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">^D</span></p>
<p class="gmail-p3" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(57,192,38)"><span class="gmail-s2" style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">$ cat test.cpp</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">void f1() {</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>int j = 12;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">}</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">int main() {</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>int i = 7;</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>if (i)</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures"><span class="gmail-Apple-converted-space"> </span>f1();</span></p>
<p class="gmail-p1" style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span class="gmail-s1" style="font-variant-ligatures:no-common-ligatures">}<br><br>So, yeah, seems like DW_AT_ranges on a DW_TAG_subprogram is a bit buggy with lldb & that'll need to be fixed for Propeller to be usable with lldb. For my "ranges everywhere" feature - nice to fix, but given we/Google/my use case uses -ffunction-sections, subprogram ranges don't actually ever get used in that situation (since every function starts at a new relocated address - subprogram address ranges can't share address pool entries anyway - so they never get DW_AT_ranges in this case), so I could tweak ranges-everywhere to not apply to subprogram ranges for now to keep it more usable/unsurprising.</span></p> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> I can give you a simple program with bb sections that would create a lot of ranges. Any pointers? My understanding of DWARF v5 is near zero so please bear with me. Thanks.</div></div></div></blockquote><div><br>This applies to DWARFv4 as well, as shown above - sorry for the confusion there. I happened to be experimenting with DWARFv5 range features - but it shows lldb has some problems with ranges on subprograms in general (& even if the ranges only contains a single range (expressed with a range list, rather than with low/high pc) it still breaks)<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br>Here's a small example:<br><br>(the test has an inline function to force the output file to have more than one section (otherwise it'll all be in the text section, the CU's low_pc will be relocatable and all the other addresses will be relative to that - so there won't be any benefit to using ranges) and 'main' is the second function, so it starts at an offset relative to the address in the address pool (which will be f2's starting address) and benefit from using ranges to share that address)<br><br>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">$ cat test.cpp</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">inline __attribute__((noinline)) void f1() { }</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">void f2() {</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">}</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">int main() {</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span> </span>int i = 7;</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span> </span>f1();</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">}<br>$</span><span style="font-variant-ligatures:no-common-ligatures"> ~/dev/llvm/build/default/bin/lldb ./a</span><span style="font-variant-ligatures:no-common-ligatures"> </span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) target create "./a"</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Current executable set to '/usr/local/google/home/blaikie/dev/scratch/always_ranges/a' (x86_64).</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">b main</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Breakpoint 1: where = a`main + 8 at test.cpp:5:7, address = 0x0000000000401128</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">r</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Process 2271305 launched: '/usr/local/google/home/blaikie/dev/scratch/always_ranges/a' (x86_64)</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">p iProcess 2271305 stopped</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">* thread #1, name = 'a', stop reason = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">breakpoint 1.1</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span> </span>frame #0: </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">0x0000000000401128</span><span style="font-variant-ligatures:no-common-ligatures"> a`main at </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(56,185,199)">test.cpp</span><span style="font-variant-ligatures:no-common-ligatures">:</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">5</span><span style="font-variant-ligatures:no-common-ligatures">:</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">7</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 2<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">void</span><span style="font-variant-ligatures:no-common-ligatures"> f2() {</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 3<span> </span>}</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 4<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span style="font-variant-ligatures:no-common-ligatures"> main() {</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">-></span><span style="font-variant-ligatures:no-common-ligatures"> 5<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="text-decoration-line:underline;font-variant-ligatures:no-common-ligatures">i</span><span style="font-variant-ligatures:no-common-ligatures"> = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">7</span><span style="font-variant-ligatures:no-common-ligatures">;</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 6<span> </span>f1();</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 7<span> </span>}</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">p i</span></p>
<p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">(int) $0 = 0<br>
</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">$ ~/dev/llvm/build/default/bin/lldb ./b</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) target create "./b"</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Current executable set to '/usr/local/google/home/blaikie/dev/scratch/always_ranges/b' (x86_64).</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">b main</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Breakpoint 1: where = b`main + 8, address = 0x0000000000401128</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">r</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Process 2271759 launched: '/usr/local/google/home/blaikie/dev/scratch/always_ranges/b' (x86_64)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">Process 2271759 stopped</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">* thread #1, name = 'b', stop reason = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">breakpoint 1.1</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures"><span> </span>frame #0: </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">0x0000000000401128</span><span style="font-variant-ligatures:no-common-ligatures"> b`main at </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(56,185,199)">test.cpp</span><span style="font-variant-ligatures:no-common-ligatures">:</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">5</span><span style="font-variant-ligatures:no-common-ligatures">:</span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">7</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 2<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">void</span><span style="font-variant-ligatures:no-common-ligatures"> f2() {</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 3<span> </span>}</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 4<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span style="font-variant-ligatures:no-common-ligatures"> main() {</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)">-></span><span style="font-variant-ligatures:no-common-ligatures"> 5<span> </span></span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(57,192,38)">int</span><span style="font-variant-ligatures:no-common-ligatures"> </span><span style="text-decoration-line:underline;font-variant-ligatures:no-common-ligatures">i</span><span style="font-variant-ligatures:no-common-ligatures"> = </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(202,51,35)">7</span><span style="font-variant-ligatures:no-common-ligatures">;</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 6<span> </span>f1();</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures;color:rgb(170,171,37)"><span> </span></span><span style="font-variant-ligatures:no-common-ligatures"> 7<span> </span>}</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(116,116,116)"><span style="font-variant-ligatures:no-common-ligatures">(lldb) </span><span style="font-variant-ligatures:no-common-ligatures;color:rgb(0,0,0)">p i</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">error: <user expression 0>:1:1: use of undeclared identifier 'i'</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">i</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">
</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">^<br>
</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">$ diff <(llvm-dwarfdump-tot a | sed -e "s/0x[0-9a-f]\{8\}//g") <(llvm-dwarfdump-tot b | sed -e "s/0x[0-9a-f]\{8\}//g")</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">1c1</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">< a:<span> </span>file format elf64-x86-64</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">---</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">> b:<span> </span>file format elf64-x86-64</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">14c14</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">< <span> </span>DW_AT_ranges<span> </span>(indexed (0x0) rangelist =<span> </span></span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">---</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">> <span> </span>DW_AT_ranges<span> </span>(indexed (0x1) rangelist =<span> </span></span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">31,32c31,32</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">< <span> </span>DW_AT_low_pc<span> </span>(00401120)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">< <span> </span>DW_AT_high_pc (0040113c)</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">---</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">> <span> </span>DW_AT_ranges<span> </span>(indexed (0x0) rangelist =<span> </span></span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">
</span></p><p style="margin:0px;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:11px;line-height:normal;font-family:Menlo;color:rgb(0,0,0)"><span style="font-variant-ligatures:no-common-ligatures">><span> </span>[00401120, 0040113c))</span></p></div>
</blockquote></div></div>
</blockquote></div></div>