xz/src/liblzma/check
Lasse Collin ee44863ae8 liblzma: Add ifunc implementation to crc64_fast.c.
The ifunc method avoids indirection via the function pointer
crc64_func. This works on GNU/Linux and probably on FreeBSD too.
The previous __attribute((__constructor__)) method is kept for
compatibility with ELF platforms which do support ifunc.

The ifunc method has some limitations, for example, building
liblzma with -fsanitize=address will result in segfaults.
The configure option --disable-ifunc must be used for such builds.

Thanks to Hans Jansen for the original patch.
Closes: https://github.com/tukaani-project/xz/pull/53
2023-06-27 23:55:59 +08:00
..
Makefile.inc liblzma: Try to use SHA-256 from the operating system. 2011-05-21 15:08:44 +03:00
check.c Use a tuklib module for integer handling. 2009-10-04 22:57:12 +03:00
check.h Fix warnings from clang -Wdocumentation. 2023-01-12 03:11:40 +02:00
crc32_fast.c Rename read32ne to aligned_read32ne, and similarly for the others. 2019-12-31 00:29:48 +02:00
crc32_small.c liblzma: Use __attribute__((__constructor__)) if available. 2022-11-14 16:00:52 +02:00
crc32_table.c liblzma: Silence clang -Wmissing-variable-declarations. 2019-06-24 23:45:21 +03:00
crc32_table_be.h Regenerate the CRC tables without trailing blanks. 2009-01-26 20:09:17 +02:00
crc32_table_le.h Regenerate the CRC tables without trailing blanks. 2009-01-26 20:09:17 +02:00
crc32_tablegen.c Use a tuklib module for integer handling. 2009-10-04 22:57:12 +03:00
crc32_x86.S liblzma: Use non-executable stack on FreeBSD as on Linux 2022-02-22 01:23:34 +02:00
crc64_fast.c liblzma: Add ifunc implementation to crc64_fast.c. 2023-06-27 23:55:59 +08:00
crc64_small.c liblzma: Use __attribute__((__constructor__)) if available. 2022-11-14 16:00:52 +02:00
crc64_table.c liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. 2022-11-14 23:05:46 +02:00
crc64_table_be.h Regenerate the CRC tables without trailing blanks. 2009-01-26 20:09:17 +02:00
crc64_table_le.h Regenerate the CRC tables without trailing blanks. 2009-01-26 20:09:17 +02:00
crc64_tablegen.c Use a tuklib module for integer handling. 2009-10-04 22:57:12 +03:00
crc64_x86.S liblzma: Use non-executable stack on FreeBSD as on Linux 2022-02-22 01:23:34 +02:00
crc_macros.h Use a tuklib module for integer handling. 2009-10-04 22:57:12 +03:00
sha256.c Change a few HTTP URLs to HTTPS. 2023-03-18 15:56:07 +02:00