aboutsummaryrefslogtreecommitdiff
path: root/INSTALL.generic
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2023-10-19 00:22:50 +0800
committerJia Tan <jiat0218@gmail.com>2023-10-19 01:15:20 +0800
commitc60b25569d414bb73b705977a4dd342f8f9f1965 (patch)
tree42a3562de775ddac2947b636cfccddf5de0e0e92 /INSTALL.generic
parenttuklib_integer: Update the CMake test for fast unaligned access. (diff)
downloadxz-c60b25569d414bb73b705977a4dd342f8f9f1965.tar.xz
liblzma: Fix -fsanitize=address failure with crc_clmul functions.
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.
Diffstat (limited to 'INSTALL.generic')
0 files changed, 0 insertions, 0 deletions