[PATCH 1/2] common: Fix PRI{x,d}off definitions for x86_64 platform
Boris Brezillon
boris.brezillon at free-electrons.com
Fri Nov 25 09:30:40 PST 2016
Compiling for x86_64 generates a lot of warning because the PRIxoff_t and
PRIdoff_t are not properly defined, which comes from the missing
SIZEOF_LONG definition.
Use the autotools to generate a config.h header, include this header from
common.h and ask autoheader to generate the SIZEOF_LONG and SIZEOF_LOFF_T
definitions.
Use these new definitions to assign the proper descriptors to PRIxoff_t
and PRIdoff_t.
Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>
---
.gitignore | 3 +++
configure.ac | 5 +++++
include/common.h | 4 +++-
3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index c11a45ee1575..a5547d5d4578 100644
--- a/.gitignore
+++ b/.gitignore
@@ -124,6 +124,9 @@ tests/ubi-tests/ubi-stress-test.sh
/missing
/stamp-h?
/compile
+/include/config.h
+/include/config.h.in
+/include/stamp-h1
#
# Top-level generic files
diff --git a/configure.ac b/configure.ac
index 18ff9affaf5d..d46776864b1d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,6 +4,7 @@ m4_define([RELEASE], 1.5.2)
AC_INIT([mtd-utils], [RELEASE], [linux-mtd at lists.infradead.org], mtd-utils)
+AC_CONFIG_HEADERS([include/config.h])
AC_ARG_ENABLE([unit-tests],
[AS_HELP_STRING([--enable-unit-tests], [Compile unit test programs])],
@@ -106,4 +107,8 @@ AM_COND_IF([WITHOUT_LZO], [], [
test "${have_lzo}" != "yes" && AC_MSG_ERROR([lzo missing])
])
+AC_CHECK_SIZEOF([long])
+
+AC_CHECK_SIZEOF([loff_t])
+
AC_OUTPUT([Makefile])
diff --git a/include/common.h b/include/common.h
index 4f0bb9bb8fb6..93ef7f347ffb 100644
--- a/include/common.h
+++ b/include/common.h
@@ -30,6 +30,8 @@
#include <inttypes.h>
#include <sys/sysmacros.h>
+#include "config.h"
+
#ifndef PROGRAM_NAME
# error "You must define PROGRAM_NAME before including this header"
#endif
@@ -71,7 +73,7 @@ extern "C" {
#define PRIxoff_t PRIx64
#define PRIdoff_t PRId64
#else
-#if (SIZEOF_LONG >= 8)
+#if (SIZEOF_LONG == SIZEOF_LOFF_T)
#define PRIxoff_t "l"PRIx32
#define PRIdoff_t "l"PRId32
#else
--
2.7.4
More information about the linux-mtd
mailing list