Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: about __BITS_PER_LONG | Date | Mon, 11 Apr 2011 17:24:57 +0200 |
| |
On Monday 11 April 2011, Guan Xuetao wrote: > --- a/include/asm-generic/bitsperlong.h > +++ b/include/asm-generic/bitsperlong.h > @@ -9,7 +9,11 @@ > * to decide it, but rather check a compiler provided macro. > */ > #ifndef __BITS_PER_LONG > -#define __BITS_PER_LONG 32 > +# ifdef CONFIG_64BIT > +# define __BITS_PER_LONG 64 > +# else > +# define __BITS_PER_LONG 32 > +# endif /* CONFIG_64BIT */ > #endif >
Unfortunately, this does not work, because the __BITS_PER_LONG definition is meant for user space. You have to make this depend on a preprocessor macro that is provided by the compiler based on the command line switches (e.g. -m64) that a use could pass to the compiler.
In user space, the CONFIG_* symbols are meaningless.
Arnd
| |