diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2022-11-14 23:14:41 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2022-11-14 23:16:38 +0200 |
commit | 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35 (patch) | |
tree | 5a5badf9edc6b6aaf3f8aa4e6cea15940c34b733 /src/liblzma/api/lzma | |
parent | liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. (diff) | |
download | xz-8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35.tar.xz |
Replace the experimental ARM64 filter with a new experimental version.
This is incompatible with the previous version.
This has space/tab fixes in filter_*.c and bcj.h too.
Diffstat (limited to 'src/liblzma/api/lzma')
-rw-r--r-- | src/liblzma/api/lzma/bcj.h | 41 |
1 files changed, 8 insertions, 33 deletions
diff --git a/src/liblzma/api/lzma/bcj.h b/src/liblzma/api/lzma/bcj.h index 10719b88..b68b6bac 100644 --- a/src/liblzma/api/lzma/bcj.h +++ b/src/liblzma/api/lzma/bcj.h @@ -49,13 +49,14 @@ * Filter for SPARC binaries. */ -#define LZMA_FILTER_ARM64 LZMA_VLI_C(0x3FDB87B33B27000B) - /**< - * Filter for ARM64 binaries. - * - * \note In contrast to the other BCJ filters, this uses - * its own options structure, lzma_options_arm64. - */ +#define LZMA_FILTER_ARM64 LZMA_VLI_C(0x3FDB87B33B27010B) + /**< + * Filter for ARM64 binaries. + * + * \note THIS IS AN EXPERIMENTAL VERSION WHICH WILL + * STILL CHANGE! FILES CREATED WITH THIS + * WILL NOT BE SUPPORTED IN THE FUTURE! + */ /** * \brief Options for BCJ filters (except ARM64) @@ -95,29 +96,3 @@ typedef struct { uint32_t start_offset; } lzma_options_bcj; - -/** - * \brief Options for the ARM64 filter - * - * This filter never changes the size of the data. - * Specifying options is mandatory. - */ -typedef struct { - /** - * \brief How wide range of relative addresses are converted - * - * The ARM64 BL instruction has 26-bit immediate field that encodes - * a relative address as a multiple of four bytes, so the effective - * range is 2^28 bytes (+/-128 MiB). - * - * If width is 28 bits (LZMA_ARM64_WIDTH_MAX), then all BL - * instructions will be converted. This has a downside of some - * false matches that make compression worse. The best value - * depends on the input file and the differences can be significant; - * with large executables the maximum value is sometimes the best. - */ - uint32_t width; -# define LZMA_ARM64_WIDTH_MIN 18 -# define LZMA_ARM64_WIDTH_MAX 28 -# define LZMA_ARM64_WIDTH_DEFAULT 26 -} lzma_options_arm64; |