From b2a9601cebb67db9e02ac7bbd927a21aa95f5ba3 Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Fri, 25 Nov 2016 18:30:40 +0100 Subject: common: Fix PRI{x,d}off definitions for x86_64 platform 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 --- .gitignore | 3 +++ configure.ac | 5 +++++ include/common.h | 4 +++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index c11a45e..a5547d5 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 2fdf49c..a783990 100644 --- a/configure.ac +++ b/configure.ac @@ -4,6 +4,7 @@ m4_define([RELEASE], 1.5.2) AC_INIT([mtd-utils], [RELEASE], [linux-mtd@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])], @@ -109,4 +110,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 4f0bb9b..93ef7f3 100644 --- a/include/common.h +++ b/include/common.h @@ -30,6 +30,8 @@ #include #include +#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 -- cgit v1.2.3