Shipping core libraries with debug symbols

Johan Tibell johan.tibell at gmail.com
Fri Jan 9 07:46:59 UTC 2015


We should merge this fix to the 7.10 branch.
On Jan 8, 2015 11:52 PM, "Peter Wortmann" <scpmw at leeds.ac.uk> wrote:

>
> (sorry for late answer)
>
> Yes, that's pretty much what this would boil down to. The patch is trivial:
>
> https://github.com/scpmw/ghc/commit/29acc#diff-1
>
> I think this is a good idea anyways. We can always re-introduce the data
> for higher -g<n> levels.
>
> Greetings,
>   Peter
>
>
> On 05/01/2015 00:59, Johan Tibell wrote:
>
>> What about keeping exactly what -g1 keeps for gcc (i.e. functions,
>> external variables, and line number tables)?
>>
>> On Sun, Jan 4, 2015 at 5:48 PM, Peter Wortmann <scpmw at leeds.ac.uk
>> <mailto:scpmw at leeds.ac.uk>> wrote:
>>
>>
>>
>>     Okay, I ran a little experiment - here's the size of the debug
>>     sections that Fission would keep (for base library):
>>
>>        .debug_abbrev:          8932 - 0.06%
>>        .debug_line:          374134 - 2.6%
>>        .debug_frame:         671200 - 4.5%
>>
>>     Not that much. On the other hand, .debug_info is a significant
>>     contributor:
>>
>>        .debug_info(full):   4527391 - 30%
>>
>>     Here's what this contains: All procs get a corresponding DWARF
>>     entry, and we declare all Cmm blocks as "lexical blocks". The latter
>>     isn't actually required right now - to my knowledge, GDB simply
>>     ignores it, while LLDB shows it as "inlined" routines. In either
>>     case, it just shows yet more GHC-generated names, so it's really
>>     only useful for profiling tools that know Cmm block names.
>>
>>     So here's what we get if we strip out block information:
>>
>>        .debug_info(!block): 1688410 - 11%
>>
>>     This eliminates a good chunk of information, and might therefore be
>>     a good idea for "-g1" at minimum. If we want this as default for
>>     7.10, this would make the total overhead about 18%. Acceptable? I
>>     can supply a patch if needed.
>>
>>     Just for comparison - for Fission we'd strip proc records as well,
>>     which would cause even more extreme savings:
>>
>>        .debug_info(!proc):    36081 - 0.2%
>>
>>     At this point the overhead would be just about 7% - but without
>>     doing Fission properly this would most certainly affect debuggers.
>>
>>     Greetings,
>>        Peter
>>
>>     On 03/01/2015 21:22, Johan Tibell wrote:
>>     > How much debug info (as a percentage) do we currently generate?
>> Could we just keep it in there in the release?
>>
>>     _________________________________________________
>>     ghc-devs mailing list
>>     ghc-devs at haskell.org <mailto:ghc-devs at haskell.org>
>>     http://www.haskell.org/__mailman/listinfo/ghc-devs
>>     <http://www.haskell.org/mailman/listinfo/ghc-devs>
>>
>>
>>
>>
>> _______________________________________________
>> ghc-devs mailing list
>> ghc-devs at haskell.org
>> http://www.haskell.org/mailman/listinfo/ghc-devs
>>
>>
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://www.haskell.org/mailman/listinfo/ghc-devs
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20150109/1dca5132/attachment.html>


More information about the ghc-devs mailing list