git: 31857c44ecc1 - stable/13 - MFV: xz 5.4.0

From: Xin LI <delphij_at_FreeBSD.org>
Date: Sun, 15 Jan 2023 08:17:15 UTC
The branch stable/13 has been updated by delphij:

URL: https://cgit.FreeBSD.org/src/commit/?id=31857c44ecc18e720caf914fe6c1daced7dd5813

commit 31857c44ecc18e720caf914fe6c1daced7dd5813
Author:     Xin LI <delphij@FreeBSD.org>
AuthorDate: 2023-01-01 04:25:17 +0000
Commit:     Xin LI <delphij@FreeBSD.org>
CommitDate: 2023-01-15 08:17:01 +0000

    MFV: xz 5.4.0
    
    (cherry picked from commit 73ed8e77a79398eb8e7b600a0b67f286e9e5cd53)
---
 contrib/xz/AUTHORS                                 |    12 +
 contrib/xz/ChangeLog                               | 12348 +++++++++----------
 contrib/xz/README                                  |    74 +-
 contrib/xz/THANKS                                  |     9 +
 contrib/xz/TODO                                    |     2 -
 contrib/xz/src/common/tuklib_common.h              |     2 +-
 contrib/xz/src/common/tuklib_config.h              |     3 +
 contrib/xz/src/common/tuklib_integer.h             |    46 +-
 contrib/xz/src/liblzma/api/lzma/base.h             |    44 +-
 contrib/xz/src/liblzma/api/lzma/bcj.h              |     6 +-
 contrib/xz/src/liblzma/api/lzma/container.h        |   296 +-
 contrib/xz/src/liblzma/api/lzma/filter.h           |   309 +-
 contrib/xz/src/liblzma/api/lzma/index.h            |    66 +
 contrib/xz/src/liblzma/api/lzma/lzma12.h           |   123 +-
 contrib/xz/src/liblzma/api/lzma/version.h          |     4 +-
 contrib/xz/src/liblzma/check/crc32_small.c         |     7 +
 contrib/xz/src/liblzma/check/crc64_fast.c          |   454 +-
 contrib/xz/src/liblzma/check/crc64_small.c         |     5 +
 contrib/xz/src/liblzma/check/crc64_table.c         |    21 +-
 contrib/xz/src/liblzma/common/alone_decoder.c      |    23 +-
 contrib/xz/src/liblzma/common/alone_encoder.c      |     1 +
 contrib/xz/src/liblzma/common/auto_decoder.c       |    23 +-
 .../xz/src/liblzma/common/block_header_decoder.c   |    29 +-
 contrib/xz/src/liblzma/common/common.c             |    16 +-
 contrib/xz/src/liblzma/common/common.h             |    49 +-
 contrib/xz/src/liblzma/common/file_info.c          |   855 ++
 contrib/xz/src/liblzma/common/filter_common.c      |    50 +-
 contrib/xz/src/liblzma/common/filter_common.h      |     3 +
 contrib/xz/src/liblzma/common/filter_decoder.c     |    14 +
 contrib/xz/src/liblzma/common/filter_encoder.c     |    19 +
 contrib/xz/src/liblzma/common/index_decoder.c      |    15 +-
 contrib/xz/src/liblzma/common/index_decoder.h      |    24 +
 contrib/xz/src/liblzma/common/index_hash.c         |     5 +-
 contrib/xz/src/liblzma/common/lzip_decoder.c       |   414 +
 contrib/xz/src/liblzma/common/lzip_decoder.h       |    22 +
 contrib/xz/src/liblzma/common/memcmplen.h          |     9 +-
 contrib/xz/src/liblzma/common/microlzma_decoder.c  |   221 +
 contrib/xz/src/liblzma/common/microlzma_encoder.c  |   140 +
 contrib/xz/src/liblzma/common/outqueue.c           |   299 +-
 contrib/xz/src/liblzma/common/outqueue.h           |   176 +-
 contrib/xz/src/liblzma/common/stream_decoder.c     |     4 +-
 contrib/xz/src/liblzma/common/stream_decoder_mt.c  |  2016 +++
 contrib/xz/src/liblzma/common/stream_encoder.c     |    16 +-
 contrib/xz/src/liblzma/common/stream_encoder_mt.c  |   167 +-
 .../xz/src/liblzma/common/stream_flags_decoder.c   |    10 +-
 contrib/xz/src/liblzma/common/string_conversion.c  |  1317 ++
 contrib/xz/src/liblzma/liblzma_generic.map         |    13 +
 contrib/xz/src/liblzma/liblzma_linux.map           |    13 +
 contrib/xz/src/liblzma/lz/lz_decoder.c             |    19 +-
 contrib/xz/src/liblzma/lz/lz_decoder.h             |     6 +-
 contrib/xz/src/liblzma/lz/lz_encoder.c             |    37 +-
 contrib/xz/src/liblzma/lz/lz_encoder.h             |    16 +-
 contrib/xz/src/liblzma/lzma/lzma2_decoder.c        |     3 +-
 contrib/xz/src/liblzma/lzma/lzma2_encoder.c        |     5 +-
 contrib/xz/src/liblzma/lzma/lzma_decoder.c         |    31 +-
 contrib/xz/src/liblzma/lzma/lzma_decoder.h         |     2 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder.c         |   179 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder.h         |     3 +-
 contrib/xz/src/liblzma/lzma/lzma_encoder_private.h |    15 +
 contrib/xz/src/liblzma/rangecoder/range_encoder.h  |   123 +-
 contrib/xz/src/liblzma/simple/arm.c                |     4 +
 contrib/xz/src/liblzma/simple/arm64.c              |   136 +
 contrib/xz/src/liblzma/simple/armthumb.c           |     4 +
 contrib/xz/src/liblzma/simple/ia64.c               |     4 +
 contrib/xz/src/liblzma/simple/powerpc.c            |     4 +
 contrib/xz/src/liblzma/simple/simple_coder.h       |     9 +
 contrib/xz/src/liblzma/simple/sparc.c              |     4 +
 contrib/xz/src/liblzma/simple/x86.c                |     4 +
 contrib/xz/src/xz/args.c                           |    85 +-
 contrib/xz/src/xz/args.h                           |     2 +-
 contrib/xz/src/xz/coder.c                          |   199 +-
 contrib/xz/src/xz/coder.h                          |     4 +-
 contrib/xz/src/xz/file_io.c                        |    45 +-
 contrib/xz/src/xz/file_io.h                        |    15 +-
 contrib/xz/src/xz/hardware.c                       |   206 +-
 contrib/xz/src/xz/hardware.h                       |    49 +-
 contrib/xz/src/xz/list.c                           |   713 +-
 contrib/xz/src/xz/main.c                           |    14 +
 contrib/xz/src/xz/message.c                        |   181 +-
 contrib/xz/src/xz/message.h                        |    16 -
 contrib/xz/src/xz/options.c                        |     5 -
 contrib/xz/src/xz/private.h                        |     2 +-
 contrib/xz/src/xz/suffix.c                         |    31 +-
 contrib/xz/src/xz/util.c                           |    12 -
 contrib/xz/src/xz/util.h                           |     4 -
 contrib/xz/src/xz/xz.1                             |   327 +-
 lib/liblzma/Makefile                               |     7 +
 lib/liblzma/Symbol.map                             |    12 +
 lib/liblzma/Versions.def                           |     5 +-
 lib/liblzma/config.h                               |    34 +-
 90 files changed, 14495 insertions(+), 7875 deletions(-)

diff --git a/contrib/xz/AUTHORS b/contrib/xz/AUTHORS
index d55d051891e2..69bbfc3ef609 100644
--- a/contrib/xz/AUTHORS
+++ b/contrib/xz/AUTHORS
@@ -19,6 +19,18 @@ Authors of XZ Utils
     Andrew Dudman helped adapting the scripts and their man pages for
     XZ Utils.
 
+    The initial version of the threaded .xz decompressor was written
+    by Sebastian Andrzej Siewior.
+
+    The initial version of the .lz (lzip) decoder was written
+    by Michał Górny.
+
+    CLMUL-accelerated CRC code was contributed by Ilya Kurdyukov.
+
+    Other authors:
+      - Jonathan Nieder
+      - Joachim Henke
+
     The GNU Autotools-based build system contains files from many authors,
     which I'm not trying to list here.
 
diff --git a/contrib/xz/ChangeLog b/contrib/xz/ChangeLog
index b71401c51521..f2c2bd3cad3f 100644
--- a/contrib/xz/ChangeLog
+++ b/contrib/xz/ChangeLog
@@ -1,9262 +1,8002 @@
-commit d8a898eb9974683bc725c49ec76722f9a8758f48
+commit b69da6d4bb6bb11fc0cf066920791990d2b22a06
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-30 18:33:05 +0200
+Date:   2022-12-13 20:37:17 +0200
 
-    Bump version and soname for 5.2.9.
+    Bump version to 5.4.0 and soname to 5.4.0.
 
- src/liblzma/Makefile.am        | 2 +-
- src/liblzma/api/lzma/version.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ src/liblzma/Makefile.am         | 2 +-
+ src/liblzma/api/lzma/version.h  | 6 +++---
+ src/liblzma/liblzma_generic.map | 2 +-
+ src/liblzma/liblzma_linux.map   | 2 +-
+ 4 files changed, 6 insertions(+), 6 deletions(-)
 
-commit efd4430e21f798e198a6ee8a368a79065139eb54
+commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-30 18:31:16 +0200
+Date:   2022-12-13 20:29:39 +0200
 
-    Add NEWS for 5.2.9.
+    Update INSTALL: CMake on Windows isn't experimental anymore.
+    
+    Using CMake to build liblzma should work on a few other OSes
+    but building the command line tools is still subtly broken.
+    
+    It is known that shared library versioning may differ between
+    CMake and Libtool builds on some OSes, most notably Darwin.
 
