Re: [2.1.80] where is csum_ipv6_magic ?

Matti Aarnio (matti.aarnio@tele.fi)
Sat, 24 Jan 1998 13:49:52 +0000 (/etc/localtime)


> Hello,
>
> include/asm-alpha/checksum.h contains the prototype of the csum_ipv6_magic
> function, but this function is nowhere described, and therefore I cannot
> insert the ipv6 module.

See diff below. (its second part)
I agree that it isn't 'pretty' as it somewhat violates the
layering by introducing architecture specific part into
generic module, but if you can figure better way, I would
like to hear about it.

The other change is due to idiotics of GNU libc 2.0 locale
handling routines. Somebody happily coded in the use of
non-implemented OSF specific MAP_INTERIT flag, and with
locales on even 'cp' generates 5 kernel messages... Urgh.
(Obviously RedHat folks didn't use locale stuff themselves..)

These are minimal generic Alpha specific changes, however
if you have PYXIS based machine, I have some more mandatory
changes -- but Jay Estabrook is working on those parts too,
he knows my results and he will publish his work soon, I hope.

> --Thomas Pornin

/Matti Aarnio <matti.aarnio@tele.fi>

diff -u -r linux-2.1.79ORIG/arch/alpha/kernel/osf_sys.c linux-2.1.79/arch/alpha/kernel/osf_sys.c
--- linux-2.1.79ORIG/arch/alpha/kernel/osf_sys.c Mon Jan 12 22:49:36 1998
+++ linux-2.1.79/arch/alpha/kernel/osf_sys.c Tue Jan 13 09:50:25 1998
@@ -246,8 +246,10 @@
unsigned long ret = -EBADF;

lock_kernel();
+#if 0 /* Tough, glibc-2.0 locale routines use MAP_INHERIT :-( */
if (flags & (MAP_HASSEMAPHORE | MAP_INHERIT | MAP_UNALIGNED))
printk("%s: unimplemented OSF mmap flags %04lx\n", current->comm, flags);
+#endif
if (!(flags & MAP_ANONYMOUS)) {
if (fd >= NR_OPEN || !(file = current->files->fd[fd]))
goto out;
diff -u -r linux-2.1.79ORIG/net/ipv6/Makefile linux-2.1.79/net/ipv6/Makefile
--- linux-2.1.79ORIG/net/ipv6/Makefile Thu Mar 27 22:40:16 1997
+++ linux-2.1.79/net/ipv6/Makefile Tue Jan 13 10:57:05 1998
@@ -16,6 +16,10 @@
MOD_LIST_NAME := IPV6_MODULES
M_OBJS := $(O_TARGET)

+ifeq ($(ARCH),alpha)
+IPV6_OBJS += ../../arch/alpha/lib/csum_ipv6_magic.o
+endif
+
#ifeq ($(CONFIG_IPV6_FIREWALL),y)
# IPV6_OBJS += ip6_fw.o
#endif