mirror of https://git.tukaani.org/xz.git
After forcing crc_simd_body() to always be inlined it caused -fsanitize=address to fail for lzma_crc32_clmul() and lzma_crc64_clmul(). The __no_sanitize_address__ attribute was added to lzma_crc32_clmul() and lzma_crc64_clmul(), but not removed from crc_simd_body(). ASAN and inline functions behavior has changed over the years for GCC specifically, so while strictly required we will keep __attribute__((__no_sanitize_address__)) on crc_simd_body() in case this becomes a requirement in the future. Older GCC versions refuse to inline a function with ASAN if the caller and callee do not agree on sanitization flags (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89124#c3). If the function was forced to be inlined, it will not compile if the callee function has __no_sanitize_address__ but the caller doesn't. |
||
---|---|---|
.. | ||
Makefile.inc | ||
check.c | ||
check.h | ||
crc32_fast.c | ||
crc32_small.c | ||
crc32_table.c | ||
crc32_table_be.h | ||
crc32_table_le.h | ||
crc32_tablegen.c | ||
crc32_x86.S | ||
crc64_fast.c | ||
crc64_small.c | ||
crc64_table.c | ||
crc64_table_be.h | ||
crc64_table_le.h | ||
crc64_tablegen.c | ||
crc64_x86.S | ||
crc_clmul.c | ||
crc_common.h | ||
sha256.c |