On Thu, Jun 26, 2014 at 12:49 PM, Diego Novillo
> On Thu, Jun 26, 2014 at 3:39 PM, Robinson, Paul
>> The main motivation for turning it off is that no known consumer
>> took advantage of it.
>> Turning it on does more than slightly increase the object file size, it
>> cause the same source line to be listed multiple times in the
>> table (with different column numbers). This can be confusing to
>> that ignore column info, or possibly to the users who expect “set
>> on line 12” to set one breakpoint and it actually sets 4. “How come
>> happens when I hit Continue?”
> Yes. David is testing the gdb testsuite to see whether that's a real
> problem. If that's a problem, it should show there (since GCC does not
> emit column info in dwarf, AFAIR).
FWIW, a basic run seems to show a handful (so not a pervasive issue)
of new failures:
FAIL: gdb.base/skip.exp: step after disabling 3 (3)
FAIL: gdb.reverse/step-precsave.exp: reverse step out of called fn
FAIL: gdb.reverse/step-precsave.exp: reverse next over call
FAIL: gdb.reverse/step-precsave.exp: reverse step test 1
FAIL: gdb.reverse/step-precsave.exp: reverse next test 1
FAIL: gdb.reverse/step-precsave.exp: reverse next test 2
FAIL: gdb.reverse/step-reverse.exp: reverse step out of called fn
FAIL: gdb.reverse/step-reverse.exp: reverse next over call
FAIL: gdb.reverse/step-reverse.exp: reverse step test 1
FAIL: gdb.reverse/step-reverse.exp: reverse next test 1
FAIL: gdb.reverse/step-reverse.exp: reverse next test 2
I haven't looked at why they're failing (if you'd like to reproduce
them & look into it, I can give you some pointers), though FWIW the
reverse debugging scenarios are usually a bit incompatible with clang
due to where clang likes to put the trailing breakpoint in a function
(return statement versus close brace).
> In any case, that would be a debugger issue. Not compiler.
>> For –Rpass and related uses, it might be useful to distinguish between
>> _tracking_ column numbers and _emitting_ column numbers. IIUC –Rpass
>> column info tracked during compilation so it can show the things it
>> show with maximum relevance. Whether those column numbers actually make
>> into the .debug_line section is a different story.
> That's already done. -Rpass now enables a special loc tracking mode
> that causes no dwarf generation. The issue is the combination of
> -Rpass -g.
> With -Rpass alone, turning on column info is fine (since no debug
> output will be generated). However, -Rpass -g would be penalized since
> no column info would be shown in that case.
LLVM Developers mailing list
[email protected] http://llvm.cs.uiuc.edu