[tip:master 45/51] tools/include/linux/types.h:30:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))

From: kernel test robot
Date: Sun Oct 11 2020 - 09:05:46 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git master
head: 820e6f502f021417140bc8ee11f9c7be148ea844
commit: 3212da94d17000536c98b7c54fb4689bd5d4b092 [45/51] Merge branch 'objtool/core'
config: x86_64-randconfig-a016-20201011 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project a8682554c6662ce01853d0069afb6c5b4ef8ab55)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=3212da94d17000536c98b7c54fb4689bd5d4b092
git remote add tip https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git fetch --no-tags tip master
git checkout 3212da94d17000536c98b7c54fb4689bd5d4b092
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

In file included from arch/x86/tools/insn_sanity.c:21:
In file included from arch/x86/include/asm/insn.h:10:
In file included from /usr/include/x86_64-linux-gnu/asm/byteorder.h:5:
In file included from include/linux/byteorder/little_endian.h:5:
In file included from include/uapi/linux/byteorder/little_endian.h:12:
>> tools/include/linux/types.h:30:18: error: typedef redefinition with different types ('uint64_t' (aka 'unsigned long') vs '__u64' (aka 'unsigned long long'))
typedef uint64_t u64;
^
include/asm-generic/int-ll64.h:23:15: note: previous definition is here
typedef __u64 u64;
^
In file included from arch/x86/tools/insn_sanity.c:21:
In file included from arch/x86/include/asm/insn.h:10:
In file included from /usr/include/x86_64-linux-gnu/asm/byteorder.h:5:
In file included from include/linux/byteorder/little_endian.h:5:
In file included from include/uapi/linux/byteorder/little_endian.h:12:
>> tools/include/linux/types.h:31:17: error: typedef redefinition with different types ('int64_t' (aka 'long') vs '__s64' (aka 'long long'))
typedef int64_t s64;
^
include/asm-generic/int-ll64.h:22:15: note: previous definition is here
typedef __s64 s64;
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:87:9: warning: 'cpu_to_le16' macro redefined [-Wmacro-redefined]
#define cpu_to_le16
^
include/linux/byteorder/generic.h:90:9: note: previous definition is here
#define cpu_to_le16 __cpu_to_le16
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:88:9: warning: 'cpu_to_le32' macro redefined [-Wmacro-redefined]
#define cpu_to_le32
^
include/linux/byteorder/generic.h:88:9: note: previous definition is here
#define cpu_to_le32 __cpu_to_le32
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:89:9: warning: 'cpu_to_le64' macro redefined [-Wmacro-redefined]
#define cpu_to_le64
^
include/linux/byteorder/generic.h:86:9: note: previous definition is here
#define cpu_to_le64 __cpu_to_le64
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:90:9: warning: 'le16_to_cpu' macro redefined [-Wmacro-redefined]
#define le16_to_cpu
^
include/linux/byteorder/generic.h:91:9: note: previous definition is here
#define le16_to_cpu __le16_to_cpu
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:91:9: warning: 'le32_to_cpu' macro redefined [-Wmacro-redefined]
#define le32_to_cpu
^
include/linux/byteorder/generic.h:89:9: note: previous definition is here
#define le32_to_cpu __le32_to_cpu
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:92:9: warning: 'le64_to_cpu' macro redefined [-Wmacro-redefined]
#define le64_to_cpu
^
include/linux/byteorder/generic.h:87:9: note: previous definition is here
#define le64_to_cpu __le64_to_cpu
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:93:9: warning: 'cpu_to_be16' macro redefined [-Wmacro-redefined]
#define cpu_to_be16 bswap_16
^
include/linux/byteorder/generic.h:96:9: note: previous definition is here
#define cpu_to_be16 __cpu_to_be16
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:94:9: warning: 'cpu_to_be32' macro redefined [-Wmacro-redefined]
#define cpu_to_be32 bswap_32
^
include/linux/byteorder/generic.h:94:9: note: previous definition is here
#define cpu_to_be32 __cpu_to_be32
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:95:9: warning: 'cpu_to_be64' macro redefined [-Wmacro-redefined]
#define cpu_to_be64 bswap_64
^
include/linux/byteorder/generic.h:92:9: note: previous definition is here
#define cpu_to_be64 __cpu_to_be64
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:96:9: warning: 'be16_to_cpu' macro redefined [-Wmacro-redefined]
#define be16_to_cpu bswap_16
^
include/linux/byteorder/generic.h:97:9: note: previous definition is here
#define be16_to_cpu __be16_to_cpu
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:97:9: warning: 'be32_to_cpu' macro redefined [-Wmacro-redefined]
#define be32_to_cpu bswap_32
^
include/linux/byteorder/generic.h:95:9: note: previous definition is here
#define be32_to_cpu __be32_to_cpu
^
In file included from arch/x86/tools/insn_sanity.c:23:
In file included from arch/x86/lib/insn.c:8:
tools/include/linux/kernel.h:98:9: warning: 'be64_to_cpu' macro redefined [-Wmacro-redefined]
#define be64_to_cpu bswap_64
^
include/linux/byteorder/generic.h:93:9: note: previous definition is here
#define be64_to_cpu __be64_to_cpu

vim +30 tools/include/linux/types.h

5634bd7d2ab14f tools/lib/lockdep/uinclude/linux/types.h Sasha Levin 2013-06-13 22
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 23 /*
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 24 * We define u64 as uint64_t for every architecture
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 25 * so that we can print it with "%"PRIx64 without getting warnings.
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 26 *
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 27 * typedef __u64 u64;
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 28 * typedef __s64 s64;
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 29 */
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 @30 typedef uint64_t u64;
d944c4eebcf4c0 tools/include/linux/types.h Borislav Petkov 2014-04-25 @31 typedef int64_t s64;
5634bd7d2ab14f tools/lib/lockdep/uinclude/linux/types.h Sasha Levin 2013-06-13 32

:::::: The code at line 30 was first introduced by commit
:::::: d944c4eebcf4c0d5e5d9728fec110cbf0047ad7f tools: Consolidate types.h

:::::: TO: Borislav Petkov <bp@xxxxxxx>
:::::: CC: Jiri Olsa <jolsa@xxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip