It has <sys/random.h> but not getrandom(). Fixes: 5de439566bc5 ("erofs-utils: Provide identical functionality without libuuid") Signed-off-by: Gao Xiang <hsiang...@linux.alibaba.com> --- configure.ac | 1 + lib/uuid.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac index 5c2737c8..2d42b1f2 100644 --- a/configure.ac +++ b/configure.ac @@ -266,6 +266,7 @@ AC_CHECK_FUNCS(m4_flatten([ backtrace copy_file_range fallocate + getrandom getrlimit gettimeofday lgetxattr diff --git a/lib/uuid.c b/lib/uuid.c index 3fb88a3c..1fae857f 100644 --- a/lib/uuid.c +++ b/lib/uuid.c @@ -41,9 +41,9 @@ static int s_getrandom(void *out, unsigned size, bool insecure) ssize_t r; int err; -#ifdef HAVE_SYS_RANDOM_H +#if defined(HAVE_SYS_RANDOM_H) && defined(HAVE_GETRANDOM) r = getrandom(out, size, flags); -#elif defined(__NR_getrandom) +#elif defined(__linux__) && defined(__NR_getrandom) r = (ssize_t)syscall(__NR_getrandom, out, size, flags); #else r = -1; -- 2.43.5