public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Lee Revell <rlrevell@joe-job.com>
Cc: david singleton <dsingleton@mvista.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>
Subject: Re: 2.6.15-rc5-rt1 will not compile (was Re: 2.6.14-rt15: cannot build with !PREEMPT_RT)
Date: Mon, 12 Dec 2005 16:49:02 -0500	[thread overview]
Message-ID: <1134424143.24145.6.camel@localhost.localdomain> (raw)
In-Reply-To: <1134409469.15074.1.camel@mindpipe>

On Mon, 2005-12-12 at 12:44 -0500, Lee Revell wrote:
> On Fri, 2005-12-09 at 19:25 -0500, Lee Revell wrote:
> > > We are unable to build a similar .config (PREEMPT_DESKTOP with soft and
> > > hardirq preemption disabled) on x86-64:
> > 
> > Here is the build output, .config attached.
> 
> Similar problem with 2.6.15-rc5-rt1:
> 
> $ make
>   CHK     include/linux/version.h
>   UPD     include/linux/version.h
>   SYMLINK include/asm -> include/asm-x86_64
>   SPLIT   include/linux/autoconf.h -> include/config/*
>   CC      arch/x86_64/kernel/asm-offsets.s
> In file included from include/asm/semaphore.h:48,
>                  from include/linux/sched.h:20,
>                  from arch/x86_64/kernel/asm-offsets.c:7:
> include/linux/rwsem.h:43:66: error: asm/rwsem.h: No such file or
> directory
> In file included from include/asm/semaphore.h:48,
>                  from include/linux/sched.h:20,
>                  from arch/x86_64/kernel/asm-offsets.c:7:

Looks like Ingo has a generic rwsem to work with, but if your arch turns
on CONFIG_RWSEM_XCHGADD_ALGORITHM, it will compile lib/rwsem.c which
won't compile as you've seen.

Try out this patch:  I changed the Makefile, instead of going to each
and every arch and change its Kconfig to do it properly.

-- Steve

Index: linux-2.6.15-rc5-rt1/lib/Makefile
===================================================================
--- linux-2.6.15-rc5-rt1.orig/lib/Makefile	2005-12-12 10:56:37.000000000 -0500
+++ linux-2.6.15-rc5-rt1/lib/Makefile	2005-12-12 16:23:47.000000000 -0500
@@ -19,7 +19,9 @@
 obj-$(CONFIG_DEBUG_SPINLOCK) += spinlock_debug.o
 obj-$(CONFIG_PREEMPT_RT) += plist.o
 obj-$(CONFIG_RWSEM_GENERIC_SPINLOCK) += rwsem-spinlock.o
+ifneq ($(CONFIG_RWSEM_GENERIC_SPINLOCK),y)
 lib-$(CONFIG_RWSEM_XCHGADD_ALGORITHM) += rwsem.o
+endif
 lib-$(CONFIG_SEMAPHORE_SLEEPERS) += semaphore-sleepers.o
 lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o
 obj-$(CONFIG_LOCK_KERNEL) += kernel_lock.o
Index: linux-2.6.15-rc5-rt1/arch/x86_64/kernel/x8664_ksyms.c
===================================================================
--- linux-2.6.15-rc5-rt1.orig/arch/x86_64/kernel/x8664_ksyms.c	2005-12-12 10:56:37.000000000 -0500
+++ linux-2.6.15-rc5-rt1/arch/x86_64/kernel/x8664_ksyms.c	2005-12-12 16:27:40.000000000 -0500
@@ -165,7 +165,7 @@
 EXPORT_SYMBOL(memcpy);
 EXPORT_SYMBOL(__memcpy);
 
-#ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM
+#if defined(CONFIG_RWSEM_XCHGADD_ALGORITHM) && !defined(CONFIG_RWSEM_GENERIC_SPINLOCK)
 /* prototypes are wrong, these are assembly with custom calling functions */
 extern void rwsem_down_read_failed_thunk(void);
 extern void rwsem_wake_thunk(void);



  reply	other threads:[~2005-12-12 21:49 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-11-26  6:52 2.6.14-rt15: cannot build with !PREEMPT_RT Lee Revell
2005-11-26 12:23 ` Ingo Molnar
2005-11-26 19:05   ` Lee Revell
2005-11-26 19:46     ` Thomas Gleixner
2005-11-27 12:30       ` Ingo Molnar
2005-11-27 19:57         ` Lee Revell
2005-11-28 11:44           ` Ingo Molnar
2005-11-28  1:27         ` Lee Revell
2005-11-28 11:48           ` Ingo Molnar
2005-11-28 14:56             ` Lee Revell
2005-11-28 16:00               ` Ingo Molnar
2005-11-28 17:50                 ` Lee Revell
2005-11-28 20:34                 ` Lee Revell
2005-11-28 22:40                 ` Lee Revell
2005-11-29  2:08                   ` Lee Revell
2005-11-29  7:29                     ` Ingo Molnar
2005-11-29  9:32                       ` Ingo Molnar
2005-11-29 23:19                         ` Lee Revell
2005-12-09  1:05                         ` Lee Revell
2005-12-10  0:25                           ` Lee Revell
2005-12-12 17:44                             ` 2.6.15-rc5-rt1 will not compile (was Re: 2.6.14-rt15: cannot build with !PREEMPT_RT) Lee Revell
2005-12-12 21:49                               ` Steven Rostedt [this message]
2005-12-12 22:14                                 ` Lee Revell
2005-12-12 22:22                                   ` Steven Rostedt
2005-12-12 22:31                                     ` Lee Revell
2005-12-12 22:34                                       ` Steven Rostedt
2005-12-13  3:28                                       ` Steven Rostedt
2005-12-13  8:08                                         ` Ingo Molnar
2005-12-16 20:53                                         ` Lee Revell
2005-12-12 22:39                                     ` K.R. Foley
2005-12-13  8:15                                 ` Ingo Molnar
2005-12-13 14:32                                   ` [PATCH -RT] fix i386 RWSEM_GENERIC_SPINLOCK (was: Re: 2.6.15-rc5-rt1 will not compile) Steven Rostedt
2005-12-13 15:03                                     ` Steven Rostedt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1134424143.24145.6.camel@localhost.localdomain \
    --to=rostedt@goodmis.org \
    --cc=dsingleton@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rlrevell@joe-job.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox