lkml.org 
[lkml]   [2016]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 01/19] tools: Fix up BITS_PER_LONG setting
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    It was set based on CONFIG_64BIT, that is available only when using
    Kconfig, which we're working towards but not to the point of having this
    CONFIG variable set, so synthesize it from available compiler defined
    defines, __SIZEOF_LONG__ or, lacking that, __WORDSIZE.

    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: http://lkml.kernel.org/n/tip-og5fmkr17856lhupacihwxvb@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/include/asm-generic/bitsperlong.h | 24 +++++++++++++++++++-----
    1 file changed, 19 insertions(+), 5 deletions(-)

    diff --git a/tools/include/asm-generic/bitsperlong.h b/tools/include/asm-generic/bitsperlong.h
    index d1d70aa19021..cfd661c6fc17 100644
    --- a/tools/include/asm-generic/bitsperlong.h
    +++ b/tools/include/asm-generic/bitsperlong.h
    @@ -3,6 +3,24 @@

    #include <uapi/asm-generic/bitsperlong.h>

    +/*
    + * In the kernel, where this file comes from, we can rely on CONFIG_64BIT,
    + * here we have to make amends with what the various compilers provides us
    + * to figure out if we're on a 64-bit machine...
    + */
    +#ifdef __SIZEOF_LONG__
    +# if __SIZEOF_LONG__ == 8
    +# define CONFIG_64BIT
    +# endif
    +#else
    +# ifdef __WORDSIZE
    +# if __WORDSIZE == 64
    +# define CONFIG_64BIT
    +# endif
    +# else
    +# error Failed to determine BITS_PER_LONG value
    +# endif
    +#endif

    #ifdef CONFIG_64BIT
    #define BITS_PER_LONG 64
    @@ -10,11 +28,7 @@
    #define BITS_PER_LONG 32
    #endif /* CONFIG_64BIT */

    -/*
    - * FIXME: The check currently breaks x86-64 build, so it's
    - * temporarily disabled. Please fix x86-64 and reenable
    - */
    -#if 0 && BITS_PER_LONG != __BITS_PER_LONG
    +#if BITS_PER_LONG != __BITS_PER_LONG
    #error Inconsistent word size. Check asm/bitsperlong.h
    #endif

    --
    2.7.4
    \
     
     \ /
      Last update: 2016-07-14 05:01    [W:3.216 / U:0.128 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site