Re: next: gcc-8-ppc6xx_defconfig: ERROR: modpost: "__divdi3" [sound/pci/emu10k1/snd-emu10k1.ko] undefined!
From: Christophe Leroy <hidden>
Date: 2023-05-17 16:02:23
Also in:
alsa-devel, linux-next, lkml
Le 17/05/2023 à 16:02, Naresh Kamboju a écrit :
Linux next powerpc gcc-8 build failed on Linux next 20230516 and 20230517. - build/gcc-8-ppc6xx_defconfig Reported-by: Linux Kernel Functional Testing <redacted> Build log: ==== make --silent --keep-going --jobs=8 O=/home/tuxbuild/.cache/tuxmake/builds/1/build \ ARCH=powerpc CROSS_COMPILE=powerpc64le-linux-gnu- \ 'CC=sccache powerpc64le-linux-gnu-gcc' \ 'HOSTCC=sccache gcc' ERROR: modpost: "__divdi3" [sound/pci/emu10k1/snd-emu10k1.ko] undefined! ERROR: modpost: "__udivdi3" [sound/pci/emu10k1/snd-emu10k1.ko] undefined! make[2]: *** [/builds/linux/scripts/Makefile.modpost:136: Module.symvers] Error 1 make[2]: Target '__modpost' not remade because of errors. make[1]: *** [/builds/linux/Makefile:1978: modpost] Error 2
Problem introduced by commits:
bb5ceb43b7bf ("ALSA: emu10k1: fix non-zero mixer control defaults in
highres mode")
1298bc978afb ("ALSA: emu10k1: enable bit-exact playback, part 1: DSP
attenuation")
More exactly by :
+ defval = defval * 0x7fffffffLL / 100;
or
+ defval = defval * 0x80000000LL / 100 - 1;
powerpc/32 doesn't expect raw 64 bits division.
You have to use function div_u64() as defined in include/linux/math64.h
for this kind of operation.
Christophe
links, - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230517/testrun/17031706/suite/build/test/gcc-8-ppc6xx_defconfig/log - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230517/testrun/17031706/suite/build/test/gcc-8-ppc6xx_defconfig/history/ Steps to reproduce: ======= # To install tuxmake on your system globally: # sudo pip3 install -U tuxmake # # See https://docs.tuxmake.org/ for complete documentation. # Original tuxmake command with fragments listed below. tuxmake --runtime podman --target-arch powerpc --toolchain gcc-8 --kconfig ppc6xx_defconfig -- Linaro LKFT https://lkft.linaro.org