[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