Shipping core libraries with debug symbols
Peter Wortmann
scpmw at leeds.ac.uk
Thu Jan 8 22:51:11 UTC 2015
(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
>
More information about the ghc-devs
mailing list