From 30a2d5d51006301a3ddab5ef1f5ff0a9d74dce6f Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sun, 16 Jun 2024 13:39:37 +0300 Subject: [PATCH] liblzma: CRC CLMUL: Omit is_arch_extension_supported() when not needed On E2K the function compiles only due to compiler emulation but the function is never used. It's cleaner to omit the function when it's not needed even though it's a "static inline" function. Thanks to Ilya Kurdyukov. --- src/liblzma/check/crc_x86_clmul.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/liblzma/check/crc_x86_clmul.h b/src/liblzma/check/crc_x86_clmul.h index 702cc202..92647654 100644 --- a/src/liblzma/check/crc_x86_clmul.h +++ b/src/liblzma/check/crc_x86_clmul.h @@ -335,6 +335,9 @@ crc64_arch_optimized(const uint8_t *buf, size_t size, uint64_t crc) } +// Even though this is an inline function, compile it only when needed. +// This way it won't appear in E2K builds at all. +#if defined(CRC32_GENERIC) || defined(CRC64_GENERIC) // Inlining this function duplicates the function body in crc32_resolve() and // crc64_resolve(), but this is acceptable because this is a tiny function. static inline bool @@ -376,3 +379,4 @@ is_arch_extension_supported(void) // code as is it only reads a variable set at startup but a few bytes // doesn't matter here. } +#endif