Re: [tip:x86/asm] x86, 64-bit: ifdef out struct thread_struct::ip

From: Robert P. J. Day
Date: Mon May 11 2009 - 13:27:28 EST


On Mon, 11 May 2009, Alexey Dobriyan wrote:

> On Mon, May 11, 2009 at 8:03 PM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> > On Mon, May 11, 2009 at 03:09:40PM +0000, tip-bot for Alexey Dobriyan wrote:
> >> +#ifdef CONFIG_X86_32
> >>       unsigned long           ip;
> >> +#endif
> >>  #ifdef CONFIG_X86_64
> >>       unsigned long           fs;
> >>  #endif
> >
> > What happened to the good old concept of #if #else #endif?
>
> #else suggests alternative which is not the case.
> ->ip and ->fs can be in different parts of thread_struct.

the arch/x86/Kconfig file certainly suggests that those are
mutually-exclusive alternatives:

...
# Select 32 or 64 bit
config 64BIT
bool "64-bit kernel" if ARCH = "x86"
default ARCH = "x86_64"
---help---
Say yes to build a 64-bit kernel - formerly known as x86_64
Say no to build a 32-bit kernel - formerly known as i386

config X86_32
def_bool !64BIT

config X86_64
def_bool 64BIT
...

unless there's something weird going on underneath.

rday
--

========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA

Linux Consulting, Training and Annoying Kernel Pedantry.

Web page: http://crashcourse.ca
Linked In: http://www.linkedin.com/in/rpjday
Twitter: http://twitter.com/rpjday
========================================================================