public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paulo Marques <pmarques@grupopie.com>
To: Artem Bityutskiy <dedekind1@gmail.com>
Cc: Randy Dunlap <randy.dunlap@oracle.com>,
	MTD list <linux-mtd@lists.infradead.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/2] do not select KALLSYMS_ALL
Date: Thu, 31 Mar 2011 15:18:58 +0100	[thread overview]
Message-ID: <4D948D52.4040708@grupopie.com> (raw)
In-Reply-To: <1301474416-8202-1-git-send-email-dedekind1@gmail.com>

Artem Bityutskiy wrote:
> [...]
> I personally think KALLSYMS_ALL should be just merged with KALLSYMS and
> disappear - we should have only one option. CONFIG_KALLSYMS_EXTRA_PASS should
> die as well.

That sounds a little too extreme...

KALLSYMS is useful for most kernels, since it provides nice readable
stack dumps for panics and BUG's.

KALLSYMS_ALL adds a lot of extra symbols that can be useful mostly to
development kernels and shouldn't be used to add unnecessary bloat to
user kernels.

Now as for CONFIG_KALLSYMS_EXTRA_PASS: to build the kallsyms table, the
build process first links a kernel image with an empty kallsyms table
and use that to fetch information for all the symbols.

It then uses that information to build the table with the right size,
and links it again. If everything goes ok, this new version as all the
symbols in the correct places and the final table can be built with the
correct addresses.

The final linking should produce the same result as only the data on the
kallsyms table changed, but not its size.

However, there have been bugs in the past with section alignments and
symbol reordering for symbols with the same address, etc., etc. that
make this final table not have the exact same size, and the build fails
with an inconsistent kallsyms data message. At this point, the user can
turn on the CONFIG_KALLSYMS_EXTRA_PASS and temporarily solve the problem
while the developers find the correct fix. Without this option, in this
situation the kernel would simply fail the compilation.

All this has been stable for a while and this option hasn't been needed
recently (AFAIK), but if there is some bug in some new binutils or
something, the option might be needed again.

-- 
Paulo Marques - www.grupopie.com

"Who is general Failure and why is he reading my disk?"

  parent reply	other threads:[~2011-03-31 14:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30  8:40 [PATCH 0/2] do not select KALLSYMS_ALL Artem Bityutskiy
2011-03-30  8:40 ` [PATCH 1/2] UBIFS: " Artem Bityutskiy
2011-03-30 22:41   ` Randy Dunlap
2011-03-31  6:29     ` Artem Bityutskiy
2011-03-30  8:40 ` [PATCH 2/2] UBI: " Artem Bityutskiy
2011-03-30 22:41   ` Randy Dunlap
2011-03-31 14:18 ` Paulo Marques [this message]
2011-04-01 14:40   ` [PATCH 0/2] " Artem Bityutskiy
2011-04-01 14:56   ` Artem Bityutskiy
2011-04-01 15:01     ` Artem Bityutskiy
2011-04-01 15:11       ` Ricard Wanderlof
2011-04-01 15:34       ` Paulo Marques
2011-04-01 15:42         ` Artem Bityutskiy
2011-04-01 15:54           ` Paulo Marques
2011-04-04  7:12             ` Artem Bityutskiy

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=4D948D52.4040708@grupopie.com \
    --to=pmarques@grupopie.com \
    --cc=dedekind1@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=randy.dunlap@oracle.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