All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.