[PATCH] mtd-utils: Use AC_SYS_LARGEFILE

Sascha Hauer s.hauer at pengutronix.de
Fri Feb 26 05:24:21 EST 2021


Currently mtd-utils on 32bit systems fail on devices >2GiB due to off_t being
a signed 32bit type. Add AC_SYS_LARGEFILE to make off_t a 64bit type.
Adding AC_SYS_LARGEFILE results in _FILE_OFFSET_BITS being defined to 64
in include/config.h. To let this have an effect we must make sure that
include/config.h is included before all other includes which is
archieved by adding its inclusion to CPPFLAGS.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 Makefile.am          | 3 ++-
 configure.ac         | 2 +-
 include/common.h     | 2 --
 include/libmissing.h | 2 --
 4 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index d4de62c..9da38af 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,6 +1,7 @@
 ACLOCAL_AMFLAGS = -I m4
 
-AM_CPPFLAGS = $(WARN_CFLAGS) -D_GNU_SOURCE -std=gnu99 -I$(top_srcdir)/include
+AM_CPPFLAGS = $(WARN_CFLAGS) -D_GNU_SOURCE -std=gnu99 -I$(top_srcdir)/include \
+		-include $(top_builddir)/include/config.h
 
 if WITHOUT_XATTR
 AM_CPPFLAGS += -DWITHOUT_XATTR
diff --git a/configure.ac b/configure.ac
index a792bd1..c57cf46 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ AC_PROG_LIBTOOL
 AC_DISABLE_STATIC
 AC_PROG_CC
 AC_PROG_INSTALL
-
+AC_SYS_LARGEFILE
 
 m4_ifndef([PKG_PROG_PKG_CONFIG],
   [m4_fatal([Could not locate the pkg-config autoconf
diff --git a/include/common.h b/include/common.h
index 7270769..31b6cd1 100644
--- a/include/common.h
+++ b/include/common.h
@@ -31,8 +31,6 @@
 #include <unistd.h>
 #include <sys/sysmacros.h>
 
-#include "config.h"
-
 #ifndef PROGRAM_NAME
 # error "You must define PROGRAM_NAME before including this header"
 #endif
diff --git a/include/libmissing.h b/include/libmissing.h
index 0196033..0fb0cf4 100644
--- a/include/libmissing.h
+++ b/include/libmissing.h
@@ -1,8 +1,6 @@
 #ifndef LIBMISSING_H
 #define LIBMISSING_H
 
-#include "config.h"
-
 #ifdef HAVE_EXECINFO_H
 #include <execinfo.h>
 #endif
-- 
2.29.2




More information about the linux-mtd mailing list