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@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/tes...
- https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20230517/tes...
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