Re: [PATCH 2/1] init/Kconfig: Split expert menu into a separate file, init/Kconfig.expert

From: Paul Bolle
Date: Thu May 28 2015 - 04:14:17 EST


[Yes, this patch is superseded by your series starting at
https://lkml.org/lkml/2015/5/14/447 . But I wanted to jot this down
somewhere.]

On Tue, 2015-05-12 at 00:15 +0200, Paul Bolle wrote:
> On Mon, 2015-05-11 at 15:04 -0700, Josh Triplett wrote:
> > On Mon, May 11, 2015 at 11:50:21PM +0200, Paul Bolle wrote:
> > > On Mon, 2015-05-11 at 13:23 -0700, Josh Triplett wrote:
> > > > +config KALLSYMS_ALL
> > > > + bool "Include all symbols in kallsyms"
> > >
> > > (For some reason this entry doesn't have if EXPERT but it seems to
> > > behave as expected. Odd.)
> >
> > Because it depends on KALLSYMS. Magic!
>
> Welcome to the land of Kconfig!

It's even more subtle (at least currently, ie before this patch is
applied).

KALLSYMS_ALL's prompt doesn't depend on EXPERT. KALLSYMS's prompt does.
For some reason, perhaps because KALLSYMS_ALL depends on KALLSYMS, this
makes both entries visible under EXPERT's menu even if EXPERT is _not_
set.

But, in contrast to BPF_SYSCALL, this doesn't influence the following
symbols that do have a prompt that depends on EXPERT.

Adding "if EXPERT" to the prompt of KALLSYMS_ALL does hide that symbol
_and_ KALLSYMS (when EXPERT is not set, of course).

(This may be documented, or clearly commented in the code. I didn't
check.)

> > > > + depends on DEBUG_KERNEL && KALLSYMS
> > > > + help
> > > > + Normally kallsyms only contains the symbols of functions for nicer
> > > > + OOPS messages and backtraces (i.e., symbols from the text and inittext
> > > > + sections). This is sufficient for most cases. And only in very rare
> > > > + cases (e.g., when a debugger is used) all symbols are required (e.g.,
> > > > + names of variables from the data sections, etc).
> > > > +
> > > > + This option makes sure that all symbols are loaded into the kernel
> > > > + image (i.e., symbols from all sections) in cost of increased kernel
> > > > + size (depending on the kernel configuration, it may be 300KiB or
> > > > + something like this).
> > > > +
> > > > + Say N unless you really need all symbols.

Thanks,


Paul Bolle

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/