- NEWS | 34 ++++++++++++++++++++++++++++++++++
- 1 file changed, 34 insertions(+)
+ INSTALL | 10 ++++------
+ 1 file changed, 4 insertions(+), 6 deletions(-)
 
-commit 2dc1bc97a562ef4d4134c8df4d344d0f403428b8
+commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-30 18:08:34 +0200
+Date:   2022-12-13 19:47:53 +0200
 
-    Change the bug report address.
-    
-    It forwards to me and Jia Tan.
-    
-    Also update the IRC reference in README as #tukaani was moved
-    to Libera Chat long ago.
+    Add NEWS for 5.4.0.
 
- CMakeLists.txt             |  2 +-
- README                     | 11 +++++------
- configure.ac               |  2 +-
- dos/config.h               |  2 +-
- windows/README-Windows.txt |  2 +-
- 5 files changed, 9 insertions(+), 10 deletions(-)
+ NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 202 insertions(+)
 
-commit fb13a234d9def06cbe2b8ed88ece7db0c6d5c39f
+commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-30 17:38:32 +0200
+Date:   2022-12-13 17:41:20 +0200
 
-    Update to HTTPS URLs in AUTHORS.
+    Fix a typo in NEWS.
 
- AUTHORS | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
+ NEWS | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-commit 841448e36d4455d39ff1e1115843360934e7a507
+commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-27 01:03:16 +0200
+Date:   2022-12-13 17:41:03 +0200
 
-    liblzma: Remove two FIXME comments.
+    Add NEWS for 5.2.10.
 
- src/liblzma/common/filter_encoder.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ NEWS | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
 
-commit b61da00c7f535bd48930a878efdf6843d804983e
+commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-24 14:52:44 +0200
+Date:   2022-12-13 12:30:45 +0200
 
-    Build: Don't put GNU/Linux-specific symbol versions into static liblzma.
-    
-    It not only makes no sense to put symbol versions into a static library
-    but it can also cause breakage.
-    
-    By default Libtool #defines PIC if building a shared library and
-    doesn't define it for static libraries. This is documented in the
-    Libtool manual. It can be overriden using --with-pic or --without-pic.
-    configure.ac detects if --with-pic or --without-pic is used and then
-    gives an error if neither --disable-shared nor --disable-static was
-    used at the same time. Thus, in normal situations it works to build
-    both shared and static library at the same time on GNU/Linux,
-    only --with-pic or --without-pic requires that only one type of
-    library is built.
-    
-    Thanks to John Paul Adrian Glaubitz from Debian for reporting
-    the problem that occurred on ia64:
-    https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
+    Tests: Fix a typo in tests/files/README.
 
- CMakeLists.txt              |   5 +-
- configure.ac                | 143 +++++++++++++++++++++++++++++---------------
- src/liblzma/common/common.h |  12 ++++
- 3 files changed, 111 insertions(+), 49 deletions(-)
+ tests/files/README | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-commit 6c29793b3cac292b25801d011db6d8ccade50396
+commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-24 00:02:31 +0200
+Date:   2022-12-13 12:30:09 +0200
 
-    CMake: Don't use symbol versioning with static library.
+    Tests: Add two ARM64 test files.
 
- CMakeLists.txt | 10 +++++++---
- 1 file changed, 7 insertions(+), 3 deletions(-)
+ tests/files/README                  |   7 +++++++
+ tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes
+ tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes
+ tests/test_files.sh                 |   5 +++++
+ 4 files changed, 12 insertions(+)
 
-commit 872623def5e3e5c7f9f14f366d908f3e012d1007
+commit f5e419550619c548c7c35d7e367cf00580a56521
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-24 01:26:37 +0200
+Date:   2022-12-12 22:44:21 +0200
 
-    liblzma: Fix another invalid free() after memory allocation failure.
-    
-    This time it can happen when lzma_stream_encoder_mt() is used
-    to reinitialize an existing multi-threaded Stream encoder
-    and one of 1-4 tiny allocations in lzma_filters_copy() fail.
-    
-    It's very similar to the previous bug
-    10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with
-    an array of lzma_filter structures whose old options are freed
-    but the replacement never arrives due to a memory allocation
-    failure in lzma_filters_copy().
+    Translations: Update the Catalan translation.
 
- src/liblzma/common/stream_encoder_mt.c | 4 ++++
- 1 file changed, 4 insertions(+)
+ po/ca.po | 657 +++++++++++++++++++++++++++++----------------------------------
+ 1 file changed, 306 insertions(+), 351 deletions(-)
 
-commit b0f8d9293ca5a0a56964695a59a098c9d1e82b99
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2022-05-05 20:53:42 +0800
+commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2022-12-12 19:18:12 +0200
 
-    liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.
-    
-    The documentation mentions that lzma_block_encoder() supports
-    LZMA_SYNC_FLUSH but it was never added to supported_actions[]
-    in the internal structure. Because of this, LZMA_SYNC_FLUSH could
-    not be used with the Block encoder unless it was the next coder
-    after something like stream_encoder() or stream_encoder_mt().
+    Update THANKS.
 
- src/liblzma/common/block_encoder.c | 1 +
+ THANKS | 1 +
  1 file changed, 1 insertion(+)
 
-commit 6997e0b5e2339025646cfaec13a3317fb340729b
+commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-23 21:55:22 +0200
+Date:   2022-12-12 19:07:58 +0200
 
-    liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().
+    Update AUTHORS.
 
- src/liblzma/api/lzma/filter.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
+ AUTHORS | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
 
-commit f94a3e34603c56c55777056bb5412bfd0e948f0b
+commit f2d98e691099d82054d5f3071ef6f5e809932e44
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-23 21:26:21 +0200
+Date:   2022-12-12 15:31:14 +0200
 
-    liblzma: Fix invalid free() after memory allocation failure.
-    
-    The bug was in the single-threaded .xz Stream encoder
-    in the code that is used for both re-initialization and for
-    lzma_filters_update(). To trigger it, an application had
-    to either re-initialize an existing encoder instance with
-    lzma_stream_encoder() or use lzma_filters_update(), and
-    then one of the 1-4 tiny allocations in lzma_filters_copy()
-    (called from stream_encoder_update()) must fail. An error
-    was correctly reported but the encoder state was corrupted.
+    Docs: Omit multi-threaded decompress from TODO.
     
-    This is related to the recent fix in
-    f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but
-    it wasn't enough to fix the main problem in stream_encoder.c.
+    The TODO file outdated still.
 
- src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++--------
- 1 file changed, 31 insertions(+), 8 deletions(-)
+ TODO | 2 --
+ 1 file changed, 2 deletions(-)
 
-commit 8309385b444bce23e56256e21fb008a170434008
+commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-22 16:37:15 +0200
+Date:   2022-12-11 21:16:09 +0200
 
-    liblzma: Fix language in a comment.
+    Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
 
- src/liblzma/common/stream_encoder.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ doc/xz-file-format.txt | 29 ++++++++++++++++++++++-------
+ 1 file changed, 22 insertions(+), 7 deletions(-)
 
-commit 5fecba6022cbbeed8103b49d79b2fb36086be72d
+commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-22 11:20:17 +0200
+Date:   2022-12-11 21:13:57 +0200
 
-    liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.
-    
-    The encoder doesn't support dictionary sizes larger than 1536 MiB.
-    This is validated, for example, when calculating the memory usage
-    via lzma_raw_encoder_memusage(). It is also enforced by the LZ
-    part of the encoder initialization. However, LZMA encoder with
-    LZMA_MODE_NORMAL did an unsafe calculation with dict_size before
-    such validation and that results in an infinite loop if dict_size
-    was 2 << 30 or greater.
+    xz: Rename --experimental-arm64 to --arm64.
 
- src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
+ src/xz/args.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
 
-commit 1946b2b141d8b12c9325ba48d3a04ad8e8206750
+commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-21 13:02:33 +0200
+Date:   2022-12-11 21:13:06 +0200
 
-    liblzma: Fix two Doxygen commands in the API headers.
-    
-    These were caught by clang -Wdocumentation.
+    liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
 
- src/liblzma/api/lzma/hardware.h   | 2 +-
- src/liblzma/api/lzma/index_hash.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ src/liblzma/api/lzma/bcj.h | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
 
-commit 5476089d9c42b9b04e92b80e1800b384a98265cb
+commit 01b3549e523edac899ec4925b282ceddd20da116
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-13 19:58:47 +0200
+Date:   2022-12-08 19:24:22 +0200
 
-    Bump version and soname for 5.2.8.
+    xz: Make args_info.files_name a const pointer.
 
- src/liblzma/Makefile.am        | 2 +-
- src/liblzma/api/lzma/version.h | 2 +-
+ src/xz/args.c | 2 +-
+ src/xz/args.h | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
-commit f9994f395d04d37b75e879f90397258b86b466cc
+commit bc665b84ea6bf7946394a08122177efe41b26a5f
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-13 19:57:26 +0200
+Date:   2022-12-08 19:18:16 +0200
 
-    Add NEWS for 5.2.8.
+    xz: Don't modify argv[].
+    
+    The code that parses --memlimit options and --block-list modified
+    the argv[] when parsing the option string from optarg. This was
+    visible in "ps auxf" and such and could be confusing. I didn't
+    understand it back in the day when I wrote that code. Now a copy
+    is allocated when modifiable strings are needed.
 
- NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 79 insertions(+)
+ src/xz/args.c | 23 +++++++++++++++++++----
+ 1 file changed, 19 insertions(+), 4 deletions(-)
 
-commit cdf14b28993ef2f3168821372467e3aa7cf1e973
+commit a13064e1c290de7933db72b6dffbd65cfce59c9f
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-11 17:16:03 +0200
+Date:   2022-12-08 18:18:57 +0200
 
-    Update THANKS.
+    Translations: Update the German man page translations.
 
- THANKS | 1 +
- 1 file changed, 1 insertion(+)
+ po4a/de.po | 4570 ++++++++++++++++++------------------------------------------
+ 1 file changed, 1374 insertions(+), 3196 deletions(-)
 
-commit 454f567e58bbadea5cff4f31ef450c1305e9853d
-Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-11 17:15:25 +0200
+commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-12-06 23:05:56 +0800
 
-    liblzma: Fix building with Intel ICC (the classic compiler).
-    
-    It claims __GNUC__ >= 10 but doesn't support __symver__ attribute.
-    
-    Thanks to Stephen Sachs.
+    Translations: Update the German translation.
 
- src/liblzma/common/common.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ po/de.po | 586 ++++++++++++++++++++++++++++++++++-----------------------------
+ 1 file changed, 315 insertions(+), 271 deletions(-)
 
-commit 2f01169f5a81e21e7a7e5f799c32472c6277b1d5
-Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-11 14:35:58 +0200
+commit 5c304b57c24ef40ff57f864301065f0244c05bde
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-12-06 23:04:25 +0800
 
-    liblzma: Fix incorrect #ifdef for x86 SSE2 support.
+    Translations: Update the Turkish translation.
+
+ po/tr.po | 221 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 108 insertions(+), 113 deletions(-)
+
+commit 6d86781fdb937970486500447ebb49b98244235b
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-12-06 23:02:11 +0800
+
+    Translations: Update the Croatian translation.
+
+ po/hr.po | 228 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 113 insertions(+), 115 deletions(-)
+
+commit 7a5b4b8075eb36026b1796f04ffed5830c42396a
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-12-06 22:56:30 +0800
+
+    Translations: Add Romanian translation of man pages.
     
-    __SSE2__ is the correct macro for SSE2 support with GCC, Clang,
-    and ICC. __SSE2_MATH__ means doing floating point math with SSE2
-    instead of 387. Often the latter macro is defined if the first
-    one is but it was still a bug.
+    Thanks to Remus-Gabriel Chelu.
 
- src/liblzma/common/memcmplen.h | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ po4a/po4a.conf |    2 +-
+ po4a/ro.po     | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 3693 insertions(+), 1 deletion(-)
+
+commit c6977e7400088177556e8771bcb839eb7d90caa3
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-12-06 22:52:13 +0800
+
+    Translations: Update the Romanian translation.
 
-commit fc1358679ed3994f67e5e8c869c281be82370a32
+ po/ro.po | 294 +++++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 147 insertions(+), 147 deletions(-)
+
+commit ac2a747e939c2cbccff7a49c399769af5e02d2ab
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-11 12:23:58 +0200
+Date:   2022-12-08 17:30:09 +0200
 
-    Scripts: Ignore warnings from xz.
+    liblzma: Check for unexpected NULL pointers in block_header_decode().
     
-    In practice this means making the scripts work when
-    the input files have an unsupported check type which
-    isn't a problem in practice unless support for
-    some check types has been disabled at build time.
+    The API docs gave an impression that such checks are done
+    but they actually weren't done. In practice it made little
+    difference since the calling code has a bug if these are NULL.
+    
+    Thanks to Jia Tan for the original patch that checked for
+    block->filters == NULL.
 
- src/scripts/xzdiff.in | 5 +++--
- src/scripts/xzgrep.in | 2 +-
- src/scripts/xzless.in | 4 ++--
- src/scripts/xzmore.in | 4 ++--
- 4 files changed, 8 insertions(+), 7 deletions(-)
+ src/liblzma/common/block_header_decoder.c | 4 ++++
+ 1 file changed, 4 insertions(+)
 
-commit a08be1c420501b1c75770a8f6103e3959486c895
+commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-09 14:10:52 +0200
+Date:   2022-12-01 20:59:32 +0200
 
-    xz: Add comments about stdin and src_st.st_size.
+    Bump version number for 5.3.5beta.
     
-    "xz -v < regular_file > out.xz" doesn't display the percentage
-    and estimated remaining time because it doesn't even try to
-    check the input file size when input is read from stdin.
-    This could be improved but for now there's just a comment
-    to remind about it.
+    This also sorts the symbol names alphabetically in liblzma_*.map.
 
- src/xz/coder.c   | 9 +++++++++
- src/xz/file_io.c | 4 ++++
- 2 files changed, 13 insertions(+)
+ src/liblzma/api/lzma/version.h  |  4 ++--
+ src/liblzma/liblzma_generic.map | 10 +++++-----
+ src/liblzma/liblzma_linux.map   | 10 +++++-----
+ 3 files changed, 12 insertions(+), 12 deletions(-)
 
-commit 3ee411cd1cd636bdced6ecede4651394bb4f9cb1
+commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-09 12:48:22 +0200
+Date:   2022-12-01 20:57:26 +0200
 
-    xz: Fix displaying of file sizes in progress indicator in passthru mode.
-    
-    It worked for one input file since the counters are zero when
-    xz starts but they weren't reset when starting a new file in
-    passthru mode. For example, if files A, B, and C are one byte each,
-    then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes
-    instead of 1, 1, and 1 byte.
+    Add NEWS for 5.3.5beta.
 
- src/xz/coder.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
+ NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
 
-commit aa7fa9d960df4bb21f7727bbf7ce0503f3d211b4
+commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-09 11:27:20 +0200
+Date:   2022-12-01 20:57:09 +0200
 
-    xz: Add a comment why --to-stdout is not in --help.
-    
-    It is on the man page still.
+    Update THANKS.
 
- src/xz/message.c | 3 +++
+ THANKS | 3 +++
  1 file changed, 3 insertions(+)
 
-commit ff49ff84a4ba3fab25ffb6d65af321dee36c1273
+commit 62b270988ec67314d69976df484d2974c6eacfda
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-08 22:26:54 +0200
+Date:   2022-12-01 20:04:17 +0200
 
-    Docs: Update faq.txt a little.
+    liblzma: Use __has_attribute(__symver__) to fix Clang detection.
+    
+    If someone sets up Clang to define __GNUC__ to 10 or greater
+    then symvers broke. __has_attribute is supported by such GCC
+    and Clang versions that don't support __symver__ so this should
+    be much better and simpler way to detect if __symver__ is
+    actually supported.
+    
+    Thanks to Tomasz Gajc for the bug report.
 
- doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++---------------------
- 1 file changed, 43 insertions(+), 23 deletions(-)
+ src/liblzma/common/common.h | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
 
-commit 3489565b75b45ee514cf0a6785bb721c7dc624f3
+commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-08 14:13:03 +0200
+Date:   2022-12-01 18:51:52 +0200
 
-    liblzma: Update API docs about decoder flags.
+    liblzma: Omit zero-skipping from ARM64 filter.
+    
+    It has some complicated downsides and its usefulness is more limited
+    than I originally thought. So this change is bad for certain very
+    specific situations but a generic solution that works for other
+    filters (and is otherwise better too) is planned anyway. And this
+    way 7-Zip can use the same compatible filter for the .7z format.
+    
+    This is still marked as experimental with a new temporary Filter ID.
 
- src/liblzma/api/lzma/container.h | 20 ++++++++++++++++----
- 1 file changed, 16 insertions(+), 4 deletions(-)
+ src/liblzma/api/lzma/bcj.h |  2 +-
+ src/liblzma/simple/arm64.c | 81 +++++++++++++---------------------------------
+ 2 files changed, 24 insertions(+), 59 deletions(-)
 
-commit e4937710805c4b660fc629c15d9a6164b2d97822
+commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-08 14:00:58 +0200
+Date:   2022-12-01 18:13:27 +0200
 
-    liblzma: Fix a comment in auto_decoder.c.
+    xz: Omit the special notes about ARM64 filter on the man page.
 
- src/liblzma/common/auto_decoder.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ src/xz/xz.1 | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
 
-commit d4674dfbb7d1df1feb841f5dbce6ae1f0b026879
-Author: Jia Tan <jiat0218@gmail.com>
-Date:   2022-11-07 16:24:14 +0200
+commit 0c3627b51862eb0dcdd4fc283d046250571991c6
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date:   2022-12-01 18:12:03 +0200
 
-    xz: Avoid a compiler warning in progress_speed() in message.c.
-    
-    This should be smaller too since it avoids the string constants.
+    liblzma: Don't be over-specific in lzma_str_to_filters API doc.
 
- src/xz/message.c | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
+ src/liblzma/api/lzma/filter.h | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
 
-commit 4ed56d32a91ff8ff21c71db4082a54a72ae08b3d
+commit 94adf057f27b1970f493dc99cd166407d7255639
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-31 16:26:05 +0200
+Date:   2022-12-01 17:54:23 +0200
 
-    Build: Clarify comment in configure.ac about SSE2.
+    liblzma: Silence unused variable warning when BCJ filters are disabled.
+    
+    Thanks to Jia Tan for the original patch.
 
- configure.ac | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
+ src/liblzma/common/string_conversion.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
 
-commit f930638797f1fec05b272367c052d4fc9de35896
+commit c68af4441744e5ffc41a472e1be9c9d53a1d9780
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-31 16:16:37 +0200
+Date:   2022-12-01 17:38:03 +0200
 
-    Build: Remove obsolete commented-out lines from configure.ac.
+    Translations: Update the Chinese (simplified) translation.
 
- configure.ac | 4 ----
- 1 file changed, 4 deletions(-)
+ po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++--------------------------
+ 1 file changed, 348 insertions(+), 260 deletions(-)
 
-commit 6930f14733757592a4f8d92513f642a5dcc9ec9c
+commit 3be6942e5c27d29995d41da52fbe274e4ce4a537
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-31 13:31:58 +0200
+Date:   2022-11-30 18:55:03 +0200
 
-    Windows: Fix mythread_once() macro with Vista threads.
-    
-    Don't call InitOnceComplete() if initialization was already done.
-    
-    So far mythread_once() has been needed only when building
-    with --enable-small. windows/build.bash does this together
-    with --disable-threads so the Vista-specific mythread_once()
-    is never needed by those builds. VS project files or
-    CMake-builds don't support HAVE_SMALL builds at all.
+    Add NEWS for 5.2.9.
 
- src/common/mythread.h | 7 ++++---
- 1 file changed, 4 insertions(+), 3 deletions(-)
+ NEWS | 34 ++++++++++++++++++++++++++++++++++
+ 1 file changed, 34 insertions(+)
 
-commit 1c8cbb5be3a97bf22e933777369c4cc28ef9ed5f
-Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-31 11:49:47 +0200
+commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-11-30 23:33:08 +0800
 
-    CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.
+    xz: Remove message_filters_to_str function prototype from message.h.
     
-    This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
+    This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.
 
- cmake/tuklib_cpucores.cmake | 5 +++++
- 1 file changed, 5 insertions(+)
+ src/xz/message.h | 16 ----------------
+ 1 file changed, 16 deletions(-)
 
-commit fa9efb729b1827b25ec71aefcf32f3aceeaf9597
+commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 23:45:03 +0300
+Date:   2022-11-30 18:08:34 +0200
 
-    Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.
+    Change the bug report address.
     
-    We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS.
+    It forwards to me and Jia Tan.
     
-    There is a warning about AC_PROG_CC_C99 being obsolete but
-    it cannot be removed because it is needed with Autoconf 2.69.
+    Also update the IRC reference in README as #tukaani was moved
+    to Libera Chat long ago.
 
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
+ CMakeLists.txt             |  2 +-
+ README                     | 11 +++++------
+ configure.ac               |  2 +-
+ dos/config.h               |  2 +-
+ windows/README-Windows.txt |  2 +-
+ 5 files changed, 9 insertions(+), 10 deletions(-)
 
-commit b10ba4bf39edd9c9fef42cade3e64fc3b9e3fd19
+commit c21983c76031e01da01ad3c6cc716fe4b8a75070
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 23:31:44 +0300
+Date:   2022-11-30 17:50:17 +0200
 
-    Build: Update m4/ax_pthread.m4 from Autoconf Archive.
+    Build: Add string_conversion.c to CMake, DOS, and VS files.
 
- m4/ax_pthread.m4 | 29 ++++++++++++++++++++++-------
- 1 file changed, 22 insertions(+), 7 deletions(-)
+ CMakeLists.txt                     | 1 +
+ dos/Makefile                       | 1 +
+ windows/vs2013/liblzma.vcxproj     | 1 +
+ windows/vs2013/liblzma_dll.vcxproj | 1 +
+ windows/vs2017/liblzma.vcxproj     | 1 +
+ windows/vs2017/liblzma_dll.vcxproj | 1 +
+ windows/vs2019/liblzma.vcxproj     | 1 +
+ windows/vs2019/liblzma_dll.vcxproj | 1 +
+ 8 files changed, 8 insertions(+)
 
-commit 01744b280c6e35d331b9dc4cc64716b82bc8b3db
+commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 23:09:11 +0300
+Date:   2022-11-30 17:38:32 +0200
 
-    xz: Fix --single-stream with an empty .xz Stream.
-    
-    Example:
-    
-        $ xz -dc --single-stream good-0-empty.xz
-        xz: good-0-empty.xz: Internal error (bug)
-    
-    The code, that is tries to catch some input file issues early,
-    didn't anticipate LZMA_STREAM_END which is possible in that
-    code only when --single-stream is used.
+    Update to HTTPS URLs in AUTHORS.
 
- src/xz/coder.c | 9 +++++++++
- 1 file changed, 9 insertions(+)
+ AUTHORS | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 0a72b9ca2fe20082da9b7128fe0d908af947a851
+Author: Jia Tan <jiat0218@gmail.com>
+Date:   2022-11-30 00:52:06 +0800
+
+    liblzma: Improve documentation for string to filter functions.
+
+ src/liblzma/api/lzma/filter.h | 17 +++++++++--------
+ 1 file changed, 9 insertions(+), 8 deletions(-)
 
-commit a3e4606134058241bf1c396243bebcec42c2a780
+commit a6e21fcede3b196160a52dd294d965c508a4bb33
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 19:07:17 +0300
+Date:   2022-11-29 22:27:42 +0200
 
-    xz: Fix decompressor behavior if input uses an unsupported check type.
-    
-    Now files with unsupported check will make xz display
-    a warning, set the exit status to 2 (unless --no-warn is used),
-    and then decompress the file normally. This is how it was
-    supposed to work since the beginning but this was broken by
-    the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is,
-    a little before 5.0.0 was released. The buggy behavior displayed
-    a message, set exit status 1 (error), and xz didn't attempt to
-    to decompress the file.
-    
-    This doesn't matter today except for special builds that disable
-    CRC64 or SHA-256 at build time (but such builds should be used
-    in special situations only). The bug matters if new check type
-    is added in the future and an old xz version is used to decompress
-    such a file; however, it's likely that such files would use a new
-    filter too and an old xz wouldn't be able to decompress the file
-    anyway.
+    liblzma: Two fixes to lzma_str_list_filters() API docs.
     
