Honister Linux 5.10.74 linker error for iMX8MPEVK (Unexpected GOT/PLT entries)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Honister Linux 5.10.74 linker error for iMX8MPEVK (Unexpected GOT/PLT entries)

Jump to solution
4,962 Views
raajeshk88
Contributor III

Hi,

  I am using Yocto Honister with Linux 5.10.74 (linux-fslc-imx branch) to build image for iMX8MP . There is a strange linker error happening while trying to package the CDNS_HDMI . In the defconfig i have enabled all the CDNS required packages but still the following error exists, 

|   CC      drivers/mxc/hantro_v4l2/vsi-v4l2-enc.o
|   CC      drivers/mxc/vpu_malone/insert_startcode.o
|   AR      drivers/mxc/vpu_windsor/built-in.a
|   CC      drivers/mxc/vpu_malone/vpu_debug_log.o
|   CC      drivers/mxc/vpu_malone/vpu_mu.o
|   CC      drivers/mxc/vpu_malone/vpu_pm.o
|   AR      drivers/mxc/hantro_v4l2/built-in.a
|   AR      drivers/mxc/vpu_malone/built-in.a
|   AR      drivers/mxc/built-in.a
|   AR      drivers/built-in.a
|   GEN     .version
|   CHK     include/generated/compile.h
|   LD      vmlinux.o
|   MODPOST vmlinux.symvers
|   MODINFO modules.builtin.modinfo
|   GEN     modules.builtin
|   LD      .tmp_vmlinux.kallsyms1
| aarch64-fslc-linux-ld.bfd: Unexpected GOT/PLT entries detected!
| aarch64-fslc-linux-ld.bfd: Unexpected run-time procedure linkages detected!
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:/usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.c:117: undefined reference to `cdns_dp_bind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:(.data+0xd0): undefined reference to `cdns_dp_unbind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:/usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.c:102: undefined reference to `cdns_dp_bind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:(.data+0x148): undefined reference to `cdns_dp_unbind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:/usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.c:85: undefined reference to `cdns_hdmi_bind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:(.data+0x1c0): undefined reference to `cdns_hdmi_unbind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:/usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.c:77: undefined reference to `cdns_dp_bind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:(.data+0x238): undefined reference to `cdns_dp_unbind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:/usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.c:68: undefined reference to `cdns_hdmi_bind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-imxdrv.o:(.data+0x2b0): undefined reference to `cdns_hdmi_unbind'
| aarch64-fslc-linux-ld.bfd: drivers/gpu/drm/imx/mhdp/cdns-mhdp-dp-phy.o: in function `dp_phy_power_up':
| /usr/src/kernel/drivers/gpu/drm/imx/mhdp/cdns-mhdp-dp-phy.c:422: undefined reference to `cdns_phy_reg_read'

  Though all the libraries are created and header files exported still the reference are missing with linker . Your help is highly appreciated. Thanks

1 Solution
4,909 Views
raajeshk88
Contributor III

Hi ,

    The solution is to add the Kconfig path of the drivers which was moved to different directory in Linux5.10. 

View solution in original post

0 Kudos
5 Replies
4,532 Views
xu
Contributor II

hi experts

    I am using the Real-Time-Edge-v2.3-202207,I met the similar issue

CC init/version.o
AR init/built-in.a
LD vmlinux.o
MODPOST vmlinux.symvers
MODINFO modules.builtin.modinfo
GEN modules.builtin
LD .tmp_vmlinux.kallsyms1
aarch64-none-linux-gnu-ld: Unexpected GOT/PLT entries detected!
aarch64-none-linux-gnu-ld: Unexpected run-time procedure linkages detected!
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.o: in function `cdns_hdmi_bridge_enable':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:339: undefined reference to `cdns_hdcp_enable'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.o: in function `cdns_hdmi_bridge_disable':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:330: undefined reference to `cdns_hdcp_disable'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.o: in function `cdns_hdmi_connector_atomic_check':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:354: undefined reference to `cdns_hdcp_atomic_check'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.o: in function `__cdns_hdmi_probe':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:703: undefined reference to `cdns_hdcp_init'
aarch64-none-linux-gnu-ld: /home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:707: undefined reference to `cnds_hdcp_create_device_files'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-dp-core.o: in function `cdn_dp_bridge_enable':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c:512: undefined reference to `cdns_hdcp_enable'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-dp-core.o: in function `cdn_dp_bridge_disable':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c:520: undefined reference to `cdns_hdcp_disable'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-dp-core.o: in function `cdns_dp_connector_atomic_check':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c:351: undefined reference to `cdns_hdcp_atomic_check'
aarch64-none-linux-gnu-ld: drivers/gpu/drm/bridge/cadence/cdns-dp-core.o: in function `__cdns_dp_probe':
/home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c:730: undefined reference to `cnds_hdcp_create_device_files'
aarch64-none-linux-gnu-ld: /home/forlinx/work/openIL/OpenIL/real-time-edge-linux/drivers/gpu/drm/bridge/cadence/cdns-dp-core.c:746: undefined reference to `cdns_hdcp_init'
Makefile:1183: recipe for target 'vmlinux' failed
make: *** [vmlinux] Error 1

how to fix this issue?

0 Kudos
4,910 Views
raajeshk88
Contributor III

Hi ,

    The solution is to add the Kconfig path of the drivers which was moved to different directory in Linux5.10. 

0 Kudos
1,140 Views
manjunathj
Contributor I

Hi @raajeshk88 

Please can you elaborate more on the solution, what exactly do we need to do?

0 Kudos
4,953 Views
josephzhou1
Contributor V

what!  74 come out already i think still just 72?

 

Linux 5.10.72_2.2.0

  • Release Date: Dec 2021

 

 

BTW, nxp does not support linux-fslc, please post this on meta-fsl-arm mailing list

https://lists.yoctoproject.org/g/meta-freescale

 

Best Regards,
Joseph Zhou Jianhui / Senior Embedded Software Engineer, Singapore
0 Kudos
4,941 Views
raajeshk88
Contributor III

Hi josephzhou1 ,

              I thought linux-fslc-imx is supported by NXP combining the community fixes and nxp specific fixes. 

0 Kudos