Skip to contentSkip to conversation

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

DISCUSSION Arnd Bergmann 1 participant 1 message Jun 17, 2017 1 message not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

#1 lore raw
Quoted 9 lines · kernelci.org bot

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,

Quoted 15 lines

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

Quoted 4 lines

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