History

tools: Copy the bitsperlong.h files from the kernel

We use it in bitops/__ffs.h and bitops/atomic.h, that we also got from the kernel, but were getting it from either newer systems that carry it in /usr/include, or from the kernel sources, that we decided not to touch from tools/ code. Fix it.

Arnaldo Carvalho de Melo committed 10 years ago

Commit bb970701 parent 39f548621 files · +227 −0Browse files

Unified · Split

21 files
  1. tools/arch/alpha/include/uapi/asm/bitsperlong.h +8 −0
  2. tools/arch/arm64/include/uapi/asm/bitsperlong.h +23 −0
  3. tools/arch/frv/include/uapi/asm/bitsperlong.h +1 −0
  4. tools/arch/h8300/include/asm/bitsperlong.h +14 −0
  5. tools/arch/hexagon/include/uapi/asm/bitsperlong.h +26 −0
  6. tools/arch/ia64/include/uapi/asm/bitsperlong.h +8 −0
  7. tools/arch/m32r/include/uapi/asm/bitsperlong.h +1 −0
  8. tools/arch/microblaze/include/uapi/asm/bitsperlong.h +1 −0
  9. tools/arch/mips/include/uapi/asm/bitsperlong.h +8 −0
  10. tools/arch/mn10300/include/uapi/asm/bitsperlong.h +1 −0
  11. tools/arch/parisc/include/uapi/asm/bitsperlong.h +14 −0
  12. tools/arch/powerpc/include/uapi/asm/bitsperlong.h +12 −0
  13. tools/arch/s390/include/uapi/asm/bitsperlong.h +12 −0
  14. tools/arch/score/include/uapi/asm/bitsperlong.h +6 −0
  15. tools/arch/sparc/include/uapi/asm/bitsperlong.h +12 −0
  16. tools/arch/tile/include/uapi/asm/bitsperlong.h +26 −0
  17. tools/arch/x86/include/uapi/asm/bitsperlong.h +12 −0
  18. tools/include/asm-generic/bitops/__ffs.h +1 −0
  19. tools/include/asm-generic/bitops/atomic.h +1 −0
  20. tools/include/asm-generic/bitsperlong.h +25 −0
  21. tools/include/uapi/asm-generic/bitsperlong.h +15 −0
