[dpdk-stable] [PATCH v2 2/5] build: enable large file support on 32-bit

Bruce Richardson bruce.richardson at intel.com
Tue May 28 13:07:45 CEST 2019


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 at intel.com>
Acked-by: Luca Boccassi <bluca at 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
 CPU_LDFLAGS ?= -melf_i386
 CPU_ASFLAGS ?= -felf
 
-- 
2.7.4



More information about the stable mailing list