[dpdk-stable] [PATCH] net/mlx5: fix 32-bit build

Ali Alnubani alialnu at mellanox.com
Thu Jun 27 17:10:07 CEST 2019


This is to fix the error:
  ```
  drivers/net/mlx5/mlx5_defs.h:14:26: error: format '%lx' expects argument
  of type 'long unsigned int', but argument 5 has type 'off_t {aka long
  long int}' [-Werror=format=]
   #define MLX5_DRIVER_NAME "net_mlx5"
                            ^
  RTE_SDK/i686-native-linuxapp-gcc/include/rte_common.h:642:27:
  note: in definition of macro 'RTE_FMT'
   #define RTE_FMT(fmt, ...) fmt "%.0s", __VA_ARGS__ ""
                             ^~~
  RTE_SDK/drivers/net/mlx5/mlx5_utils.h:79:11: note: in expansion
  of macro 'MLX5_DRIVER_NAME'
     RTE_FMT(MLX5_DRIVER_NAME ": " \
             ^~~~~~~~~~~~~~~~
  RTE_SDK/drivers/net/mlx5/mlx5_utils.h:101:2: note: in expansion
  of macro 'PMD_DRV_LOG___'
    PMD_DRV_LOG___(level, __VA_ARGS__)
    ^~~~~~~~~~~~~~
  RTE_SDK/drivers/net/mlx5/mlx5_utils.h:103:2: note: in expansion
  of macro 'PMD_DRV_LOG__'
    PMD_DRV_LOG__(level, s "\n", __VA_ARGS__)
    ^~~~~~~~~~~~~
  RTE_SDK/drivers/net/mlx5/mlx5_utils.h:109:2: note: in expansion
  of macro 'PMD_DRV_LOG_'
    PMD_DRV_LOG_(level, \
    ^~~~~~~~~~~~
  RTE_SDK/drivers/net/mlx5/mlx5_txq.c:569:3: note: in expansion of
  macro 'DRV_LOG'
     DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%lx",
     ^~~~~~~
  RTE_SDK/drivers/net/mlx5/mlx5_txq.c:569:48: note: format string
  is defined here
     DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%lx"
                                                ~~^
                                                %llx
  ```
Which reproduces with gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0.

Fixes: 6bf10ab69be0 ("net/mlx5: support 32-bit systems")
Cc: motih at mellanox.com
Cc: stable at dpdk.org

Signed-off-by: Ali Alnubani <alialnu at mellanox.com>
---
 drivers/net/mlx5/mlx5_txq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index ebb42cbff..5cdcbf2f2 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -10,6 +10,7 @@
 #include <stdint.h>
 #include <unistd.h>
 #include <sys/mman.h>
+#include <inttypes.h>
 
 /* Verbs header. */
 /* ISO C doesn't support unnamed structs/unions, disabling -pedantic. */
@@ -566,7 +567,7 @@ mlx5_txq_ibv_new(struct rte_eth_dev *dev, uint16_t idx)
 	txq_uar_init(txq_ctrl);
 	if (qp.comp_mask & MLX5DV_QP_MASK_UAR_MMAP_OFFSET) {
 		txq_ctrl->uar_mmap_offset = qp.uar_mmap_offset;
-		DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%lx",
+		DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%"PRIx64"",
 			dev->data->port_id, txq_ctrl->uar_mmap_offset);
 	} else {
 		DRV_LOG(ERR,
-- 
2.22.0



More information about the stable mailing list