Re: start___kallsyms missing from i386 vmlinux.lds ?

Keith Owens (kaos@ocs.com.au)
Tue, 02 Jan 2001 18:43:35 +1100


On Tue, 02 Jan 2001 01:56:08 -0500,
Paul Gortmaker <p_gortmaker@yahoo.com> wrote:
>--- linux/arch/i386/vmlinux.lds~ Fri Jul 7 03:47:07 2000
>+++ linux/arch/i386/vmlinux.lds Mon Jan 1 07:55:50 2001
>+ __start___kallsyms = .; /* All kernel symbols */
>+ __kallsyms : { *(__kallsyms) }
>+ __stop___kallsyms = .;

kernel/module.c defines
extern const char __start___kallsyms[] __attribute__ ((weak));
extern const char __stop___kallsyms[] __attribute__ ((weak));

The symbols are weak and do not need to be defined. If gcc is not
honouring __attribute__ ((weak)) then you have a broken or obsolete
version of gcc. You need at least gcc 2.91.66 for kernel 2.4.

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