mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-20 10:44:23 +08:00
f4b4aae182
On x32, gcc predefines __x86_64__ but long is only 32-bit. Use __ILP32__ to distinguish x32. Fixes this compiler error in perf: tools/include/asm-generic/bitops/__ffs.h: In function '__ffs': tools/include/asm-generic/bitops/__ffs.h:19:8: error: right shift count >= width of type [-Werror=shift-count-overflow] word >>= 32; ^ This isn't sufficient to build perf for x32, though. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Link: http://lkml.kernel.org/r/1443660043.2730.15.camel@decadent.org.uk Signed-off-by: Ingo Molnar <mingo@kernel.org>
14 lines
258 B
C
14 lines
258 B
C
#ifndef __ASM_X86_BITSPERLONG_H
|
|
#define __ASM_X86_BITSPERLONG_H
|
|
|
|
#if defined(__x86_64__) && !defined(__ILP32__)
|
|
# define __BITS_PER_LONG 64
|
|
#else
|
|
# define __BITS_PER_LONG 32
|
|
#endif
|
|
|
|
#include <asm-generic/bitsperlong.h>
|
|
|
|
#endif /* __ASM_X86_BITSPERLONG_H */
|
|
|