Kernel build errors with L4T 35.4.1 and bootlin 2020.08-1

I’m using buildroot to generate a filesystem and kernel for an Orin-based project and the kernel build fails with a number of linker errors (see below). I’m using the bootlin 2020.08-1 toolchain that’s given in the release notes. Googling hasn’t turned up anything helpful. Anyone have any ideas?

/home/output/ips/host/bin/aarch64-linux-ld: Unexpected GOT/PLT entries detected!
/home/output/ips/host/bin/aarch64-linux-ld: Unexpected run-time procedure linkages detected!
/home/output/ips/host/bin/aarch64-linux-ld: drivers/misc/eventlib/eventlib_flt.o: in function `sync_clear_bit':
/home/output/ips/build/linux-5.10.120/nvidia/drivers/misc/eventlib/eventlib_flt.h:170: undefined reference to `__aarch64_ldclr4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/misc/eventlib/eventlib_flt.o: in function `sync_set_bit':
/home/output/ips/build/linux-5.10.120/nvidia/drivers/misc/eventlib/eventlib_flt.h:165: undefined reference to `__aarch64_ldset4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/misc/eventlib/eventlib_flt.o: in function `sync_test_and_set_bit':
/home/output/ips/build/linux-5.10.120/nvidia/drivers/misc/eventlib/eventlib_flt.h:160: undefined reference to `__aarch64_ldset4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/misc/eventlib/eventlib_flt.o: in function `sync_clear_bit':
/home/output/ips/build/linux-5.10.120/nvidia/drivers/misc/eventlib/eventlib_flt.h:170: undefined reference to `__aarch64_ldclr4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/osi_hal.o: in function `get_tx_ts':
/home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/osi_hal.c:1781: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: /home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/osi_hal.c:1829: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/osi_hal.o: in function `osi_lock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:127: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/osi_hal.o: in function `osi_unlock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:156: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/osi_hal.o: in function `get_tx_ts':
/home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/osi_hal.c:1783: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/macsec.o: in function `osi_lock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:127: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/macsec.o: in function `osi_unlock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:156: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/eqos_core.o: in function `eqos_pad_calibrate':
/home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/eqos_core.c:169: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: /home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/eqos_core.c:229: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/mgbe_core.o: in function `mgbe_handle_mac_intrs':
/home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/mgbe_core.c:2260: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: /home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/mgbe_core.c:2309: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: /home/output/ips/build/linux-5.10.120/nvethernetrm/osi/core/mgbe_core.c:2262: undefined reference to `__aarch64_ldadd4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/core_common.o: in function `osi_unlock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:156: undefined reference to `__aarch64_cas4_acq_rel'
/home/output/ips/host/bin/aarch64-linux-ld: drivers/net/ethernet/nvidia/nvethernet/nvethernetrm/osi/core/core_common.o: in function `osi_lock_irq_enabled':
/home/output/ips/build/linux-5.10.120/nvethernetrm/include/../osi/common/common.h:127: undefined reference to `__aarch64_cas4_acq_rel'
make[2]: *** [Makefile:1211: vmlinux] Error 1
make[1]: *** [package/pkg-generic.mk:293: /home/output/ips/build/linux-5.10.120/.stamp_built] Error 2
make: *** [Makefile:23: _all] Error 2

Hi,

What’s the complete steps you did to build the kernel?
Did you set the environment variable correctly so the right compiler toolchain was being used?

Buildroot is not officially supported by us, so please also try again following our document, which has been verified to work:
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/SD/Kernel/KernelCustomization.html

Thanks for the reply. I ended up changing the processor type to Cortex A76 and the errors disappeared!

I suspect the problem was in the way buildroot was setting up the toolchain and it is somehow better for the A76. I haven’t looked into it further than that.

Thanks for the help!

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.