Buildroot autobuild reported a PAGE_SIZE redefinition with some configrations on i586 toolchain [1] (I didn't notice such report from erofs-utils travis CI or distribution builds before.)
In file included from config.c:11: ../include/erofs/internal.h:27: error: "PAGE_SIZE" redefined [-Werror] #define PAGE_SIZE (1U << PAGE_SHIFT) In file included from ../include/erofs/defs.h:17, from ../include/erofs/config.h:12, from ../include/erofs/print.h:12, from config.c:10: .../sysroot/usr/include/limits.h:89: note: this is the location of the previous definition #define PAGE_SIZE PAGESIZE cc1: all warnings being treated as errors Fix it now. [1] http://autobuild.buildroot.net/results/340b98caa45bafd43f109002be9da59ba7f6d971 Signed-off-by: Gao Xiang <hsiang...@aol.com> --- include/erofs/internal.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/erofs/internal.h b/include/erofs/internal.h index e7d5a64..41da189 100644 --- a/include/erofs/internal.h +++ b/include/erofs/internal.h @@ -23,8 +23,18 @@ typedef unsigned short umode_t; #define PATH_MAX 4096 /* # chars in a path name including nul */ #endif +#ifndef PAGE_SHIFT #define PAGE_SHIFT (12) +#endif + +#ifndef PAGE_SIZE #define PAGE_SIZE (1U << PAGE_SHIFT) +#endif + +/* no obvious reason to support explicit PAGE_SIZE != 4096 for now */ +#if PAGE_SIZE != 4096 +#error incompatible PAGE_SIZE is already defined +#endif #define LOG_BLOCK_SIZE (12) #define EROFS_BLKSIZ (1U << LOG_BLOCK_SIZE) -- 2.20.1