From 5c66559f9d84485839c6529065a96c3d16edf6d9 Mon Sep 17 00:00:00 2001 From: Chih-Hsuan Yen Date: Fri, 17 Dec 2021 20:48:53 +0800 Subject: [PATCH] Fix building for older Android With the following commands, $ ./bootstrap $ _pkg_arch=aarch64 $ export PATH="/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH" $ CC=$_pkg_arch-linux-android21-clang \ ./configure --prefix=/opt/android-libs/${_pkg_arch/_/-} \ --host=$_pkg_arch-linux-android \ --without-libunwind \ --enable-mpers=no \ --disable-gcc-Werror $ make Building fails with error diagnostics like this: In file included from sync_file_range.c:12: ./xlat/sync_file_range_flags.h:7:16: error: use of undeclared identifier 'SYNC_FILE_RANGE_WAIT_BEFORE' static_assert((SYNC_FILE_RANGE_WAIT_BEFORE) == (1), "SYNC_FILE_RANGE_WAIT_BEFORE != 1"); This is a build regression from bd87cc95120b3707a6fe55129451bb0453730a6d, where "#unconditional" is added given that is bundled, but the latter is not explicitly #include'd. As a side note, SYNC_FILE_RANGE* symbols are not available with ANDROID_API__ < 26 [1]. [1] https://android.googlesource.com/platform/bionic/+/refs/tags/android-12.0.0_r15/libc/include/fcntl.h#98 * src/sync_file_range.c: Include . * src/sync_file_range2.c: Likewise. Fixes: v5.15~76 "xlat: add #unconditional to sync_file_range_flags" --- src/sync_file_range.c | 1 + src/sync_file_range2.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/sync_file_range.c b/src/sync_file_range.c index 8521562f0e..1782385113 100644 --- a/src/sync_file_range.c +++ b/src/sync_file_range.c @@ -9,6 +9,7 @@ #include "defs.h" #include +#include #include "xlat/sync_file_range_flags.h" SYS_FUNC(sync_file_range) diff --git a/src/sync_file_range2.c b/src/sync_file_range2.c index 30498211c8..3abd254dc5 100644 --- a/src/sync_file_range2.c +++ b/src/sync_file_range2.c @@ -9,6 +9,7 @@ #include "defs.h" #include +#include #include "xlat/sync_file_range_flags.h" SYS_FUNC(sync_file_range2)