[PATCH]Real-time kernel compile-fix for 32-bit when disabling CONFIG_PREEMPT_RT

From: John Kacur
Date: Mon Sep 29 2008 - 04:10:26 EST


If you start with the real-time kernel linux-2.6.26.5-rt9 and
configure it to disable CONFIG_PREEMPT_RT, for example
CONFIG_PREEMPT_DESKTOP=y
# CONFIG_PREEMPT_RT is not set

you will get the following compile error on 32-bit i386. (actually,
this will happen on any platform that doesn't use
CONFIG_RWSEM_GENERIC_SPINLOCK)

In file included from include/linux/notifier.h:14,
from include/linux/memory_hotplug.h:6,
from include/linux/mmzone.h:560,
from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from include/linux/percpu.h:5,
from include/linux/rcupdate.h:39,
from include/linux/tracepoint.h:18,
from include/linux/module.h:19,
from include/linux/crypto.h:21,
from arch/x86/kernel/asm-offsets_32.c:7,
from arch/x86/kernel/asm-offsets.c:2:
include/linux/rwsem.h:149: error: redefinition of 'rwsem_is_locked'
include/asm/rwsem.h:261: error: previous definition of
'rwsem_is_locked' was here
include/linux/rwsem.h: In function 'rwsem_is_locked':
include/linux/rwsem.h:151: error: implicit declaration of function
'compat_rwsem_is_locked'
make[1]: *** [arch/x86/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2

The fix is simple, and should be folded back into the rt-mutex-core.patch
Fix is attached.

Attachment: rwsem_is_locked-fix.patch
Description: Binary data