2002-08-04 10:09:57

by Keith Owens

[permalink] [raw]
Subject: 2.4.19 make allmodconfig - undefined symbols

2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
wanting proc_get_inode, there was only one undefined symbol. In the
extremely unlikely event that binfmt_elf is a module (how do you load
modules when binfmt_elf is a module?), smp_num_siblings is unresolved.

Index: 19.1/arch/i386/kernel/i386_ksyms.c
--- 19.1/arch/i386/kernel/i386_ksyms.c Wed, 17 Jul 2002 12:08:06 +1000 kaos (linux-2.4/S/c/7_i386_ksyms 1.2.1.21 644)
+++ 19.1(w)/arch/i386/kernel/i386_ksyms.c Sun, 04 Aug 2002 20:09:37 +1000 kaos (linux-2.4/S/c/7_i386_ksyms 1.2.1.21 644)
@@ -129,6 +129,7 @@ EXPORT_SYMBOL(mmx_copy_page);
EXPORT_SYMBOL(cpu_data);
EXPORT_SYMBOL(kernel_flag_cacheline);
EXPORT_SYMBOL(smp_num_cpus);
+EXPORT_SYMBOL(smp_num_siblings);
EXPORT_SYMBOL(cpu_online_map);
EXPORT_SYMBOL_NOVERS(__write_lock_failed);
EXPORT_SYMBOL_NOVERS(__read_lock_failed);


2002-08-04 12:31:49

by Willy Tarreau

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

On Sun, Aug 04, 2002 at 08:13:20PM +1000, Keith Owens wrote:
> 2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
> wanting proc_get_inode, there was only one undefined symbol. In the
> extremely unlikely event that binfmt_elf is a module (how do you load
> modules when binfmt_elf is a module?), smp_num_siblings is unresolved.

I also get an unresolved reference to __io_virt_debug in misc.o:puts()
when building bzImage. If you don't get it, it means that my tree is
corrupted.

Regards,
Willy

2002-08-04 12:49:22

by Paul Komkoff

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

Replying to Keith Owens:
> 2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
> wanting proc_get_inode, there was only one undefined symbol. In the
> extremely unlikely event that binfmt_elf is a module (how do you load
> modules when binfmt_elf is a module?), smp_num_siblings is unresolved.

I wrote about it many times at 19-pre stage. With patches, err, to warning
cases too. _Nothing_ is applied.

They still in my tree ... but who interested in my tree ? :)

--
Paul P 'Stingray' Komkoff 'Greatest' Jr /// (icq)23200764 /// (http)stingr.net
When you're invisible, the only one really watching you is you (my keychain)

2002-08-04 13:19:02

by Keith Owens

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

On Sun, 4 Aug 2002 14:35:13 +0200,
Willy Tarreau <[email protected]> wrote:
>On Sun, Aug 04, 2002 at 08:13:20PM +1000, Keith Owens wrote:
>> 2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
>> wanting proc_get_inode, there was only one undefined symbol. In the
>> extremely unlikely event that binfmt_elf is a module (how do you load
>> modules when binfmt_elf is a module?), smp_num_siblings is unresolved.
>
>I also get an unresolved reference to __io_virt_debug in misc.o:puts()
>when building bzImage. If you don't get it, it means that my tree is
>corrupted.

Neither. It is a problem with CONFIG_DEBUG_IOVIRT which allmod and
allyesconfig turn on. My builds stop at vmlinux and do not build
bzImage so I did not detect this problem. The outb_p calls in misc.c
need fixing for CONFIG_DEBUG_IOVIRT=y, or force CONFIG_DEBUG_IOVIRT=n.

Interesting that the comment for CONFIG_DEBUG_IOVIRT says "Temporary
debugging check to catch old code using unmapped ISA addresses. Will be
removed in 2.4".

2002-08-04 14:59:06

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

On Sun, 4 Aug 2002, Keith Owens wrote:

> On Sun, 4 Aug 2002 14:35:13 +0200,
> Willy Tarreau <[email protected]> wrote:
> >On Sun, Aug 04, 2002 at 08:13:20PM +1000, Keith Owens wrote:
> >> 2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
> >> wanting proc_get_inode, there was only one undefined symbol. In the
> >> extremely unlikely event that binfmt_elf is a module (how do you load
> >> modules when binfmt_elf is a module?), smp_num_siblings is unresolved.
> >
> >I also get an unresolved reference to __io_virt_debug in misc.o:puts()
> >when building bzImage. If you don't get it, it means that my tree is
> >corrupted.
>
> Neither. It is a problem with CONFIG_DEBUG_IOVIRT which allmod and
> allyesconfig turn on. My builds stop at vmlinux and do not build
> bzImage so I did not detect this problem. The outb_p calls in misc.c
> need fixing for CONFIG_DEBUG_IOVIRT=y, or force CONFIG_DEBUG_IOVIRT=n.
>...

More exactly it's a problem that only occurs with CONFIG_MULTIQUAD
enabled. The thread starting with [1] contains a discussion of this bug
and the patch used to fix it in 2.5.

cu
Adrian

[1] http://marc.theaimsgroup.com/?l=linux-kernel&m=102079707313304&w=2


--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
Alan Cox

2002-08-04 16:06:35

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

On Sun, 4 Aug 2002, Keith Owens wrote:

> 2.4.19 make allmodconfig. Besides the perennial drivers/net/wan/comx.o
> wanting proc_get_inode, there was only one undefined symbol. In the
> extremely unlikely event that binfmt_elf is a module (how do you load
> modules when binfmt_elf is a module?), smp_num_siblings is unresolved.
>...

My impression is that nowadays it's extremely unlikely that someone tries
to run a current 2.4 kernel on an a.out system - and since there weren't
reports of people trying to build binfmt_elf as a module it seems noone
actually hits this problem. Instead of exporting one symbol that is only
needed in pathological setups I'd suggest the following patch to disallow
the modular bulding of binfmt_elf:

--- arch/i386/config.in.old Sun Aug 4 18:05:16 2002
+++ arch/i386/config.in Sun Aug 4 18:05:29 2002
@@ -267,7 +267,7 @@
A.OUT CONFIG_KCORE_AOUT" ELF
fi
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
-tristate 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
+bool 'Kernel support for ELF binaries' CONFIG_BINFMT_ELF
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC

bool 'Power Management support' CONFIG_PM

cu
Adrian

--

You only think this is a free country. Like the US the UK spends a lot of
time explaining its a free country because its a police state.
Alan Cox

2002-08-04 16:57:25

by Alan

[permalink] [raw]
Subject: Re: 2.4.19 make allmodconfig - undefined symbols

On Sun, 2002-08-04 at 17:10, Adrian Bunk wrote:
> My impression is that nowadays it's extremely unlikely that someone tries
> to run a current 2.4 kernel on an a.out system - and since there weren't
> reports of people trying to build binfmt_elf as a module it seems noone
> actually hits this problem. Instead of exporting one symbol that is only
> needed in pathological setups I'd suggest the following patch to disallow
> the modular bulding of binfmt_elf:

If people want module ELF fine by me. The simpler fix is already in -ac,
which is to do the stack peturbation unconditionally.