2000-11-21 21:43:50

by Steven Cole

[permalink] [raw]
Subject: [PATCH] 2.4.0-test11-ac1 compile error fix

Here is a patch to fix a compile error which I previously reported on
the 2.4.0test11-ac1 thread.

I tried to compile 2.4.0-test11-ac1, and here is where the compile bombed
out:

/usr/bin/kgcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes
-O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -march=i686 -c -o
sched.o sched.c
irq.c:182: conflicting types for `global_irq_lock'
/usr/src/linux/include/asm/hardirq.h:45: previous declaration of
`global_irq_lock'
make[1]: *** [irq.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.0-test11-ac1/arch/i386/kernel'
make: *** [_dir_arch/i386/kernel] Error 2

Evidently, global_irq_lock was changed to a long in several places in
the 2.4.0-test11-ac1 patch, but was left as an int in
linux/include/asm/hardirq.h.

I'm running 2.4.0-test11-ac1 with this patch now.

diff -u linux/include/asm/hardirq.h.orig linux/include/asm/hardirq.h
--- linux/include/asm/hardirq.h.orig Tue Nov 21 13:38:07 2000
+++ linux/include/asm/hardirq.h Tue Nov 21 13:40:13 2000
@@ -42,7 +42,7 @@
#include <asm/smp.h>

extern unsigned char global_irq_holder;
-extern unsigned volatile int global_irq_lock;
+extern unsigned volatile long global_irq_lock; /* long for set_bit -RR */

static inline int irqs_running (void)
{