Filipe, thanks for pointing this out. I filed a bug on this internally here at 
apple (<rdar://problem/12592135>).

Greg

On Oct 26, 2012, at 12:28 PM, Filipe Cabecinhas <[email protected]> wrote:

> So, we have a problem with the debug information:
> 
> There are two TAG_inlined_subroutine DIEs for the ToT clang, one of them with 
> an AT_ranges.
> For the Xcode clang, we have three DIEs (which makes sense, since we have 
> three sum() calls).
> 
> Example lldb interaction:
> Compiled with make CC=$(xcrun -f clang)
> ± ../../../../build/Debug/lldb a.out
> Current executable set to 'a.out' (x86_64).
> (lldb) b sum
> Breakpoint 1: 3 locations.
> (lldb) breakpoint list
> Current breakpoints:
> 1: name = 'sum', locations = 3
>   1.1: where = a.out`foo(int, int) + 99 [inlined] sum(int, int) at 
> main.cpp:49, address = 0x0000000100000d43, unresolved, hit count = 0 
>   1.2: where = a.out`foo(int, int) + 131 [inlined] sum(int, int) at 
> main.cpp:51, address = 0x0000000100000d63, unresolved, hit count = 0 
>   1.3: where = a.out`foo(int, int) + 155 [inlined] sum(int, int) at 
> main.cpp:51, address = 0x0000000100000d7b, unresolved, hit count = 0 
> 
> 
> Compiled with make (clang is ToT):
> ± ../../../../build/Debug/lldb a.out
> Current executable set to 'a.out' (x86_64).
> (lldb) b sum
> Breakpoint 1: where = a.out`foo(int, int) + 99 [inlined] sum(int, int) at 
> main.cpp:49, address = 0x0000000100000d43
> (lldb) breakpoint list 
> Current breakpoints:
> 1: name = 'sum', locations = 1
>   1.1: where = a.out`foo(int, int) + 99 [inlined] sum(int, int) at 
> main.cpp:49, address = 0x0000000100000d43, unresolved, hit count = 0 
> 
> So, should we bring this to the clang bugs page?
> I'm sending the dwarfdump of both files attached.
> 
> Regards,
> 
>   Filipe
> 
> 
> 
> On Fri, Oct 26, 2012 at 12:19 PM, Filipe Cabecinhas <[email protected]> wrote:
> Hi Jim,
> 
> I just did an update to lldb and re-ran the test. Same result...
> 
> But...
> 
> If I use Xcode's clang (by passing -C $(xcrun -f clang)), it works.
> If I use ToT clang (just updated and ran make install), it fails.
> 
> Attached are both log files. The problem is that, with ToT clang, breakpoint 
> location 2.2 doesn't exist. Only 2.1.
> 
> Regards,
> 
>   Filipe
> 
> 
> 
> 
> On Thu, Oct 25, 2012 at 5:55 PM, Jim Ingham <[email protected]> wrote:
> This test case succeeds for me using TOT lldb and some fairly recent clang.  
> So it looks like the failure is due to some bug or difference in the debug 
> output.  It would be easier to figure out what is going on if I could 
> reproduce the failure.  What clang version are you using?
> 
> Jim
> 
> 
> On Oct 25, 2012, at 4:41 PM, Filipe Cabecinhas <[email protected]> wrote:
> 
> > Hi all,
> >
> > This test-case is failing (Mac OS X Mountain Lion, latest Xcode released, 
> > built using xcodebuild):
> > ./dotest.py -v -d -A x86_64 -C clang -v -t -f 
> > BreakpointIDTestCase.test_with_dsym
> >
> > From what I can tell, after LLDB finds the DIE that has the inlined sum() 
> > function, it stops looking, although there is another inlined sum() 
> > function.
> > With that, the breakpoint will only resolve to one location.
> >
> > At least I think that is what's happening. I'm not an expert on DWARF ;-)
> >
> > Could you have a look at it, please?
> >
> > Thanks,
> >
> >   Filipe
> >
> > _______________________________________________
> > lldb-dev mailing list
> > [email protected]
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev
> 
> 
> 
> 
> <dwarfdump-ToT-clang.log><dwarfdump-Xcode-clang.log>_______________________________________________
> lldb-dev mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev


_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to