Skip to contentSkip to conversation

Kernel 2.5.8 compilation fail...

DISCUSSION Dipankar Sarma 1 participant 1 message Apr 22, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 22 lines · In article <[email protected]> Jan Marek wrote:

--VbJkn9YxBvnuCH5J
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hallo,

I have problems with linking of kernel 2.5.8-usagi. Compilation ended with:

ld -m elf_i386 -T /usr/src/usagi/kernel/linux25/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o

init/version.o init/do_mounts.o \
        --start-group \
        arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o
mm/mm.o fs/fs.o ipc/ipc.o \
        /usr/src/usagi/kernel/linux25/arch/i386/lib/lib.a

/usr/src/usagi/kernel/linux25/lib/lib.a /usr/src/usagi/kernel/linux25/arch/i386/lib/lib.a \
drivers/base/base.o drivers/char/char.o drivers/block/block.o
drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/agp/agp.o drivers/ide/idedriver.o drivers/cdrom/driver.o sound/sound.o drivers/pci/driver.o drivers/pnp/pnp.o

Quoted 8 lines
drivers/video/video.o \
        net/network.o \
        --end-group \
        -o vmlinux

init/main.o: In function `start_kernel':
init/main.o(.text.init+0x5db): undefined reference to `setup_per_cpu_areas'
make: *** [vmlinux] Error 1

You can use the attached (text/plain) patch to fix this.

Thanks

Signature · 2 lines
Dipankar Sarma  <[email protected]> http://lse.sourceforge.net
Linux Technology Center, IBM Software Lab, Bangalore, India.
init/main.c +12 -12
diff -urN linux-2.5.8-base/init/main.c linux-2.5.8-percpufix/init/main.c
@@ -274,6 +274,18 @@
 
 #else
 
+/* Called by boot processor to activate the rest. */
+static void __init smp_init(void)
+{
+	/* Get other processors into their bootup holding patterns. */
+	smp_boot_cpus();
+
+	smp_threads_ready=1;
+	smp_commence();
+}
+
+#endif
+
 #ifdef __GENERIC_PER_CPU
 unsigned long __per_cpu_offset[NR_CPUS];
 
@@ -302,18 +314,6 @@
 }
 #endif /* !__GENERIC_PER_CPU */
 
-/* Called by boot processor to activate the rest. */
-static void __init smp_init(void)
-{
-	/* Get other processors into their bootup holding patterns. */
-	smp_boot_cpus();
-
-	smp_threads_ready=1;
-	smp_commence();
-}
-
-#endif
-
 /*
  * We need to finalize in a non-__init function or else race conditions
  * between the root thread and the init thread may cause start_kernel to