]> git.ipfire.org Git - thirdparty/xz.git/commitdiff
liblzma: Check HAVE_USABLE_CLMUL before omitting CRC64 table.
authorJia Tan <jiat0218@gmail.com>
Thu, 1 Feb 2024 08:06:29 +0000 (16:06 +0800)
committerJia Tan <jiat0218@gmail.com>
Thu, 1 Feb 2024 12:09:11 +0000 (20:09 +0800)
If liblzma is configured with --disable-clmul-crc
CFLAGS="-msse4.1 -mpclmul", then it will fail to compile because the
generic version must be used but the CRC tables were not included.

src/liblzma/check/crc64_table.c

index 0ae9dda81ada268861cbb3ee343ae6ef4695bc5a..806a9ce36edcdbadfb0fe2bfe8460f49e7be1e24 100644 (file)
@@ -15,9 +15,9 @@
 
 // FIXME: Compared to crc_common.h this has to check for __x86_64__ too
 // so that in 32-bit builds crc64_x86.S won't break due to a missing table.
-#if (defined(__x86_64__) && defined(__SSSE3__) \
+#if defined(HAVE_USABLE_CLMUL) && ((defined(__x86_64__) && defined(__SSSE3__) \
                        && defined(__SSE4_1__) && defined(__PCLMUL__)) \
-               || (defined(__e2k__) && __iset__ >= 6)
+               || (defined(__e2k__) && __iset__ >= 6))
 #      define X86_CLMUL_NO_TABLE 1
 #endif