The s390 builds failed with clang-19 with defconfig on the Linux next-20241203 tag due to following build warnings / errors. Build pass with gcc-13 defconfig for s390.
First seen on Linux next-20241203 tag GOOD: Linux next-20241128 tag BAD: Linux next-20241203 tag
List of arch and toolchains : s390 defconfig with clang-19
s390: build: * clang-19-defconfig * korg-clang-19-lkftconfig-lto-full * korg-clang-19-lkftconfig-hardening * korg-clang-19-lkftconfig-lto-thing
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Build log: =========== block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active 1101 | inuse = clamp_t(u32, inuse, 1, active); | ^ include/linux/minmax.h:218:36: note: expanded from macro 'clamp_t' 218 | #define clamp_t(type, val, lo, hi) __careful_clamp(type, val, lo, hi) | ^ include/linux/minmax.h:195:2: note: expanded from macro '__careful_clamp' 195 | __clamp_once(type, val, lo, hi, __UNIQUE_ID(v_), __UNIQUE_ID(l_), __UNIQUE_ID(h_)) | ^ include/linux/minmax.h:188:2: note: expanded from macro '__clamp_once' 188 | BUILD_BUG_ON_MSG(statically_true(ulo > uhi), \ | ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert' 530 | __compiletime_assert(condition, msg, prefix, suffix) | ^ include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert' 523 | prefix ## suffix(); \ | ^ <scratch space>:38:1: note: expanded from here 38 | __compiletime_assert_557 | ^ block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active include/linux/minmax.h:218:36: note: expanded from macro 'clamp_t' 218 | #define clamp_t(type, val, lo, hi) __careful_clamp(type, val, lo, hi) | ^ include/linux/minmax.h:195:2: note: expanded from macro '__careful_clamp' 195 | __clamp_once(type, val, lo, hi, __UNIQUE_ID(v_), __UNIQUE_ID(l_), __UNIQUE_ID(h_)) | ^ include/linux/minmax.h:188:2: note: expanded from macro '__clamp_once' 188 | BUILD_BUG_ON_MSG(statically_true(ulo > uhi), \ | ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert' 530 | __compiletime_assert(condition, msg, prefix, suffix) | ^ include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert' 523 | prefix ## suffix(); \ | ^ <scratch space>:38:1: note: expanded from here 38 | __compiletime_assert_557 | ^ 2 errors generated.
Links: --- - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes...
Steps to reproduce: ------------ # tuxmake --runtime podman --target-arch s390 --toolchain clang-19 --kconfig defconfig LLVM_IAS=1
metadata: ---- git describe: next-20241203 git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git sha: c245a7a79602ccbee780c004c1e4abcda66aec32 kernel config: https://storage.tuxsuite.com/public/linaro/lkft/builds/2pjAPS9UrJkbAKFHktQei... build url: https://storage.tuxsuite.com/public/linaro/lkft/builds/2pjAPS9UrJkbAKFHktQei... toolchain: clang-19 config: clang-19-defconfig arch: s390
-- Linaro LKFT https://lkft.linaro.org
Let's add David to the Cc list because he's the expert on clamp().
regards, dan carpenter
On Wed, Dec 04, 2024 at 04:01:09PM +0530, Naresh Kamboju wrote:
The s390 builds failed with clang-19 with defconfig on the Linux next-20241203 tag due to following build warnings / errors. Build pass with gcc-13 defconfig for s390.
First seen on Linux next-20241203 tag GOOD: Linux next-20241128 tag BAD: Linux next-20241203 tag
List of arch and toolchains : s390 defconfig with clang-19
s390: build: * clang-19-defconfig * korg-clang-19-lkftconfig-lto-full * korg-clang-19-lkftconfig-hardening * korg-clang-19-lkftconfig-lto-thing
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Build log:
block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active 1101 | inuse = clamp_t(u32, inuse, 1, active); | ^ include/linux/minmax.h:218:36: note: expanded from macro 'clamp_t' 218 | #define clamp_t(type, val, lo, hi) __careful_clamp(type, val, lo, hi) | ^ include/linux/minmax.h:195:2: note: expanded from macro '__careful_clamp' 195 | __clamp_once(type, val, lo, hi, __UNIQUE_ID(v_), __UNIQUE_ID(l_), __UNIQUE_ID(h_)) | ^ include/linux/minmax.h:188:2: note: expanded from macro '__clamp_once' 188 | BUILD_BUG_ON_MSG(statically_true(ulo > uhi), \ | ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert' 530 | __compiletime_assert(condition, msg, prefix, suffix) | ^ include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert' 523 | prefix ## suffix(); \ | ^ <scratch space>:38:1: note: expanded from here 38 | __compiletime_assert_557 | ^ block/blk-iocost.c:1101:11: error: call to '__compiletime_assert_557' declared with 'error' attribute: clamp() low limit 1 greater than high limit active include/linux/minmax.h:218:36: note: expanded from macro 'clamp_t' 218 | #define clamp_t(type, val, lo, hi) __careful_clamp(type, val, lo, hi) | ^ include/linux/minmax.h:195:2: note: expanded from macro '__careful_clamp' 195 | __clamp_once(type, val, lo, hi, __UNIQUE_ID(v_), __UNIQUE_ID(l_), __UNIQUE_ID(h_)) | ^ include/linux/minmax.h:188:2: note: expanded from macro '__clamp_once' 188 | BUILD_BUG_ON_MSG(statically_true(ulo > uhi), \ | ^ note: (skipping 2 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/compiler_types.h:530:2: note: expanded from macro '_compiletime_assert' 530 | __compiletime_assert(condition, msg, prefix, suffix) | ^ include/linux/compiler_types.h:523:4: note: expanded from macro '__compiletime_assert' 523 | prefix ## suffix(); \ | ^ <scratch space>:38:1: note: expanded from here 38 | __compiletime_assert_557 | ^ 2 errors generated.
Links:
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20241203/tes...
Steps to reproduce:
# tuxmake --runtime podman --target-arch s390 --toolchain clang-19 --kconfig defconfig LLVM_IAS=1
metadata:
git describe: next-20241203 git repo: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git git sha: c245a7a79602ccbee780c004c1e4abcda66aec32 kernel config: https://storage.tuxsuite.com/public/linaro/lkft/builds/2pjAPS9UrJkbAKFHktQei... build url: https://storage.tuxsuite.com/public/linaro/lkft/builds/2pjAPS9UrJkbAKFHktQei... toolchain: clang-19 config: clang-19-defconfig arch: s390
-- Linaro LKFT https://lkft.linaro.org