Re: mainline/master build: 207 builds: 10 failed, 197 passed, 11 errors, 9 warnings (v4.12-rc5-219-gadc311034c35)

From: Arnd Bergmann
Date: Sat Jun 17 2017 - 08:19:00 EST


On Sat, Jun 17, 2017 at 11:54 AM, kernelci.org bot <bot@xxxxxxxxxxxx> 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-gadc311034c35/
> 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