From 27aa80862f6ac7baaaa9b74458e1d6a9c54bc11e Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Thu, 2 Dec 2021 15:24:32 -0500 Subject: [PATCH] libfrog: fix crc32c self test code on cross builds Helmut Grohne reported that the crc32c self test program fails to cross build on 5.14.0 if the build host doesn't have liburcu installed. We don't need userspace RCU functionality to test crc32 on the build host, so twiddle the header files to include only the two header files that we actually need. Note: Build-time testing of crc32c is useful for upstream developers so that we can check that we haven't broken the checksum code, but we really ought to be testing this in mkfs and repair on the user's system so that they don't end up with garbage filesystems. A future patch will introduce that. Reported-by: Helmut Grohne Cc: Bastian Germann Suggested-by: Dave Chinner Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- libfrog/crc32.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libfrog/crc32.c b/libfrog/crc32.c index 526ce9507..6a273b715 100644 --- a/libfrog/crc32.c +++ b/libfrog/crc32.c @@ -29,10 +29,15 @@ * match the hardware acceleration available on Intel CPUs. */ +/* + * Do not include platform_defs.h here; this will break cross builds if the + * build host does not have liburcu-dev installed. + */ +#include +#include #include #include #include -#include "platform_defs.h" /* For endian conversion routines */ #include "xfs_arch.h" #include "crc32defs.h" -- 2.47.2