new kernel patch & insmod utilities

David Mosberger-Tang (davidm@AZStarNet.com)
Sat, 11 Nov 1995 11:52:15 -0700


A new Alpha kernel patch is now as:

ftp://ftp.azstarnet.com/pub/linux/axp/sys/axp-diff-1.3.40-pci.gz

So far, I only compiled a kernel for the Cabriolet (Noname available
upon request...). It's in vmlinux-1.3.40-cabrio.gz.

Contents:

- fix to fs/exec.c so it doesn't mistake shell scripts
as shared binaries...
- yet another fix to the Noname machine check handler
- modules support the way Linus likes it :-)
- fix to tkgen.c so that the xconfig looks nicer for
menubars (this patch is by Eric)
- floppy.c fixes to get it to link on the Alpha (note:
IOC_SIZE is *not* a kernel header file macro;
_IOC_SIZE should be used instead). Also, with out
the type change in set_geometry(), a comparison will
always fail on the Alpha because the value that it is
compared to is an unsigned int constant.
- add option "-dc" to module link command so that bss
symbols get allocated; this is needed for the BFD-based
insmod utility
- the "#if 0" patch to ad1848.c is needed on the Multia,
I believe; Jay can you elaborate? Is it needed at all?
- other minor fixes (depca.c,sound/Makefile)
- kgdb patches (as usual)

If you want to use kernel modules, be sure to get the latest
insmod-bfd-0.0.tar.gz from the above directory. It contains the
BFD-based insmod utility required on the Alphas. Any module should
work so long as you remember to pass option "-dc" when creating the
final module (often on the ld -r command line). If you forget to do
this, BFD *may* complain that the module is bigger than expected.
Fortunately, no harm can result from forgetting to specify -dc. If
insmod doesn't complain, it's perfectly safe to use the module in its
current form.

Notice that the above tar file contains insmod, lsmod, and rmmod only.
In order to build new kernels, you may also want to install genksyms
which comes with the modules-1.1.87.tar.gz distribution (e.g., on
sunsite.unc.edu). I hope that the BFD insmod utility will eventually
make it into that distribution, but it's probably too early for that.

The downside of the BFD insmod is that it's slower than the native
insmod versions (do insmod -v to see why :). On the positive side,
using BFD for insmod means that it should work on any platform that
BFD supports. The caveat is that the underscore handling for the
a.out format is almost certainly broken right now. But that should be
easy to fix.

If you apply the above kernel patch and use these insmod utilities,
you should be able to build any kernel module. I just tried the sound
and printer driver and they all seem to work fine.

--david