aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/api/lzma/bcj.h
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2022-11-14 23:14:41 +0200
committerLasse Collin <lasse.collin@tukaani.org>2022-11-14 23:16:38 +0200
commit8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35 (patch)
tree5a5badf9edc6b6aaf3f8aa4e6cea15940c34b733 /src/liblzma/api/lzma/bcj.h
parentliblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL. (diff)
downloadxz-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/bcj.h')
-rw-r--r--src/liblzma/api/lzma/bcj.h41
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;