DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Bruce Richardson <bruce.richardson@intel.com>,
	dev@dpdk.org, Shahaf Shuler <shahafs@mellanox.com>,
	Yongseok Koh <yskoh@mellanox.com>
Cc: Shreyansh Jain <shreyansh.jain@nxp.com>,
	Alejandro Lucero <alejandro.lucero@netronome.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>,
	stable@dpdk.org, Maxime Coquelin <maxime.coquelin@redhat.com>,
	Zhihong Wang <zhihong.wang@intel.com>,
	Luca Boccassi <bluca@debian.org>,
	Zhang XuemingX <xuemingx.zhang@intel.com>
Subject: Re: [dpdk-dev] [dpdk-stable] [PATCH v2 2/5] build: enable large file support on 32-bit
Date: Tue, 4 Jun 2019 15:49:58 +0100	[thread overview]
Message-ID: <b5079437-76d2-d86c-20b1-cca6b32b1d18@intel.com> (raw)
In-Reply-To: <20190528110748.10772-3-bruce.richardson@intel.com>

On 5/28/2019 12:07 PM, Bruce Richardson wrote:
> By default on 32-bit systems, file offsets are given as 32-bit values
> which prevents support for large files. While this is unlikely to be
> a problem, enabling large file support globally makes "make" and
> "meson" builds consistent, since meson always enables large file
> support, and without this change, the size of "struct stat" fields
> will be different between the two builds.
> 
> The only location where this appears to be significant is in the
> dpaax common code, where a printf needs to be updated for 32-bit
> builds.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Luca Boccassi <bluca@debian.org>
> ---
>  drivers/common/dpaax/dpaax_iova_table.c | 4 ++--
>  mk/arch/arm/rte.vars.mk                 | 2 +-
>  mk/arch/i686/rte.vars.mk                | 2 +-
>  3 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/common/dpaax/dpaax_iova_table.c b/drivers/common/dpaax/dpaax_iova_table.c
> index 2dd38a9..ae0af09 100644
> --- a/drivers/common/dpaax/dpaax_iova_table.c
> +++ b/drivers/common/dpaax/dpaax_iova_table.c
> @@ -99,7 +99,7 @@ read_memory_node(unsigned int *count)
>  		goto cleanup;
>  	}
>  
> -	DPAAX_DEBUG("Size of device-tree mem node: %lu", statbuf.st_size);
> +	DPAAX_DEBUG("Size of device-tree mem node: %" PRIu64, statbuf.st_size);
>  	if (statbuf.st_size > MEM_NODE_FILE_LEN) {
>  		DPAAX_DEBUG("More memory nodes available than assumed.");
>  		DPAAX_DEBUG("System may not work properly!");
> @@ -118,7 +118,7 @@ read_memory_node(unsigned int *count)
>  	 */
>  	*count = (statbuf.st_size / 16);
>  	if ((*count) <= 0 || (statbuf.st_size % 16 != 0)) {
> -		DPAAX_DEBUG("Invalid memory node values or count. (size=%lu)",
> +		DPAAX_DEBUG("Invalid memory node values or count. (size=%" PRIu64 ")",
>  			    statbuf.st_size);
>  		goto cleanup;
>  	}
> diff --git a/mk/arch/arm/rte.vars.mk b/mk/arch/arm/rte.vars.mk
> index 27b1147..dc8c10a 100644
> --- a/mk/arch/arm/rte.vars.mk
> +++ b/mk/arch/arm/rte.vars.mk
> @@ -4,7 +4,7 @@
>  ARCH  ?= arm
>  CROSS ?=
>  
> -CPU_CFLAGS  ?= -marm -munaligned-access
> +CPU_CFLAGS  ?= -marm -munaligned-access -D_FILE_OFFSET_BITS=64
>  CPU_LDFLAGS ?=
>  CPU_ASFLAGS ?= -felf
>  
> diff --git a/mk/arch/i686/rte.vars.mk b/mk/arch/i686/rte.vars.mk
> index 3f48f67..c867883 100644
> --- a/mk/arch/i686/rte.vars.mk
> +++ b/mk/arch/i686/rte.vars.mk
> @@ -24,7 +24,7 @@ ARCH  ?= i386
>  ARCH_DIR := x86
>  CROSS ?=
>  
> -CPU_CFLAGS  ?= -m32
> +CPU_CFLAGS  ?= -m32 -D_FILE_OFFSET_BITS=64

Previously, 'off_t' was "long int" both for 32-bit or 64-bit, so in the printf
using "%ld" was OK.
But with this change 'off_t' becomes 'uint64_t' and just using '%ld' in the
format will cause error, as it is happening in 'mlx5' [1].

All 'off_t' usage should be checked for this change.


Shahaf, Yongseok,
Can you please send a fix for below build error?


Thanks,
ferruh



[1]
In file included from .../dpdk/i686-native-linuxapp-gcc/include/rte_compat.h:8,
                 from .../dpdk/i686-native-linuxapp-gcc/include/rte_mbuf.h:35,
                 from .../dpdk/drivers/net/mlx5/mlx5_txq.c:24:
.../dpdk/drivers/net/mlx5/mlx5_txq.c: In function ‘mlx5_txq_ibv_new’:
.../dpdk/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=]
   14 | #define MLX5_DRIVER_NAME "net_mlx5"
      |                          ^~~~~~~~~~
.../dpdk/i686-native-linuxapp-gcc/include/rte_common.h:642:27: note: in
definition of macro ‘RTE_FMT’
  642 | #define RTE_FMT(fmt, ...) fmt "%.0s", __VA_ARGS__ ""
      |                           ^~~
.../dpdk/drivers/net/mlx5/mlx5_utils.h:79:11: note: in expansion of macro
‘MLX5_DRIVER_NAME’
   79 |   RTE_FMT(MLX5_DRIVER_NAME ": " \
      |           ^~~~~~~~~~~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_utils.h:101:2: note: in expansion of macro
‘PMD_DRV_LOG___’
  101 |  PMD_DRV_LOG___(level, __VA_ARGS__)
      |  ^~~~~~~~~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_utils.h:103:2: note: in expansion of macro
‘PMD_DRV_LOG__’
  103 |  PMD_DRV_LOG__(level, s "\n", __VA_ARGS__)
      |  ^~~~~~~~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_utils.h:109:2: note: in expansion of macro
‘PMD_DRV_LOG_’
  109 |  PMD_DRV_LOG_(level, \
      |  ^~~~~~~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_txq.c:569:3: note: in expansion of macro ‘DRV_LOG’
  569 |   DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%lx",
      |   ^~~~~~~
.../dpdk/drivers/net/mlx5/mlx5_txq.c:569:48: note: format string is defined here
  569 |   DRV_LOG(DEBUG, "port %u: uar_mmap_offset 0x%lx",
      |                                              ~~^
      |                                                |
      |                                                long unsigned int
      |                                              %llx
cc1: all warnings being treated as errors


  parent reply	other threads:[~2019-06-04 14:50 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-27 16:15 [dpdk-dev] [PATCH 0/3] fix 32-bit meson builds Bruce Richardson
2019-05-27 16:15 ` [dpdk-dev] [PATCH 1/3] net/nfp: disable nfp for " Bruce Richardson
2019-05-27 16:15 ` [dpdk-dev] [PATCH 2/3] build: enable large file support on 32-bit Bruce Richardson
2019-05-27 16:15 ` [dpdk-dev] [PATCH 3/3] build: remove unnecessary large file support defines Bruce Richardson
2019-05-28  9:46 ` [dpdk-dev] [PATCH 0/3] fix 32-bit meson builds Luca Boccassi
2019-05-28 11:07 ` [dpdk-dev] [PATCH v2 0/5] " Bruce Richardson
2019-05-28 11:07   ` [dpdk-dev] [PATCH v2 1/5] net/nfp: disable nfp for " Bruce Richardson
2019-05-28 11:07   ` [dpdk-dev] [PATCH v2 2/5] build: enable large file support on 32-bit Bruce Richardson
2019-05-30  6:45     ` Shreyansh Jain
2019-06-04 14:49     ` Ferruh Yigit [this message]
2019-05-28 11:07   ` [dpdk-dev] [PATCH v2 3/5] build: remove unnecessary large file support defines Bruce Richardson
2019-05-28 11:07   ` [dpdk-dev] [PATCH v2 4/5] eal: mark unused function in 32-bit builds Bruce Richardson
2019-05-28 11:46     ` Luca Boccassi
2019-05-28 11:07   ` [dpdk-dev] [PATCH v2 5/5] build: add libatomic dependency for 32-bit clang compile Bruce Richardson
2019-05-28 11:46     ` Luca Boccassi
2019-06-03 22:00   ` [dpdk-dev] [PATCH v2 0/5] fix 32-bit meson builds Thomas Monjalon
2019-10-02 15:11   ` Kevin Traynor
2019-10-03  8:28     ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b5079437-76d2-d86c-20b1-cca6b32b1d18@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=alejandro.lucero@netronome.com \
    --cc=anatoly.burakov@intel.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=maxime.coquelin@redhat.com \
    --cc=shahafs@mellanox.com \
    --cc=shreyansh.jain@nxp.com \
    --cc=stable@dpdk.org \
    --cc=xuemingx.zhang@intel.com \
    --cc=yskoh@mellanox.com \
    --cc=zhihong.wang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).