[RFC PATCH 00/19] Fix building much of DPDK with -Wshadow

Bruce Richardson bruce.richardson at intel.com
Thu Nov 6 15:09:29 CET 2025


As flagged in bugs #1742, #1743 and others, much of DPDK fails to build
when -Wshadow flag is passed to the build. This patchset fixes many
issues of this nature, but not all, in the hopes we can move towards
enabling that warning flag globally for DPDK in future. This patchset
fixes the following components in DPDK:

* all libraries
* Intel drivers
* testpmd

The following build now works on my system after this set is applied:

  meson setup -Denable_drivers=net/intel/* -Denable_apps=test-pmd --werror -Dc_args=-Wshadow build-shadow && ninja -C build-shadow

Bruce Richardson (19):
  eal: fix variable shadowing
  ethdev: fix variable shadowing issues
  eventdev: fix variable shadowing issues
  net: remove shadowed variable
  graph: fix variable shadowing errors
  pipeline: fix variable shadowing
  table: fix issues with variable shadowing
  power: rename variable to eliminate shadowing
  pcapng: rename variable to fix shadowing
  telemetry: make socket handler typedef private
  bbdev: fix variable shadowing
  bus/pci: remove shadowed variables
  net/intel: rename function param to avoid shadow warnings
  net/e1000: fix build with shadow warnings enabled
  net/i40e: fix build with shadow warnings enabled
  net/ice: fix build with shadow warnings enabled
  net/cpfl: fix build with shadow warnings enabled
  net/ixgbe: fix build with shadow warnings enabled
  app/test-pmd: fix build with shadow warnings enabled

 app/test-pmd/cmdline_flow.c                   | 42 ++++-----
 app/test-pmd/config.c                         | 15 ++--
 app/test-pmd/parameters.c                     |  4 +-
 app/test-pmd/testpmd.c                        |  2 +-
 drivers/bus/pci/linux/pci.c                   |  1 -
 drivers/bus/pci/linux/pci_vfio.c              |  2 +-
 drivers/net/intel/common/rx.h                 |  6 +-
 drivers/net/intel/cpfl/cpfl_flow_engine_fxp.c |  2 -
 drivers/net/intel/cpfl/cpfl_flow_parser.c     |  6 +-
 drivers/net/intel/cpfl/cpfl_fxp_rule.h        |  2 -
 drivers/net/intel/cpfl/cpfl_representor.h     |  2 +-
 drivers/net/intel/e1000/igc_ethdev.c          |  6 +-
 drivers/net/intel/i40e/i40e_ethdev.h          | 10 +--
 drivers/net/intel/ice/ice_ethdev.c            |  6 +-
 drivers/net/intel/ixgbe/ixgbe_fdir.c          |  7 +-
 lib/bbdev/rte_bbdev.c                         |  2 +-
 lib/eal/common/eal_common_options.c           | 12 +--
 lib/eal/common/eal_common_trace.c             | 89 +++++++++----------
 lib/eal/common/malloc_heap.c                  |  2 +-
 lib/ethdev/ethdev_driver.c                    |  6 +-
 lib/ethdev/rte_ethdev.c                       |  1 -
 lib/eventdev/rte_event_eth_rx_adapter.c       |  5 +-
 lib/eventdev/rte_event_eth_tx_adapter.c       |  8 +-
 lib/graph/graph.c                             |  4 +-
 lib/graph/graph_private.h                     |  2 +-
 lib/net/net_crc_avx512.c                      |  4 +-
 lib/pcapng/rte_pcapng.c                       |  7 +-
 lib/pipeline/rte_swx_ctl.c                    | 11 ++-
 lib/pipeline/rte_swx_pipeline.c               | 21 +++--
 lib/pipeline/rte_swx_pipeline_internal.h      | 10 +--
 lib/power/rte_power_pmd_mgmt.c                |  6 +-
 lib/table/rte_lru.h                           | 38 ++++----
 lib/table/rte_lru_arm64.h                     | 14 +--
 lib/table/rte_lru_x86.h                       |  4 +-
 lib/table/rte_swx_table_em.c                  |  2 -
 lib/table/rte_swx_table_learner.c             |  4 +-
 lib/table/rte_table_hash_key16.c              |  4 +-
 lib/table/rte_table_hash_key32.c              |  4 +-
 lib/table/rte_table_hash_key8.c               |  4 +-
 lib/telemetry/rte_telemetry.h                 | 11 ---
 lib/telemetry/telemetry.c                     |  2 +-
 lib/telemetry/telemetry_internal.h            | 11 +++
 42 files changed, 186 insertions(+), 215 deletions(-)

--
2.48.1



More information about the dev mailing list