Re: Problems with block device drivers

Keith Owens (kaos@ocs.com.au)
Sat, 27 Nov 1999 22:46:25 +1100


On Sat, 27 Nov 1999 18:39:08 +1100 (EST),
<mgibbins@mak.net.au> wrote:
>> On Sat, 27 Nov 1999 13:28:33 +1100 (EST),
>> <mgibbins@mak.net.au> wrote:
>> >I've just 'upgraded' from egcs to gcc-2.95.2 and have found it impossible
>> >to load block filesystem modules. I built the kernel earlier with
>> >libc-2.1.2 and egcs without problems.
>> >/lib/modules/2.2.13/block/nbd.o: unresolved symbol(s)
>> > end_that_request_last
>> > end_that_request_first
> Kernel configuration appears correct, I have
>'end_that_request_..._Rxxxxxxxx' in /proc/ksyms and all other modules
>load. It's only the block modules (floppy, nbd, ide-floppy, ide-cd, loop)
>that are troublesome.

The kernel was compiled with kernel symbols (genksyms) but your modules
were compiled without genksyms. Fundamental mismatch, no way they will
load.

At some stage you have compiled the normal modules correctly, do
"nm -A /lib/modules/2.2.13/*/*.o" and look at the symbols. A lot will
have the _Rxxxxxxxx suffix, this matches the kernel so you can load
them. But your ide modules do not have the suffix on the symbols so
they cannot load.

Unless you can work out what you changed to get this mixture and can
correct the problem, the safest option is save your .config, make
mrproper, restore your .config and rebuild the kernel and all modules
from scratch, then reinstall. It could be something as simple as
genksyms not working with the new compiler and/or library but rather
than stuff about trying to locate the problem, clean out and restart.

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