next: gcc-8-ppc6xx_defconfig: ERROR: modpost: "__divdi3" [sound/pci/emu10k1/snd-emu10k1.ko] undefined!

Christophe Leroy christophe.leroy at csgroup.eu
Thu May 18 02:02:02 AEST 2023



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 <lkft at linaro.org>
> 
> 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


More information about the Linuxppc-dev mailing list