Messages in this thread | | | Date | Mon, 26 Sep 2022 09:55:27 +0100 | From | "Sudip Mukherjee (Codethink)" <> | Subject | mainline build failure for x86_64 and arm64 with clang |
| |
Hi All,
Yesterday I updated my clang to: clang version 16.0.0 (https://github.com/llvm/llvm-project.git bcb1397bda667e75200ae0be9a65fd17dd0763d4)
And with that I see new build failures of mainline.
I am not copying all the errors but others look similar to these. From x86_64 almodconfig:
In file included from scripts/mod/devicetable-offsets.c:3: In file included from ./include/linux/mod_devicetable.h:13: In file included from ./include/linux/uuid.h:12: In file included from ./include/linux/string.h:253: ./include/linux/fortify-string.h:159:10: error: ISO C does not allow indirection on operand of type 'void *' [-Werror,-Wvoid-ptr-dereference] q_len = strlen(q); ^~~~~~~~~
From x86_64 defconfig:
In file included from arch/x86/kernel/asm-offsets.c:9: In file included from ./include/linux/crypto.h:20: In file included from ./include/linux/slab.h:15: In file included from ./include/linux/gfp.h:7: In file included from ./include/linux/mmzone.h:8: In file included from ./include/linux/spinlock.h:55: In file included from ./include/linux/preempt.h:78: In file included from ./arch/x86/include/asm/preempt.h:7: In file included from ./include/linux/thread_info.h:60: In file included from ./arch/x86/include/asm/thread_info.h:53: In file included from ./arch/x86/include/asm/cpufeature.h:5: In file included from ./arch/x86/include/asm/processor.h:22: In file included from ./arch/x86/include/asm/msr.h:11: In file included from ./arch/x86/include/asm/cpumask.h:5: In file included from ./include/linux/cpumask.h:12: In file included from ./include/linux/bitmap.h:9: ./include/linux/find.h:119:31: error: ISO C does not allow indirection on operand of type 'void *' [-Werror,-Wvoid-ptr-dereference] unsigned long val = *addr & GENMASK(size - 1, 0); ^~~~~~~~~~~~~~~~~~~~ ./include/linux/bits.h:38:3: note: expanded from macro 'GENMASK' (GENMASK_INPUT_CHECK(h, l) + __GENMASK(h, l)) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/bits.h:25:3: note: expanded from macro 'GENMASK_INPUT_CHECK' __is_constexpr((l) > (h)), (l) > (h), 0))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/const.h:12:25: note: expanded from macro '__is_constexpr' (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) ^ ./include/linux/build_bug.h:16:62: note: expanded from macro 'BUILD_BUG_ON_ZERO' #define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); })))
From arm64 allmodconfig:
In file included from scripts/mod/devicetable-offsets.c:3: In file included from ./include/linux/mod_devicetable.h:13: In file included from ./include/linux/uuid.h:12: In file included from ./include/linux/string.h:253: ./include/linux/fortify-string.h:159:10: error: ISO C does not allow indirection on operand of type 'void *' [-Werror,-Wvoid-ptr-dereference] q_len = strlen(q); ^~~~~~~~~ ./include/linux/fortify-string.h:131:24: note: expanded from macro 'strlen' __builtin_choose_expr(__is_constexpr(__builtin_strlen(p)), \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./include/linux/const.h:12:25: note: expanded from macro '__is_constexpr' (sizeof(int) == sizeof(*(8 ? ((void *)((long)(x) * 0l)) : (int *)8))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I dont know if its some regression introduced in clang, or really a kernel issue.
I will go back to my previous clang version (329b972d416a) for now untill I know more.
-- Regards Sudip
| |