[cfe-commits] r167799 - /cfe/trunk/lib/Driver/Tools.cpp

Sean Silva silvas at purdue.edu
Tue Nov 13 12:18:51 PST 2012


Hi Bill, what part of DTrace is using DWARF info? AFAIK the only part
of DTrace that looks at debug info is ctfconvert, is that what you are
referring to when you say "dtrace"? (or is this a new DTrace feature,
like being able to give a line number with a PID probe?)

> If we build LLVM in LTO mode  and then run dtrace on the executable, it will
> eat all of your memory and fill up your hard drive because of bad debug info
> resulting from bad accelerator tables.

When you say "run dtrace on the executable", that (to me) means something like
dtrace -n'syscall:::entry {@[execname] = count();}' -c './llc ...'
, and dtrace(1M) shouldn't write anything to disk when doing that.

Could you give more detail about how what commands and stuff are
causing DTrace to "thrash"? I know DTrace inside and out (well, except
possibly for unreleased new features...), so feel free to be as
specific as you would like.

-- Sean Silva

On Tue, Nov 13, 2012 at 1:42 PM, Bill Wendling <isanbard at gmail.com> wrote:
>
> On Nov 13, 2012, at 10:34 AM, Eric Christopher <echristo at gmail.com> wrote:
>
>> On Tue, Nov 13, 2012 at 10:28 AM, Bill Wendling <isanbard at gmail.com> wrote:
>> On Nov 13, 2012, at 10:03 AM, Eric Christopher <echristo at gmail.com> wrote:
>>
>>> On Mon, Nov 12, 2012 at 4:54 PM, Bill Wendling <isanbard at gmail.com> wrote:
>>> Author: void
>>> Date: Mon Nov 12 18:54:24 2012
>>> New Revision: 167799
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=167799&view=rev
>>> Log:
>>> Disable accelerator tables when compiling with LTO.
>>>
>>> LTO doesn't generate correct accelerator tables. This is due to the general lack
>>> correct of debug info for LTO. Disable it when using LTO.
>>> <rdar://problem/12401423>
>>>
>>>
>>> Not a huge fan of this patch. Debug Info for LTO in general isn't working yet, what's the difference between this and anything else? What kind of configuration are you building with that this is occurring? What tool is breaking?
>>>
>> If we build LLVM in LTO mode  and then run dtrace on the executable, it will eat all of your memory and fill up your hard drive because of bad debug info resulting from bad accelerator tables.
>>
>>
>> dtrace uses the accelerator tables? How and why? The accelerator tables are built from the debug info that's going into the final file, I think you're conflating two problems here.
>>
> dtrace is munging through a bunch of code, some of it is the debug info. The accelerator tables are fubared going into the dtrace mode. Once I turned off the accel tables, the 'dwarfdump --verify' reported no errors. However, dtrace is still thrashing. I have to investigate via dtrace debugging and junk. But I still think this patch is worth keeping in for the time being, because it makes dwarfdump happy, which is certain to be an error during an Apple-style build...
>
> -bw
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits




More information about the cfe-commits mailing list