linus: arm64: error: call to '__compiletime_assert_536' declared with attribute error: FIELD_PREP: value too large for the field

Naresh Kamboju
2025-01-30T09:52:19Z

The arm64 build failed with defconfig with gcc-8 toolchain failed due to
following build warnings / errors on the mainline linux master branch.
But the gcc-13 builds pass.

First seen on v6.13-9485-g72deda0abee6 on Jan. 30, 2025
Good: v6.13-9338-g05dbaf8dd8bf on Jan. 29, 2025
Bad: v6.13-9485-g72deda0abee6 on Jan. 30, 2025

arm64:
build:
* gcc-8-i386_defconfig

Reported-by: Linux Kernel Functional Testing

Build log:
---
ake --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/1/build ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu-
CROSS_COMPILE_COMPAT=arm-linux-gnueabihf- 'CC=sccache
aarch64-linux-gnu-gcc' 'HOSTCC=sccache gcc'
In file included from <command-line>:
In function 'fsl_samsung_hdmi_phy_configure_pll_lock_det.isra.10',
inlined from 'fsl_samsung_hdmi_phy_configure' at
drivers/phy/freescale/phy-fsl-samsung-hdmi.c:469:2:
include/linux/compiler_types.h:542:38: error: call to
'__compiletime_assert_536' declared with attribute error: FIELD_PREP:
value too large for the field
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:523:4: note: in definition of macro
'__compiletime_assert'
prefix ## suffix(); \
^~~~~~
include/linux/compiler_types.h:542:2: note: in expansion of macro
'_compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro
'compiletime_assert'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^~~~~~~~~~~~~~~~~~
include/linux/bitfield.h:68:3: note: in expansion of macro 'BUILD_BUG_ON_MSG'
BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \
^~~~~~~~~~~~~~~~
include/linux/bitfield.h:115:3: note: in expansion of macro '__BF_FIELD_CHECK'
__BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \
^~~~~~~~~~~~~~~~
drivers/phy/freescale/phy-fsl-samsung-hdmi.c:344:9: note: in expansion
of macro 'FIELD_PREP'
writeb(FIELD_PREP(REG12_CK_DIV_MASK, div), phy->regs + PHY_REG(12));
^~~~~~~~~~
make[6]: *** [scripts/Makefile.build:194:
drivers/phy/freescale/phy-fsl-samsung-hdmi.o] Error 1

Links:
---
build log: https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.13-9485-g72deda0abee6/testrun/27067488/suite/build/test/gcc-8-defconfig/log
details: https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.13-9485-g72deda0abee6/testrun/27067488/suite/build/test/gcc-8-defconfig/details/
history: https://qa-reports.linaro.org/lkft/linux-mainline-master/build/v6.13-9485-g72deda0abee6/testrun/27067488/suite/build/test/gcc-8-defconfig/history/

Steps to reproduce:
------------
# tuxmake --runtime podman --target-arch arm64 --toolchain gcc-8
--kconfig defconfig

metadata:
---
git describe: v6.13-9485-g72deda0abee6
git repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git sha: 72deda0abee6e705ae71a93f69f55e33be5bca5c
kernel config:
https://storage.tuxsuite.com/public/linaro/lkft/builds/2sKEbH5NudB5wtp6BtFn2cIlatV/config
build url: https://storage.tuxsuite.com/public/linaro/lkft/builds/2sKEbH5NudB5wtp6BtFn2cIlatV/
toolchain: gcc-8
config: gcc-8-defconfig
arch: arm64

--
Linaro LKFT