Re: [PATCH] module: Fix up CONFIG_KALLSYMS=n build.

From: AmÃrico Wang
Date: Fri Sep 25 2009 - 02:49:27 EST


On Fri, Sep 25, 2009 at 11:45 AM, Paul Mundt <lethal@xxxxxxxxxxxx> wrote:
> Starting from commit 4a4962263f07d14660849ec134ee42b63e95ea9a
> "reduce symbol table for loaded modules (v2)", the kernel/module.c build
> is broken with CONFIG_KALLSYMS disabled.
>
> ÂCC Â Â Âkernel/module.o
> kernel/module.c:1995: warning: type defaults to 'int' in declaration of 'Elf_Hdr'
> kernel/module.c:1995: error: expected ';', ',' or ')' before '*' token
> kernel/module.c: In function 'load_module':
> kernel/module.c:2203: error: 'strmap' undeclared (first use in this function)
> kernel/module.c:2203: error: (Each undeclared identifier is reported only once
> kernel/module.c:2203: error: for each function it appears in.)
> kernel/module.c:2239: error: 'symoffs' undeclared (first use in this function)
> kernel/module.c:2239: error: implicit declaration of function 'layout_symtab'
> kernel/module.c:2240: error: 'stroffs' undeclared (first use in this function)
> make[1]: *** [kernel/module.o] Error 1
> make: *** [kernel/module.o] Error 2
>
> There are three different issues:
>
> Â Â- layout_symtab() takes a const Elf_Ehdr
>
> Â Â- layout_symtab() needs to return a value
>
> Â Â- symoffs/stroffs/strmap are referenced by the load_module() code
> Â Â Âdespite being ifdefed out, which seems unnecessary given the noop
> Â Â Âbehaviour of layout_symtab()/add_kallsyms() in the case of
> Â Â ÂCONFIG_KALLSYMS=n.
>
> Signed-off-by: Paul Mundt <lethal@xxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxxxx>
> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>

Indeed.

Acked-by: WANG Cong <amwang@xxxxxxxxxx>
--
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/