Noname patch

David Mosberger-Tang (davidm@cs.arizona.edu)
Fri, 7 Jul 1995 08:09:52 -0700


The latest Noname patch is available as:

ftp://cag.cs.arizona.edu/pub/linux/axp-diff-1.3.7-noname.gz

The major change is that I moved to building kernels under Linux
itself (as opposed to OSF/1). As I'm currently limited to 8-2MB of
RAM, kernel-building is---shall I say---sluggish (gcc simply is
thrashing---everything else is pleasantly fast). So I didn't try the
networking patches yet (Bob reports success in building the networking
code though---see more on this below). In particular, I added the
linker-scripts from Jim's distribution and also expanded the a.out.h
header file so it is possible to compile
arch/alpha/boot/tools/build.c. Though build can be compiled and
linked, it doesn't work for me because GNU ld seems to create sections
that are at least 256B large (thus confusing the build tool into
thinking that the sections are misordered). This is not a big problem
as you can always use the e2writeboot utility to install a 2ndary
bootstrap loader. Similarly, the strip binary I have breaks vmlinux
(it turns the OMAGIC file into a ZMAGIC one). I work around this
problem by building and installing kernels as follows:

cd /usr/src/linux
make
gzip vmlinux
cp vmlinux.gz /new-vmlinux.gz

<reset machine>

boot -fi 2/new-vmlinux.gz

Of course, these problems should be fixed, but at least it works for
now.

Except for the ".set singlegp" line entry.S, everything should still
work under OSF/1. Enclosing that line in "#ifndef __osf__" or some
such should take care of that one as well.

Other changes:
- small patch to drivers/char/selection.c to make word-selection
work properly (also needs a corresponding patch in gpm-0.98.3)
- Jay's fix to fs/ext2/namei.c (actually, a variant thereof)
- fix to lca.h to make it compile with Linus's 1.3.7 changes
- the changes for kernel GDB are gone---they will become available
again as a separate patch as soon as I can verify that they still
work (which requires access to a second machine)

Regarding networking, Bob reported there is a problem with

drivers/net/auto_irq.c:autoirq_probe()

when compiling under Linux. The set_irq() call seems to blow away the
compiler. Replacing that call with

irq_bitmap |= 1 << irq;

should work as a temporary fix. Incidentally, it seems to me that
there is no reason to use set_bit() as there are no race conditions
with the interrupt handler as far as I can tell. Actually, couldn't
this whole file be replaced with calls to probe_irq_*? Seems there is
some unnecessary code duplication there (though I may be missing a
detail or two as I haven't been able to try networking myself yet).

Enjoy,

--david