net/mlx5: fix 32-bit build

Message ID 20190627151007.5156-1-alialnu@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/mlx5: fix 32-bit build |

Checks

Context Check Description
ci/checkpatch warning coding style issues
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Ali Alnubani June 27, 2019, 3:10 p.m. UTC
  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@mellanox.com
Cc: stable@dpdk.org

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

Comments

Stephen Hemminger June 27, 2019, 3:26 p.m. UTC | #1
On Thu, 27 Jun 2019 18:10:07 +0300
Ali Alnubani <alialnu@mellanox.com> wrote:

> +		DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%"PRIx64"",

Minor nitpick:
You don't need empty string at the end of the format.
  
Ferruh Yigit June 27, 2019, 4:01 p.m. UTC | #2
On 6/27/2019 4:10 PM, Ali Alnubani wrote:
> 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@mellanox.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Ali Alnubani <alialnu@mellanox.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net/master, thanks.

(empty string at the end removed while merging)
  

Patch

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,