On Wed, Apr 26, 2023 at 1:20 AM Stephen Hemminger <step...@networkplumber.org> wrote: > > > FYI, Fedora 38 also just got released. Perhaps that can be a candidate > > > as well, but I didn't try it out. > > > > At a first glance, gcc 13 raises some new warnings, at least for > > examples (ip-pipeline and ntb). > > We can switch to f38 once builds are fine with gcc 13. > > What errors, just tried and current main branch builds clean on new F38 VM.
Fixes welcome: [root@7e1b3663cd03 dpdk]# cat /etc/redhat-release Fedora release 38 (Thirty Eight) [root@7e1b3663cd03 dpdk]# rpm -q gcc gcc-13.0.1-0.12.fc38.x86_64 [root@7e1b3663cd03 dpdk]# ninja -C build -vvvv ninja: Entering directory `build' [1/4] cc -Iexamples/dpdk-ip_pipeline.p -Iexamples -I../examples -Iexamples/ip_pipeline -I../examples/ip_pipeline -I../examples/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/ethdev -I../lib/ethdev -Ilib/meter -I../lib/meter -Ilib/cmdline -I../lib/cmdline -Ilib/pipeline -I../lib/pipeline -Ilib/port -I../lib/port -Ilib/sched -I../lib/sched -Ilib/ip_frag -I../lib/ip_frag -Ilib/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -Ilib/cryptodev -I../lib/cryptodev -Ilib/eventdev -I../lib/eventdev -Ilib/timer -I../lib/timer -Ilib/table -I../lib/table -Ilib/lpm -I../lib/lpm -Ilib/acl -I../lib/acl -Ilib/ipsec -I../lib/ipsec -Ilib/security -I../lib/security -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -march=native -Wno-format-truncation -DALLOW_EXPERIMENTAL_API -MD -MQ examples/dpdk-ip_pipeline.p/ip_pipeline_thread.c.o -MF examples/dpdk-ip_pipeline.p/ip_pipeline_thread.c.o.d -o examples/dpdk-ip_pipeline.p/ip_pipeline_thread.c.o -c ../examples/ip_pipeline/thread.c In function ‘thread_msg_handle’, inlined from ‘thread_main’ at ../examples/ip_pipeline/thread.c:3130:6: ../examples/ip_pipeline/thread.c:535:20: warning: ‘req’ may be used uninitialized [-Wmaybe-uninitialized] 535 | if (req == NULL) | ^ ../examples/ip_pipeline/thread.c: In function ‘thread_main’: ../examples/ip_pipeline/thread.c:433:32: note: ‘req’ was declared here 433 | struct thread_msg_req *req; | ^~~ [2/4] cc -Iexamples/dpdk-ntb.p -Iexamples -I../examples -Iexamples/ntb -I../examples/ntb -I../examples/common -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include -I../lib/eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf -Ilib/ethdev -I../lib/ethdev -Ilib/meter -I../lib/meter -Ilib/cmdline -I../lib/cmdline -Ilib/rawdev -I../lib/rawdev -Idrivers/raw/ntb -I../drivers/raw/ntb -Ilib/pci -I../lib/pci -Idrivers/bus/pci -I../drivers/bus/pci -I../drivers/bus/pci/linux -fdiagnostics-color=always -Wall -Winvalid-pch -Wextra -O3 -include rte_config.h -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE -march=native -Wno-format-truncation -D_FILE_OFFSET_BITS=64 -DALLOW_EXPERIMENTAL_API -MD -MQ examples/dpdk-ntb.p/ntb_ntb_fwd.c.o -MF examples/dpdk-ntb.p/ntb_ntb_fwd.c.o.d -o examples/dpdk-ntb.p/ntb_ntb_fwd.c.o -c ../examples/ntb/ntb_fwd.c ../examples/ntb/ntb_fwd.c: In function ‘ntb_stats_display’: ../examples/ntb/ntb_fwd.c:945:23: warning: ‘rte_rawdev_xstats_get’ accessing 8 bytes in a region of size 0 [-Wstringop-overflow=] 945 | if (nb_ids != rte_rawdev_xstats_get(dev_id, ids, values, nb_ids)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../examples/ntb/ntb_fwd.c:945:23: note: referencing argument 3 of type ‘uint64_t[0]’ {aka ‘long unsigned int[]’} In file included from ../examples/ntb/ntb_fwd.c:17: ../lib/rawdev/rte_rawdev.h:504:1: note: in a call to function ‘rte_rawdev_xstats_get’ 504 | rte_rawdev_xstats_get(uint16_t dev_id, | ^~~~~~~~~~~~~~~~~~~~~ [3/4] cc -o examples/dpdk-ip_pipeline examples/dpdk-ip_pipeline.p/ip_pipeline_action.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_cli.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_conn.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_cryptodev.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_kni.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_link.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_main.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_mempool.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_parser.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_pipeline.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_swq.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_tap.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_thread.c.o examples/dpdk-ip_pipeline.p/ip_pipeline_tmgr.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_pipeline.a lib/librte_table.a lib/librte_pdump.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_dmadev.a lib/librte_mldev.a lib/librte_regexdev.a lib/librte_rawdev.a lib/librte_power.a lib/librte_pcapng.a lib/librte_member.a lib/librte_lpm.a lib/librte_latencystats.a lib/librte_jobstats.a lib/librte_ip_frag.a lib/librte_gso.a lib/librte_gro.a lib/librte_gpudev.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_bpf.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_bus_pci.a drivers/librte_bus_vdev.a drivers/librte_mempool_ring.a drivers/librte_net_bnxt.a drivers/librte_net_i40e.a drivers/librte_net_ixgbe.a drivers/librte_raw_ntb.a -Wl,--no-whole-archive -Wl,--no-as-needed -pthread -lm -ldl -lnuma -Wl,--end-group -Wl,--export-dynamic [4/4] cc -o examples/dpdk-ntb examples/dpdk-ntb.p/ntb_ntb_fwd.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_pipeline.a lib/librte_table.a lib/librte_pdump.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_dmadev.a lib/librte_mldev.a lib/librte_regexdev.a lib/librte_rawdev.a lib/librte_power.a lib/librte_pcapng.a lib/librte_member.a lib/librte_lpm.a lib/librte_latencystats.a lib/librte_jobstats.a lib/librte_ip_frag.a lib/librte_gso.a lib/librte_gro.a lib/librte_gpudev.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_bpf.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_bus_pci.a drivers/librte_bus_vdev.a drivers/librte_mempool_ring.a drivers/librte_net_bnxt.a drivers/librte_net_i40e.a drivers/librte_net_ixgbe.a drivers/librte_raw_ntb.a -Wl,--no-whole-archive -Wl,--no-as-needed -pthread -lm -ldl -lnuma -Wl,--end-group -Wl,--export-dynamic -- David Marchand