tools/arch/alpha/include/uapi/asm/bitsperlong.h+8−0
@@ -0,0 +1,8 @@
1+#ifndef __ASM_ALPHA_BITSPERLONG_H
2+#define __ASM_ALPHA_BITSPERLONG_H
3+
4+#define __BITS_PER_LONG 64
5+
6+#include <asm-generic/bitsperlong.h>
7+
8+#endif /* __ASM_ALPHA_BITSPERLONG_H */
tools/arch/arm64/include/uapi/asm/bitsperlong.h+23−0
@@ -0,0 +1,23 @@
1+/*
2+ * Copyright (C) 2012 ARM Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 as
6+ * published by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+#ifndef __ASM_BITSPERLONG_H
17+#define __ASM_BITSPERLONG_H
18+
19+#define __BITS_PER_LONG 64
20+
21+#include <asm-generic/bitsperlong.h>
22+
23+#endif /* __ASM_BITSPERLONG_H */
tools/arch/frv/include/uapi/asm/bitsperlong.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/bitsperlong.h>
tools/arch/h8300/include/asm/bitsperlong.h+14−0
@@ -0,0 +1,14 @@
1+#ifndef __ASM_H8300_BITS_PER_LONG
2+#define __ASM_H8300_BITS_PER_LONG
3+
4+#include <asm-generic/bitsperlong.h>
5+
6+#if !defined(__ASSEMBLY__)
7+/* h8300-unknown-linux required long */
8+#define __kernel_size_t __kernel_size_t
9+typedef unsigned long __kernel_size_t;
10+typedef long __kernel_ssize_t;
11+typedef long __kernel_ptrdiff_t;
12+#endif
13+
14+#endif /* __ASM_H8300_BITS_PER_LONG */
tools/arch/hexagon/include/uapi/asm/bitsperlong.h+26−0
@@ -0,0 +1,26 @@
1+/*
2+ * Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License version 2 and
6+ * only version 2 as published by the Free Software Foundation.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program; if not, write to the Free Software
15+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
16+ * 02110-1301, USA.
17+ */
18+
19+#ifndef __ASM_HEXAGON_BITSPERLONG_H
20+#define __ASM_HEXAGON_BITSPERLONG_H
21+
22+#define __BITS_PER_LONG 32
23+
24+#include <asm-generic/bitsperlong.h>
25+
26+#endif
tools/arch/ia64/include/uapi/asm/bitsperlong.h+8−0
@@ -0,0 +1,8 @@
1+#ifndef __ASM_IA64_BITSPERLONG_H
2+#define __ASM_IA64_BITSPERLONG_H
3+
4+#define __BITS_PER_LONG 64
5+
6+#include <asm-generic/bitsperlong.h>
7+
8+#endif /* __ASM_IA64_BITSPERLONG_H */
tools/arch/m32r/include/uapi/asm/bitsperlong.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/bitsperlong.h>
tools/arch/microblaze/include/uapi/asm/bitsperlong.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/bitsperlong.h>
tools/arch/mips/include/uapi/asm/bitsperlong.h+8−0
@@ -0,0 +1,8 @@
1+#ifndef __ASM_MIPS_BITSPERLONG_H
2+#define __ASM_MIPS_BITSPERLONG_H
3+
4+#define __BITS_PER_LONG _MIPS_SZLONG
5+
6+#include <asm-generic/bitsperlong.h>
7+
8+#endif /* __ASM_MIPS_BITSPERLONG_H */
tools/arch/mn10300/include/uapi/asm/bitsperlong.h+1−0
@@ -0,0 +1 @@
1+#include <asm-generic/bitsperlong.h>
tools/arch/parisc/include/uapi/asm/bitsperlong.h+14−0
@@ -0,0 +1,14 @@
1+#ifndef __ASM_PARISC_BITSPERLONG_H
2+#define __ASM_PARISC_BITSPERLONG_H
3+
4+#if defined(__LP64__)
5+#define __BITS_PER_LONG 64
6+#define SHIFT_PER_LONG 6
7+#else
8+#define __BITS_PER_LONG 32
9+#define SHIFT_PER_LONG 5
10+#endif
11+
12+#include <asm-generic/bitsperlong.h>
13+
14+#endif /* __ASM_PARISC_BITSPERLONG_H */
tools/arch/powerpc/include/uapi/asm/bitsperlong.h+12−0
@@ -0,0 +1,12 @@
1+#ifndef __ASM_POWERPC_BITSPERLONG_H
2+#define __ASM_POWERPC_BITSPERLONG_H
3+
4+#if defined(__powerpc64__)
5+# define __BITS_PER_LONG 64
6+#else
7+# define __BITS_PER_LONG 32
8+#endif
9+
10+#include <asm-generic/bitsperlong.h>
11+
12+#endif /* __ASM_POWERPC_BITSPERLONG_H */
tools/arch/s390/include/uapi/asm/bitsperlong.h+12−0
@@ -0,0 +1,12 @@
1+#ifndef __ASM_S390_BITSPERLONG_H
2+#define __ASM_S390_BITSPERLONG_H
3+
4+#ifndef __s390x__
5+#define __BITS_PER_LONG 32
6+#else
7+#define __BITS_PER_LONG 64
8+#endif
9+
10+#include <asm-generic/bitsperlong.h>
11+
12+#endif /* __ASM_S390_BITSPERLONG_H */
tools/arch/score/include/uapi/asm/bitsperlong.h+6−0
@@ -0,0 +1,6 @@
1+#ifndef _ASM_SCORE_BITSPERLONG_H
2+#define _ASM_SCORE_BITSPERLONG_H
3+
4+#include <asm-generic/bitsperlong.h>
5+
6+#endif /* _ASM_SCORE_BITSPERLONG_H */
tools/arch/sparc/include/uapi/asm/bitsperlong.h+12−0
@@ -0,0 +1,12 @@
1+#ifndef __ASM_ALPHA_BITSPERLONG_H
2+#define __ASM_ALPHA_BITSPERLONG_H
3+
4+#if defined(__sparc__) && defined(__arch64__)
5+#define __BITS_PER_LONG 64
6+#else
7+#define __BITS_PER_LONG 32
8+#endif
9+
10+#include <asm-generic/bitsperlong.h>
11+
12+#endif /* __ASM_ALPHA_BITSPERLONG_H */
tools/arch/tile/include/uapi/asm/bitsperlong.h+26−0
@@ -0,0 +1,26 @@
1+/*
2+ * Copyright 2010 Tilera Corporation. All Rights Reserved.
3+ *
4+ * This program is free software; you can redistribute it and/or
5+ * modify it under the terms of the GNU General Public License
6+ * as published by the Free Software Foundation, version 2.
7+ *
8+ * This program is distributed in the hope that it will be useful, but
9+ * WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or
11+ * NON INFRINGEMENT. See the GNU General Public License for
12+ * more details.
13+ */
14+
15+#ifndef _ASM_TILE_BITSPERLONG_H
16+#define _ASM_TILE_BITSPERLONG_H
17+
18+#ifdef __LP64__
19+# define __BITS_PER_LONG 64
20+#else
21+# define __BITS_PER_LONG 32
22+#endif
23+
24+#include <asm-generic/bitsperlong.h>
25+
26+#endif /* _ASM_TILE_BITSPERLONG_H */
tools/arch/x86/include/uapi/asm/bitsperlong.h+12−0
@@ -0,0 +1,12 @@
1+#ifndef __ASM_X86_BITSPERLONG_H
2+#define __ASM_X86_BITSPERLONG_H
3+
4+#if defined(__x86_64__) && !defined(__ILP32__)
5+# define __BITS_PER_LONG 64
6+#else
7+# define __BITS_PER_LONG 32
8+#endif
9+
10+#include <asm-generic/bitsperlong.h>
11+
12+#endif /* __ASM_X86_BITSPERLONG_H */
tools/include/asm-generic/bitops/__ffs.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
22 #define _TOOLS_LINUX_ASM_GENERIC_BITOPS___FFS_H_
33
44 #include <asm/types.h>
5+#include <asm/bitsperlong.h>
56
67 /**
78 * __ffs - find first bit in word.
tools/include/asm-generic/bitops/atomic.h+1−0
@@ -2,6 +2,7 @@ · 1 unmodified line
22 #define _TOOLS_LINUX_ASM_GENERIC_BITOPS_ATOMIC_H_
33
44 #include <asm/types.h>
5+#include <asm/bitsperlong.h>
56
67 static inline void set_bit(int nr, unsigned long *addr)
78 {
tools/include/asm-generic/bitsperlong.h+25−0
@@ -0,0 +1,25 @@
1+#ifndef __ASM_GENERIC_BITS_PER_LONG
2+#define __ASM_GENERIC_BITS_PER_LONG
3+
4+#include <uapi/asm-generic/bitsperlong.h>
5+
6+
7+#ifdef CONFIG_64BIT
8+#define BITS_PER_LONG 64
9+#else
10+#define BITS_PER_LONG 32
11+#endif /* CONFIG_64BIT */
12+
13+/*
14+ * FIXME: The check currently breaks x86-64 build, so it's
15+ * temporarily disabled. Please fix x86-64 and reenable
16+ */
17+#if 0 && BITS_PER_LONG != __BITS_PER_LONG
18+#error Inconsistent word size. Check asm/bitsperlong.h
19+#endif
20+
21+#ifndef BITS_PER_LONG_LONG
22+#define BITS_PER_LONG_LONG 64
23+#endif
24+
25+#endif /* __ASM_GENERIC_BITS_PER_LONG */
tools/include/uapi/asm-generic/bitsperlong.h+15−0
@@ -0,0 +1,15 @@
1+#ifndef _UAPI__ASM_GENERIC_BITS_PER_LONG
2+#define _UAPI__ASM_GENERIC_BITS_PER_LONG
3+
4+/*
5+ * There seems to be no way of detecting this automatically from user
6+ * space, so 64 bit architectures should override this in their
7+ * bitsperlong.h. In particular, an architecture that supports
8+ * both 32 and 64 bit user space must not rely on CONFIG_64BIT
9+ * to decide it, but rather check a compiler provided macro.
10+ */
11+#ifndef __BITS_PER_LONG
12+#define __BITS_PER_LONG 32
13+#endif
14+
15+#endif /* _UAPI__ASM_GENERIC_BITS_PER_LONG */