Messages in this thread | | | Date | Wed, 13 Jul 2016 15:49:14 -0500 | From | Josh Poimboeuf <> | Subject | Re: [GIT PULL 00/66] perf/core improvements and fixes |
| |
On Wed, Jul 13, 2016 at 09:35:27AM +0200, Ingo Molnar wrote: > > Hm, the objtool build broke: > > GEN arch/x86/insn/inat-tables.c > CC arch/x86/decode.o > In file included from /home/mingo/tip/tools/include/linux/hashtable.h:12:0, > from arch/x86/../../elf.h:24, > from arch/x86/decode.c:26: > /home/mingo/tip/tools/include/linux/bitops.h:12:0: error: "BITS_PER_LONG" > redefined [-Werror] > #define BITS_PER_LONG __WORDSIZE > ^ > In file included from /usr/include/x86_64-linux-gnu/asm/bitsperlong.h:10:0, > from /usr/include/asm-generic/int-ll64.h:11, > from /usr/include/asm-generic/types.h:6, > from /usr/include/x86_64-linux-gnu/asm/types.h:4, > from /home/mingo/tip/tools/include/linux/types.h:9, > from /home/mingo/tip/tools/include/linux/list.h:4, > from arch/x86/../../elf.h:23, > from arch/x86/decode.c:26: > /home/mingo/tip/tools/include/asm-generic/bitsperlong.h:10:0: note: this is the > location of the previous definition > #define BITS_PER_LONG 32 > ^
Hi Ingo,
There's still another issue. Notice in the last line there that BITS_PER_LONG is getting incorrectly set to 32, at least for objtool.
That '#define BITS_PER_LONG 32' comes from the following code in tools/include/asm-generic/bitsperlong.h:
#ifdef CONFIG_64BIT #define BITS_PER_LONG 64 #else #define BITS_PER_LONG 32 #endif /* CONFIG_64BIT */
Because objtool doesn't have CONFIG_64BIT defined, it falls through to the '#else' condition. I think tools code shouldn't be relying on kernel config options.
-- Josh
| |