> -----Original Message----- > From: David Marchand <david.march...@redhat.com> > Sent: Thursday, November 12, 2020 7:58 PM > To: jer...@marvell.com; Ruifeng Wang <ruifeng.w...@arm.com> > Cc: dev@dpdk.org; tho...@monjalon.net; Ferruh Yigit > <ferruh.yi...@intel.com>; Luca Boccassi <bl...@debian.org>; nd > <n...@arm.com> > Subject: Re: [dpdk-dev] DPDK Release Status Meeting 12/11/2020 > > On Thu, Nov 12, 2020 at 12:39 PM Ferruh Yigit <ferruh.yi...@intel.com> > wrote: > > * In suse build environment, there are some arm and PPC build error > > * For arm the RHEL 7 compiler for arm is too old > > * Can be possible to disable the failing driver and still test > > the rest > > Luca also mentioned an issue on Centos 8. > > > Interestingly, I am not able to reproduce it in my OBS env. > https://build.opensuse.org/build/home:dmarchan/home_bluca_dpdk_Cent > OS_8/aarch64/dpdk/_log > > [ 135s] [118/2414] cc -Ilib/76b5a35@@rte_net@sta -Ilib -I../lib - > Ilib/librte_net -I../lib/librte_net -I. -I../ -Iconfig -I../config - > Ilib/librte_eal/include -I../lib/librte_eal/include > -Ilib/librte_eal/linux/include - > I../lib/librte_eal/linux/include -Ilib/librte_eal/arm/include - > I../lib/librte_eal/arm/include -Ilib/librte_eal/common - > I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal > -Ilib/librte_kvargs - > I../lib/librte_kvargs -Ilib/librte_telemetry/../librte_metrics > -I../lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry - > I../lib/librte_telemetry -Ilib/librte_mbuf -I../lib/librte_mbuf - > Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_ring - > I../lib/librte_ring -fdiagnostics-color=always -pipe > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -include rte_config.h - > Wextra -Wcast-qual -Wdeprecated -Wmissing-declarations -Wmissing- > prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith - > Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed- > not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fcommon - > Werror -fPIC -march=armv8.1-a+crc+crypto -mcpu=thunderx2t99 - > DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format- > truncation -DCC_ARM64_NEON_PMULL_SUPPORT -MD -MQ > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o' -MF > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o.d' -o > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o' - > c ../lib/librte_net/net_crc_neon.c > > Looking at Luca env log: > https://build.opensuse.org/build/home:bluca:dpdk/CentOS_8/aarch64/dpd > k/_log > > [ 290s] [117/2414] cc -Ilib/76b5a35@@rte_net@sta -Ilib -I../lib - > Ilib/librte_net -I../lib/librte_net -I. -I../ -Iconfig -I../config - > Ilib/librte_eal/include -I../lib/librte_eal/include > -Ilib/librte_eal/linux/include - > I../lib/librte_eal/linux/include -Ilib/librte_eal/arm/include - > I../lib/librte_eal/arm/include -Ilib/librte_eal/common - > I../lib/librte_eal/common -Ilib/librte_eal -I../lib/librte_eal > -Ilib/librte_kvargs - > I../lib/librte_kvargs -Ilib/librte_telemetry/../librte_metrics > -I../lib/librte_telemetry/../librte_metrics -Ilib/librte_telemetry - > I../lib/librte_telemetry -Ilib/librte_mbuf -I../lib/librte_mbuf - > Ilib/librte_mempool -I../lib/librte_mempool -Ilib/librte_ring - > I../lib/librte_ring -fdiagnostics-color=always -pipe > -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -O3 -include rte_config.h - > Wextra -Wcast-qual -Wdeprecated -Wmissing-declarations -Wmissing- > prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith - > Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed- > not-aligned -Wno-missing-field-initializers -D_GNU_SOURCE -fcommon - > Werror -fPIC > -mcpu=thunderxt88 -DALLOW_EXPERIMENTAL_API - > DALLOW_INTERNAL_API -Wno-format-truncation - > DCC_ARM64_NEON_PMULL_SUPPORT -MD -MQ > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o' -MF > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o.d' -o > 'lib/76b5a35@@rte_net@sta/librte_net_net_crc_neon.c.o' - > c ../lib/librte_net/net_crc_neon.c ... > [ 290s] ../lib/librte_net/net_crc_neon.c: In function 'crcr32_folding_round': > [ 290s] /usr/lib/gcc/aarch64-redhat-linux/8/include/arm_neon.h:26094:1: > error: inlining failed in call to always_inline 'vmull_p64': target specific > option > mismatch [ 290s] vmull_p64 (poly64_t a, poly64_t b) [ 290s] ^~~~~~~~~ > > > The difference is: > - for me -march=armv8.1-a+crc+crypto -mcpu=thunderx2t99 (working) > - for Luca -mcpu=thunderxt88 (*not* working) > > Could you ARM guys have a look? > My gut feeling is that there is some check missing in > lib/librte_net/meson.build, maybe checking for __ARM_NEON in addition to > the check on __ARM_FEATURE_CRYPTO? > Sorry for the late reply. My inbox had some disorder.
This can be reproduced when doing gcc build on ThunderX platform. It has something to do with gcc -mcpu=thunderxt88 option. Clang build works well. Similar issue has been fixed for ThunderX2: https://git.dpdk.org/dpdk/commit/?id=c199ca15769370c848179065a57132569c6f03b3 I tried to do the same change for ThunderX, but ran into some other problem: [2512/2512] Linking target app/test/dpdk-test FAILED: app/test/dpdk-test cc -o app/test/dpdk-test app/test/dpdk-test.p/commands.c.o app/test/dpdk-test.p/packet_burst_generator.c.o app/test/dpdk-test.p/test.c.o app/test/dpdk-test.p/test_acl.c.o app/test/dpdk-test.p/test_alarm.c.o app/test/dpdk-test.p/test_atomic.c.o app/test/dpdk-test.p/test_barrier.c.o app/test/dpdk-test.p/test_bitops.c.o app/test/dpdk-test.p/test_bpf.c.o app/test/dpdk-test.p/test_byteorder.c.o app/test/dpdk-test.p/test_cmdline.c.o app/test/dpdk-test.p/test_cmdline_cirbuf.c.o app/test/dpdk-test.p/test_cmdline_etheraddr.c.o app/test/dpdk-test.p/test_cmdline_ipaddr.c.o app/test/dpdk-test.p/test_cmdline_lib.c.o app/test/dpdk-test.p/test_cmdline_num.c.o app/test/dpdk-test.p/test_cmdline_portlist.c.o app/test/dpdk-test.p/test_cmdline_string.c.o app/test/dpdk-test.p/test_common.c.o app/test/dpdk-test.p/test_cpuflags.c.o app/test/dpdk-test.p/test_crc.c.o app/test/dpdk-test.p/test_cryptodev.c.o app/test/dpdk-test.p/test_cryptodev_asym.c.o app/test/dpdk-test.p/test_cryptodev_blockcipher.c.o app/test/dpdk-test.p/test_cryptodev_security_pdcp.c.o app/test/dpdk-test.p/test_cycles.c.o app/test/dpdk-test.p/test_debug.c.o app/test/dpdk-test.p/test_distributor.c.o app/test/dpdk-test.p/test_distributor_perf.c.o app/test/dpdk-test.p/test_eal_flags.c.o app/test/dpdk-test.p/test_eal_fs.c.o app/test/dpdk-test.p/test_efd.c.o app/test/dpdk-test.p/test_efd_perf.c.o app/test/dpdk-test.p/test_errno.c.o app/test/dpdk-test.p/test_ethdev_link.c.o app/test/dpdk-test.p/test_event_crypto_adapter.c.o app/test/dpdk-test.p/test_event_eth_rx_adapter.c.o app/test/dpdk-test.p/test_event_ring.c.o app/test/dpdk-test.p/test_event_timer_adapter.c.o app/test/dpdk-test.p/test_eventdev.c.o app/test/dpdk-test.p/test_external_mem.c.o app/test/dpdk-test.p/test_fbarray.c.o app/test/dpdk-test.p/test_fib.c.o app/test/dpdk-test.p/test_fib_perf.c.o app/test/dpdk-test.p/test_fib6.c.o app/test/dpdk-test.p/test_fib6_perf.c.o app/test/dpdk-test.p/test_func_reentrancy.c.o app/test/dpdk-test.p/test_flow_classify.c.o app/test/dpdk-test.p/test_graph.c.o app/test/dpdk-test.p/test_graph_perf.c.o app/test/dpdk-test.p/test_hash.c.o app/test/dpdk-test.p/test_hash_functions.c.o app/test/dpdk-test.p/test_hash_multiwriter.c.o app/test/dpdk-test.p/test_hash_readwrite.c.o app/test/dpdk-test.p/test_hash_perf.c.o app/test/dpdk-test.p/test_hash_readwrite_lf_perf.c.o app/test/dpdk-test.p/test_interrupts.c.o app/test/dpdk-test.p/test_ipfrag.c.o app/test/dpdk-test.p/test_ipsec.c.o app/test/dpdk-test.p/test_ipsec_sad.c.o app/test/dpdk-test.p/test_ipsec_perf.c.o app/test/dpdk-test.p/test_kni.c.o app/test/dpdk-test.p/test_kvargs.c.o app/test/dpdk-test.p/test_lcores.c.o app/test/dpdk-test.p/test_logs.c.o app/test/dpdk-test.p/test_lpm.c.o app/test/dpdk-test.p/test_lpm6.c.o app/test/dpdk-test.p/test_lpm6_perf.c.o app/test/dpdk-test.p/test_lpm_perf.c.o app/test/dpdk-test.p/test_malloc.c.o app/test/dpdk-test.p/test_mbuf.c.o app/test/dpdk-test.p/test_member.c.o app/test/dpdk-test.p/test_member_perf.c.o app/test/dpdk-test.p/test_memcpy.c.o app/test/dpdk-test.p/test_memcpy_perf.c.o app/test/dpdk-test.p/test_memory.c.o app/test/dpdk-test.p/test_mempool.c.o app/test/dpdk-test.p/test_mempool_perf.c.o app/test/dpdk-test.p/test_memzone.c.o app/test/dpdk-test.p/test_meter.c.o app/test/dpdk-test.p/test_metrics.c.o app/test/dpdk-test.p/test_mcslock.c.o app/test/dpdk-test.p/test_mp_secondary.c.o app/test/dpdk-test.p/test_per_lcore.c.o app/test/dpdk-test.p/test_pmd_perf.c.o app/test/dpdk-test.p/test_power.c.o app/test/dpdk-test.p/test_power_cpufreq.c.o app/test/dpdk-test.p/test_power_kvm_vm.c.o app/test/dpdk-test.p/test_prefetch.c.o app/test/dpdk-test.p/test_rand_perf.c.o app/test/dpdk-test.p/test_rawdev.c.o app/test/dpdk-test.p/test_rcu_qsbr.c.o app/test/dpdk-test.p/test_rcu_qsbr_perf.c.o app/test/dpdk-test.p/test_reciprocal_division.c.o app/test/dpdk-test.p/test_reciprocal_division_perf.c.o app/test/dpdk-test.p/test_red.c.o app/test/dpdk-test.p/test_reorder.c.o app/test/dpdk-test.p/test_rib.c.o app/test/dpdk-test.p/test_rib6.c.o app/test/dpdk-test.p/test_ring.c.o app/test/dpdk-test.p/test_ring_mpmc_stress.c.o app/test/dpdk-test.p/test_ring_hts_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress.c.o app/test/dpdk-test.p/test_ring_mt_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_perf.c.o app/test/dpdk-test.p/test_ring_rts_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress.c.o app/test/dpdk-test.p/test_ring_st_peek_stress_zc.c.o app/test/dpdk-test.p/test_ring_stress.c.o app/test/dpdk-test.p/test_rwlock.c.o app/test/dpdk-test.p/test_sched.c.o app/test/dpdk-test.p/test_security.c.o app/test/dpdk-test.p/test_service_cores.c.o app/test/dpdk-test.p/test_spinlock.c.o app/test/dpdk-test.p/test_stack.c.o app/test/dpdk-test.p/test_stack_perf.c.o app/test/dpdk-test.p/test_string_fns.c.o app/test/dpdk-test.p/test_table.c.o app/test/dpdk-test.p/test_table_acl.c.o app/test/dpdk-test.p/test_table_combined.c.o app/test/dpdk-test.p/test_table_pipeline.c.o app/test/dpdk-test.p/test_table_ports.c.o app/test/dpdk-test.p/test_table_tables.c.o app/test/dpdk-test.p/test_tailq.c.o app/test/dpdk-test.p/test_thash.c.o app/test/dpdk-test.p/test_timer.c.o app/test/dpdk-test.p/test_timer_perf.c.o app/test/dpdk-test.p/test_timer_racecond.c.o app/test/dpdk-test.p/test_timer_secondary.c.o app/test/dpdk-test.p/test_ticketlock.c.o app/test/dpdk-test.p/test_trace.c.o app/test/dpdk-test.p/test_trace_register.c.o app/test/dpdk-test.p/test_trace_perf.c.o app/test/dpdk-test.p/test_version.c.o app/test/dpdk-test.p/virtual_pmd.c.o app/test/dpdk-test.p/test_telemetry_json.c.o app/test/dpdk-test.p/test_telemetry_data.c.o app/test/dpdk-test.p/test_link_bonding.c.o app/test/dpdk-test.p/test_link_bonding_rssconf.c.o app/test/dpdk-test.p/test_link_bonding_mode4.c.o app/test/dpdk-test.p/test_pmd_ring_perf.c.o app/test/dpdk-test.p/test_pmd_ring.c.o app/test/dpdk-test.p/test_event_eth_tx_adapter.c.o app/test/dpdk-test.p/test_bitratestats.c.o app/test/dpdk-test.p/test_latencystats.c.o app/test/dpdk-test.p/sample_packet_forward.c.o app/test/dpdk-test.p/test_pdump.c.o app/test/dpdk-test.p/test_compressdev.c.o -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -Wl,--whole-archive -Wl,--start-group lib/librte_node.a lib/librte_graph.a lib/librte_bpf.a lib/librte_flow_classify.a lib/librte_pipeline.a lib/librte_table.a lib/librte_port.a lib/librte_fib.a lib/librte_ipsec.a lib/librte_vhost.a lib/librte_stack.a lib/librte_security.a lib/librte_sched.a lib/librte_reorder.a lib/librte_rib.a lib/librte_regexdev.a lib/librte_rawdev.a lib/librte_pdump.a lib/librte_power.a lib/librte_member.a lib/librte_lpm.a lib/librte_latencystats.a lib/librte_kni.a lib/librte_jobstats.a lib/librte_ip_frag.a lib/librte_gso.a lib/librte_gro.a lib/librte_eventdev.a lib/librte_efd.a lib/librte_distributor.a lib/librte_cryptodev.a lib/librte_compressdev.a lib/librte_cfgfile.a lib/librte_bitratestats.a lib/librte_bbdev.a lib/librte_acl.a lib/librte_timer.a lib/librte_hash.a lib/librte_metrics.a lib/librte_cmdline.a lib/librte_pci.a lib/librte_ethdev.a lib/librte_meter.a lib/librte_net.a lib/librte_mbuf.a lib/librte_mempool.a lib/librte_rcu.a lib/librte_ring.a lib/librte_eal.a lib/librte_telemetry.a lib/librte_kvargs.a drivers/librte_common_cpt.a drivers/librte_common_dpaax.a drivers/librte_common_iavf.a drivers/librte_common_octeontx.a drivers/librte_common_octeontx2.a drivers/librte_common_sfc_efx.a drivers/librte_bus_dpaa.a drivers/librte_bus_fslmc.a drivers/librte_bus_ifpga.a drivers/librte_bus_pci.a drivers/librte_bus_vdev.a drivers/librte_bus_vmbus.a drivers/librte_common_mlx5.a drivers/librte_common_qat.a drivers/librte_mempool_bucket.a drivers/librte_mempool_dpaa.a drivers/librte_mempool_dpaa2.a drivers/librte_mempool_octeontx.a drivers/librte_mempool_octeontx2.a drivers/librte_mempool_ring.a drivers/librte_mempool_stack.a drivers/librte_net_af_packet.a drivers/librte_net_ark.a drivers/librte_net_atlantic.a drivers/librte_net_avp.a drivers/librte_net_axgbe.a drivers/librte_net_bond.a drivers/librte_net_bnx2x.a drivers/librte_net_bnxt.a drivers/librte_net_cxgbe.a drivers/librte_net_dpaa.a drivers/librte_net_dpaa2.a drivers/librte_net_e1000.a drivers/librte_net_ena.a drivers/librte_net_enetc.a drivers/librte_net_enic.a drivers/librte_net_failsafe.a drivers/librte_net_fm10k.a drivers/librte_net_i40e.a drivers/librte_net_hinic.a drivers/librte_net_hns3.a drivers/librte_net_iavf.a drivers/librte_net_ice.a drivers/librte_net_igc.a drivers/librte_net_ixgbe.a drivers/librte_net_kni.a drivers/librte_net_liquidio.a drivers/librte_net_memif.a drivers/librte_net_mlx4.a drivers/librte_net_mlx5.a drivers/librte_net_netvsc.a drivers/librte_net_nfp.a drivers/librte_net_null.a drivers/librte_net_octeontx.a drivers/librte_net_octeontx2.a drivers/librte_net_pfe.a drivers/librte_net_qede.a drivers/librte_net_ring.a drivers/librte_net_sfc.a drivers/librte_net_softnic.a drivers/librte_net_tap.a drivers/librte_net_thunderx.a drivers/librte_net_txgbe.a drivers/librte_net_vdev_netvsc.a drivers/librte_net_vhost.a drivers/librte_net_virtio.a drivers/librte_net_vmxnet3.a drivers/librte_raw_dpaa2_cmdif.a drivers/librte_raw_dpaa2_qdma.a drivers/librte_raw_ntb.a drivers/librte_raw_octeontx2_dma.a drivers/librte_raw_octeontx2_ep.a drivers/librte_raw_skeleton.a drivers/librte_crypto_bcmfs.a drivers/librte_crypto_caam_jr.a drivers/librte_crypto_ccp.a drivers/librte_crypto_dpaa_sec.a drivers/librte_crypto_dpaa2_sec.a drivers/librte_crypto_nitrox.a drivers/librte_crypto_null.a drivers/librte_crypto_octeontx.a drivers/librte_crypto_octeontx2.a drivers/librte_crypto_openssl.a drivers/librte_crypto_scheduler.a drivers/librte_crypto_virtio.a drivers/librte_compress_octeontx.a drivers/librte_compress_zlib.a drivers/librte_regex_mlx5.a drivers/librte_regex_octeontx2.a drivers/librte_vdpa_ifc.a drivers/librte_vdpa_mlx5.a drivers/librte_event_dpaa.a drivers/librte_event_dpaa2.a drivers/librte_event_octeontx2.a drivers/librte_event_opdl.a drivers/librte_event_skeleton.a drivers/librte_event_sw.a drivers/librte_event_dsw.a drivers/librte_event_octeontx.a drivers/librte_baseband_null.a drivers/librte_baseband_turbo_sw.a drivers/librte_baseband_fpga_lte_fec.a drivers/librte_baseband_fpga_5gnr_fec.a drivers/librte_baseband_acc100.a -Wl,--no-whole-archive -Wl,--no-as-needed -pthread -lm -ldl -lnuma /usr/lib/aarch64-linux-gnu/libz.so -lmlx5 -libverbs /usr/lib/aarch64-linux-gnu/libcrypto.so -lmlx4 -libverbs -lmlx5 -libverbs -lmlx5 -libverbs -lmlx5 -libverbs -Wl,--end-group -Wl,-rpath,XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX app/test/dpdk-test.p/test_hash_perf.c.o: In function `test_hash_perf': test_hash_perf.c:(.text+0x1c74): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss' test_hash_perf.c:(.text+0x1d8c): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss' test_hash_perf.c:(.text+0x2508): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against `.bss' Hi Jerin, Can you help to look at this? Thanks. > > Thanks! > > -- > David Marchand