Linux 2.4.19pre9-ac3
I got this error while I was compiling 2.4.19-pre9-ac3 + preempt:
make[1]: Leaving directory `/mnt/ext2/linux/arch/i386/lib' ld -m elf_i386 -T /mnt/ext2/linux/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 \
drivers/parport/driver.o drivers/char/char.o drivers/block/block.odrivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/char/drm/drm.o drivers/ide/idedriver.o drivers/cdrom/driver.o
drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/video/video.o \
net/network.o \
/mnt/ext2/linux/arch/i386/lib/lib.a /mnt/ext2/linux/lib/lib.a
/mnt/ext2/linux/arch/i386/lib/lib.a \
--end-group \
-o vmlinuxarch/i386/kernel/kernel.o: In function `smp_invalidate_interrupt':
arch/i386/kernel/kernel.o(.text+0xefb1): undefined reference to get_cpu' arch/i386/kernel/kernel.o(.text+0xf023): undefined reference to put_cpu'
make: *** [vmlinux] Error 1
Quoted 2 lines · Faisal Malallah
I got this error while I was compiling 2.4.19-pre9-ac3 + preempt:
<snip>
That is a thinko in the preempt patch, not -ac... don't bother Alan with it.
There is a new version of the patch up at the usual place which is fixed. Or in smp.c just replace
cpu = get_cpu();
with
preempt_disable(); cpu = smp_processor_id();
and replace
put_cpu();
with
preempt_enable();
Sincerely,
Robert Love