cannot make a success compilation of 2.4.0-test11pre2 with the same
.config than for a successfull 2.4.0-test10 compilation.
Same problem when apply patch-2.4.0test11pre2-ac1 from alan cox
arch/i386/mm/mm.o: In function `do_page_fault':
arch/i386/mm/mm.o(.text+0x821): undefined reference to `bust_spinlocks'
make: *** [vmlinux] Erreur 1
bash-2.04$
use egcs 1.1.2
I can provide .config i did not put it for size reasons.
On Sat, 11 Nov 2000, reiser.angus wrote:
> cannot make a success compilation of 2.4.0-test11pre2 with the same
> .config than for a successfull 2.4.0-test10 compilation.
> Same problem when apply patch-2.4.0test11pre2-ac1 from alan cox
>
> arch/i386/mm/mm.o: In function `do_page_fault':
> arch/i386/mm/mm.o(.text+0x821): undefined reference to `bust_spinlocks'
> make: *** [vmlinux] Erreur 1
>
> bash-2.04$
>
> use egcs 1.1.2
This has been introduced and fixed by Andrew Morton ages ago -- here his
email and patch with the fix:
>From [email protected] Fri Nov 10 09:11:36 2000
Date: Fri, 10 Nov 2000 05:18:09 +0000
From: Andrew Morton <[email protected]>
To: John Kacur <[email protected]>, Linus Torvalds <[email protected]>
Cc: [email protected]
Subject: [patch] Re: test11-pre2 compile error undefined reference to
`bust_spinlocks'
John Kacur wrote:
>
> When attempting to compile test11-pre2, I get the following compile
> error.
>
> arch/i386/mm/mm.o: In function `do_page_fault':
> arch/i386/mm/mm.o(.text+0x781): undefined reference to `bust_spinlocks'
> make: *** [vmlinux] Error 1
It was inside an ifdef. Apologies.
This patch against test11-pre2 moves it to fault.c.
--- linux-2.4.0-test11-pre2/arch/i386/kernel/traps.c Fri Nov 10 15:59:15 2000
+++ linux/arch/i386/kernel/traps.c Fri Nov 10 15:52:40 2000
@@ -63,6 +63,7 @@
struct desc_struct idt_table[256] __attribute__((__section__(".data.idt"))) = { {0, 0}, };
extern int console_loglevel;
+extern void bust_spinlocks(void);
static inline void console_silent(void)
{
@@ -394,19 +395,7 @@
__setup("nmi_watchdog=", setup_nmi_watchdog);
-extern spinlock_t console_lock, timerlist_lock;
static spinlock_t nmi_print_lock = SPIN_LOCK_UNLOCKED;
-
-/*
- * Unlock any spinlocks which will prevent us from getting the
- * message out (timerlist_lock is aquired through the
- * console unblank code)
- */
-void bust_spinlocks(void)
-{
- spin_lock_init(&console_lock);
- spin_lock_init(&timerlist_lock);
-}
inline void nmi_watchdog_tick(struct pt_regs * regs)
{
--- linux-2.4.0-test11-pre2/arch/i386/mm/fault.c Fri Nov 10 15:59:15 2000
+++ linux/arch/i386/mm/fault.c Fri Nov 10 16:02:03 2000
@@ -24,7 +24,6 @@
#include <asm/hardirq.h>
extern void die(const char *,struct pt_regs *,long);
-extern void bust_spinlocks(void);
/*
* Ugly, ugly, but the goto's result in better assembly..
@@ -76,6 +75,19 @@
bad_area:
return 0;
+}
+
+extern spinlock_t console_lock, timerlist_lock;
+
+/*
+ * Unlock any spinlocks which will prevent us from getting the
+ * message out (timerlist_lock is aquired through the
+ * console unblank code)
+ */
+void bust_spinlocks(void)
+{
+ spin_lock_init(&console_lock);
+ spin_lock_init(&timerlist_lock);
}
asmlinkage void do_invalid_op(struct pt_regs *, unsigned long);
"reiser.angus" <[email protected]> writes:
> cannot make a success compilation of 2.4.0-test11pre2 with the same
> .config than for a successfull 2.4.0-test10 compilation.
> Same problem when apply patch-2.4.0test11pre2-ac1 from alan cox
>
> arch/i386/mm/mm.o: In function `do_page_fault':
> arch/i386/mm/mm.o(.text+0x821): undefined reference to `bust_spinlocks'
> make: *** [vmlinux] Erreur 1
apply this patch (if you look in the archive of lkml you'll see it was
posted a day ago by Keith Owens :
Index: 0-test11-pre2.1/arch/i386/kernel/traps.c
--- 0-test11-pre2.1/arch/i386/kernel/traps.c Fri, 10 Nov 2000 13:10:37 +1100 kaos (linux-2.4/A/c/1_traps.c 1.1.2.2.1.1.2.1.2.3.1.2.3.1.1.2 644)
+++ 0-test11-pre2.1(w)/arch/i386/kernel/traps.c Fri, 10 Nov 2000 16:06:48 +1100 kaos (linux-2.4/A/c/1_traps.c 1.1.2.2.1.1.2.1.2.3.1.2.3.1.1.2 644)
@@ -382,6 +382,18 @@ static void unknown_nmi_error(unsigned c
printk("Do you have a strange power saving mode enabled?\n");
}
+extern spinlock_t console_lock, timerlist_lock;
+/*
+ * Unlock any spinlocks which will prevent us from getting the
+ * message out (timerlist_lock is acquired through the
+ * console unblank code)
+ */
+void bust_spinlocks(void)
+{
+ spin_lock_init(&console_lock);
+ spin_lock_init(&timerlist_lock);
+}
+
#if CONFIG_X86_IO_APIC
int nmi_watchdog = 1;
@@ -394,19 +406,7 @@ static int __init setup_nmi_watchdog(cha
__setup("nmi_watchdog=", setup_nmi_watchdog);
-extern spinlock_t console_lock, timerlist_lock;
static spinlock_t nmi_print_lock = SPIN_LOCK_UNLOCKED;
-
-/*
- * Unlock any spinlocks which will prevent us from getting the
- * message out (timerlist_lock is aquired through the
- * console unblank code)
- */
-void bust_spinlocks(void)
-{
- spin_lock_init(&console_lock);
- spin_lock_init(&timerlist_lock);
-}
inline void nmi_watchdog_tick(struct pt_regs * regs)
{
-
--
MandrakeSoft Inc http://www.chmouel.org
--Chmouel