Re: start___kallsyms missing from i386 vmlinux.lds ?

From: Keith Owens (kaos@ocs.com.au)
Date: Tue Jan 02 2001 - 05:30:33 EST


On Tue, 02 Jan 2001 04:39:39 -0500,
Paul Gortmaker <p_gortmaker@yahoo.com> wrote:
>Keith Owens wrote:
>> 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.
>
>Yep, saw the weak part - just noted while scanning test11 diff
>that they were defined like the above patch for arch/sparc* and
>wondered if the inconsistency was intentional.

Some sparc users have a slightly older version of gcc, built shortly
before 'weak' support was added, which required those symbols to be
defined. Dave Miller thought the compiler problem was widespread
enough to justify changing the source to suit the compiler instead of
forcing sparc users to upgrade. I suspect that super-h has the same
problem of old compilers, I noticed that somebody added the symbols to
sh/vmlinux.lds.

-
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/



This archive was generated by hypermail 2b29 : Sun Jan 07 2001 - 21:00:12 EST