-    The first hunk in the commit is the actual fix. The second hunk
-    is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz.
-    
-    There is a test file for unsupported check type but it wasn't
-    used by test_files.sh, perhaps due to different behavior between
-    xz and the simpler xzdec.
+    Thanks to Jia Tan.
 
- src/xz/coder.c | 19 +++++++++++++++----
- 1 file changed, 15 insertions(+), 4 deletions(-)
+ src/liblzma/api/lzma/filter.h | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
 
-commit 0b5e8c7e073bce07c59112af1e8a7495e3576e6c
+commit 7484744af6cbabe81e92af7d9e061dfd597fff7b
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 18:36:19 +0300
+Date:   2022-11-28 21:57:47 +0200
 
-    xz: Clarify the man page: input file isn't removed if an error occurs.
+    xz: Use lzma_str_from_filters().
+    
+    Two uses: Displaying encoder filter chain when compressing with -vv,
+    and displaying the decoder filter chain in --list -vv.
 
- src/xz/xz.1 | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
+ src/xz/list.c    |  28 ++++++---
+ src/xz/message.c | 175 +++----------------------------------------------------
+ 2 files changed, 28 insertions(+), 175 deletions(-)
 
-commit 23b7416d5ba0e3579265467bd546865d2ea4cef0
+commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-25 18:23:54 +0300
+Date:   2022-11-28 21:37:48 +0200
 
-    xz: If input file cannot be removed, treat it as a warning, not error.
+    liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
     
-    Treating it as a warning (message + exit status 2) matches gzip
-    and it seems more logical as at that point the output file has
-    already been successfully closed. When it's a warning it is
-    possible to suppress it with --no-warn.
+    lzma_str_to_filters() uses static error messages which makes
+    them not very precise. It tells the position in the string
+    where an error occurred though which helps quite a bit if
+    applications take advantage of it. Dynamic error messages can
+    be added later with a new flag if it seems important enough.
 
- src/xz/file_io.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
+ src/liblzma/api/lzma/filter.h          |  258 +++++++
+ src/liblzma/common/Makefile.inc        |    1 +
+ src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++
+ src/liblzma/liblzma_generic.map        |    3 +
+ src/liblzma/liblzma_linux.map          |    3 +
+ 5 files changed, 1567 insertions(+)
 
-commit 5daa40454b63c4eb04ab5caeb339eddc95c94bb1
+commit 072ebf7b1335421193ffa9d4a70d5533786b8995
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-10-20 20:22:50 +0300
+Date:   2022-11-28 21:02:19 +0200
 
-    tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.
-    
-    On OpenBSD the number of cores online is often less
-    than what HW_NCPU would return because OpenBSD disables
-    simultaneous multi-threading (SMT) by default.
-    
-    Thanks to Christian Weisgerber.
+    liblzma: Make lzma_validate_chain() available outside filter_common.c.
 
- m4/tuklib_cpucores.m4        | 5 +++++
- src/common/tuklib_cpucores.c | 9 +++++++++
- 2 files changed, 14 insertions(+)
+ src/liblzma/common/filter_common.c | 8 ++++----
+ src/liblzma/common/filter_common.h | 3 +++
+ 2 files changed, 7 insertions(+), 4 deletions(-)
 
-commit 0af861050f375678eafc4e1136ca589ae47d31c0
+commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-11 13:25:02 +0200
+Date:   2022-11-28 10:51:03 +0200
 
-    NEWS: Omit the extra copy of 5.2.5 NEWS.
-    
-    It was a copy-paste error.
+    liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
 
- NEWS | 105 -------------------------------------------------------------------
- 1 file changed, 105 deletions(-)
+ src/liblzma/lz/lz_decoder.c | 14 --------------
+ src/liblzma/lz/lz_decoder.h |  3 ---
+ 2 files changed, 17 deletions(-)
 
-commit f0c6a66701afed12c5926c0499b150ecd5b0a63c
+commit cee83206465b95729ab649aa2f57fdbde8dcaf89
 Author: Lasse Collin <lasse.collin@tukaani.org>
-Date:   2022-11-10 12:34:43 +0200
+Date:   2022-11-28 10:48:53 +0200
 
-    Translations: Rename poa4/fr_FR.po to po4a/fr.po.
+    liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
     
-    That's how it is preferred at the Translation Project.
-    On my system /usr/share/man/fr_FR doesn't contain any
-    other man pages than XZ Utils while /usr/share/man/fr
-    has quite a few, so this will fix that too.
+    Here too this avoids the slightly ugly method to set
+    the uncompressed size.
     
-    Thanks to Benno Schulenberg from the Translation Project.
+    Also moved the setting of dict_size to the struct initializer.
 
- po4a/{fr_FR.po => fr.po} | 0
- po4a/po4a.conf           | 2 +-
- 2 files changed, 1 insertion(+), 1 deletion(-)
*** 26895 LINES SKIPPED ***