Subject: Re: gpu: drm_fb_cma_helper.c:46: undefined reference to `drm_gem_fb_get_obj'

From: Thomas Zimmermann <[email-masked]>
Date: Tue, 26 Oct 2021 20:21:47 +0200

Hi

Am 25.10.21 um 14:13 schrieb Naresh Kamboju:
> Regression found on arm gcc-11 built with multi_v5_defconfig
> Following build warnings / errors reported on linux next 20211025.
> 
> metadata:
>      git_describe: next-20211025
>      git_repo: https://gitlab.com/Linaro/lkft/mirrors/next/linux-next
>      git_short_log: 9ae1fbdeabd3 (\"Add linux-next specific files for 20211025\")
>      target_arch: arm
>      toolchain: gcc-11
>      config: multi_v5_defconfig
> 
> build error :
> --------------
> arm-linux-gnueabihf-ld: drivers/gpu/drm/drm_fb_cma_helper.o: in
> function `drm_fb_cma_get_gem_obj':
> drivers/gpu/drm/drm_fb_cma_helper.c:46: undefined reference to
> `drm_gem_fb_get_obj'
> arm-linux-gnueabihf-ld: drivers/gpu/drm/drm_fb_cma_helper.c:46:
> undefined reference to `drm_gem_fb_get_obj'
> arm-linux-gnueabihf-ld: drivers/gpu/drm/drm_fb_cma_helper.c:46:
> undefined reference to `drm_gem_fb_get_obj'
> arm-linux-gnueabihf-ld: drivers/gpu/drm/drm_fb_cma_helper.o: in
> function `drm_fb_cma_sync_non_coherent':
> drivers/gpu/drm/drm_fb_cma_helper.c:133: undefined reference to
> `drm_atomic_helper_damage_iter_init'
> arm-linux-gnueabihf-ld: drivers/gpu/drm/drm_fb_cma_helper.c:135:
> undefined reference to `drm_atomic_helper_damage_iter_next'
> make[1]: *** [Makefile:1252: vmlinux] Error 1
> make[1]: Target '__all' not remade because of errors.
> make: *** [Makefile:226: __sub-make] Error 2
> 
> Reported-by: Linux Kernel Functional Testing <[email-masked]>
> 
> 
> build link:
> -----------
> https://builds.tuxbuild.com/1zzgFZBGjpQ5R0lawQFW9iJ39Hp/build.log
> 
> build config:
> -------------
> https://builds.tuxbuild.com/1zzgFZBGjpQ5R0lawQFW9iJ39Hp/config

Looking at this config, there is:

CONFIG_DRM=y
# CONFIG_DRM_DP_AUX_CHARDEV is not set
# CONFIG_DRM_DEBUG_MM is not set
# CONFIG_DRM_DEBUG_SELFTEST is not set
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_GEM_CMA_HELPER=y
CONFIG_DRM_KMS_CMA_HELPER=y

GEM_CMA_HELPER depends on KMS_HELPER, but the latter is a module. That's 
probably the cause of the problem. Is it intentionally set this way?

Best regards
Thomas

> 
> # To install tuxmake on your system globally
> # sudo pip3 install -U tuxmake
> tuxmake --runtime podman --target-arch arm --toolchain gcc-11
> --kconfig multi_v5_defconfig
> 
> --
> Linaro LKFT
> https://lkft.linaro.org
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer