lkml.org 
[lkml]   [2009]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    SubjectRe: [PATCH 1/6] headers_check fix: arm, hwcap.h
    From
    Date
    Hello Russell,

    On Thu, 2009-06-04 at 13:53 +0100, Russell King wrote:
    > On Thu, Jun 04, 2009 at 05:57:56PM +0530, Jaswinder Singh Rajput wrote:
    > > fix the following 'make headers_check' warning:
    >
    > I think headers_check needs fixing - there's nothing wrong with the
    > code as it presently stands except the tools obviously can't properly
    > parse C preprocessor statements.
    >

    You are right.

    But if we can keep things simpler why we make it complex ?

    This is almost used in all header files :
    #ifdef __KERNEL__
    #ifndef __ASSEMBLY__

    Earlier it was also used like this :

    commit f884b1cf578e079f01682514ae1ae64c74586602
    Author: Catalin Marinas <catalin.marinas@arm.com>
    Date: Thu Jul 12 16:10:22 2007 +0100

    [ARM] 4473/2: Take the HWCAP definitions out of the elf.h file

    The patch moves the HWCAP definitions and the extern elf_hwcap
    declaration to the hwcap.h header file.

    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

    diff --git a/include/asm-arm/Kbuild b/include/asm-arm/Kbuild
    index c68e168..73237bd 100644
    --- a/include/asm-arm/Kbuild
    +++ b/include/asm-arm/Kbuild
    @@ -1 +1,3 @@
    include include/asm-generic/Kbuild.asm
    +
    +unifdef-y += hwcap.h
    diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h
    index 3679a8a..d7a777f 100644
    --- a/include/asm-arm/elf.h
    +++ b/include/asm-arm/elf.h
    @@ -7,6 +7,7 @@
    */
    #include <asm/ptrace.h>
    #include <asm/user.h>
    +#include <asm/hwcap.h>

    typedef unsigned long elf_greg_t;
    typedef unsigned long elf_freg_t[3];
    @@ -39,31 +40,9 @@ typedef struct user_fp elf_fpregset_t;
    #endif
    #define ELF_ARCH EM_ARM

    -/*
    - * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
    - */
    -#define HWCAP_SWP 1
    -#define HWCAP_HALF 2
    -#define HWCAP_THUMB 4
    -#define HWCAP_26BIT 8 /* Play it safe */
    -#define HWCAP_FAST_MULT 16
    -#define HWCAP_FPA 32
    -#define HWCAP_VFP 64
    -#define HWCAP_EDSP 128
    -#define HWCAP_JAVA 256
    -#define HWCAP_IWMMXT 512
    -#define HWCAP_CRUNCH 1024
    -
    #ifdef __KERNEL__
    #ifndef __ASSEMBLY__
    /*
    - * This yields a mask that user programs can use to figure out what
    - * instruction set this cpu supports.
    - */
    -#define ELF_HWCAP (elf_hwcap)
    -extern unsigned int elf_hwcap;
    -
    -/*
    * This yields a string that ld.so will use to load implementation
    * specific libraries for optimization. This is more specific in
    * intent than poking at uname or /proc/cpuinfo.
    diff --git a/include/asm-arm/hwcap.h b/include/asm-arm/hwcap.h
    new file mode 100644
    index 0000000..01a1391
    --- /dev/null
    +++ b/include/asm-arm/hwcap.h
    @@ -0,0 +1,28 @@
    +#ifndef __ASMARM_HWCAP_H
    +#define __ASMARM_HWCAP_H
    +
    +/*
    + * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
    + */
    +#define HWCAP_SWP 1
    +#define HWCAP_HALF 2
    +#define HWCAP_THUMB 4
    +#define HWCAP_26BIT 8 /* Play it safe */
    +#define HWCAP_FAST_MULT 16
    +#define HWCAP_FPA 32
    +#define HWCAP_VFP 64
    +#define HWCAP_EDSP 128
    +#define HWCAP_JAVA 256
    +#define HWCAP_IWMMXT 512
    +#define HWCAP_CRUNCH 1024
    +
    +#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
    +/*
    + * This yields a mask that user programs can use to figure out what
    + * instruction set this cpu supports.
    + */
    +#define ELF_HWCAP (elf_hwcap)
    +extern unsigned int elf_hwcap;
    +#endif
    +
    +#endif



    \
     
     \ /
      Last update: 2009-06-04 17:49    [W:0.024 / U:5.072 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site