public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: David Taylor <dtaylor@emc.com>
To: Andrew Cagney <ac131313@redhat.com>
Cc: gdb@sources.redhat.com
Subject: Re: macros, debug information, and parse_macro_definition
Date: Tue, 29 Apr 2003 16:51:00 -0000	[thread overview]
Message-ID: <200304291651.h3TGpOh14073@mailhub.lss.emc.com> (raw)
In-Reply-To: Your message of "Tue, 29 Apr 2003 10:55:58 EDT." <3EAE927E.4030005@redhat.com>

> Date: Tue, 29 Apr 2003 10:55:58 -0400
> From: Andrew Cagney <ac131313@redhat.com>

> Have you thought about link time information compression?  One of the 
> complaints leveled at the macro stuff is the size of the resultant debug 
> info.
> 
> Andrew

I've thought some about (link time) debug information compression;
but, probably not as much as I should have.

[We already do some compression of STABS w/o macro information because
it's too voluminous as it is.  (And DWARF is worse still.)  I imagine
I will have to solve the problem in-house when macro information is
'turned on', so yes, this is a problem I need to think about.]

Since it's not in a separate section, you can't just say "oh, these
are identical, only keep one copy".

And you certainly (or, I certainly) don't want to tech LD about the
internals of STABS (or any debug format, for that matter) -- to, for
example, compare chunks that are bracketed by N_BINCL / N_EINCL (begin
include, end include), never mind more serious knowledge.

The choices that come immediately to mind are:

. teach LD about the internals of the debug format -- major blech.

. leave the information in the object files and have the executable
  file just 'reference' the object file information in some manner.

  [Sun does/did this with their compilers.  And this has some appeal.
  I believe that it would satisfy needs during development; but, I
  believe that it would not satisfy support needs.  So, I don't see us
  implementing it unless it turns out that its just a step along the
  way to the real solution.]

. have a separate program do some post processing of the debug symbols
  to compress them.

  [Hmmm, what would it take to get GNU LD to support piping its output
  to a program?  That way, the huge executable need never be stored on
  disk.  And then, if you invoked it via the specs file, it could be
  made pretty transparent to the user...  Just thinking out loud, mind
  you.]

. somehow generate only one copy in the first place.  Possibly by
  doing something with 'pre-compiled' header files?  What exactly, is
  unclear.

I believe that all of the above would require GDB work to support
them.

  parent reply	other threads:[~2003-04-29 16:51 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-22 16:40 David Taylor
2003-04-22 20:06 ` Kevin Buettner
2003-04-24  3:08 ` Jim Blandy
2003-04-24 15:12   ` David Taylor
2003-04-29 14:55     ` Andrew Cagney
2003-04-29 15:55       ` Daniel Berlin
2003-04-29 16:24         ` Keith Walker
2003-04-29 17:13           ` Daniel Berlin
2003-04-29 16:51       ` David Taylor [this message]
2003-05-02 19:21       ` Jim Blandy
2003-05-04 19:41         ` Andrew Cagney

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200304291651.h3TGpOh14073@mailhub.lss.emc.com \
    --to=dtaylor@emc.com \
    --cc=ac131313@redhat.com \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).