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/xz | |
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 '')
-rw-r--r-- | src/xz/args.c | 2 | ||||
-rw-r--r-- | src/xz/message.c | 13 | ||||
-rw-r--r-- | src/xz/options.c | 39 | ||||
-rw-r--r-- | src/xz/options.h | 7 |
4 files changed, 11 insertions, 50 deletions
diff --git a/src/xz/args.c b/src/xz/args.c index 6b388a1e..639c811a 100644 --- a/src/xz/args.c +++ b/src/xz/args.c @@ -374,7 +374,7 @@ parse_real(args_info *args, int argc, char **argv) case OPT_ARM64: coder_add_filter(LZMA_FILTER_ARM64, - options_arm64(optarg)); + options_bcj(optarg)); break; case OPT_SPARC: diff --git a/src/xz/message.c b/src/xz/message.c index 345049e6..d4883709 100644 --- a/src/xz/message.c +++ b/src/xz/message.c @@ -1034,9 +1034,16 @@ message_filters_to_str(char buf[FILTERS_STR_SIZE], } case LZMA_FILTER_ARM64: { - const lzma_options_arm64 *opt = filters[i].options; - my_snprintf(&pos, &left, "arm64=width=%" PRIu32, - opt->width); + // FIXME TODO: Merge with the above generic BCJ list + // once the Filter ID is changed to the final value. + const lzma_options_bcj *opt = filters[i].options; + my_snprintf(&pos, &left, "arm64"); + + // Show the start offset only when really needed. + if (opt != NULL && opt->start_offset != 0) + my_snprintf(&pos, &left, "=start=%" PRIu32, + opt->start_offset); + break; } diff --git a/src/xz/options.c b/src/xz/options.c index 899bd842..0c1ee221 100644 --- a/src/xz/options.c +++ b/src/xz/options.c @@ -224,45 +224,6 @@ options_bcj(const char *str) } -/////////// -// ARM64 // -/////////// - -enum { - OPT_WIDTH, -}; - - -static void -set_arm64(void *options, unsigned key, uint64_t value, - const char *valuestr lzma_attribute((__unused__))) -{ - lzma_options_arm64 *opt = options; - switch (key) { - case OPT_WIDTH: - opt->width = value; - break; - } -} - - -extern lzma_options_arm64 * -options_arm64(const char *str) -{ - static const option_map opts[] = { - { "width", NULL, LZMA_ARM64_WIDTH_MIN, LZMA_ARM64_WIDTH_MAX }, - { NULL, NULL, 0, 0 } - }; - - lzma_options_arm64 *options = xmalloc(sizeof(lzma_options_arm64)); - options->width = LZMA_ARM64_WIDTH_DEFAULT; - - parse_options(str, opts, &set_arm64, options); - - return options; -} - - ////////// // LZMA // ////////// diff --git a/src/xz/options.h b/src/xz/options.h index d56adc8a..61ec8d58 100644 --- a/src/xz/options.h +++ b/src/xz/options.h @@ -24,13 +24,6 @@ extern lzma_options_delta *options_delta(const char *str); extern lzma_options_bcj *options_bcj(const char *str); -/// \brief Parser for ARM64 options -/// -/// \return Pointer to allocated options structure. -/// Doesn't return on error. -extern lzma_options_arm64 *options_arm64(const char *str); - - /// \brief Parser for LZMA options /// /// \return Pointer to allocated options structure. |