compile error for 2.6.18-git19 with CONFIG_RWSEM_GENERIC_SPINLOCK=y

From: Klaus Knopper
Date: Tue Oct 03 2006 - 15:20:33 EST


Hello everyone,

Since the "reporting bugs" FAQ told me to post here in case I can't
identify the right person to ask, and have not found any mention of this
problem on the list and anywhere else yet, I do.

Problem description: Compiling 2.6.18-git19 (gcc-3.3 and 4.1) fails for
processor family i386 (when CONFIG_RWSEM_GENERIC_SPINLOCK=y) is set,
with

arch/i386/lib/lib.a(semaphore.o): In function `call_rwsem_down_read_failed':
arch/i386/lib/semaphore.S:(.sched.text+0x5f): undefined reference to `rwsem_down_read_failed'
arch/i386/lib/lib.a(semaphore.o): In function `call_rwsem_down_write_failed':
arch/i386/lib/semaphore.S:(.sched.text+0x6a): undefined reference to `rwsem_down_write_failed'
arch/i386/lib/lib.a(semaphore.o): In function `call_rwsem_wake':
arch/i386/lib/semaphore.S:(.sched.text+0x76): undefined reference to `rwsem_wake'
arch/i386/lib/lib.a(semaphore.o): In function `call_rwsem_downgrade_wake':
arch/i386/lib/semaphore.S:(.sched.text+0x7f): undefined reference to `rwsem_downgrade_wake'

This option is present in .config when setting processor family to
plain "i386" in make menuconfig.

Using CONFIG_RWSEM_XCHGADD_ALGORITHM=y INSTEAD of
CONFIG_RWSEM_GENERIC_SPINLOCK=y (i486 and up) kind of "fixes" the
compile error, but I'm not sure if the resulting code would still run on
a real i386.

This problem also exists for ealier gits, but I can't tell exactly when
it started.

Regards
-Klaus Knopper
PS: Please CC any answers to me, since I'm not a subscriber to this list.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/