Re: Uniprocessor Compile error: 2.4.15-pre4 (-tr) in kernel.o (cpu_init()) - Works with SMP

From: Benjamin LaHaise (bcrl@redhat.com)
Date: Tue Nov 13 2001 - 16:28:18 EST


On Wed, Nov 14, 2001 at 07:44:59AM +1100, Ben Ryan wrote:
...
> SMP compile succeeded. (albeit with lots of warnings on 'pure')

Which version of gcc? 2.95? I guess the pure attribute needs to be
made a compiler.h thing.

> It seems cpucount is only defined when SMP is compiled in, I guess cpucount
> hasn't been set to 1 in uniprocessor build, breaking non-smp builds?
> How can I hardcode that into setup.c? I know little of C, so if someone could
> point out a line of code to set this (diff even?) :)

This will fix the link error by moving cpucount into setup.c. Cheers,

                -ben

diff -ur tr-2.4.15-pre4/arch/i386/kernel/setup.c tr.prev/arch/i386/kernel/setup.c
--- tr-2.4.15-pre4/arch/i386/kernel/setup.c Tue Nov 13 16:25:33 2001
+++ tr.prev/arch/i386/kernel/setup.c Tue Nov 13 15:00:40 2001
@@ -2807,7 +2807,7 @@
 };
 
 unsigned long cpu_initialized __initdata = 0;
-int cpucount;
+extern int cpucount;
 
 /*
  * cpu_init() initializes state that is per-CPU. Some data is already
diff -ur tr-2.4.15-pre4/arch/i386/kernel/smpboot.c tr.prev/arch/i386/kernel/smpboot.c
--- tr-2.4.15-pre4/arch/i386/kernel/smpboot.c Tue Nov 13 16:25:46 2001
+++ tr.prev/arch/i386/kernel/smpboot.c Tue Nov 13 15:00:40 2001
@@ -443,7 +443,7 @@
                 synchronize_tsc_ap();
 }
 
-extern int cpucount;
+int cpucount;
 
 extern int cpu_idle(void);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:36 EST