public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Jim Wilson <wilson@cygnus.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] 2.3.99-pre5 Kernel Compile
Date: Wed, 26 Apr 2000 17:57:57 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105590678205053@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590678205048@msgid-missing>

	Perhaps the real question should be: why is it that gcc produces such
	bloated debug info?

I haven't looked at the ia64-linux kernel specifically, but in most cases the
problem is duplicated debug info for header files.  This is particularly a
problem for large C++ programs.  If a header file is included in twenty
different files, you end up with 20 copies of the debug info for that
header file.  This is something that everyone using DWARF2 eventually
complains about.  There are also a few other areas where the gcc DWARF2
implementation could be improved with respect to debug info size.

It is possible to eliminate a lot of the duplicate info in the linker.
However, because DWARF2 debug info is highly encoded to save space, this
would require the linker to decode the debug info, factor out common info,
and then re-encode the debug info.  This is a lot of work for the linker, and
is not easy to implement.

There is a DWARF2 standards committee that is working on a revision of the
DWARF2 standard, and one of the things that they are working on making it
easier to reduce the debug info size at link time.  If we could put header
file debug info in its own section for instance, then we can use normal linker
support for discarding duplicate sections to reduce the debug info size.
Cygnus is contributing to this committee, and I expect that we will be
implementing some of these new features in the gcc DWARF2 implementation.

People using stabs don't see this problem because stabs already has support
for eliminating duplicate header file debug info.  This is easy to do in
stabs, because there is no complicated encoding of the data that gets in the
way of identifying duplicate debug info.

Jim



      parent reply	other threads:[~2000-04-26 17:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-04-26 14:40 [Linux-ia64] 2.3.99-pre5 Kernel Compile roneng
2000-04-26 14:47 ` Don Dugger
2000-04-26 15:15 ` David Mosberger
2000-04-26 17:57 ` Jim Wilson [this message]

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=marc-linux-ia64-105590678205053@msgid-missing \
    --to=wilson@cygnus.com \
    --cc=linux-ia64@vger.kernel.org \
    /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