Re: Solution to problem with loading modules in 2.1.4/2.1.5

Rob Glover (potato@dsnet.com)
Sat, 19 Oct 1996 21:38:20 -0700 (PDT)


upgrade to libc-5.4.9. simple as that :>

On Sat, 19 Oct 1996, Al Longyear wrote:

> For the past couple of days I have been trying to make the 2.1.4
> kernel work on my laptop system.
>
> The laptop needs to use modules because the ethernet and modems are
> both PCMCIA cards and the PCMCIA support needs modules.
>
> All attempts to load modules would fail with a message saying that the
> module load had some really strange error number such as 1032201031.
> (Clearly, this is not an error.)
>
> This was with the 2.0.0 version of the modules utilities. I checked
> and this is the most current one as of last night.
>
> It would fail to load _any_ module, including the ones built by the
> kernel's software such as the minix file system or the iso9660 file
> system. The problem was not with David Hinds' PCMCIA code, but was
> generic in nature.
>
> It turns out to be a problem with syscall interface which changed at
> 2.1.4.
>
> I debugged the insmod program and looked at the source for the module
> loader in the kernel. Yes, the return from the syscall(...) subroutine
> in the libc library was returning the error condition.
>
> The version of the libc on that system is 5.4.7.
>
> The reason that I brought libc into this message is that the insmod
> procedure uses syscall, not _syscall2 to interface to the operating
> system. The problem is that the syscall function was built with the
> old macros and only worked reliably on the the earlier 2.1 series
> kernels.
>
> A solution, "just to make it work", was to change the insmod to use
> the macros _syscall2 and _syscall5 directly to build the interface
> procedures rather than to go through the syscall procedure.
>
> Lo and behold, modules were loaded and everything worked.
>
> That is not a recommended solution to anyone. The approach should be
> to correct the syscall interface in the libc file so that it follows
> the lines of the _syscall macros now in the kernel.
>
> I am only saying that this is what I found and this is the problem and
> here is how I solved it for me for the time being. If you have similar
> problems with loading modules then perhaps you have the same problem.
>
> In the mean time, I guess that I will just have to limp along with my
> patched version of insmod that seems to work now and can get back to
> my work on ppp.
>
> --
> Al Longyear longyear@netcom.com Finger for PGP key
> Design is about changing your mind until you get it correct.
>
>