lkml.org 
[lkml]   [2009]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Confusion in usr/include/asm-generic/fcntl.h
From
Date
On Tue, 2009-01-20 at 16:48 -0800, H. Peter Anvin wrote:
> David Miller wrote:
> > From: Jaswinder Singh Rajput <jaswinder@kernel.org>
> > Date: Wed, 21 Jan 2009 05:34:17 +0530
> >
> >> usr/include/asm-generic/fcntl.h is giving 2 'make headers_check' warnings:
> >> usr/include/asm-generic/fcntl.h:127: leaks CONFIG_64BIT to userspace where it is not valid
> >> usr/include/asm-generic/fcntl.h:149: leaks CONFIG_64BIT to userspace where it is not valid
> >>
> >> usr/include/asm-generic/fcntl.h:
> > ...
> >> #ifndef CONFIG_64BIT will always be true for userspace. So what is the use of #ifndef CONFIG_64BIT ?
> >
> > Good catch.
> >
> > This file needs to test for 64-bit'ness using some non-CONFIG_*
> > test. And the standard built-in CPP macros which can be used
> > to check for that are different on every platform.
> >
>
> There are a few ways to check for 64-bitness that are
> platform-independent, unfortunately each of them have drawbacks.
>

So who wins the race for CONFIG_64BIT and will be right candidate for
usr/include/asm-generic/fcntl.h:

1. #if BITS_PER_LONG == 64

OR

2. #if __BITS_PER_LONG == 64

OR

3. #ifdef __LP64__

OR

4. #if __SIZEOF_POINTER__ == 8

OR

5. #if LONG_MAX > 2147483647L

OR

6. #ifdef __64BIT


Thanks
--
JSR



\
 
 \ /
  Last update: 2009-01-23 16:21    [W:0.155 / U:0.400 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site