On Sat, Jun 17, 2017 at 11:54 AM, kernelci.org bot bot@kernelci.org wrote:
mainline/master build: 207 builds: 10 failed, 197 passed, 11 errors, 9 warnings (v4.12-rc5-219-gadc311034c35) Full Build Summary: https://kernelci.org/build/mainline/branch/master/kernel/v4.12-rc5-219-gadc3... Tree: mainline Branch: master Git Describe: v4.12-rc5-219-gadc311034c35 Git Commit: adc311034c356e884d180df25deb046cef3e8c75 Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git Built: 4 unique architectures
This apparently broke today,
Build Failures Detected:
mips: gcc version 6.3.0 (GCC) decstation_defconfig FAIL defconfig+CONFIG_LKDTM=y FAIL ip22_defconfig FAIL jazz_defconfig FAIL malta_defconfig FAIL malta_kvm_defconfig FAIL malta_kvm_guest_defconfig FAIL maltaup_xpa_defconfig FAIL nlm_xlr_defconfig FAIL rm200_defconfig FAIL
Errors summary: 9 ERROR: "__udivdi3" [fs/ufs/ufs.ko] undefined! 1 (.text+0x120474): undefined reference to `__udivdi3' 1 (.text+0x11fdf8): undefined reference to `__udivdi3'
I have not analyzed it in detail, so no patch for now, but from the git log, I assume c596961d1b4c ("ufs: fix s_size/s_dsize users") caused it.
In ufs_new_fragments() we have this code:
switch (fs32_to_cpu(sb, usb1->fs_optim)) { case UFS_OPTSPACE: request = newcount; if (uspi->s_minfree < 5 || uspi->cs_total.cs_nffree > uspi->s_dsize * uspi->s_minfree / (2 * 100)) break; usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); break; default: usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME);
case UFS_OPTTIME: request = uspi->s_fpb; if (uspi->cs_total.cs_nffree < uspi->s_dsize * (uspi->s_minfree - 2) / 100) break; usb1->fs_optim = cpu_to_fs32(sb, UFS_OPTTIME); break; }
and as s_dsize is now 64-bit, we get a link error on 32-bit architectures. This may depend on the compiler version in use, as the various built bots gave inconsistent results: On Mark's bot, ARM failed, while for kernelci, ARM and x86 using a gcc-5 build succeeded and MIPS failed with gcc-6.3.
Arnd