1 commit 49053c0a649f4c8bd2b8d97ce915f401fbc0f3d9
2 Author: Jia Tan <jiat0218@gmail.com>
3 Date: 2023-10-31 22:30:29 +0800
5 Bump version and soname for 5.4.5.
7 src/liblzma/Makefile.am | 2 +-
8 src/liblzma/api/lzma/version.h | 2 +-
9 2 files changed, 2 insertions(+), 2 deletions(-)
11 commit 84c0cfc556287628df871703672879e530d0391f
12 Author: Jia Tan <jiat0218@gmail.com>
13 Date: 2023-11-01 20:18:30 +0800
17 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
18 1 file changed, 74 insertions(+)
20 commit d90ed84db9770712e2421e170076b43bda9b64a7
21 Author: Lasse Collin <lasse.collin@tukaani.org>
22 Date: 2023-10-31 21:41:09 +0200
24 liblzma: Fix compilation of fastpos_tablegen.c.
26 The macro lzma_attr_visibility_hidden has to be defined to make
27 fastpos.h usable. The visibility attribute is irrelevant to
28 fastpos_tablegen.c so simply #define the macro to an empty value.
30 fastpos_tablegen.c is never built by the included build systems
31 and so the problem wasn't noticed earlier. It's just a standalone
32 program for generating fastpos_table.c.
34 Fixes: https://github.com/tukaani-project/xz/pull/69
35 Thanks to GitHub user Jamaika1.
37 src/liblzma/lzma/fastpos_tablegen.c | 2 ++
38 1 file changed, 2 insertions(+)
40 commit 9b1268538b0b2c6c0a121f95165de65fc71ad23c
41 Author: Jia Tan <jiat0218@gmail.com>
42 Date: 2023-10-31 21:51:40 +0800
44 Build: Fix text wrapping in an output message.
46 configure.ac | 9 +++++----
47 1 file changed, 5 insertions(+), 4 deletions(-)
49 commit 068ee436f4a8a706125ef43e8228b30001b1554e
50 Author: Lasse Collin <lasse.collin@tukaani.org>
51 Date: 2023-10-22 17:59:11 +0300
53 liblzma: Use lzma_always_inline in memcmplen.h.
55 src/liblzma/common/memcmplen.h | 3 +--
56 1 file changed, 1 insertion(+), 2 deletions(-)
58 commit 6cdf0a7b7974baf58c1fd20ec3278f3b84ae56e5
59 Author: Lasse Collin <lasse.collin@tukaani.org>
60 Date: 2023-10-30 17:43:03 +0200
62 liblzma: #define lzma_always_inline in common.h.
64 src/liblzma/common/common.h | 17 +++++++++++++++++
65 1 file changed, 17 insertions(+)
67 commit 33daad3961a4f07f3902b40f13e823e6e43e85da
68 Author: Lasse Collin <lasse.collin@tukaani.org>
69 Date: 2023-10-22 17:15:32 +0300
71 liblzma: Use lzma_attr_visibility_hidden on private extern declarations.
73 These variables are internal to liblzma and not exposed in the API.
75 src/liblzma/check/check.h | 7 +++++++
76 src/liblzma/common/stream_flags_common.h | 3 +++
77 src/liblzma/lz/lz_encoder_hash.h | 1 +
78 src/liblzma/lzma/fastpos.h | 1 +
79 src/liblzma/rangecoder/price.h | 1 +
80 5 files changed, 13 insertions(+)
82 commit 6961a5ac7df178bfc2b7a181c40575847bc3035f
83 Author: Lasse Collin <lasse.collin@tukaani.org>
84 Date: 2023-10-22 17:08:39 +0300
86 liblzma: #define lzma_attr_visibility_hidden in common.h.
90 -fvisibility=hidden affects definitions of symbols but not
91 declarations.[*] This doesn't affect direct calls to functions
92 inside liblzma as a linker can replace a call to lzma_foo@plt
93 with a call directly to lzma_foo when -fvisibility=hidden is used.
95 [*] It has to be like this because otherwise every installed
96 header file would need to explictly set the symbol visibility
99 When accessing extern variables that aren't defined in the
100 same translation unit, compiler assumes that the variable has
101 the default visibility and thus indirection is needed. Unlike
102 function calls, linker cannot optimize this.
104 Using __attribute__((__visibility__("hidden"))) with the extern
105 variable declarations tells the compiler that indirection isn't
106 needed because the definition is in the same shared library.
108 About 15+ years ago, someone told me that it would be good if
109 the CRC tables would be defined in the same translation unit
110 as the C code of the CRC functions. While I understood that it
111 could help a tiny amount, I didn't want to change the code because
112 a separate translation unit for the CRC tables was needed for the
113 x86 assembly code anyway. But when visibility attributes are
114 supported, simply marking the extern declaration with the
115 hidden attribute will get identical result. When there are only
116 a few affected variables, this is trivial to do. I wish I had
117 understood this back then already.
119 src/liblzma/common/common.h | 11 +++++++++++
120 1 file changed, 11 insertions(+)
122 commit 5b9e16764905d06fa8e8339ba185ddfee304e5fb
123 Author: Lasse Collin <lasse.collin@tukaani.org>
124 Date: 2023-09-30 22:54:28 +0300
126 liblzma: Refer to MinGW-w64 instead of MinGW in the API headers.
128 MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project
129 at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the
130 most recent GCC package (released 2021-02-02). The project might
131 still be alive but majority of people have switched to MinGW-w64.
132 Thus it seems clearer to refer to MinGW-w64 in our API headers too.
133 Building with MinGW is likely to still work but I haven't tested it
136 src/liblzma/api/lzma.h | 4 ++--
137 src/liblzma/api/lzma/version.h | 2 +-
138 2 files changed, 3 insertions(+), 3 deletions(-)
140 commit 36fabdbe67c8a8fbdc3ac695a91fc443a1328cc4
141 Author: Lasse Collin <lasse.collin@tukaani.org>
142 Date: 2023-09-27 00:58:17 +0300
144 CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed.
146 A CMake option LARGE_FILE_SUPPORT is created if and only if
147 -D_FILE_OFFSET_BITS=64 affects sizeof(off_t).
149 This is needed on many 32-bit platforms and even with 64-bit builds
150 with MinGW-w64 to get support for files larger than 2 GiB.
152 CMakeLists.txt | 7 ++++-
153 cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++
154 2 files changed, 58 insertions(+), 1 deletion(-)
156 commit 989c8c354cbd2d20fbae4a432a3e31f5bc1cb9bf
157 Author: Lasse Collin <lasse.collin@tukaani.org>
158 Date: 2023-09-30 02:14:25 +0300
160 CMake: Generate and install liblzma.pc if not using MSVC.
162 Autotools based build uses -pthread and thus adds it to Libs.private
163 in liblzma.pc. CMake doesn't use -pthread at all if pthread functions
164 are available in libc so Libs.private doesn't get -pthread either.
166 CMakeLists.txt | 21 +++++++++++++++++++++
167 1 file changed, 21 insertions(+)
169 commit 983f3b458dc79c5976a4237fdfe4f8079f8d8830
170 Author: Lasse Collin <lasse.collin@tukaani.org>
171 Date: 2023-09-30 01:13:13 +0300
173 CMake: Rearrange the PACKAGE_ variables.
175 The windres workaround now replaces spaces with \x20 so
176 the package name isn't repeated.
178 These changes will help with creation of liblzma.pc.
180 CMakeLists.txt | 26 +++++++++++++++-----------
181 1 file changed, 15 insertions(+), 11 deletions(-)
183 commit 4083c8e9501a48934a5fb563d2c3ce2ae143cd27
184 Author: Lasse Collin <lasse.collin@tukaani.org>
185 Date: 2023-09-29 20:46:11 +0300
187 liblzma: Add Cflags.private to liblzma.pc.in for MSYS2.
189 It properly adds -DLZMA_API_STATIC when compiling code that
190 will be linked against static liblzma. Having it there on
191 systems other than Windows does no harm.
193 See: https://www.msys2.org/docs/pkgconfig/
195 src/liblzma/liblzma.pc.in | 1 +
196 1 file changed, 1 insertion(+)
198 commit 661549ecb7a9b136d72a01c137d9776c75d52d51
199 Author: Lasse Collin <lasse.collin@tukaani.org>
200 Date: 2023-09-27 22:46:20 +0300
202 CMake: Create liblzma.def when building liblzma.dll with MinGW-w64.
204 CMakeLists.txt | 20 ++++++++++++++++++++
205 cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++
206 2 files changed, 46 insertions(+)
208 commit 0e546eb4da05c52b7d257e5bd85e15c51c4d86a3
209 Author: Lasse Collin <lasse.collin@tukaani.org>
210 Date: 2023-10-26 21:44:42 +0300
212 CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR.
214 In this case they have identical values.
216 CMakeLists.txt | 2 +-
217 1 file changed, 1 insertion(+), 1 deletion(-)
219 commit da4d04e4d6e199d28b58bd2e0df4e120c52dd5d7
220 Author: Lasse Collin <lasse.collin@tukaani.org>
221 Date: 2023-10-01 19:10:57 +0300
223 CMake/Windows: Fix the import library filename.
225 Both PREFIX and IMPORT_PERFIX have to be set to "" to get
226 liblzma.dll and liblzma.dll.a.
229 1 file changed, 1 insertion(+)
231 commit 007558a358c48a0175cc8d47d11798d7967282ab
232 Author: Lasse Collin <lasse.collin@tukaani.org>
233 Date: 2023-10-11 19:47:44 +0300
235 CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable.
237 Using set(ENABLE_THREADS "posix") is confusing because it sets
238 a new normal variable and leaves the cache entry with the same
239 name unchanged. The intent wasn't to change the cache entry so
240 this switches to a different variable name.
242 CMakeLists.txt | 10 +++++++---
243 1 file changed, 7 insertions(+), 3 deletions(-)
245 commit 7d01de67ee3dd76cfc12c23220e2e4cdc59708f1
246 Author: Lasse Collin <lasse.collin@tukaani.org>
247 Date: 2023-10-09 21:12:31 +0300
249 CMake: Edit threading related messages.
251 It's mostly to change from "thread method" to "threading method".
253 CMakeLists.txt | 19 ++++++++++---------
254 1 file changed, 10 insertions(+), 9 deletions(-)
256 commit f8edcf3da689aad4b21e139197725450f2c456a0
257 Author: Lasse Collin <lasse.collin@tukaani.org>
258 Date: 2023-10-09 20:59:24 +0300
260 CMake: Use FATAL_ERROR if user-supplied options aren't understood.
262 This way typos are caught quickly and compounding error messages
263 are avoided (a single typo could cause more than one error).
265 This keeps using SEND_ERROR when the system is lacking a feature
266 (like threading library or sandboxing method). This way the whole
267 configuration log will be generated in case someone wishes to
268 report a problem upstream.
270 CMakeLists.txt | 28 ++++++++++++++--------------
271 1 file changed, 14 insertions(+), 14 deletions(-)
273 commit 1695021e4a233a9388ddd428654c1447f0ea3bfb
274 Author: Jia Tan <jiat0218@gmail.com>
275 Date: 2023-10-19 16:09:01 +0800
277 CMake: Add ALLOW_CLMUL_CRC option to enable/disable CLMUL.
279 The option is enabled by default, but will only be visible to a user
280 listing cache variables or using a CMake GUI application if the
281 immintrin.h header file is found.
283 This mirrors our Autotools build --disable-clmul-crc functionality.
285 CMakeLists.txt | 40 +++++++++++++++++++++++-----------------
286 1 file changed, 23 insertions(+), 17 deletions(-)
288 commit 5056bc51071d1a07097c5667a0d5bd85242e31b9
289 Author: Lasse Collin <lasse.collin@tukaani.org>
290 Date: 2023-10-14 17:56:59 +0300
292 tuklib_integer: Revise unaligned reads and writes on strict-align archs.
294 In XZ Utils context this doesn't matter much because
295 unaligned reads and writes aren't used in hot code
296 when TUKLIB_FAST_UNALIGNED_ACCESS isn't #defined.
298 src/common/tuklib_integer.h | 256 ++++++++++++++++++++++++++++++++------------
299 1 file changed, 189 insertions(+), 67 deletions(-)
301 commit 9e14743ee5ba79181076bc33952245d5b18fbc58
302 Author: Lasse Collin <lasse.collin@tukaani.org>
303 Date: 2023-09-23 02:21:49 +0300
305 tuklib_integer: Add missing write64be and write64le fallback functions.
307 src/common/tuklib_integer.h | 34 ++++++++++++++++++++++++++++++++++
308 1 file changed, 34 insertions(+)
310 commit 4cc91ceb3992ef4f51302b56178c3b2c2aeaaaad
311 Author: Jia Tan <jiat0218@gmail.com>
312 Date: 2023-10-12 20:12:18 +0800
314 Build: Update visibility.m4 from Gnulib.
316 Updating from version 6 -> 8 from upstream. Declarations for variables
317 and function bodies were added to avoid unnecessary failures with
320 m4/visibility.m4 | 9 +++++++--
321 1 file changed, 7 insertions(+), 2 deletions(-)
323 commit 1824a6007cb1c8d5d7abcc7bf649148bc06fa72c
324 Author: Lasse Collin <lasse.collin@tukaani.org>
325 Date: 2023-10-06 19:36:35 +0300
330 1 file changed, 1 insertion(+)
332 commit 8fdc71a27d07b10a3da52432432e080b6d577642
333 Author: Jia Tan <jiat0218@gmail.com>
334 Date: 2023-09-29 20:14:39 +0800
336 CMake: Rename xz and man page symlink custom targets.
338 The Ninja Generator for CMake cannot have a custom target and its
339 BYPRODUCTS have the same name. This has prevented Ninja builds on
340 Unix-like systems since the xz symlinks were introduced in
341 80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
343 CMakeLists.txt | 6 +++---
344 1 file changed, 3 insertions(+), 3 deletions(-)
346 commit 38171492ded6426ddf53d0c200fa8c93fcd02a60
347 Author: Lasse Collin <lasse.collin@tukaani.org>
348 Date: 2023-09-27 19:54:35 +0300
350 CMake: Fix Windows build with Clang/LLVM 17.
352 llvm-windres 17.0.0 has more accurate emulation of GNU windres, so
353 the hack for GNU windres must now be used with llvm-windres too.
355 LLVM 16.0.6 has the old behavior and there likely won't be more
356 16.x releases. So we can simply check for >= 17.0.0.
358 The workaround must not be used with Clang that is acting in
359 MSVC mode. This checks for the known environments that need
360 the workaround instead of using "NOT MSVC".
363 https://github.com/llvm/llvm-project/commit/2bcc0fdc58a220cb9921b47ec8a32c85f2511a47
365 CMakeLists.txt | 26 ++++++++++++++------------
366 1 file changed, 14 insertions(+), 12 deletions(-)
368 commit 1bce6fe48334b5df33d0487a9cbe41950122230e
369 Author: Jia Tan <jiat0218@gmail.com>
370 Date: 2023-09-27 00:02:11 +0800
372 liblzma: Avoid compiler warning without creating extra symbol.
374 When the generic fast crc64 method is used, then we omit
375 lzma_crc64_table[][].
377 The C standards don't allow an empty translation unit which can be
378 avoided by declaring something, without exporting any symbols.
380 src/liblzma/check/crc64_table.c | 6 ++----
381 1 file changed, 2 insertions(+), 4 deletions(-)
383 commit dce95a593e6cd9779110aa1e314abd8b35c75f6b
384 Author: Lasse Collin <lasse.collin@tukaani.org>
385 Date: 2023-09-26 17:24:15 +0300
387 Build: Update the comment about -Werror usage in checks.
389 configure.ac | 10 ++++++++--
390 1 file changed, 8 insertions(+), 2 deletions(-)
392 commit f3c32762ae309afa2fe330e7fb397acfdedc4d37
393 Author: Lasse Collin <lasse.collin@tukaani.org>
394 Date: 2023-09-26 13:51:31 +0300
396 Build: Fix underquoted AC_LANG_SOURCE.
398 It made no practical difference in this case.
401 1 file changed, 1 insertion(+), 1 deletion(-)
403 commit 7dd57f2f2c8fde93fa42b4dbf6d9860717723b41
404 Author: Lasse Collin <lasse.collin@tukaani.org>
405 Date: 2023-09-26 13:14:37 +0300
407 Build: Silence Autoconf warning.
409 There was a use of AC_COMPILE_IFELSE that didn't use
410 AC_LANG_SOURCE and Autoconf warned about this. The omission
411 had been intentional but it turned out that this didn't do
412 what I thought it would.
414 Autoconf 2.71 manual gives an impression that AC_LANG_SOURCE
415 inserts all #defines that have been made with AC_DEFINE so
416 far (confdefs.h). The idea was that omitting AC_LANG_SOURCE
417 would mean that only the exact code included in the
418 AC_COMPILE_IFELSE call would be compiled.
420 With C programs this is not true: the #defines get added without
421 AC_LANG_SOURCE too. There seems to be no neat way to avoid this.
422 Thus, with the C language at least, adding AC_LANG_SOURCE makes
423 no other difference than silencing a warning from Autoconf. The
424 generated "configure" remains identical. (Docs of AC_LANG_CONFTEST
425 say that the #defines have been inserted since Autoconf 2.63b and
426 that AC_COMPILE_IFELSE uses AC_LANG_CONFTEST. So the behavior is
427 documented if one also reads the docs of macros that one isn't
430 Any extra code, including #defines, can cause problems for
431 these two tests because these tests must use -Werror.
432 CC=clang CFLAGS=-Weverything is the most extreme example.
433 It enables -Wreserved-macro-identifier which warns about
434 It's possible to write a test file that passes -Weverything but
435 it becomes impossible when Autoconf inserts confdefs.h.
437 So this commit adds AC_LANG_SOURCE to silence Autoconf warnings.
438 A different solution is needed for -Werror tests.
440 configure.ac | 5 ++---
441 1 file changed, 2 insertions(+), 3 deletions(-)
443 commit edec253e418562f3164a01ecc8805295fa022efa
444 Author: Jia Tan <jiat0218@gmail.com>
445 Date: 2023-09-26 00:47:26 +0800
447 Build: Remove Gnulib dependency from tests.
449 The tests do not use any Gnulib replacements so they do not need to link
450 libgnu.a or have /lib in the include path.
452 tests/Makefile.am | 7 +------
453 1 file changed, 1 insertion(+), 6 deletions(-)
455 commit 46cb133ce7360496eecca1255b364c05f0205855
456 Author: Jia Tan <jiat0218@gmail.com>
457 Date: 2023-09-26 00:43:43 +0800
459 CMake: Remove /lib from tests include path.
461 The tests never included anything from /lib, so this was not needed.
464 1 file changed, 1 deletion(-)
466 commit 4ae13cfe0dedb8ddc3cf9ded8cd1ac09361b3bd1
467 Author: Lasse Collin <lasse.collin@tukaani.org>
468 Date: 2023-09-24 16:32:32 +0300
470 sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO.
472 src/common/sysdefs.h | 10 +++++++++-
473 1 file changed, 9 insertions(+), 1 deletion(-)
475 commit 660c8c29e57d30dbd5009ef1f0ec1bbe195ccef6
476 Author: Lasse Collin <lasse.collin@tukaani.org>
477 Date: 2023-09-22 02:33:29 +0300
479 xz: Windows: Don't (de)compress to special files like "con" or "nul".
481 Before this commit, the following writes "foo" to the
482 console and deletes the input file:
484 echo foo | xz > con_xz
485 xz --suffix=_xz --decompress con_xz
487 It cannot happen without --suffix because names like con.xz
488 are also special and so attempting to decompress con.xz
489 (or compress con to con.xz) will already fail when opening
492 Similar thing is possible when compressing. The following
493 writes to "nul" and the input file "n" is deleted.
498 Now xz checks if the destination is a special file before
499 continuing. DOS/DJGPP version had a check for this but
500 Windows (and OS/2) didn't.
502 src/xz/file_io.c | 35 ++++++++++++++++++++++++++++-------
503 1 file changed, 28 insertions(+), 7 deletions(-)
505 commit b7ce6e80786fc0c08ed129e8ee262ea96a5473a1
506 Author: Lasse Collin <lasse.collin@tukaani.org>
507 Date: 2023-09-21 20:42:52 +0300
509 CMake: Wrap two overlong lines that are possible to wrap.
511 CMakeLists.txt | 6 ++++--
512 1 file changed, 4 insertions(+), 2 deletions(-)
514 commit 1595f454d5c8257c668cccd6a86dd68175d5c430
515 Author: Lasse Collin <lasse.collin@tukaani.org>
516 Date: 2023-09-21 20:36:31 +0300
518 CMake: Add a comment about threads on Cygwin.
521 1 file changed, 1 insertion(+)
523 commit 5be6275f19784cdd5a954f0188045c8ff4934d54
524 Author: Lasse Collin <lasse.collin@tukaani.org>
525 Date: 2023-09-12 21:12:34 +0300
527 CMake: Bump maximum policy version to 3.27.
529 There are several new policies. CMP0149 may affect the Windows SDK
530 version that CMake will choose by default. The new behavior is more
531 predictable, always choosing the latest SDK version by default.
533 The other new policies shouldn't affect this package.
535 CMakeLists.txt | 2 +-
536 1 file changed, 1 insertion(+), 1 deletion(-)
538 commit e515643d7524851d1eb7dab73453e26d8521324c
539 Author: Lasse Collin <lasse.collin@tukaani.org>
540 Date: 2023-09-08 19:08:57 +0300
542 Doxygen: Add more C macro names to PREDEFINED.
544 doxygen/Doxyfile | 7 +++++--
545 1 file changed, 5 insertions(+), 2 deletions(-)
547 commit e3478ae4f36cd06522a2fef023860893f068434d
548 Author: Lasse Collin <lasse.collin@tukaani.org>
549 Date: 2023-09-11 18:47:26 +0300
551 liblzma: Move a few __attribute__ uses in function declarations.
553 The API headers have many attributes but these were left
556 src/liblzma/common/common.c | 6 ++++--
557 src/liblzma/common/common.h | 8 ++++----
558 src/liblzma/common/memcmplen.h | 3 ++-
559 3 files changed, 10 insertions(+), 7 deletions(-)
561 commit b71b8922ef3971e5ccffd1e213888d44abe21d11
562 Author: Lasse Collin <lasse.collin@tukaani.org>
563 Date: 2023-09-11 19:03:35 +0300
565 xz, xzdec, lzmainfo: Use tuklib_attr_noreturn.
567 For compatibility with C23's [[noreturn]], tuklib_attr_noreturn
568 must be at the beginning of declaration (before "extern" or
569 "static", and even before any GNU C's __attribute__).
571 This commit also moves all other function attributes to
572 the beginning of function declarations. "extern" is kept
573 at the beginning of a line so the attributes are listed on
574 separate lines before "extern" or "static".
576 src/lzmainfo/lzmainfo.c | 6 ++++--
577 src/xz/coder.c | 3 ++-
578 src/xz/hardware.h | 3 ++-
579 src/xz/message.h | 30 +++++++++++++++++-------------
580 src/xz/options.c | 3 ++-
581 src/xz/util.h | 8 ++++----
582 src/xzdec/xzdec.c | 9 ++++++---
583 7 files changed, 37 insertions(+), 25 deletions(-)
585 commit 359e5c6cb128dab64ea6070d21d1c240f96cea6b
586 Author: Lasse Collin <lasse.collin@tukaani.org>
587 Date: 2023-09-11 18:53:31 +0300
589 Remove incorrect uses of __attribute__((__malloc__)).
591 xrealloc() is obviously incorrect, modern GCC docs even
592 mention realloc() as an example where this attribute
595 liblzma's lzma_alloc() and lzma_alloc_zero() would be
596 correct uses most of the time but custom allocators
597 may use a memory pool or otherwise hold the pointer
598 so aliasing issues could happen in theory.
600 The xstrdup() case likely was correct but I removed it anyway.
601 Now there are no __malloc__ attributes left in the code.
602 The allocations aren't in hot paths so this should make
603 no practical difference.
605 src/liblzma/common/common.c | 4 ++--
606 src/liblzma/common/common.h | 4 ++--
607 src/xz/util.h | 4 ++--
608 3 files changed, 6 insertions(+), 6 deletions(-)
610 commit 589b4cba22fccb1dbc919df5d134aefb2b5a6b01
611 Author: Lasse Collin <lasse.collin@tukaani.org>
612 Date: 2023-09-19 14:03:45 +0300
617 1 file changed, 1 insertion(+)
619 commit 43728ed2267e921fbdfa699ee1e91b105ab0e98b
620 Author: Lasse Collin <lasse.collin@tukaani.org>
621 Date: 2023-09-14 16:35:46 +0300
626 1 file changed, 1 insertion(+)
628 commit caf00e0988ba47842cfd93dfbb17f7d30120d6e7
629 Author: Lasse Collin <lasse.collin@tukaani.org>
630 Date: 2023-09-14 16:34:07 +0300
632 liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address__)).
634 Thanks to Agostino Sarubbo.
635 Fixes: https://github.com/tukaani-project/xz/issues/62
637 src/liblzma/check/crc64_fast.c | 8 ++++++++
638 1 file changed, 8 insertions(+)
640 commit a70e96d2da761b8b3a77bf14e08002d871e5950b
641 Author: Jia Tan <jiat0218@gmail.com>
642 Date: 2023-09-12 22:36:12 +0800
644 CMake: Fix time.h checks not running on second CMake run.
646 If CMake was configured more than once, HAVE_CLOCK_GETTIME and
647 HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check
648 for librt being needed to provide HAVE_CLOCK_GETTIME was also
651 CMakeLists.txt | 18 ++++++++++--------
652 1 file changed, 10 insertions(+), 8 deletions(-)
654 commit d5275d83bd2a9701c5feb8666785007c074b1359
655 Author: Jia Tan <jiat0218@gmail.com>
656 Date: 2023-09-12 22:34:06 +0800
658 CMake: Fix unconditionally defining HAVE_CLOCK_MONOTONIC.
660 If HAVE_CLOCK_GETTIME was defined, then HAVE_CLOCK_MONOTONIC was always
661 added as a compile definition even if the check for it failed.
663 CMakeLists.txt | 8 +++-----
664 1 file changed, 3 insertions(+), 5 deletions(-)
666 commit 1f6e7c68fbdeeaa9482fc77de090be63d90912fd
667 Author: Lasse Collin <lasse.collin@tukaani.org>
668 Date: 2023-08-31 19:50:05 +0300
670 xz: Refactor thousand separator detection and disable it on MSVC.
672 Now the two variations of the format strings are created with
673 a macro, and the whole detection code can be easily disabled
674 on platforms where thousand separator formatting is known to
675 not work (MSVC has no support, and on DJGPP 2.05 it can have
676 problems in some cases).
678 src/xz/util.c | 89 ++++++++++++++++++++++++++++++-----------------------------
679 1 file changed, 45 insertions(+), 44 deletions(-)
681 commit ef71f83973a20cc28a3221f85681922026ea33f5
682 Author: Lasse Collin <lasse.collin@tukaani.org>
683 Date: 2023-08-31 18:14:43 +0300
685 xz: Fix a too relaxed assertion and remove uses of SSIZE_MAX.
687 SSIZE_MAX isn't readily available on MSVC. Removing it means
688 that there is one thing less to worry when porting to MSVC.
690 src/xz/file_io.c | 5 ++---
691 src/xz/file_io.h | 4 ++--
692 2 files changed, 4 insertions(+), 5 deletions(-)
694 commit cf8ba7c3a89e37736b926dfbe85dffeff725db47
695 Author: Jia Tan <jiat0218@gmail.com>
696 Date: 2023-08-28 23:14:45 +0800
698 Tests: Improve invalid unpadded size check in test_lzma_index_append().
700 This check was extended to test the code added to fix a failing assert
701 in 68bda971bb8b666a009331455fcedb4e18d837a4.
703 tests/test_index.c | 26 +++++++++++++++++++++++---
704 1 file changed, 23 insertions(+), 3 deletions(-)
706 commit 4a4180ce74788e97e90b9aab579bfd7c6dce3f59
707 Author: Jia Tan <jiat0218@gmail.com>
708 Date: 2023-08-28 21:54:41 +0800
710 Tests: Improve comments in test_index.c.
712 tests/test_index.c | 6 +++---
713 1 file changed, 3 insertions(+), 3 deletions(-)
715 commit 4b23b84b89e39a5117e16f66c3b01db4f08ed3e7
716 Author: Jia Tan <jiat0218@gmail.com>
717 Date: 2023-08-28 21:52:54 +0800
722 1 file changed, 1 insertion(+)
724 commit 773f1e8622cb1465df528cb16a749517650acd93
725 Author: Jia Tan <jiat0218@gmail.com>
726 Date: 2023-08-28 21:50:16 +0800
728 liblzma: Update assert in vli_ceil4().
730 The argument to vli_ceil4() should always guarantee the return value
731 is also a valid lzma_vli. Thus the highest three valid lzma_vli values
732 are invalid arguments. All uses of the function ensure this so the
733 assert is updated to match this.
735 src/liblzma/common/index.h | 2 +-
736 1 file changed, 1 insertion(+), 1 deletion(-)
738 commit 68bda971bb8b666a009331455fcedb4e18d837a4
739 Author: Jia Tan <jiat0218@gmail.com>
740 Date: 2023-08-28 21:31:25 +0800
742 liblzma: Add overflow check for Unpadded size in lzma_index_append().
744 This was not a security bug since there was no path to overflow
745 UINT64_MAX in lzma_index_append() or when it calls index_file_size().
746 The bug was discovered by a failing assert() in vli_ceil4() when called
747 from index_file_size() when unpadded_sum (the sum of the compressed size
748 of current Stream and the unpadded_size parameter) exceeds LZMA_VLI_MAX.
750 Previously, the unpadded_size parameter was checked to be not greater
751 than UNPADDED_SIZE_MAX, but no check was done once compressed_base was
754 This could not have caused an integer overflow in index_file_size() when
755 called by lzma_index_append(). The calculation for file_size breaks down
758 - Compressed base from all previous Streams
759 - 2 * LZMA_STREAM_HEADER_SIZE (size of the current Streams header and
761 - stream_padding (can be set by lzma_index_stream_padding())
762 - Compressed base from the current Stream
763 - Unpadded size (parameter to lzma_index_append())
765 The sum of everything except for Unpadded size must be less than
766 LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions
767 that can set these values including lzma_index_stream_padding(),
768 lzma_index_append(), and lzma_index_cat(). The maximum value for
769 Unpadded size is enforced by lzma_index_append() to be less than or
770 equal UNPADDED_SIZE_MAX. Thus, the sum cannot exceed UINT64_MAX since
771 LZMA_VLI_MAX is half of UINT64_MAX.
773 Thanks to Joona Kannisto for reporting this.
775 src/liblzma/common/index.c | 6 ++++++
776 1 file changed, 6 insertions(+)
778 commit b41bb79c602481d7ea93d65f5b3e3f08dc54233b
779 Author: Jia Tan <jiat0218@gmail.com>
780 Date: 2023-08-28 22:18:29 +0800
782 Translations: Update the Esperanto translation.
784 po/eo.po | 47 +++++++++++++++++++++++++++++------------------
785 1 file changed, 29 insertions(+), 18 deletions(-)
787 commit 6614e6d4bf8e2b5af6eb73930148e0ffc8d2265a
788 Author: Jia Tan <jiat0218@gmail.com>
789 Date: 2023-08-09 20:55:36 +0800
791 Docs: Update INSTALL for --enable-threads method win95.
793 The Autotools build allows win95 threads and --enable-small together now
794 if the compiler supports __attribute__((__constructor__)).
797 1 file changed, 4 insertions(+), 2 deletions(-)
799 commit bfb623ad96fa6f1dbc0c560403c4296e3c8e26c9
800 Author: Jia Tan <jiat0218@gmail.com>
801 Date: 2023-08-09 20:54:15 +0800
803 CMake: Conditionally allow win95 threads and --enable-small.
805 CMakeLists.txt | 27 +++++++++++++++++++--------
806 1 file changed, 19 insertions(+), 8 deletions(-)
808 commit e919ebb29ac9f5270cd7176a39d0d3b4cea875a9
809 Author: Jia Tan <jiat0218@gmail.com>
810 Date: 2023-08-09 20:35:16 +0800
812 Build: Conditionally allow win95 threads and --enable-small.
814 When the compiler supports __attribute__((__constructor__))
815 mythread_once() is never used, even with --enable-small. A configuration
816 with win95 threads and --enable-small will compile and be thread safe so
819 This isn't a very common configuration since MSVC does not support
820 __attribute__((__constructor__)), but MINGW32 and CLANG32 environments
821 for MSYS2 can use win95 threads and have
822 __attribute__((__constructor__)) support.
824 configure.ac | 21 +++++++++++++--------
825 1 file changed, 13 insertions(+), 8 deletions(-)
827 commit c0c0cd4a483a672b66a13761583bc4f84d86d501
828 Author: Jamaika1 <lukaszcz18@wp.pl>
829 Date: 2023-08-08 14:07:59 +0200
831 mythread.h: Fix typo error in Vista threads mythread_once().
833 The "once_" variable was accidentally referred to as just "once". This
834 prevented building with Vista threads when
835 HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR was not defined.
837 src/common/mythread.h | 2 +-
838 1 file changed, 1 insertion(+), 1 deletion(-)
840 commit d93fbefcc48a8737fdf5678ce66d1c1d605752a0
841 Author: Jia Tan <jiat0218@gmail.com>
842 Date: 2023-08-03 20:10:21 +0800
844 Tests: Style fixes to test_lzip_decoder.c.
846 tests/test_lzip_decoder.c | 36 ++++++++++++++++++++++++------------
847 1 file changed, 24 insertions(+), 12 deletions(-)
849 commit 65981d8e45741fd1502e007609469e1d60312e69
850 Author: Jia Tan <jiat0218@gmail.com>
851 Date: 2023-08-03 15:56:20 +0800
853 Translations: Update the Chinese (simplified) translation.
856 1 file changed, 1 insertion(+), 1 deletion(-)
858 commit a108ed589171d683c34238a87e358b87f69e39a0
859 Author: Lasse Collin <lasse.collin@tukaani.org>
860 Date: 2023-08-02 17:15:12 +0300
862 xz: Omit an empty paragraph on the man page.
865 1 file changed, 1 deletion(-)
867 commit 03c51c5c08fe3579d8bbc8eea8251a1128001330
868 Author: Jia Tan <jiat0218@gmail.com>
869 Date: 2023-08-02 20:32:20 +0800
871 Bump version and soname for 5.4.4.
873 src/liblzma/Makefile.am | 2 +-
874 src/liblzma/api/lzma/version.h | 2 +-
875 2 files changed, 2 insertions(+), 2 deletions(-)
877 commit d7fa3f1b58a77f79b1a4e12452418b5555632e18
878 Author: Jia Tan <jiat0218@gmail.com>
879 Date: 2023-08-02 20:30:07 +0800
883 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
884 1 file changed, 43 insertions(+)
886 commit 6a1093c0004c42eeaef312456c295671496dd67a
887 Author: Lasse Collin <lasse.collin@tukaani.org>
888 Date: 2023-08-02 15:19:43 +0300
890 build-aux/manconv.sh: Fix US-ASCII and UTF-8 output.
892 groff defaults to SGR escapes. Using -P-c passes -c to grotty
893 which restores the old behavior. Perhaps there is a better way to
894 get pure plain text output but this works for now.
896 build-aux/manconv.sh | 4 ++--
897 1 file changed, 2 insertions(+), 2 deletions(-)
899 commit f6f9f5651a7e2d89f588981533155ab850e063f7
900 Author: Lasse Collin <lasse.collin@tukaani.org>
901 Date: 2023-08-01 19:10:43 +0300
906 1 file changed, 1 insertion(+)
908 commit 0dd83ba8767dad722e0f0f94e0e4146e290a28cb
909 Author: Lasse Collin <lasse.collin@tukaani.org>
910 Date: 2023-08-01 18:22:24 +0300
915 1 file changed, 1 insertion(+)
917 commit 4170a80785cc69edfc5fdfe498bed5f40db6a7ef
918 Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com>
919 Date: 2023-08-01 18:17:17 +0300
921 mythread.h: Disable signal functions in builds targeting Wasm + WASI.
923 signal.h in WASI SDK doesn't currently provide sigprocmask()
924 or sigset_t. liblzma doesn't need them so this change makes
925 liblzma and xzdec build against WASI SDK. xz doesn't build yet
926 and the tests don't either as tuktest needs setjmp() which
927 isn't (yet?) implemented in WASI SDK.
929 Closes: https://github.com/tukaani-project/xz/pull/57
930 See also: https://github.com/tukaani-project/xz/pull/56
932 (The original commit was edited a little by Lasse Collin.)
934 src/common/mythread.h | 2 +-
935 1 file changed, 1 insertion(+), 1 deletion(-)
937 commit 0db6fbe0be1545a4f25fcd6993371155b37bbb26
938 Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com>
939 Date: 2023-07-31 14:02:21 +0200
941 Docs: Fix typos found by codespell
943 CMakeLists.txt | 4 ++--
946 src/liblzma/api/lzma/container.h | 4 ++--
947 src/liblzma/api/lzma/filter.h | 2 +-
948 src/liblzma/api/lzma/lzma12.h | 4 ++--
949 src/liblzma/common/block_buffer_encoder.c | 2 +-
950 src/liblzma/common/common.h | 2 +-
951 src/liblzma/common/file_info.c | 2 +-
952 src/liblzma/common/lzip_decoder.c | 2 +-
953 src/liblzma/common/stream_decoder_mt.c | 8 ++++----
954 src/liblzma/common/string_conversion.c | 6 +++---
955 src/liblzma/lz/lz_encoder.h | 2 +-
956 src/liblzma/lzma/lzma_encoder.c | 4 ++--
957 src/xz/hardware.c | 4 ++--
958 tests/test_filter_flags.c | 4 ++--
959 tests/test_index.c | 2 +-
960 tests/test_vli.c | 2 +-
961 18 files changed, 29 insertions(+), 29 deletions(-)
963 commit 84a3a1f4e4f146b3b5fa73fe708cacb0d9f829f3
964 Author: Jia Tan <jiat0218@gmail.com>
965 Date: 2023-07-26 20:26:23 +0800
970 1 file changed, 4 insertions(+)
972 commit 962b3d41e0c27355ba3052ef7b7d9a887de807e5
973 Author: Jia Tan <jiat0218@gmail.com>
974 Date: 2023-07-28 22:03:08 +0800
976 CMake: Conditionally allow the creation of broken symlinks.
978 The CMake build will try to create broken symlinks on Unix and Unix-like
979 platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create
980 broken symlinks. The value of the CYGWIN or MSYS environment variables
981 determine if broken symlinks are valid.
983 The default for MSYS2 does not allow for broken symlinks, so the CMake
984 build has been broken for MSYS2 since commit
985 80a1a8bb838842a2be343bd88ad1462c21c5e2c9.
987 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
988 1 file changed, 75 insertions(+), 7 deletions(-)
990 commit 19899340cf74d98304f9f5b726c72e85c7017d72
991 Author: Jia Tan <jiat0218@gmail.com>
992 Date: 2023-07-24 21:43:44 +0800
994 liblzma: Prevent an empty translation unit in Windows builds.
996 To workaround Automake lacking Windows resource compiler support, an
997 empty source file is compiled to overwrite the resource files for static
998 library builds. Translation units without an external declaration are
999 not allowed by the C standard and result in a warning when used with
1000 -Wempty-translation-unit (Clang) or -pedantic (GCC).
1002 src/liblzma/Makefile.am | 6 +++++-
1003 1 file changed, 5 insertions(+), 1 deletion(-)
1005 commit ef7fbe83937abd7f55f1637c1d08b559f1d3d6cc
1006 Author: Jia Tan <jiat0218@gmail.com>
1007 Date: 2023-07-21 18:05:44 +0800
1009 Tests: Skip .lz files in test_files.sh if not configured.
1011 Previously if the lzip decoder was not configured then test_files.sh
1012 would pass the lzip tests instead of skipping them.
1014 tests/test_files.sh | 2 +-
1015 1 file changed, 1 insertion(+), 1 deletion(-)
1017 commit e49815ba7aa610b72e8724025eceee23c27e7b23
1018 Author: Jia Tan <jiat0218@gmail.com>
1019 Date: 2023-07-20 22:11:13 +0800
1021 Tests: Add ARM64 filter test to test_compress.sh.
1023 tests/test_compress.sh | 1 +
1024 1 file changed, 1 insertion(+)
1026 commit db5b57b827c2b084586c51da1b8a3ab0984bdb40
1027 Author: Jia Tan <jiat0218@gmail.com>
1028 Date: 2023-07-22 18:37:56 +0800
1030 Translations: Update the Vietnamese translation.
1032 po/vi.po | 45 ++++++++++++++++++++++++++++-----------------
1033 1 file changed, 28 insertions(+), 17 deletions(-)
1035 commit e6ba5014081c98cb068253b3e5f9e372dd157f3c
1036 Author: Jia Tan <jiat0218@gmail.com>
1037 Date: 2023-07-20 20:30:05 +0800
1039 Translations: Update the Croatian translation.
1041 po/hr.po | 49 ++++++++++++++++++++++++++++++-------------------
1042 1 file changed, 30 insertions(+), 19 deletions(-)
1044 commit 82657a1f10a25050a3e9c246c41deb785cccba3a
1045 Author: Jia Tan <jiat0218@gmail.com>
1046 Date: 2023-07-20 20:28:32 +0800
1048 Translations: Update the Korean man page translations.
1050 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------
1051 1 file changed, 629 insertions(+), 626 deletions(-)
1053 commit fab35907d13efbe7c457e00a310123335d7bae3e
1054 Author: Jia Tan <jiat0218@gmail.com>
1055 Date: 2023-07-20 20:25:24 +0800
1057 Translations: Update the Korean translation.
1059 po/ko.po | 45 ++++++++++++++++++++++++++++-----------------
1060 1 file changed, 28 insertions(+), 17 deletions(-)
1062 commit f530fe1964c34797fa3b775ec5804d68007c1579
1063 Author: Jia Tan <jiat0218@gmail.com>
1064 Date: 2023-07-20 20:24:05 +0800
1066 Translations: Update the Polish translation.
1068 po/pl.po | 47 +++++++++++++++++++++++++++++------------------
1069 1 file changed, 29 insertions(+), 18 deletions(-)
1071 commit 10b3500cc2617aabdbc802a63164ce0a3683ad2b
1072 Author: Jia Tan <jiat0218@gmail.com>
1073 Date: 2023-07-20 20:22:23 +0800
1075 Translations: Update the German man page translations.
1077 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------
1078 1 file changed, 629 insertions(+), 626 deletions(-)
1080 commit 3d14e8a34dba176f975326924ae28a3ab5fee165
1081 Author: Jia Tan <jiat0218@gmail.com>
1082 Date: 2023-07-20 20:18:44 +0800
1084 Translations: Update the German translation.
1086 po/de.po | 47 +++++++++++++++++++++++++++++------------------
1087 1 file changed, 29 insertions(+), 18 deletions(-)
1089 commit bdcc180a2da15039c47455c1cafd1ce9aff442e4
1090 Author: Jia Tan <jiat0218@gmail.com>
1091 Date: 2023-07-20 20:17:10 +0800
1093 Translations: Update the Chinese (simplified) translation.
1095 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------
1096 1 file changed, 29 insertions(+), 18 deletions(-)
1098 commit 844240350d33cb46ba8827b74dc8758e2abed9e5
1099 Author: Jia Tan <jiat0218@gmail.com>
1100 Date: 2023-07-20 20:15:47 +0800
1102 Translations: Update the Swedish translation.
1104 po/sv.po | 47 +++++++++++++++++++++++++++++------------------
1105 1 file changed, 29 insertions(+), 18 deletions(-)
1107 commit bdc7952bcfbc20c134f723ff5cbf84ab690fb4fc
1108 Author: Jia Tan <jiat0218@gmail.com>
1109 Date: 2023-07-20 20:14:00 +0800
1111 Translations: Update the Ukrainian man page translations.
1113 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------
1114 1 file changed, 628 insertions(+), 625 deletions(-)
1116 commit 143396e070c8d8afb56e3a5f688b214222cf71e0
1117 Author: Jia Tan <jiat0218@gmail.com>
1118 Date: 2023-07-20 20:09:15 +0800
1120 Translations: Update the Ukrainian translation.
1122 po/uk.po | 45 ++++++++++++++++++++++++++++-----------------
1123 1 file changed, 28 insertions(+), 17 deletions(-)
1125 commit 1b8146d64eaac51b40079f5788b85c1eb79e35de
1126 Author: Jia Tan <jiat0218@gmail.com>
1127 Date: 2023-07-20 20:06:57 +0800
1129 Translations: Update the Spanish translation.
1131 po/es.po | 47 +++++++++++++++++++++++++++++------------------
1132 1 file changed, 29 insertions(+), 18 deletions(-)
1134 commit f947ce09d79ef8fa6549d350c4d72e4a8a9fa697
1135 Author: Jia Tan <jiat0218@gmail.com>
1136 Date: 2023-07-20 20:05:19 +0800
1138 Translations: Update the Romanian translation.
1140 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------
1141 1 file changed, 30 insertions(+), 18 deletions(-)
1143 commit f681301a368def3f597a7c7bea7cb3f7a2f933e7
1144 Author: Jia Tan <jiat0218@gmail.com>
1145 Date: 2023-07-20 20:02:56 +0800
1147 Translations: Update the Romanian man page translations.
1149 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------
1150 1 file changed, 629 insertions(+), 625 deletions(-)
1152 commit 8bc3146c6be920b56283f4ee846456cb34ae4b6f
1153 Author: Jia Tan <jiat0218@gmail.com>
1154 Date: 2023-07-13 21:26:47 +0800
1156 xz: Update man page Authors and date.
1158 src/xz/xz.1 | 5 +++--
1159 1 file changed, 3 insertions(+), 2 deletions(-)
1161 commit c2905540ef905412b54c76488758712d3e2a0f9d
1162 Author: Jia Tan <jiat0218@gmail.com>
1163 Date: 2023-07-18 23:19:09 +0800
1165 xz: Slight reword in xz man page for consistency.
1167 Changed will print => prints in xz --robot --version description to
1168 match --robot --info-memory description.
1171 1 file changed, 1 insertion(+), 1 deletion(-)
1173 commit 2600d3352449faf57d9cb3fa00cbe40548a1310f
1174 Author: Jia Tan <jiat0218@gmail.com>
1175 Date: 2023-07-18 22:49:57 +0800
1177 liblzma: Improve comment in string_conversion.c.
1179 The comment used "flag" when referring to decoder options. Just
1180 referring to them as options is more clear and consistent.
1182 src/liblzma/common/string_conversion.c | 4 ++--
1183 1 file changed, 2 insertions(+), 2 deletions(-)
1185 commit 98fc14541eec3e1dcf694075c8533f19a3cee552
1186 Author: Jia Tan <jiat0218@gmail.com>
1187 Date: 2023-05-13 21:21:54 +0800
1189 liblzma: Reword lzma_str_list_filters() documentation.
1191 Reword "options required" to "options read". The previous wording
1192 may have suggested that the options listed were all required when
1193 the filters are used for encoding or decoding. Now it should be
1194 more clear that the options listed are the ones relevant for
1195 encoding or decoding.
1197 src/liblzma/api/lzma/filter.h | 2 +-
1198 1 file changed, 1 insertion(+), 1 deletion(-)
1200 commit 1ac79b4cbaecf3f4930a5d8ce6f7e1f2b63c2a01
1201 Author: Lasse Collin <lasse.collin@tukaani.org>
1202 Date: 2023-07-18 17:37:33 +0300
1204 xz: Translate the second "%s: " in message.c since French needs "%s : ".
1206 This string is used to print a filename when using "xz -v" and
1207 stderr isn't a terminal.
1209 src/xz/message.c | 2 +-
1210 1 file changed, 1 insertion(+), 1 deletion(-)
1212 commit 97851be2c6c64494f23c3a735601c13d4387820b
1213 Author: Lasse Collin <lasse.collin@tukaani.org>
1214 Date: 2023-07-18 14:35:33 +0300
1216 xz: Make "%s: %s" translatable because French needs "%s : %s".
1218 src/xz/args.c | 5 ++++-
1219 src/xz/coder.c | 8 ++++----
1220 src/xz/file_io.c | 8 ++++----
1221 src/xz/list.c | 11 ++++++-----
1222 4 files changed, 18 insertions(+), 14 deletions(-)
1224 commit b406828a6dfd3caa4f77efe3ff3e3eea263eee62
1225 Author: Lasse Collin <lasse.collin@tukaani.org>
1226 Date: 2023-07-18 13:57:54 +0300
1228 liblzma: Tweak #if condition in memcmplen.h.
1230 Maybe ICC always #defines _MSC_VER on Windows but now
1231 it's very clear which code will get used.
1233 src/liblzma/common/memcmplen.h | 4 ++--
1234 1 file changed, 2 insertions(+), 2 deletions(-)
1236 commit ef4a07ad9434f81417395f6fe0bb331e027a703b
1237 Author: Lasse Collin <lasse.collin@tukaani.org>
1238 Date: 2023-07-18 13:49:43 +0300
1240 liblzma: Omit unnecessary parenthesis in a preprocessor directive.
1242 src/liblzma/common/memcmplen.h | 4 ++--
1243 1 file changed, 2 insertions(+), 2 deletions(-)
1245 commit 64ee0caaea06654b28afaee850fb187a11bf9cb2
1246 Author: Jia Tan <jiat0218@gmail.com>
1247 Date: 2023-06-28 20:22:38 +0800
1249 liblzma: Prevent warning for MSYS2 Windows build.
1251 In lzma_memcmplen(), the <intrin.h> header file is only included if
1252 _MSC_VER and _M_X64 are both defined but _BitScanForward64() was
1253 previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but
1254 not _MSC_VER so _BitScanForward64() was used without including
1257 Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as
1260 src/liblzma/common/memcmplen.h | 6 ++++--
1261 1 file changed, 4 insertions(+), 2 deletions(-)
1263 commit ba177057643dae6e9c167ee26471181c199c8a00
1264 Author: Jia Tan <jiat0218@gmail.com>
1265 Date: 2023-07-14 23:20:33 +0800
1267 Docs: Add a new section to INSTALL for Tests.
1269 The new Tests section describes basic information about the tests, how
1270 to run them, and important details when cross compiling. We have had a
1271 few questions about how to compile the tests without running them, so
1272 hopefully this information will help others with the same question in the
1275 Fixes: https://github.com/tukaani-project/xz/issues/54
1277 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++--------------
1278 1 file changed, 64 insertions(+), 17 deletions(-)
1280 commit 0745b900fafa5ac2c31e8ec3cfba3053457c8b1f
1281 Author: Jia Tan <jiat0218@gmail.com>
1282 Date: 2023-07-14 21:10:27 +0800
1284 Docs: Update README.
1286 This adds an entry to "Other implementations of the .xz format" for
1290 1 file changed, 4 insertions(+)
1292 commit c972d44103c4edf88e73917ef08bde69db9d06cb
1293 Author: Jia Tan <jiat0218@gmail.com>
1294 Date: 2023-07-18 13:27:46 +0300
1296 xz: Fix typo in man page.
1298 The Memory limit information section described three output
1299 columns when it actually has six. This was reworded to
1300 "multiple" to make it more future proof.
1303 1 file changed, 1 insertion(+), 1 deletion(-)
1305 commit 6e21f1b4e2c580b64d258e3b81ac9e44d53b9283
1306 Author: Jia Tan <jiat0218@gmail.com>
1307 Date: 2023-07-14 21:30:25 +0800
1309 Tests: Improve feature testing for skipping.
1311 Fixed a bug where test_compress_* would all fail if arm64 or armthumb
1312 filters were enabled for compression but arm was disabled. Since the
1313 grep tests only checked for "define HAVE_ENCODER_ARM", this would match
1314 on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.
1316 Now the config.h feature test requires " 1" at the end to prevent the
1317 prefix problem. have_feature() was also updated for this even though
1318 there were known current bugs affecting it. This is just in case future
1319 features have a similar prefix problem.
1321 tests/test_compress.sh | 4 ++--
1322 tests/test_files.sh | 2 +-
1323 2 files changed, 3 insertions(+), 3 deletions(-)
1325 commit 26c37d290c0884a4518a26b949575420a77fb938
1326 Author: Jia Tan <jiat0218@gmail.com>
1327 Date: 2023-07-10 20:56:28 +0800
1329 Translations: Update the Chinese (traditional) translation.
1331 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++--------------------------
1332 1 file changed, 377 insertions(+), 282 deletions(-)
1334 commit 2ec65181e28335692a3a4fac4fefc4303111d355
1335 Author: Jia Tan <jiat0218@gmail.com>
1336 Date: 2023-07-08 20:03:59 +0800
1338 Translations: Update the Vietnamese translation.
1340 po/vi.po | 620 +++++++++++++++++++++++++++++++++++----------------------------
1341 1 file changed, 349 insertions(+), 271 deletions(-)
1343 commit c44c7e7590db1b89c97e106f5c516bf69189e233
1344 Author: Jia Tan <jiat0218@gmail.com>
1345 Date: 2023-06-28 20:46:31 +0800
1347 Tests: Fix memory leaks in test_index.
1349 Several tests were missing calls to lzma_index_end() to clean up the
1350 lzma_index structs. The memory leaks were discovered by using
1351 -fsanitize=address with GCC.
1353 tests/test_index.c | 11 +++++++++++
1354 1 file changed, 11 insertions(+)
1356 commit b9499c94fccc03eba5311b5305f04149a7c5af65
1357 Author: Jia Tan <jiat0218@gmail.com>
1358 Date: 2023-06-28 20:43:29 +0800
1360 Tests: Fix memory leaks in test_block_header.
1362 test_block_header was not properly freeing the filter options between
1363 calls to lzma_block_header_decode(). The memory leaks were discovered by
1364 using -fsanitize=address with GCC.
1366 tests/test_block_header.c | 38 ++++++++++++++++++++++----------------
1367 1 file changed, 22 insertions(+), 16 deletions(-)
1369 commit 1155471651ad456c5f90aee6435931fae65682bf
1370 Author: Jia Tan <jiat0218@gmail.com>
1371 Date: 2023-06-28 20:31:11 +0800
1373 liblzma: Prevent uninitialzed warning in mt stream encoder.
1375 This change only impacts the compiler warning since it was impossible
1376 for the wait_abs struct in stream_encode_mt() to be used before it was
1377 initialized since mythread_condtime_set() will always be called before
1378 mythread_cond_timedwait().
1380 Since the mythread.h code is different between the POSIX and
1381 Windows versions, this warning was only present on Windows builds.
1383 Thanks to Arthur S for reporting the warning and providing an initial
1386 src/liblzma/common/stream_encoder_mt.c | 2 +-
1387 1 file changed, 1 insertion(+), 1 deletion(-)
1389 commit 62dd1c9bf0c66679ceeebc8b99bca136ca43bcb9
1390 Author: Jia Tan <jiat0218@gmail.com>
1391 Date: 2023-06-07 00:10:38 +0800
1396 1 file changed, 1 insertion(+)
1398 commit d04eb78ab3892d3678c180437dd66379efa051fd
1399 Author: Benjamin Buch <bebuch@users.noreply.github.com>
1400 Date: 2023-06-06 15:32:45 +0200
1402 CMake: Protects against double find_package
1404 Boost iostream uses `find_package` in quiet mode and then again uses
1405 `find_package` with required. This second call triggers a
1406 `add_library cannot create imported target "LibLZMA::LibLZMA"
1407 because another target with the same name already exists.`
1409 This can simply be fixed by skipping the alias part on secondary
1410 `find_package` runs.
1412 CMakeLists.txt | 16 +++++++++-------
1413 1 file changed, 9 insertions(+), 7 deletions(-)
1415 commit 12ea1fb29763dd72376aca73d69621aff01eaa7f
1416 Author: Jia Tan <jiat0218@gmail.com>
1417 Date: 2023-05-31 20:26:42 +0800
1419 Translations: Update the Esperanto translation.
1421 po/eo.po | 185 +++++++++++++++++++++++++++++++--------------------------------
1422 1 file changed, 92 insertions(+), 93 deletions(-)
1424 commit a4d45c07c1e4aa0ea9410b4eed7301c97e960319
1425 Author: Jia Tan <jiat0218@gmail.com>
1426 Date: 2023-05-31 20:25:00 +0800
1428 Translations: Update the Croatian translation.
1431 1 file changed, 1 insertion(+), 1 deletion(-)
1433 commit f51b7bcea6f948db9529b3e6d850e76a30cc0e96
1434 Author: Jia Tan <jiat0218@gmail.com>
1435 Date: 2023-05-31 20:15:53 +0800
1437 Translations: Update the Chinese (simplified) translation.
1439 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------
1440 1 file changed, 157 insertions(+), 160 deletions(-)
1442 commit d5b81c19a7594fbb913bb3450360bc2145f29568
1443 Author: Jia Tan <jiat0218@gmail.com>
1444 Date: 2023-05-17 23:12:13 +0800
1446 Translations: Update German translation of man pages.
1448 po4a/de.po | 52 ++++++++++++----------------------------------------
1449 1 file changed, 12 insertions(+), 40 deletions(-)
1451 commit 36860a3e30d5675b4dba3a343159458d8864bceb
1452 Author: Jia Tan <jiat0218@gmail.com>
1453 Date: 2023-05-17 23:09:18 +0800
1455 Translations: Update the German translation.
1457 po/de.po | 189 +++++++++++++++++++++++++++++++--------------------------------
1458 1 file changed, 94 insertions(+), 95 deletions(-)
1460 commit f05641ef0d4990c4c58f459039d412475b94b37d
1461 Author: Jia Tan <jiat0218@gmail.com>
1462 Date: 2023-05-17 20:30:01 +0800
1464 Translations: Update the Croatian translation.
1466 po/hr.po | 187 +++++++++++++++++++++++++++++++--------------------------------
1467 1 file changed, 93 insertions(+), 94 deletions(-)
1469 commit b852f6f11d43cafce871cd158c80488f86619a63
1470 Author: Jia Tan <jiat0218@gmail.com>
1471 Date: 2023-05-17 20:26:54 +0800
1473 Translations: Update Korean translation of man pages.
1475 po4a/ko.po | 3015 ++++++++++++------------------------------------------------
1476 1 file changed, 568 insertions(+), 2447 deletions(-)
1478 commit fdcb78fb6f5313eda363869690685471d7ab9731
1479 Author: Jia Tan <jiat0218@gmail.com>
1480 Date: 2023-05-17 20:13:01 +0800
1482 Translations: Update the Korean translation.
1484 po/ko.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1485 1 file changed, 158 insertions(+), 161 deletions(-)
1487 commit 9e39cebe3ccdd4bc320ce6e7eea989bdd167c8b2
1488 Author: Jia Tan <jiat0218@gmail.com>
1489 Date: 2023-05-16 23:49:09 +0800
1491 Translations: Update the Spanish translation.
1493 po/es.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1494 1 file changed, 158 insertions(+), 161 deletions(-)
1496 commit 7a578d1d8293fc1cf7c6f9df76bc6a0e55c51a14
1497 Author: Jia Tan <jiat0218@gmail.com>
1498 Date: 2023-05-16 23:47:23 +0800
1500 Translations: Update the Romanian translation.
1502 po/ro.po | 195 ++++++++++++++++++++++++++++++++-------------------------------
1503 1 file changed, 98 insertions(+), 97 deletions(-)
1505 commit 362320fea5383bae179763763625532bad6d10e8
1506 Author: Jia Tan <jiat0218@gmail.com>
1507 Date: 2023-05-16 23:45:43 +0800
1509 Translations: Update Romanian translation of man pages.
1511 po4a/ro.po | 19 ++++++++++---------
1512 1 file changed, 10 insertions(+), 9 deletions(-)
1514 commit 29c5a870be23d0a565b959404b34a8b1babef7df
1515 Author: Jia Tan <jiat0218@gmail.com>
1516 Date: 2023-05-16 23:43:51 +0800
1518 Translations: Update Ukrainian translation of man pages.
1520 po4a/uk.po | 12 ++++++------
1521 1 file changed, 6 insertions(+), 6 deletions(-)
1523 commit 5ee57572773207371712b1bbcd9b5b8c1baad2cc
1524 Author: Jia Tan <jiat0218@gmail.com>
1525 Date: 2023-05-16 23:37:54 +0800
1527 Translations: Update the Ukrainian translation.
1529 po/uk.po | 321 +++++++++++++++++++++++++++++++--------------------------------
1530 1 file changed, 159 insertions(+), 162 deletions(-)
1532 commit dfc257bdb224780d3c8cdeca5a8e52848b9adc0a
1533 Author: Jia Tan <jiat0218@gmail.com>
1534 Date: 2023-05-16 23:07:35 +0800
1536 Translations: Update the Polish translation.
1538 po/pl.po | 316 +++++++++++++++++++++++++++++++--------------------------------
1539 1 file changed, 155 insertions(+), 161 deletions(-)
1541 commit f6df4c4ab7378d2971ae1606f4eecc011ea5fc6d
1542 Author: Jia Tan <jiat0218@gmail.com>
1543 Date: 2023-05-16 22:52:14 +0800
1545 Translations: Update the Swedish translation.
1547 po/sv.po | 319 +++++++++++++++++++++++++++++++--------------------------------
1548 1 file changed, 158 insertions(+), 161 deletions(-)
1550 commit 25da22e0521ec698dae4eb5e994b4cd3f4708b60
1551 Author: Jia Tan <jiat0218@gmail.com>
1552 Date: 2023-05-16 21:21:38 +0800
1554 Translations: Update the Esperanto translation.
1556 po/eo.po | 34 +++++++++++++++++-----------------
1557 1 file changed, 17 insertions(+), 17 deletions(-)
1559 commit 4f57a9c9915b7b9267885cf9fca58e5c8208458d
1560 Author: Jia Tan <jiat0218@gmail.com>
1561 Date: 2023-05-11 23:49:23 +0800
1563 liblzma: Adds lzma_nothrow to MicroLZMA API functions.
1565 None of the liblzma functions may throw an exception, so this
1566 attribute should be applied to all liblzma API functions.
1568 src/liblzma/api/lzma/container.h | 5 +++--
1569 1 file changed, 3 insertions(+), 2 deletions(-)
1571 commit 238b4e5458b4bd2cadefb768b8ea7c6b70a191ac
1572 Author: Jia Tan <jiat0218@gmail.com>
1573 Date: 2023-05-04 20:38:52 +0800
1575 Translations: Update the Croatian translation.
1578 1 file changed, 3 insertions(+), 3 deletions(-)
1580 commit 0cee63c3c6c4f9084a5e7fa7c15a1863ac8e5ffc
1581 Author: Jia Tan <jiat0218@gmail.com>
1582 Date: 2023-05-04 19:50:42 +0800
1584 Bump version and soname for 5.4.3.
1586 src/liblzma/Makefile.am | 2 +-
1587 src/liblzma/api/lzma/version.h | 2 +-
1588 2 files changed, 2 insertions(+), 2 deletions(-)
1590 commit 01f937ea9a49005c5091c0165fa0c1e572dd1749
1591 Author: Jia Tan <jiat0218@gmail.com>
1592 Date: 2023-05-02 20:39:56 +0800
1596 NEWS | 10 ++++++++++
1597 1 file changed, 10 insertions(+)
1599 commit e9b9ea953179502d5245b4e6ca4f5ffe9d5797b1
1600 Author: Lasse Collin <lasse.collin@tukaani.org>
1601 Date: 2023-05-03 22:46:42 +0300
1603 tuklib_integer.h: Fix a recent copypaste error in Clang detection.
1605 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7.
1606 Also, this has >= instead of == since ints larger than 32 bits would
1607 work too even if not relevant in practice.
1609 src/common/tuklib_integer.h | 4 ++--
1610 1 file changed, 2 insertions(+), 2 deletions(-)
1612 commit be6e39a8622f0d905072874ec25b1ffd155b12e1
1613 Author: Jia Tan <jiat0218@gmail.com>
1614 Date: 2023-04-20 20:15:00 +0800
1619 1 file changed, 1 insertion(+)
1621 commit 9e343a46cf87a345799222c0b0b3a6f3358dde0c
1622 Author: Jia Tan <jiat0218@gmail.com>
1623 Date: 2023-04-19 22:22:16 +0800
1625 Windows: Include <intrin.h> when needed.
1627 Legacy Windows did not need to #include <intrin.h> to use the MSVC
1628 intrinsics. Newer versions likely just issue a warning, but the MSVC
1629 documentation says to include the header file for the intrinsics we use.
1631 GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are
1632 needed in tuklib_integer.h to only include <intrin.h> when it will is
1635 src/common/tuklib_integer.h | 6 ++++++
1636 src/liblzma/common/memcmplen.h | 10 ++++++++++
1637 2 files changed, 16 insertions(+)
1639 commit 12321a9390acc076b414035a46df9d7545ac379f
1640 Author: Jia Tan <jiat0218@gmail.com>
1641 Date: 2023-04-19 21:59:03 +0800
1643 tuklib_integer: Use __builtin_clz() with Clang.
1645 Clang has support for __builtin_clz(), but previously Clang would
1646 fallback to either the MSVC intrinsic or the regular C code. This was
1647 discovered due to a bug where a new version of Clang required the
1648 <intrin.h> header file in order to use the MSVC intrinsics.
1650 Thanks to Anton Kochkov for notifying us about the bug.
1652 src/common/tuklib_integer.h | 6 +++---
1653 1 file changed, 3 insertions(+), 3 deletions(-)
1655 commit d1f0e01c395960efd6c29ff144eda4f4c8c1c6d3
1656 Author: Lasse Collin <lasse.collin@tukaani.org>
1657 Date: 2023-04-14 18:42:33 +0300
1659 liblzma: Update project maintainers in lzma.h.
1661 AUTHORS was updated earlier, lzma.h was simply forgotten.
1663 src/liblzma/api/lzma.h | 2 +-
1664 1 file changed, 1 insertion(+), 1 deletion(-)
1666 commit 8204c5d1304e1e3b7487801b4acaf8e3179a6c52
1667 Author: Jia Tan <jiat0218@gmail.com>
1668 Date: 2023-04-13 20:45:19 +0800
1670 liblzma: Cleans up old commented out code.
1672 src/liblzma/common/alone_encoder.c | 11 -----------
1673 1 file changed, 11 deletions(-)
1675 commit 32980d1562bc031013306be1c787761fa63da87d
1676 Author: Jia Tan <jiat0218@gmail.com>
1677 Date: 2023-03-28 22:32:40 +0800
1679 CMake: Update liblzma-config.cmake generation.
1681 Now that the threading is configurable, the liblzma CMake package only
1682 needs the threading library when using POSIX threads.
1684 CMakeLists.txt | 33 ++++++++++++++++++++++-----------
1685 1 file changed, 22 insertions(+), 11 deletions(-)
1687 commit 023907faa965476fb921a6344253c50e0ba795f9
1688 Author: Jia Tan <jiat0218@gmail.com>
1689 Date: 2023-03-28 22:25:33 +0800
1691 CMake: Allows setting thread method.
1693 The thread method is now configurable for the CMake build. It matches
1694 the Autotools build by allowing ON (pick the best threading method),
1695 OFF (no threading), posix, win95, and vista. If both Windows and
1696 posix threading are both available, then ON will choose Windows
1697 threading. Windows threading will also not use:
1699 target_link_libraries(liblzma Threads::Threads)
1701 since on systems like MinGW-w64 it would link the posix threads
1704 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++----------------
1705 1 file changed, 104 insertions(+), 40 deletions(-)
1707 commit ba176d77cbb164b13006516660fc1ff6c59dedb5
1708 Author: Jia Tan <jiat0218@gmail.com>
1709 Date: 2023-03-24 20:05:59 +0800
1711 CMake: Only build xzdec if decoders are enabled.
1713 CMakeLists.txt | 2 +-
1714 1 file changed, 1 insertion(+), 1 deletion(-)
1716 commit c99d697df800e9bc47e09facf88bcfdb9e0264a5
1717 Author: Jia Tan <jiat0218@gmail.com>
1718 Date: 2023-03-22 15:42:04 +0800
1720 Build: Removes redundant check for LZMA1 filter support.
1722 src/liblzma/lzma/Makefile.inc | 5 +----
1723 1 file changed, 1 insertion(+), 4 deletions(-)
1725 commit 54a2fd8c850e626343b79c4cc8fcac2f638ec890
1726 Author: Lasse Collin <lasse.collin@tukaani.org>
1727 Date: 2023-03-23 15:14:29 +0200
1729 CMake: Bump maximum policy version to 3.26.
1731 It adds only one new policy related to FOLDERS which we don't use.
1732 This makes it clear that the code is compatible with the policies
1735 CMakeLists.txt | 2 +-
1736 1 file changed, 1 insertion(+), 1 deletion(-)
1738 commit 622d0fdc02d5f565c2872d79bc70c669c95c8284
1739 Author: Jia Tan <jiat0218@gmail.com>
1740 Date: 2023-03-21 23:36:00 +0800
1742 CMake: Conditionally build xz list.* files if decoders are enabled.
1744 CMakeLists.txt | 9 +++++++--
1745 1 file changed, 7 insertions(+), 2 deletions(-)
1747 commit 3e2dc523c596cd770a6a7c58cacc0d0d8761e853
1748 Author: Jia Tan <jiat0218@gmail.com>
1749 Date: 2023-02-25 11:46:50 +0800
1751 CMake: Allow configuring features as cache variables.
1753 This allows users to change the features they build either in
1754 CMakeCache.txt or by using a CMake GUI. The sources built for
1755 liblzma are affected by this too, so only the necessary files
1758 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++---------------
1759 1 file changed, 391 insertions(+), 137 deletions(-)
1761 commit 0c053f97337fa4ead77acefb577e8e86f8ef388d
1762 Author: Lasse Collin <lasse.collin@tukaani.org>
1763 Date: 2023-03-21 14:07:51 +0200
1765 Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69.
1767 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC
1768 but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler.
1770 configure.ac | 3 +++
1771 1 file changed, 3 insertions(+)
1773 commit 915d4f6058d52f84d2b58b0a5f3c8272eaa6c1bd
1774 Author: Lasse Collin <lasse.collin@tukaani.org>
1775 Date: 2023-03-21 14:04:37 +0200
1777 Build: configure.ac: Use AS_IF and AS_CASE where required.
1779 This makes no functional difference in the generated configure
1780 (at least with the Autotools versions I have installed) but this
1781 change might prevent future bugs like the one that was just
1782 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294.
1784 configure.ac | 30 +++++++++++++++---------------
1785 1 file changed, 15 insertions(+), 15 deletions(-)
1787 commit b848c039586ed2cddb6fb033680dac107cc5143f
1788 Author: Lasse Collin <lasse.collin@tukaani.org>
1789 Date: 2023-03-21 13:12:03 +0200
1794 1 file changed, 1 insertion(+)
1796 commit c775ba1602a74f29dbc2088bbe4d02c23fc32ba1
1797 Author: Lasse Collin <lasse.collin@tukaani.org>
1798 Date: 2023-03-21 13:11:49 +0200
1800 Build: Fix --disable-threads breaking the building of shared libs.
1802 This is broken in the releases 5.2.6 to 5.4.2. A workaround
1803 for these releases is to pass EGREP='grep -E' as an argument
1804 to configure in addition to --disable-threads.
1806 The problem appeared when m4/ax_pthread.m4 was updated in
1807 the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which
1808 introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls
1809 AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP
1810 but this was only executed if POSIX threads were enabled.
1811 Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf
1812 omits it as AC_PROG_EGREP has already been required earlier.
1813 Thus, if not using POSIX threads, the shell variable EGREP
1814 would be undefined in the Libtool code in configure.
1816 ax_pthread.m4 is fine. The bug was in configure.ac which called
1817 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
1818 ensures that all AC_REQUIREs get always run.
1820 Thanks to Frank Busse for reporting the bug.
1821 Fixes: https://github.com/tukaani-project/xz/issues/45
1823 configure.ac | 16 ++++++++--------
1824 1 file changed, 8 insertions(+), 8 deletions(-)
1826 commit 0673c9ec98b6bae12b33dc295564514aaa26e2fc
1827 Author: Lasse Collin <lasse.collin@tukaani.org>
1828 Date: 2023-03-19 22:45:59 +0200
1830 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.
1832 Thanks to Christian Hesse for reporting the issue.
1833 Fixes: https://github.com/tukaani-project/xz/issues/44
1835 src/liblzma/common/memcmplen.h | 3 ++-
1836 1 file changed, 2 insertions(+), 1 deletion(-)
1838 commit 6ca8046ecbc7a1c81ee08f544bfd1414819fb2e8
1839 Author: Jia Tan <jiat0218@gmail.com>
1840 Date: 2023-03-18 23:22:06 +0800
1842 Bump version and soname for 5.4.2.
1844 src/liblzma/Makefile.am | 2 +-
1845 src/liblzma/api/lzma/version.h | 2 +-
1846 2 files changed, 2 insertions(+), 2 deletions(-)
1848 commit ce4f246600db10e77fc93d492ea045b4c9830bc6
1849 Author: Jia Tan <jiat0218@gmail.com>
1850 Date: 2023-03-18 22:10:57 +0800
1854 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
1855 1 file changed, 48 insertions(+)
1857 commit 3634fe330788fc0df217acdb6581031a851600a3
1858 Author: Lasse Collin <lasse.collin@tukaani.org>
1859 Date: 2023-03-18 16:00:54 +0200
1861 Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3.
1863 COPYING.GPLv3 | 8 ++++----
1864 1 file changed, 4 insertions(+), 4 deletions(-)
1866 commit 97679d25ce7cb014328f1455bb338903c003d54f
1867 Author: Lasse Collin <lasse.collin@tukaani.org>
1868 Date: 2023-03-18 15:51:57 +0200
1870 Change a few HTTP URLs to HTTPS.
1872 The xz man page timestamp was intentionally left unchanged.
1877 dos/INSTALL.txt | 4 ++--
1878 src/liblzma/api/lzma.h | 8 ++++----
1879 src/liblzma/check/sha256.c | 2 +-
1881 windows/INSTALL-MinGW.txt | 10 +++++-----
1882 8 files changed, 19 insertions(+), 19 deletions(-)
1884 commit 01a67e89a56c3ebf5f6681bd06f0edc22a1ae594
1885 Author: Jia Tan <jiat0218@gmail.com>
1886 Date: 2023-03-18 00:40:28 +0800
1888 CMake: Fix typo in a comment.
1890 CMakeLists.txt | 2 +-
1891 1 file changed, 1 insertion(+), 1 deletion(-)
1893 commit 5dca3f5cbab31105196c89cd6df0a9bbc3307c05
1894 Author: Lasse Collin <lasse.collin@tukaani.org>
1895 Date: 2023-03-17 18:36:22 +0200
1897 Windows: build.bash: Copy liblzma API docs to the output package.
1899 windows/build.bash | 3 ++-
1900 1 file changed, 2 insertions(+), 1 deletion(-)
1902 commit ae252862b30b509ab88b2bbcaa08e8d51b57e928
1903 Author: Lasse Collin <lasse.collin@tukaani.org>
1904 Date: 2023-03-17 08:53:38 +0200
1906 Windows: Add microlzma_*.c to the VS project files.
1908 These should have been included in 5.3.2alpha already.
1910 windows/vs2013/liblzma.vcxproj | 2 ++
1911 windows/vs2013/liblzma_dll.vcxproj | 2 ++
1912 windows/vs2017/liblzma.vcxproj | 2 ++
1913 windows/vs2017/liblzma_dll.vcxproj | 2 ++
1914 windows/vs2019/liblzma.vcxproj | 2 ++
1915 windows/vs2019/liblzma_dll.vcxproj | 2 ++
1916 6 files changed, 12 insertions(+)
1918 commit 147d282cc3733e2723df82622b6540ddfb52635e
1919 Author: Lasse Collin <lasse.collin@tukaani.org>
1920 Date: 2023-03-17 08:43:51 +0200
1922 CMake: Add microlzma_*.c to the build.
1924 These should have been included in 5.3.2alpha already.
1926 CMakeLists.txt | 2 ++
1927 1 file changed, 2 insertions(+)
1929 commit 4523a5ee29f45c0256af67a15771bc8bbd25ba53
1930 Author: Lasse Collin <lasse.collin@tukaani.org>
1931 Date: 2023-03-17 08:41:36 +0200
1933 Build: Update comments about unaligned access to mention 64-bit.
1935 cmake/tuklib_integer.cmake | 7 +++----
1936 m4/tuklib_integer.m4 | 4 ++--
1937 2 files changed, 5 insertions(+), 6 deletions(-)
1939 commit 82aacb40367dc580b09c5a7b270f6c98b63e49b9
1940 Author: Lasse Collin <lasse.collin@tukaani.org>
1941 Date: 2023-03-17 00:02:30 +0200
1943 Tests: Update .gitignore.
1946 1 file changed, 2 insertions(+), 1 deletion(-)
1948 commit 5d022c24921eec938604a8cb10d70aa08dbd8575
1949 Author: Lasse Collin <lasse.collin@tukaani.org>
1950 Date: 2023-03-14 20:04:03 +0200
1952 po4a/update-po: Display the script name consistently in error messages.
1954 po4a/update-po | 2 +-
1955 1 file changed, 1 insertion(+), 1 deletion(-)
1957 commit 896295117324f323c0b8db6a31ad6ebfaa88793d
1958 Author: Jia Tan <jiat0218@gmail.com>
1959 Date: 2023-03-17 01:30:36 +0800
1961 Doc: Rename Doxygen HTML doc directory name liblzma => api.
1963 When the docs are installed, calling the directory "liblzma" is
1964 confusing since multiple other files in the doc directory are for
1965 liblzma. This should also make it more natural for distros when they
1966 package the documentation.
1969 Makefile.am | 18 +++++++++---------
1971 doxygen/Doxyfile | 2 +-
1972 doxygen/update-doxygen | 18 +++++++++---------
1973 5 files changed, 22 insertions(+), 22 deletions(-)
1975 commit 94097157fae308b2c1a5edb4e8597c68b45eeaea
1976 Author: Jia Tan <jiat0218@gmail.com>
1977 Date: 2023-03-16 22:07:15 +0800
1979 liblzma: Remove note from lzma_options_bcj about the ARM64 exception.
1981 This was left in by mistake since an early version of the ARM64 filter
1982 used a different struct for its options.
1984 src/liblzma/api/lzma/bcj.h | 2 +-
1985 1 file changed, 1 insertion(+), 1 deletion(-)
1987 commit da16d0b73b79d7785ece6f78a577fadd1fb59d0e
1988 Author: Lasse Collin <lasse.collin@tukaani.org>
1989 Date: 2023-03-15 19:19:13 +0200
1991 COPYING: Add a note about the included Doxygen-generated HTML.
1993 COPYING | 11 +++++++++++
1994 1 file changed, 11 insertions(+)
1996 commit e57c74f9ef19201f72c106f2c347596f40229936
1997 Author: Jia Tan <jiat0218@gmail.com>
1998 Date: 2023-03-16 21:41:09 +0800
2000 Doc: Update PACKAGERS with details about liblzma API docs install.
2002 PACKAGERS | 22 ++++++++++++++++------
2003 1 file changed, 16 insertions(+), 6 deletions(-)
2005 commit 7e2fa48bb73edb25457232e2e62a4f81c6b95281
2006 Author: Jia Tan <jiat0218@gmail.com>
2007 Date: 2023-03-16 21:38:32 +0800
2009 liblzma: Add set lzma.h as the main page for Doxygen documentation.
2011 The \mainpage command is used in the first block of comments in lzma.h.
2012 This changes the previously nearly empty index.html to use the first
2013 comment block in lzma.h for its contents.
2015 lzma.h is no longer documented separately, but this is for the better
2016 since lzma.h only defined a few macros that users do not need to use.
2017 The individual API header files all have a disclaimer that they should
2018 not be #included directly, so there should be no confusion on the fact
2019 that lzma.h should be the only header used by applications.
2021 Additionally, the note "See ../lzma.h for information about liblzma as
2022 a whole." was removed since lzma.h is now the main page of the
2023 generated HTML and does not have its own page anymore. So it would be
2024 confusing in the HTML version and was only a "nice to have" when
2025 browsing the source files.
2027 src/liblzma/api/lzma.h | 1 +
2028 src/liblzma/api/lzma/base.h | 2 --
2029 src/liblzma/api/lzma/bcj.h | 2 --
2030 src/liblzma/api/lzma/block.h | 2 --
2031 src/liblzma/api/lzma/check.h | 2 --
2032 src/liblzma/api/lzma/container.h | 2 --
2033 src/liblzma/api/lzma/delta.h | 2 --
2034 src/liblzma/api/lzma/filter.h | 2 --
2035 src/liblzma/api/lzma/hardware.h | 2 --
2036 src/liblzma/api/lzma/index.h | 2 --
2037 src/liblzma/api/lzma/index_hash.h | 4 +---
2038 src/liblzma/api/lzma/lzma12.h | 2 --
2039 src/liblzma/api/lzma/stream_flags.h | 2 --
2040 src/liblzma/api/lzma/version.h | 2 --
2041 src/liblzma/api/lzma/vli.h | 2 --
2042 15 files changed, 2 insertions(+), 29 deletions(-)
2044 commit d42977c7acfdf7fd9acc8803cf411eca7dc10478
2045 Author: Jia Tan <jiat0218@gmail.com>
2046 Date: 2023-03-16 21:37:32 +0800
2048 Build: Generate doxygen documentation in autogen.sh.
2050 Another command line option (--no-doxygen) was added to disable
2051 creating the doxygen documenation in cases where it not wanted or
2052 if the doxygen tool is not installed.
2054 autogen.sh | 35 +++++++++++++++++++++++++++++------
2055 1 file changed, 29 insertions(+), 6 deletions(-)
2057 commit 8fc712fcf41d821069c670f22b8bf628e7a4a877
2058 Author: Jia Tan <jiat0218@gmail.com>
2059 Date: 2023-03-16 21:35:55 +0800
2061 Build: Create doxygen/update-doxygen script.
2063 This is a helper script to generate the Doxygen documentation. It can be
2064 run in 'liblzma' or 'internal' mode by setting the first argument. It
2065 will default to 'liblzma' mode and only generate documentation for the
2066 liblzma API header files.
2068 The helper script will be run during the custom mydist hook when we
2069 create releases. This hook already alters the source directory, so its
2070 fine to do it here too. This way, we can include the Doxygen generated
2071 files in the distrubtion and when installing.
2073 In 'liblzma' mode, the JavaScript is stripped from the .html files and
2074 the .js files are removed. This avoids license hassle from jQuery and
2075 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form.
2078 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++
2079 2 files changed, 112 insertions(+)
2081 commit 77d2c025d19fbac7277c63239cfb1338f02c66c0
2082 Author: Jia Tan <jiat0218@gmail.com>
2083 Date: 2023-03-16 21:34:36 +0800
2085 Build: Install Doxygen docs and include in distribution if generated.
2087 Added a install-data-local target to install the Doxygen documentation
2088 only when it has been generated. In order to correctly remove the docs,
2089 a corresponding uninstall-local target was added.
2091 If the doxygen docs exist in the source tree, they will also be included
2092 in the distribution now too.
2094 Makefile.am | 18 ++++++++++++++++++
2095 1 file changed, 18 insertions(+)
2097 commit 9af8f6f947a43974a4ff025f4c896f2fb4c91b4f
2098 Author: Jia Tan <jiat0218@gmail.com>
2099 Date: 2023-01-03 20:37:30 +0800
2101 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile.
2103 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile
2104 can have the tags that need to be configured piped into the doxygen
2105 command through stdin with the overrides after Doxyfile's contents.
2107 Going forward, the documentation should be generated in two different
2108 modes: liblzma or internal.
2110 liblzma is useful for most users. It is the documentation for just
2111 the liblzma API header files. This is the default.
2113 internal is for people who want to understand how xz and liblzma work.
2114 It might be useful for people who want to contribute to the project.
2117 Doxyfile.in | 1234 -------------------------
2120 doxygen/Doxyfile | 2684 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2121 5 files changed, 2686 insertions(+), 1237 deletions(-)
2123 commit 1c558a26928b753fcf1c0d4bce9c0643285edd86
2124 Author: Jia Tan <jiat0218@gmail.com>
2125 Date: 2023-02-28 23:22:36 +0800
2127 Tests: Remove unused macros and functions.
2129 tests/tests.h | 75 -----------------------------------------------------------
2130 1 file changed, 75 deletions(-)
2132 commit 7479a69a45a1b8fdb9a209e11f247dce11ac1ba0
2133 Author: Jia Tan <jiat0218@gmail.com>
2134 Date: 2023-01-12 22:29:07 +0800
2136 Tests: Refactors existing lzma_index tests.
2138 Converts the existing lzma_index tests into tuktests and covers every
2139 API function from index.h except for lzma_file_info_decoder, which can
2140 be tested in the future.
2142 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++--------------
2143 1 file changed, 1492 insertions(+), 544 deletions(-)
2145 commit fd56d5353360279c10e8e5e05f5bc6ea03f64584
2146 Author: Lasse Collin <lasse.collin@tukaani.org>
2147 Date: 2023-03-07 19:59:23 +0200
2149 xz: Make Capsicum sandbox more strict with stdin and stdout.
2151 src/xz/file_io.c | 8 ++++++++
2152 1 file changed, 8 insertions(+)
2154 commit d1bdaaebc68cae7f0ba457fa990b520df2186fd1
2155 Author: Lasse Collin <lasse.collin@tukaani.org>
2156 Date: 2023-03-11 19:31:40 +0200
2158 xz: Don't fail if Capsicum is enabled but kernel doesn't support it.
2160 (This commit combines related commits from the master branch.)
2162 If Capsicum support is missing from the kernel or xz is being run
2163 in an emulator that lacks Capsicum suport, the syscalls will fail
2164 and set errno to ENOSYS. Previously xz would display and error and
2165 exit, making xz unusable. Now it will check for ENOSYS and run
2166 without sandbox support. Other tools like ssh behave similarly.
2168 Displaying a warning for missing Capsicum support was considered
2169 but such extra output would quickly become annoying. It would also
2170 break test_scripts.sh in "make check".
2172 Also move cap_enter() to be the first step instead of the last one.
2173 This matches the example in the cap_rights_limit(2) man page. With
2174 the current code it shouldn't make any practical difference though.
2176 Thanks to Xin Li for the bug report, suggesting a fix, and testing:
2177 https://github.com/tukaani-project/xz/pull/43
2179 Thanks to Jia Tan for most of the original commits.
2181 src/xz/file_io.c | 15 ++++++++++++---
2182 1 file changed, 12 insertions(+), 3 deletions(-)
2184 commit 5d351c69c19d212ddd2cf1f3bdb24900820c6776
2185 Author: Jia Tan <jiat0218@gmail.com>
2186 Date: 2023-02-04 21:06:35 +0800
2188 Build: Adjust CMake version search regex.
2190 Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH
2191 macros do not need to be on consecutive lines in version.h. They can be
2192 separated by more whitespace, comments, or even other content, as long
2193 as they appear in the proper order (major, minor, patch).
2195 CMakeLists.txt | 2 ++
2196 1 file changed, 2 insertions(+)
2198 commit b82d4831e3f2339c4cdbc47776c99462088c11b7
2199 Author: Jia Tan <jiat0218@gmail.com>
2200 Date: 2023-01-26 09:50:21 +0800
2202 liblzma: Improve documentation for version.h.
2204 Specified parameter and return values for API functions and documented
2205 a few more of the macros.
2207 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++-------
2208 1 file changed, 22 insertions(+), 7 deletions(-)
2210 commit 2caba3efe3e0c2d7c6dca00e22c56812326a34e6
2211 Author: Jia Tan <jiat0218@gmail.com>
2212 Date: 2023-02-24 23:46:23 +0800
2214 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h.
2216 lzma_lzma_preset() does not guarentee that the lzma_options_lzma are
2217 usable in an encoder even if it returns false (success). If liblzma
2218 is built with default configurations, then the options will always be
2219 usable. However if the match finders hc3, hc4, or bt4 are disabled, then
2220 the options may not be usable depending on the preset level requested.
2222 The documentation was updated to reflect this complexity, since this
2223 behavior was unclear before.
2225 src/liblzma/api/lzma/lzma12.h | 5 +++++
2226 1 file changed, 5 insertions(+)
2228 commit 594f904673ba55a833adfa60bbab6b60d4902d08
2229 Author: Lasse Collin <lasse.collin@tukaani.org>
2230 Date: 2023-02-27 18:38:35 +0200
2232 CMake: Require that the C compiler supports C99 or a newer standard.
2234 Thanks to autoantwort for reporting the issue and suggesting
2236 https://github.com/tukaani-project/xz/pull/42
2238 CMakeLists.txt | 8 ++++++++
2239 1 file changed, 8 insertions(+)
2241 commit 88101143cb774bca6b7006c8335b09dc3f334140
2242 Author: Jia Tan <jiat0218@gmail.com>
2243 Date: 2023-02-24 18:10:37 +0800
2245 Tests: Small tweak to test-vli.c.
2247 The static global variables can be disabled if encoders and decoders
2248 are not built. If they are not disabled and -Werror is used, it will
2249 cause an usused warning as an error.
2251 tests/test_vli.c | 2 ++
2252 1 file changed, 2 insertions(+)
2254 commit 4042dbf03a06e019ccdd1e9d1b94cf613d62d5a9
2255 Author: Jia Tan <jiat0218@gmail.com>
2256 Date: 2023-02-06 21:46:43 +0800
2258 liblzma: Replace '\n' -> newline in filter.h documentation.
2260 The '\n' renders as a newline when the comments are converted to html
2263 src/liblzma/api/lzma/filter.h | 2 +-
2264 1 file changed, 1 insertion(+), 1 deletion(-)
2266 commit 3971f5c5024750ce8286891c6f79ae1661047483
2267 Author: Jia Tan <jiat0218@gmail.com>
2268 Date: 2023-02-06 21:45:37 +0800
2270 liblzma: Shorten return description for two functions in filter.h.
2272 Shorten the description for lzma_raw_encoder_memusage() and
2273 lzma_raw_decoder_memusage().
2275 src/liblzma/api/lzma/filter.h | 8 ++------
2276 1 file changed, 2 insertions(+), 6 deletions(-)
2278 commit 5e61b39432752b6cd1a7b518f0f9e4f0c3f0f242
2279 Author: Jia Tan <jiat0218@gmail.com>
2280 Date: 2023-02-06 21:44:45 +0800
2282 liblzma: Reword a few lines in filter.h
2284 src/liblzma/api/lzma/filter.h | 10 +++++-----
2285 1 file changed, 5 insertions(+), 5 deletions(-)
2287 commit 8a53533869defa1191b41f176a0312cb53a139e2
2288 Author: Jia Tan <jiat0218@gmail.com>
2289 Date: 2023-02-06 21:35:06 +0800
2291 liblzma: Improve documentation in filter.h.
2293 All functions now explicitly specify parameter and return values.
2294 The notes and code annotations were moved before the parameter and
2295 return value descriptions for consistency.
2297 Also, the description above lzma_filter_encoder_is_supported() about
2298 not being able to list available filters was removed since
2299 lzma_str_list_filters() will do this.
2301 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++----------------
2302 1 file changed, 143 insertions(+), 83 deletions(-)
2304 commit 6d05b08b17ac8cb93165ee8f310fdd925b0b258f
2305 Author: Lasse Collin <lasse.collin@tukaani.org>
2306 Date: 2023-02-23 20:46:16 +0200
2311 1 file changed, 1 insertion(+)
2313 commit dfc9a54082e0fc7b3b796ea15336b5075acc79d5
2314 Author: Lasse Collin <lasse.collin@tukaani.org>
2315 Date: 2023-02-21 22:57:10 +0200
2317 liblzma: Avoid null pointer + 0 (undefined behavior in C).
2319 In the C99 and C17 standards, section 6.5.6 paragraph 8 means that
2320 adding 0 to a null pointer is undefined behavior. As of writing,
2321 "clang -fsanitize=undefined" (Clang 15) diagnoses this. However,
2322 I'm not aware of any compiler that would take advantage of this
2323 when optimizing (Clang 15 included). It's good to avoid this anyway
2324 since compilers might some day infer that pointer arithmetic implies
2325 that the pointer is not NULL. That is, the following foo() would then
2326 unconditionally return 0, even for foo(NULL, 0):
2328 void bar(char *a, char *b);
2330 int foo(char *a, size_t n)
2336 In contrast to C, C++ explicitly allows null pointer + 0. So if
2337 the above is compiled as C++ then there is no undefined behavior
2338 in the foo(NULL, 0) call.
2340 To me it seems that changing the C standard would be the sane
2341 thing to do (just add one sentence) as it would ensure that a huge
2342 amount of old code won't break in the future. Based on web searches
2343 it seems that a large number of codebases (where null pointer + 0
2344 occurs) are being fixed instead to be future-proof in case compilers
2345 will some day optimize based on it (like making the above foo(NULL, 0)
2346 return 0) which in the worst case will cause security bugs.
2348 Some projects don't plan to change it. For example, gnulib and thus
2349 many GNU tools currently require that null pointer + 0 is defined:
2351 https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html
2353 https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html
2355 In XZ Utils null pointer + 0 issue should be fixed after this
2356 commit. This adds a few if-statements and thus branches to avoid
2357 null pointer + 0. These check for size > 0 instead of ptr != NULL
2358 because this way bugs where size > 0 && ptr == NULL will likely
2359 get caught quickly. None of them are in hot spots so it shouldn't
2360 matter for performance.
2362 A little less readable version would be replacing
2368 offset != 0 ? ptr + offset : ptr
2370 or creating a macro for it:
2372 #define my_ptr_add(ptr, offset) \
2373 ((offset) != 0 ? ((ptr) + (offset)) : (ptr))
2375 Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1,
2376 Clang >= 7, and Clang-based ICX to optimize it to the very same code
2377 as ptr + offset. That is, it won't create a branch. So for hot code
2378 this could be a good solution to avoid null pointer + 0. Unfortunately
2379 other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a
2380 branch from my_ptr_add().
2382 Thanks to Marcin Kowalczyk for reporting the problem:
2383 https://github.com/tukaani-project/xz/issues/36
2385 src/liblzma/common/block_decoder.c | 5 ++++-
2386 src/liblzma/common/block_encoder.c | 7 +++++--
2387 src/liblzma/common/common.c | 20 ++++++++++++++------
2388 src/liblzma/common/index_decoder.c | 13 ++++++++++---
2389 src/liblzma/common/index_encoder.c | 11 +++++++++--
2390 src/liblzma/common/index_hash.c | 13 ++++++++++---
2391 src/liblzma/common/lzip_decoder.c | 6 +++++-
2392 src/liblzma/delta/delta_decoder.c | 7 ++++++-
2393 src/liblzma/delta/delta_encoder.c | 12 ++++++++++--
2394 src/liblzma/simple/simple_coder.c | 6 ++++--
2395 10 files changed, 77 insertions(+), 23 deletions(-)
2397 commit f6dce49cb656b358e2fb2a3032e35e20af34dc84
2398 Author: Jia Tan <jiat0218@gmail.com>
2399 Date: 2023-02-07 00:00:44 +0800
2401 liblzma: Adjust container.h for consistency with filter.h.
2403 src/liblzma/api/lzma/container.h | 20 +++++++++-----------
2404 1 file changed, 9 insertions(+), 11 deletions(-)
2406 commit 173d240bb4763aedc8c01df4d9c83e311d954c33
2407 Author: Jia Tan <jiat0218@gmail.com>
2408 Date: 2023-02-07 00:00:09 +0800
2410 liblzma: Fix small typos and reword a few things in filter.h.
2412 src/liblzma/api/lzma/container.h | 13 ++++++-------
2413 1 file changed, 6 insertions(+), 7 deletions(-)
2415 commit 17797bacde3f7264048ef0976c137a600148d6cf
2416 Author: Jia Tan <jiat0218@gmail.com>
2417 Date: 2023-02-06 23:42:08 +0800
2419 liblzma: Convert list of flags in lzma_mt to bulleted list.
2421 src/liblzma/api/lzma/container.h | 9 ++++++---
2422 1 file changed, 6 insertions(+), 3 deletions(-)
2424 commit 37da0e727161b401b8bfd8dccf163a4b2fc0460b
2425 Author: Jia Tan <jiat0218@gmail.com>
2426 Date: 2023-01-26 23:17:41 +0800
2428 liblzma: Fix typo in documentation in container.h
2430 lzma_microlzma_decoder -> lzma_microlzma_encoder
2432 src/liblzma/api/lzma/container.h | 2 +-
2433 1 file changed, 1 insertion(+), 1 deletion(-)
2435 commit b8331077c626e6bf14f4671d09b561146eaf816a
2436 Author: Jia Tan <jiat0218@gmail.com>
2437 Date: 2023-01-26 23:16:34 +0800
2439 liblzma: Improve documentation for container.h
2441 Standardizing each function to always specify parameters and return
2442 values. Also moved the parameters and return values to the end of each
2443 function description.
2445 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++--------------
2446 1 file changed, 93 insertions(+), 53 deletions(-)
2448 commit b9a3511bb61d3b6ce49abd33dce6155a573f5272
2449 Author: Jia Tan <jiat0218@gmail.com>
2450 Date: 2023-02-22 20:59:41 +0800
2452 CMake: Add LZIP decoder test to list of tests.
2454 CMakeLists.txt | 1 +
2455 1 file changed, 1 insertion(+)
2457 commit cd82ef2fb48b174c57cd03b84a9a0f978772cb89
2458 Author: Lasse Collin <lasse.collin@tukaani.org>
2459 Date: 2023-02-17 20:56:49 +0200
2464 1 file changed, 1 insertion(+)
2466 commit 076e911ba25cadf2cbdfbd0f65991a002e210c0b
2467 Author: Lasse Collin <lasse.collin@tukaani.org>
2468 Date: 2023-02-17 20:48:28 +0200
2470 Build: Use only the generic symbol versioning on MicroBlaze.
2472 On MicroBlaze, GCC 12 is broken in sense that
2473 __has_attribute(__symver__) returns true but it still doesn't
2474 support the __symver__ attribute even though the platform is ELF
2475 and symbol versioning is supported if using the traditional
2476 __asm__(".symver ...") method. Avoiding the traditional method is
2477 good because it breaks LTO (-flto) builds with GCC.
2479 See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
2481 For now the only extra symbols in liblzma_linux.map are the
2482 compatibility symbols with the patch that spread from RHEL/CentOS 7.
2483 These require the use of __symver__ attribute or __asm__(".symver ...")
2484 in the C code. Compatibility with the patch from CentOS 7 doesn't
2485 seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze
2486 instead. It doesn't require anything special in the C code and thus
2487 no LTO issues either.
2489 An alternative would be to detect support for __symver__
2490 attribute in configure.ac and CMakeLists.txt and fall back
2491 to __asm__(".symver ...") but then LTO would be silently broken
2492 on MicroBlaze. It sounds likely that MicroBlaze is a special
2493 case so let's treat it as a such because that is simpler. If
2494 a similar issue exists on some other platform too then hopefully
2495 someone will report it and this can be reconsidered.
2497 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should
2498 but perhaps CMake build of liblzma doesn't matter much on MicroBlaze.
2499 The problem breaks the build so it's easy to notice and can be fixed
2502 Thanks to Vincent Fazio for reporting the problem and proposing
2503 a patch (in the end that solution wasn't used):
2504 https://github.com/tukaani-project/xz/pull/32
2506 configure.ac | 12 ++++++++++--
2507 1 file changed, 10 insertions(+), 2 deletions(-)
2509 commit bc34e5ac9996667d2c1ec9a7895ec5931ac4caea
2510 Author: Lasse Collin <lasse.collin@tukaani.org>
2511 Date: 2023-02-16 21:09:00 +0200
2513 liblzma: Very minor API doc tweaks.
2515 Use "member" to refer to struct members as that's the term used
2518 Use lzma_options_delta.dist and such in docs so that in Doxygen's
2519 HTML output they will link to the doc of the struct member.
2521 Clean up a few trailing white spaces too.
2523 src/liblzma/api/lzma/block.h | 6 +++---
2524 src/liblzma/api/lzma/delta.h | 6 +++---
2525 src/liblzma/api/lzma/index.h | 10 +++++-----
2526 src/liblzma/api/lzma/stream_flags.h | 6 +++---
2527 4 files changed, 14 insertions(+), 14 deletions(-)
2529 commit d31fbd28be5b79eb682db50004b0fb7aad5299ec
2530 Author: Jia Tan <jiat0218@gmail.com>
2531 Date: 2023-02-17 00:54:33 +0800
2533 liblzma: Adjust spacing in doc headers in bcj.h.
2535 src/liblzma/api/lzma/bcj.h | 14 +++++++-------
2536 1 file changed, 7 insertions(+), 7 deletions(-)
2538 commit 701e9be6bede19771895f756082db0c017f86f07
2539 Author: Jia Tan <jiat0218@gmail.com>
2540 Date: 2023-02-17 00:44:44 +0800
2542 liblzma: Adjust documentation in bcj.h for consistent style.
2544 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++---------------------
2545 1 file changed, 22 insertions(+), 21 deletions(-)
2547 commit 762c4d0b62d2694cf3a01e030fdfe68e09e7b503
2548 Author: Jia Tan <jiat0218@gmail.com>
2549 Date: 2023-02-17 00:36:05 +0800
2551 liblzma: Rename field => member in documentation.
2553 Also adjusted preset value => preset level.
2555 src/liblzma/api/lzma/base.h | 18 +++++++--------
2556 src/liblzma/api/lzma/block.h | 44 ++++++++++++++++++-------------------
2557 src/liblzma/api/lzma/container.h | 26 +++++++++++-----------
2558 src/liblzma/api/lzma/delta.h | 12 +++++-----
2559 src/liblzma/api/lzma/index.h | 30 ++++++++++++-------------
2560 src/liblzma/api/lzma/lzma12.h | 28 +++++++++++------------
2561 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++--------------
2562 7 files changed, 95 insertions(+), 95 deletions(-)
2564 commit 0ce1db0223854d94b4a0d17737ac0486a75d9e6a
2565 Author: Lasse Collin <lasse.collin@tukaani.org>
2566 Date: 2023-02-16 17:59:50 +0200
2568 liblzma: Silence a warning from MSVC.
2570 It gives C4146 here since unary minus with unsigned integer
2571 is still unsigned (which is the intention here). Doing it
2572 with substraction makes it clearer and avoids the warning.
2574 Thanks to Nathan Moinvaziri for reporting this.
2576 src/liblzma/check/crc64_fast.c | 2 +-
2577 1 file changed, 1 insertion(+), 1 deletion(-)
2579 commit d83da006b3e8dbad9112e6cde6b27049d193c9ec
2580 Author: Jia Tan <jiat0218@gmail.com>
2581 Date: 2023-02-16 21:04:54 +0800
2583 liblzma: Improve documentation for stream_flags.h
2585 Standardizing each function to always specify parameters and return
2586 values. Also moved the parameters and return values to the end of each
2587 function description.
2589 A few small things were reworded and long sentences broken up.
2591 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++---------------
2592 1 file changed, 46 insertions(+), 30 deletions(-)
2594 commit 2796bb4736f645d34939b5d62d5958f534e41e69
2595 Author: Jia Tan <jiat0218@gmail.com>
2596 Date: 2023-02-14 21:50:16 +0800
2598 liblzma: Improve documentation in lzma12.h.
2600 All functions now explicitly specify parameter and return values.
2602 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++---------
2603 1 file changed, 23 insertions(+), 9 deletions(-)
2605 commit ebebaa8d9381afea440eb1b01917117551adf68f
2606 Author: Jia Tan <jiat0218@gmail.com>
2607 Date: 2023-01-27 22:44:06 +0800
2609 liblzma: Improve documentation in check.h.
2611 All functions now explicitly specify parameter and return values.
2612 Also moved the note about SHA-256 functions not being exported to the
2615 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++-------------
2616 1 file changed, 28 insertions(+), 13 deletions(-)
2618 commit 765fa2865aab97ea713c1715922e322b3cf599a7
2619 Author: Jia Tan <jiat0218@gmail.com>
2620 Date: 2023-02-08 21:33:52 +0800
2622 liblzma: Improve documentation in index.h
2624 All functions now explicitly specify parameter and return values.
2626 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++-------------
2627 1 file changed, 126 insertions(+), 51 deletions(-)
2629 commit 918e208af5960728b6def01e692b395f7d8e3701
2630 Author: Jia Tan <jiat0218@gmail.com>
2631 Date: 2023-02-08 20:35:32 +0800
2633 liblzma: Reword a comment in index.h.
2635 src/liblzma/api/lzma/index.h | 4 ++--
2636 1 file changed, 2 insertions(+), 2 deletions(-)
2638 commit 1f157d214bc09338876d2467b549935679abc0bf
2639 Author: Jia Tan <jiat0218@gmail.com>
2640 Date: 2023-02-08 20:30:23 +0800
2642 liblzma: Omit lzma_index_iter's internal field from Doxygen docs.
2644 Add \private above this field and its sub-fields since it is not meant
2645 to be modified by users.
2647 src/liblzma/api/lzma/index.h | 9 ++++++++-
2648 1 file changed, 8 insertions(+), 1 deletion(-)
2650 commit 28757fa46d8e0f0a9c17628b2b6af9bcb3cd96fc
2651 Author: Jia Tan <jiat0218@gmail.com>
2652 Date: 2023-01-21 21:32:03 +0800
2654 liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR.
2656 LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put
2657 documentation after a member.
2659 src/liblzma/api/lzma/base.h | 2 +-
2660 1 file changed, 1 insertion(+), 1 deletion(-)
2662 commit 135d5a1a65a9e199b9a5550c1f788cf43cd81018
2663 Author: Jia Tan <jiat0218@gmail.com>
2664 Date: 2023-01-21 00:29:38 +0800
2666 liblzma: Improve documentation for base.h.
2668 Standardizing each function to always specify params and return values.
2669 Also fixed a small grammar mistake.
2671 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++-----
2672 1 file changed, 25 insertions(+), 5 deletions(-)
2674 commit 2287d5668384e289d51e72724997dc920483768e
2675 Author: Jia Tan <jiat0218@gmail.com>
2676 Date: 2023-02-14 00:08:33 +0800
2678 liblzma: Minor improvements to vli.h.
2680 Added [out] annotations to parameters that are pointers and can have
2681 their value changed. Also added a clarification to lzma_vli_is_valid.
2683 src/liblzma/api/lzma/vli.h | 15 ++++++++-------
2684 1 file changed, 8 insertions(+), 7 deletions(-)
2686 commit 7124b8a16ae60cb2e93218ff531868eebd673bde
2687 Author: Jia Tan <jiat0218@gmail.com>
2688 Date: 2023-02-10 21:38:02 +0800
2690 liblzma: Add comments for macros in delta.h.
2692 Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness
2693 and to avoid Doxygen warnings.
2695 src/liblzma/api/lzma/delta.h | 8 ++++++++
2696 1 file changed, 8 insertions(+)
2698 commit 59c7bb8931159fdb1a31bbbeaed0e6984e2d3c81
2699 Author: Jia Tan <jiat0218@gmail.com>
2700 Date: 2023-02-10 21:35:23 +0800
2702 liblzma: Improve documentation in index_hash.h.
2704 All functions now explicitly specify parameter and return values.
2705 Also reworded the description of lzma_index_hash_init() for readability.
2707 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++---------
2708 1 file changed, 27 insertions(+), 9 deletions(-)
2710 commit e970c28ac3cb2e8051925f81db2fe953664c2645
2711 Author: Jia Tan <jiat0218@gmail.com>
2712 Date: 2023-02-03 00:33:32 +0800
2714 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length.
2716 The bug is only a problem in applications that do not properly terminate
2717 the filters[] array with LZMA_VLI_UNKNOWN or have more than
2718 LZMA_FILTERS_MAX filters. This bug does not affect xz.
2720 src/liblzma/common/string_conversion.c | 7 +++++++
2721 1 file changed, 7 insertions(+)
2723 commit 85e01266a96689448abb249da6c6abc3afcd4a4e
2724 Author: Jia Tan <jiat0218@gmail.com>
2725 Date: 2023-02-03 00:32:47 +0800
2727 Tests: Create test_filter_str.c.
2729 Tests lzma_str_to_filters(), lzma_str_from_filters(), and
2730 lzma_str_list_filters() API functions.
2732 CMakeLists.txt | 1 +
2733 tests/Makefile.am | 2 +
2734 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++
2735 3 files changed, 596 insertions(+)
2737 commit 3fa0f3ba12dd3383f62dbfa18a864f9b4217fa0a
2738 Author: Jia Tan <jiat0218@gmail.com>
2739 Date: 2023-01-22 08:49:00 +0800
2741 liblzma: Fix typos in comments in string_conversion.c.
2743 src/liblzma/common/string_conversion.c | 4 ++--
2744 1 file changed, 2 insertions(+), 2 deletions(-)
2746 commit 32dbe045d74e94f75c53236fa2a6c0454d7b6d9e
2747 Author: Jia Tan <jiat0218@gmail.com>
2748 Date: 2023-02-03 00:20:20 +0800
2750 liblzma: Clarify block encoder and decoder documentation.
2752 Added a few sentences to the description for lzma_block_encoder() and
2753 lzma_block_decoder() to highlight that the Block Header must be coded
2754 before calling these functions.
2756 src/liblzma/api/lzma/block.h | 15 +++++++++++----
2757 1 file changed, 11 insertions(+), 4 deletions(-)
2759 commit ccf12acbfa7331b1bbb99ec55879186eb35f879f
2760 Author: Jia Tan <jiat0218@gmail.com>
2761 Date: 2023-02-03 00:12:24 +0800
2763 Update lzma_block documentation for lzma_block_uncomp_encode().
2765 src/liblzma/api/lzma/block.h | 3 +++
2766 1 file changed, 3 insertions(+)
2768 commit 6a0b168dd9dc1ef437255c4bfdc6eff8b96fdb24
2769 Author: Jia Tan <jiat0218@gmail.com>
2770 Date: 2023-02-03 00:11:37 +0800
2772 liblzma: Minor edits to lzma_block header_size documentation.
2774 src/liblzma/api/lzma/block.h | 3 ++-
2775 1 file changed, 2 insertions(+), 1 deletion(-)
2777 commit 84ce36f90e68471fec1f0e61cd93ac7ed9ab4883
2778 Author: Jia Tan <jiat0218@gmail.com>
2779 Date: 2023-02-03 00:11:07 +0800
2781 liblzma: Enumerate functions that read version in lzma_block.
2783 src/liblzma/api/lzma/block.h | 13 +++++++++++--
2784 1 file changed, 11 insertions(+), 2 deletions(-)
2786 commit d6620774682830d606f57109861b6763805b3492
2787 Author: Jia Tan <jiat0218@gmail.com>
2788 Date: 2023-02-03 00:10:34 +0800
2790 liblzma: Clarify comment in block.h.
2792 src/liblzma/api/lzma/block.h | 3 ++-
2793 1 file changed, 2 insertions(+), 1 deletion(-)
2795 commit 880adb5aa25f66a53d81c2f3acc716f7a4d373d1
2796 Author: Jia Tan <jiat0218@gmail.com>
2797 Date: 2023-02-03 00:07:23 +0800
2799 liblzma: Improve documentation for block.h.
2801 Standardizing each function to always specify params and return values.
2802 Output pointer parameters are also marked with doxygen style [out] to
2803 make it clear. Any note sections were also moved above the parameter and
2804 return sections for consistency.
2806 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++----------
2807 1 file changed, 75 insertions(+), 21 deletions(-)
2809 commit b5b1b1f061c342271e4977ce5cba604a19c0ca52
2810 Author: Jia Tan <jiat0218@gmail.com>
2811 Date: 2023-02-01 23:38:30 +0800
2813 liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION.
2815 The flag description for LZMA_STR_NO_VALIDATION was previously confusing
2816 about the treatment for filters than cannot be used with .xz format
2817 (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that
2818 LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS.
2820 src/liblzma/api/lzma/filter.h | 5 +++--
2821 1 file changed, 3 insertions(+), 2 deletions(-)
2823 commit e904e778b82b14f2779aab80d6c8f3c01a3fc54b
2824 Author: Jia Tan <jiat0218@gmail.com>
2825 Date: 2023-01-27 20:14:51 +0800
2827 Translations: Add Brazilian Portuguese translation of man pages.
2829 Thanks to Rafael Fontenelle.
2831 po4a/po4a.conf | 2 +-
2832 po4a/pt_BR.po | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2833 2 files changed, 3678 insertions(+), 1 deletion(-)
2835 commit e9c47e79c9584ba1126f5fa0dbe6c96e67411aa6
2836 Author: Jia Tan <jiat0218@gmail.com>
2837 Date: 2023-01-24 20:48:50 +0800
2839 liblzma: Fix documentation in filter.h for lzma_str_to_filters()
2841 The previous documentation for lzma_str_to_filters() was technically
2842 correct, but misleading. lzma_str_to_filters() returns NULL on success,
2843 which is in practice always defined to 0. This is the same value as
2844 LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should
2847 src/liblzma/api/lzma/filter.h | 2 +-
2848 1 file changed, 1 insertion(+), 1 deletion(-)
2850 commit 99575947a58a60416c570eb78038d18a1ea4cef4
2851 Author: Jia Tan <jiat0218@gmail.com>
2852 Date: 2023-01-07 21:55:06 +0800
2854 xz: Refactor duplicated check for custom suffix when using --format=raw
2856 src/xz/args.c | 8 ++++++++
2857 src/xz/suffix.c | 26 ++++++++------------------
2858 src/xz/suffix.h | 8 ++++++++
2859 3 files changed, 24 insertions(+), 18 deletions(-)
2861 commit 76dec92fcca4a9ccd2063ed6d5d9e3474665baad
2862 Author: Jia Tan <jiat0218@gmail.com>
2863 Date: 2023-01-20 21:53:14 +0800
2865 liblzma: Set documentation on all reserved fields to private.
2867 This prevents the reserved fields from being part of the generated
2868 Doxygen documentation.
2870 src/liblzma/api/lzma/base.h | 17 +++++++++++++++
2871 src/liblzma/api/lzma/block.h | 43 +++++++++++++++++++++++++++++++++++++
2872 src/liblzma/api/lzma/container.h | 24 +++++++++++++++++++++
2873 src/liblzma/api/lzma/delta.h | 12 +++++++++++
2874 src/liblzma/api/lzma/index.h | 27 +++++++++++++++++++++++
2875 src/liblzma/api/lzma/lzma12.h | 22 +++++++++++++++++++
2876 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++
2877 7 files changed, 173 insertions(+)
2879 commit bd213d06ebf92cf42eeb97e7c578bddc857f8ea8
2880 Author: Jia Tan <jiat0218@gmail.com>
2881 Date: 2022-12-21 23:59:43 +0800
2883 liblzma: Highlight liblzma API headers should not be included directly.
2885 This improves the generated Doxygen HTML files to better highlight
2886 how to properly use the liblzma API header files.
2888 src/liblzma/api/lzma/base.h | 5 +++--
2889 src/liblzma/api/lzma/bcj.h | 5 +++--
2890 src/liblzma/api/lzma/block.h | 5 +++--
2891 src/liblzma/api/lzma/check.h | 5 +++--
2892 src/liblzma/api/lzma/container.h | 5 +++--
2893 src/liblzma/api/lzma/delta.h | 5 +++--
2894 src/liblzma/api/lzma/filter.h | 5 +++--
2895 src/liblzma/api/lzma/hardware.h | 5 +++--
2896 src/liblzma/api/lzma/index.h | 5 +++--
2897 src/liblzma/api/lzma/index_hash.h | 5 +++--
2898 src/liblzma/api/lzma/lzma12.h | 5 +++--
2899 src/liblzma/api/lzma/stream_flags.h | 5 +++--
2900 src/liblzma/api/lzma/version.h | 5 +++--
2901 src/liblzma/api/lzma/vli.h | 5 +++--
2902 14 files changed, 42 insertions(+), 28 deletions(-)
2904 commit 257dbff0ba1a7bc45a74d203ece015c9f70c88cd
2905 Author: Jia Tan <jiat0218@gmail.com>
2906 Date: 2023-01-19 20:35:09 +0800
2908 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64.
2910 tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64
2911 to retrieve a function address. The proper way to do this is to cast the
2912 return value to the type of function pointer retrieved. Unfortunately,
2913 this causes a cast-function-type warning, so the best solution is to
2914 simply ignore the warning.
2916 src/common/tuklib_physmem.c | 18 ++++++++++++++++++
2917 1 file changed, 18 insertions(+)
2919 commit 720ad4a44282a7ee59aa9920eaf495d85d245d97
2920 Author: Jia Tan <jiat0218@gmail.com>
2921 Date: 2023-01-16 21:35:45 +0800
2923 xz: Add missing comment for coder_set_compression_settings()
2925 src/xz/coder.h | 3 ++-
2926 1 file changed, 2 insertions(+), 1 deletion(-)
2928 commit 88dc19163421282369c0989e997c05f9a447edc6
2929 Author: Jia Tan <jiat0218@gmail.com>
2930 Date: 2023-01-16 20:55:10 +0800
2932 xz: Do not set compression settings with raw format in list mode.
2934 Calling coder_set_compression_settings() in list mode with verbose mode
2935 on caused the filter chain and memory requirements to print. This was
2936 unnecessary since the command results in an error and not consistent
2937 with other formats like lzma and alone.
2939 src/xz/args.c | 3 ++-
2940 1 file changed, 2 insertions(+), 1 deletion(-)
2942 commit 039e0ab13efb144642f9d99eeeb9c668e76bb430
2943 Author: Jia Tan <jiat0218@gmail.com>
2944 Date: 2023-01-13 20:37:06 +0800
2946 Translations: Update the Brazilian Portuguese translation.
2948 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++--------------------------
2949 1 file changed, 344 insertions(+), 259 deletions(-)
2951 commit 718f7a60e740b26b8353965edaaddc7d4deb4d85
2952 Author: Lasse Collin <lasse.collin@tukaani.org>
2953 Date: 2023-01-12 13:04:05 +0200
2955 Build: Omit -Wmissing-noreturn from the default warnings.
2957 It's not that important. It can be annoying in builds that
2958 disable many features since in those cases the tests programs
2959 will correctly trigger this warning with Clang.
2962 1 file changed, 1 deletion(-)
2964 commit 3ccedb09724c998c39d708c945f6da5852c39e13
2965 Author: Lasse Collin <lasse.collin@tukaani.org>
2966 Date: 2023-01-12 06:05:58 +0200
2968 xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1).
2970 It makes no difference here as the return value fits into an int
2971 too and it then gets ignored but this looks better.
2973 src/xz/file_io.c | 2 +-
2974 1 file changed, 1 insertion(+), 1 deletion(-)
2976 commit 09fbd2f0527def89e839c8907de4fe7ef6bc5019
2977 Author: Lasse Collin <lasse.collin@tukaani.org>
2978 Date: 2023-01-12 06:01:12 +0200
2980 xz: Silence warnings from -Wsign-conversion in a 32-bit build.
2982 src/common/tuklib_mbstr_fw.c | 2 +-
2983 src/xz/list.c | 4 ++--
2984 2 files changed, 3 insertions(+), 3 deletions(-)
2986 commit 683d3f178ef1487b5418be49f331b0131a101b40
2987 Author: Lasse Collin <lasse.collin@tukaani.org>
2988 Date: 2023-01-12 05:38:48 +0200
2990 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build.
2992 It doesn't warn on a 64-bit system because truncating
2993 a ptrdiff_t (signed long) to uint32_t is diagnosed under
2994 -Wconversion by GCC and -Wshorten-64-to-32 by Clang.
2996 src/liblzma/lz/lz_encoder_mf.c | 7 ++++---
2997 1 file changed, 4 insertions(+), 3 deletions(-)
2999 commit 2b8062ef94a38d0f9ad0d1b309e8748db52f5c15
3000 Author: Lasse Collin <lasse.collin@tukaani.org>
3001 Date: 2023-01-12 04:46:45 +0200
3003 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build.
3005 src/common/mythread.h | 4 ++--
3006 1 file changed, 2 insertions(+), 2 deletions(-)
3008 commit b16b9c0d22227012518595c2222facc73bd833a8
3009 Author: Lasse Collin <lasse.collin@tukaani.org>
3010 Date: 2023-01-12 04:17:24 +0200
3012 Build: Make configure add more warning flags for GCC and Clang.
3014 -Wstrict-aliasing was removed from the list since it is enabled
3017 A normal build is clean with these on GNU/Linux x86-64 with
3018 GCC 12.2.0 and Clang 14.0.6.
3020 configure.ac | 36 +++++++++++++++++++++++++++++++-----
3021 1 file changed, 31 insertions(+), 5 deletions(-)
3023 commit c47ecd6d3909d0d3ff48dfd6e2ee41e7c7130b94
3024 Author: Lasse Collin <lasse.collin@tukaani.org>
3025 Date: 2023-01-12 04:14:18 +0200
3027 Tests: Fix warnings from clang --Wassign-enum.
3029 Explicitly casting the integer to lzma_check silences the warning.
3030 Since such an invalid value is needed in multiple tests, a constant
3031 INVALID_LZMA_CHECK_ID was added to tests.h.
3033 The use of 0x1000 for lzma_block.check wasn't optimal as if
3034 the underlying type is a char then 0x1000 will be truncated to 0.
3035 However, in these test cases the value is ignored, thus even with
3036 such truncation the test would have passed.
3038 tests/test_block_header.c | 6 +++---
3039 tests/test_check.c | 2 +-
3040 tests/test_stream_flags.c | 8 ++++----
3041 tests/tests.h | 9 +++++++++
3042 4 files changed, 17 insertions(+), 8 deletions(-)
3044 commit 34e13ce015232968731de2a9ec3440a08b0084b1
3045 Author: Lasse Collin <lasse.collin@tukaani.org>
3046 Date: 2023-01-12 03:51:07 +0200
3048 Tests: Silence warnings from -Wsign-conversion.
3050 Note that assigning an unsigned int to lzma_check doesn't warn
3051 on GNU/Linux x86-64 since the enum type is unsigned on that
3052 platform. The enum can be signed on some other platform though
3053 so it's best to use enumeration type lzma_check in these situations.
3055 tests/test_check.c | 6 +++---
3056 tests/test_stream_flags.c | 10 +++++-----
3057 2 files changed, 8 insertions(+), 8 deletions(-)
3059 commit 6671d0fe46b77f0fafce860836b7a12dc3cda14a
3060 Author: Lasse Collin <lasse.collin@tukaani.org>
3061 Date: 2023-01-12 03:19:59 +0200
3063 liblzma: Silence warnings from clang -Wconditional-uninitialized.
3065 This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0.
3066 The actual initialization of the variables is done inside
3067 mythread_sync() macro. Clang doesn't seem to see that
3068 the initialization code inside the macro is always executed.
3070 src/liblzma/common/stream_decoder_mt.c | 8 +++++---
3071 src/liblzma/common/stream_encoder_mt.c | 2 +-
3072 2 files changed, 6 insertions(+), 4 deletions(-)
3074 commit d3e833ca1d2abda54648494c33aca73a40a47efe
3075 Author: Lasse Collin <lasse.collin@tukaani.org>
3076 Date: 2023-01-12 03:11:40 +0200
3078 Fix warnings from clang -Wdocumentation.
3080 src/liblzma/check/check.h | 4 ----
3081 src/liblzma/lz/lz_encoder_mf.c | 4 ++--
3082 src/xz/options.c | 4 ++--
3083 3 files changed, 4 insertions(+), 8 deletions(-)
3085 commit 977dd2e26bc50efec8d30fb90380394042d24558
3086 Author: Lasse Collin <lasse.collin@tukaani.org>
3087 Date: 2023-01-12 03:04:28 +0200
3089 Tests: test_lzip_decoder: Remove trailing white-space.
3091 tests/test_lzip_decoder.c | 4 ++--
3092 1 file changed, 2 insertions(+), 2 deletions(-)
3094 commit c55157ed7437ab14f2afb7fecf331e321f2edf9a
3095 Author: Lasse Collin <lasse.collin@tukaani.org>
3096 Date: 2023-01-12 03:03:55 +0200
3098 Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion.
3100 tests/test_lzip_decoder.c | 13 +++++++------
3101 1 file changed, 7 insertions(+), 6 deletions(-)
3103 commit 18b845e69752c975dfeda418ec00eda22605c2ee
3104 Author: Lasse Collin <lasse.collin@tukaani.org>
3105 Date: 2023-01-11 18:52:54 +0200
3107 Bump version and soname for 5.4.1.
3109 src/liblzma/Makefile.am | 2 +-
3110 src/liblzma/api/lzma/version.h | 2 +-
3111 2 files changed, 2 insertions(+), 2 deletions(-)
3113 commit 4080bbb844fb36701ffb978f0c41ea2c2c9f8960
3114 Author: Jia Tan <jiat0218@gmail.com>
3115 Date: 2023-01-11 23:58:16 +0800
3119 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3120 1 file changed, 70 insertions(+)
3122 commit 674c89fdb8c457ebc3a0652e235d8b6cd7b7dee2
3123 Author: Lasse Collin <lasse.collin@tukaani.org>
3124 Date: 2023-01-10 11:56:11 +0200
3126 sysdefs.h: Don't include strings.h anymore.
3128 On some platforms src/xz/suffix.c may need <strings.h> for
3129 strcasecmp() but suffix.c includes the header when it needs it.
3131 Unless there is an old system that otherwise supports enough C99
3132 to build XZ Utils but doesn't have C89/C90-compatible <string.h>,
3133 there should be no need to include <strings.h> in sysdefs.h.
3135 src/common/sysdefs.h | 6 ------
3136 1 file changed, 6 deletions(-)
3138 commit 2a6b938084fac9ddb39cd69c9beeed15c3b6f6f6
3139 Author: Lasse Collin <lasse.collin@tukaani.org>
3140 Date: 2023-01-10 11:23:41 +0200
3142 xz: Include <strings.h> in suffix.c if needed for strcasecmp().
3144 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>.
3145 Of these, strcasecmp() is used on some platforms in suffix.c.
3146 Nothing else in the project needs <strings.h> (at least if
3147 building on a modern system).
3149 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is
3150 defined and suffix.c relied on this.
3152 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though
3153 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp()
3154 is also in <string.h> in DJGPP.
3156 src/xz/suffix.c | 3 +++
3157 1 file changed, 3 insertions(+)
3159 commit aea639e81beb548e3114c74b6d9a894d6e036189
3160 Author: Jia Tan <jiat0218@gmail.com>
3161 Date: 2023-01-11 22:46:48 +0800
3163 xz: Fix warning -Wformat-nonliteral on clang in message.c.
3165 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will
3166 allow a non-literal format string as long as the function takes its
3167 format arguments as a va_list.
3169 src/xz/message.c | 9 +++++++++
3170 1 file changed, 9 insertions(+)
3172 commit e3b42bfcb0f67988beee7c7022fed0361282be45
3173 Author: Jia Tan <jiat0218@gmail.com>
3174 Date: 2023-01-11 20:58:31 +0800
3176 Tests: Fix test_filter_flags copy/paste error.
3178 tests/test_filter_flags.c | 4 ++--
3179 1 file changed, 2 insertions(+), 2 deletions(-)
3181 commit 21625b7e11d004788e40eb5eb88d9d89f65fe347
3182 Author: Jia Tan <jiat0218@gmail.com>
3183 Date: 2023-01-11 20:42:29 +0800
3185 Tests: Fix type-limits warning in test_filter_flags.
3187 This only occurs in test_filter_flags when the BCJ filters are not
3188 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a
3189 type-limits warning with the loop variable since an unsigned number will
3192 tests/test_filter_flags.c | 13 ++++++++++---
3193 1 file changed, 10 insertions(+), 3 deletions(-)
3195 commit c337983e928682d56ce3470b286a8d5b8646e0ad
3196 Author: Lasse Collin <lasse.collin@tukaani.org>
3197 Date: 2023-01-10 22:14:03 +0200
3199 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt.
3201 This affects only 32-bit x86 builds. x86-64 is OK as is.
3203 I still cannot easily test this myself. The reporter has tested
3204 this and it passes the tests included in the CMake build and
3205 performance is good: raw CRC64 is 2-3 times faster than the
3206 C version of the slice-by-four method. (Note that liblzma doesn't
3207 include a MSVC-compatible version of the 32-bit x86 assembly code
3208 for the slice-by-four method.)
3210 Thanks to Iouri Kharon for figuring out a fix, testing, and
3213 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++
3214 1 file changed, 18 insertions(+)
3216 commit b7fb438ea0e3ee02e3a164f3b72fae456cbe34d7
3217 Author: Jia Tan <jiat0218@gmail.com>
3218 Date: 2023-01-11 01:18:50 +0800
3220 Tests: Fix unused function warning in test_block_header.
3222 One of the global arrays of filters was only used in a test that
3223 required both encoders and decoders to be configured in the build.
3225 tests/test_block_header.c | 4 ++++
3226 1 file changed, 4 insertions(+)
3228 commit 68e9ef036d18d7c3952bff0b391d5989b86934da
3229 Author: Jia Tan <jiat0218@gmail.com>
3230 Date: 2023-01-11 01:08:03 +0800
3232 Tests: Fix unused function warning in test_index_hash.
3234 test_index_hash does not use fill_index_hash() unless both encoders
3235 and decoders are configured in the build.
3237 tests/test_index_hash.c | 4 +---
3238 1 file changed, 1 insertion(+), 3 deletions(-)
3240 commit a387707cd8cdefbffb5b7429bda4b7fcc192954a
3241 Author: Lasse Collin <lasse.collin@tukaani.org>
3242 Date: 2023-01-10 00:33:14 +0200
3244 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files.
3246 windows/INSTALL-MSVC.txt | 19 ++++++++++++-------
3247 1 file changed, 12 insertions(+), 7 deletions(-)
3249 commit 52902ad69518255a14b0144f0a2379e06fde5b6e
3250 Author: Lasse Collin <lasse.collin@tukaani.org>
3251 Date: 2023-01-10 12:47:16 +0200
3253 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
3255 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5.
3257 It was reported that it wasn't a good enough fix and MSVC
3258 still produced (different kind of) bad code when building
3259 for 32-bit x86 if optimizations are enabled.
3261 Thanks to Iouri Kharon.
3263 src/liblzma/check/crc64_fast.c | 6 ------
3264 1 file changed, 6 deletions(-)
3266 commit e81b9fc48ca70f9228308d3f1871cd81f9a5a496
3267 Author: Lasse Collin <lasse.collin@tukaani.org>
3268 Date: 2023-01-10 10:05:13 +0200
3270 sysdefs.h: Fix a comment.
3272 src/common/sysdefs.h | 2 +-
3273 1 file changed, 1 insertion(+), 1 deletion(-)
3275 commit 6e89ab58b031aa046308a0b3504ff0a5be042571
3276 Author: Lasse Collin <lasse.collin@tukaani.org>
3277 Date: 2023-01-10 10:04:06 +0200
3279 sysdefs.h: Don't include memory.h anymore even if it were available.
3281 It quite probably was never needed, that is, any system where memory.h
3282 was required likely couldn't compile XZ Utils for other reasons anyway.
3284 XZ Utils 5.2.6 and later source packages were generated using
3285 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code
3286 being removed is no longer used anyway.
3288 src/common/sysdefs.h | 8 ++------
3289 1 file changed, 2 insertions(+), 6 deletions(-)
3291 commit 65c59ad429aa59f9df0326d9fc82931ba4a9d123
3292 Author: Lasse Collin <lasse.collin@tukaani.org>
3293 Date: 2023-01-10 08:50:26 +0200
3295 CMake/Windows: Add a workaround for windres from GNU binutils.
3297 This is combined from the following commits in the master branch:
3298 443dfebced041adc88f10d824188eeef5b5821a9
3299 6b117d3b1fe91eb26d533ab16a2e552f84148d47
3300 5e34774c31d1b7509b5cb77a3be9973adec59ea0
3302 Thanks to Iouri Kharon for the bug report, the original patch,
3305 CMakeLists.txt | 32 +++++++++++++++++++++++++++++++-
3306 1 file changed, 31 insertions(+), 1 deletion(-)
3308 commit 43521e77acc907863fa4f94aae276366172cb9ee
3309 Author: Lasse Collin <lasse.collin@tukaani.org>
3310 Date: 2023-01-06 22:53:38 +0200
3312 Tests: test_filter_flags: Clean up minor issues.
3314 Here are the list of the most significant issues addressed:
3315 - Avoid using internal common.h header. It's not good to copy the
3316 constants like this but common.h cannot be included for use outside
3317 of liblzma. This is the quickest thing to do that could be fixed later.
3319 - Omit the INIT_FILTER macro. Initialization should be done with just
3320 regular designated initializers.
3322 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter
3323 Flags encoder and decoder don't validate the options thoroughly.
3324 257 is valid only for the x86 filter. This is a bit silly but
3325 not a significant problem in practice because the encoder and
3326 decoder initialization functions will catch bad alignment still.
3327 Perhaps this should be fixed but it's not urgent and doesn't need
3330 - Various tweaks to comments such as filter id -> Filter ID
3332 tests/test_filter_flags.c | 153 +++++++++++++++++++++++-----------------------
3333 1 file changed, 78 insertions(+), 75 deletions(-)
3335 commit 6b44cead95d767414272dc3a67898a36bfdf95b3
3336 Author: Jia Tan <jiat0218@gmail.com>
3337 Date: 2022-12-29 23:33:33 +0800
3339 Tests: Refactors existing filter flags tests.
3341 Converts the existing filter flags tests into tuktests.
3343 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++--------------
3344 1 file changed, 457 insertions(+), 198 deletions(-)
3346 commit 1bbefa9659b202ba31bd244a9d0e4f0d37ff3ed7
3347 Author: Lasse Collin <lasse.collin@tukaani.org>
3348 Date: 2023-01-08 00:32:29 +0200
3350 Tests: tuktest.h: Support tuktest_malloc(0).
3352 It's not needed in XZ Utils at least for now. It's good to support
3353 it still because if such use is needed later, it wouldn't be
3354 caught on GNU/Linux since malloc(0) from glibc returns non-NULL.
3356 tests/tuktest.h | 4 ++--
3357 1 file changed, 2 insertions(+), 2 deletions(-)
3359 commit ce3a3fbc7c2c399aeed644d54f3bd56ac914dfee
3360 Author: Lasse Collin <lasse.collin@tukaani.org>
3361 Date: 2023-01-07 21:57:11 +0200
3363 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25.
3365 The changes listed on cmake-policies(7) for versions 3.17 to 3.25
3366 shouldn't affect this project.
3368 CMakeLists.txt | 2 +-
3369 1 file changed, 1 insertion(+), 1 deletion(-)
3371 commit 99fcd57f2ea35eaa94e09f674d5364329c880fa2
3372 Author: Lasse Collin <lasse.collin@tukaani.org>
3373 Date: 2023-01-08 00:24:23 +0200
3378 1 file changed, 1 insertion(+)
3380 commit c0c13d9d82eb8a4302c8bbb8b4c5178d285fe9ab
3381 Author: Lasse Collin <lasse.collin@tukaani.org>
3382 Date: 2023-01-07 19:50:35 +0200
3387 1 file changed, 1 insertion(+)
3389 commit 3d45987451b1c3bb42697b29341824c0e5484cba
3390 Author: Lasse Collin <lasse.collin@tukaani.org>
3391 Date: 2023-01-09 11:27:24 +0200
3393 CMake: Fix a copypaste error in xzdec Windows resource file handling.
3395 It was my mistake. Thanks to Iouri Kharon for the bug report.
3397 CMakeLists.txt | 4 ++--
3398 1 file changed, 2 insertions(+), 2 deletions(-)
3400 commit 706bce5018d7cf83094e13454a0731169ec119b5
3401 Author: Lasse Collin <lasse.collin@tukaani.org>
3402 Date: 2023-01-07 19:50:03 +0200
3404 CMake/Windows: Add resource files to xz.exe and xzdec.exe.
3406 The command line tools cannot be built with MSVC for now but
3407 they can be built with MinGW-w64.
3409 Thanks to Iouri Kharon for the bug report and the original patch.
3411 CMakeLists.txt | 16 ++++++++++++++++
3412 1 file changed, 16 insertions(+)
3414 commit e96dee55df04113c33b387ccdb6cb70935422d91
3415 Author: Lasse Collin <lasse.collin@tukaani.org>
3416 Date: 2023-01-09 12:22:05 +0200
3418 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
3420 I haven't tested with MSVC myself and there doesn't seem to be
3421 information about the problem online, so I'm relying on the bug report.
3423 Thanks to Iouri Kharon for the bug report and the patch.
3425 src/liblzma/check/crc64_fast.c | 6 ++++++
3426 1 file changed, 6 insertions(+)
3428 commit 52bc1ee34dda9bb6fb40175e5952863066681b77
3429 Author: Lasse Collin <lasse.collin@tukaani.org>
3430 Date: 2023-01-07 19:31:15 +0200
3432 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support.
3434 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets
3435 disabled with VS2013.
3437 Thanks to Iouri Kharon for the bug report.
3439 CMakeLists.txt | 3 ++-
3440 configure.ac | 8 ++++++--
3441 2 files changed, 8 insertions(+), 3 deletions(-)
3443 commit bad44cfe19e8be8ae76755369be2a34abcd2b4fa
3444 Author: Jia Tan <jiat0218@gmail.com>
3445 Date: 2022-12-29 00:25:18 +0800
3447 Tests: Creates test_index_hash.c
3449 Tests all API functions exported from index_hash.h. Does not have a
3450 dedicated test for lzma_index_hash_end.
3452 [Minor edits were made by Lasse Collin.]
3455 CMakeLists.txt | 2 +
3456 tests/Makefile.am | 3 +
3457 tests/test_index_hash.c | 388 ++++++++++++++++++++++++++++++++++++++++++++++++
3458 4 files changed, 394 insertions(+)
3460 commit 692ccdf5516dfe55fb6e9c5cdfb31f4c02c1ecd1
3461 Author: Jia Tan <jiat0218@gmail.com>
3462 Date: 2023-01-05 20:57:25 +0800
3464 liblzma: Remove common.h include from common/index.h.
3466 common/index.h is needed by liblzma internally and tests. common.h will
3467 include and define many things that are not needed by the tests.
3469 Also, this prevents include order problems because both common.h and
3470 lzma.h define LZMA_API. On most platforms it results only in a warning
3471 but on Windows it would break the build as the definition in common.h
3472 must be used only for building liblzma itself.
3474 src/liblzma/common/index.c | 1 +
3475 src/liblzma/common/index.h | 9 +++++++--
3476 src/liblzma/common/index_decoder.h | 1 +
3477 src/liblzma/common/stream_buffer_encoder.c | 1 +
3478 4 files changed, 10 insertions(+), 2 deletions(-)
3480 commit 2ac7bafc8f07c1edefe96a4a7a040ddfff0eb5bb
3481 Author: Jia Tan <jiat0218@gmail.com>
3482 Date: 2022-08-17 20:20:16 +0800
3484 liblzma: Add NULL check to lzma_index_hash_append.
3486 This is for consistency with lzma_index_append.
3488 src/liblzma/common/index_hash.c | 2 +-
3489 1 file changed, 1 insertion(+), 1 deletion(-)
3491 commit db714d30e0c74d1dd4af1a23ed62b44e0e8e4efc
3492 Author: Jia Tan <jiat0218@gmail.com>
3493 Date: 2022-08-17 17:59:51 +0800
3495 liblzma: Replaced hardcoded 0x0 index indicator byte with macro
3497 src/liblzma/common/index.h | 3 +++
3498 src/liblzma/common/index_decoder.c | 2 +-
3499 src/liblzma/common/index_encoder.c | 2 +-
3500 src/liblzma/common/index_hash.c | 2 +-
3501 src/liblzma/common/stream_decoder.c | 3 ++-
3502 src/liblzma/common/stream_decoder_mt.c | 2 +-
3503 6 files changed, 9 insertions(+), 5 deletions(-)
3505 commit 39d2585dcd3e827cfc3c46025ab6708c4aeb36c6
3506 Author: Jia Tan <jiat0218@gmail.com>
3507 Date: 2023-01-06 20:43:31 +0800
3509 Style: Change #if !defined() to #ifndef in mythread.h.
3511 src/common/mythread.h | 2 +-
3512 1 file changed, 1 insertion(+), 1 deletion(-)
3514 commit 3f0130aa288e4ed57ace609517db9700a41223af
3515 Author: Jia Tan <jiat0218@gmail.com>
3516 Date: 2023-01-06 20:35:55 +0800
3518 Build: Add missing stream_decoder_mt.c to .vcxproj files.
3520 The line in the .vcxproj files for building with was missing in 5.4.0.
3521 Thank to Hajin Jang for reporting the issue.
3523 windows/vs2013/liblzma.vcxproj | 1 +
3524 windows/vs2013/liblzma_dll.vcxproj | 1 +
3525 windows/vs2017/liblzma.vcxproj | 1 +
3526 windows/vs2017/liblzma_dll.vcxproj | 1 +
3527 windows/vs2019/liblzma.vcxproj | 1 +
3528 windows/vs2019/liblzma_dll.vcxproj | 1 +
3529 6 files changed, 6 insertions(+)
3531 commit f204d1050a515d17851eed9049862ce5a9c729c1
3532 Author: Lasse Collin <lasse.collin@tukaani.org>
3533 Date: 2023-01-04 22:40:54 +0200
3538 1 file changed, 1 insertion(+)
3540 commit 34a9c2d650d6c30bd88e1b21910dd863209aa884
3541 Author: Lasse Collin <lasse.collin@tukaani.org>
3542 Date: 2023-01-04 18:40:28 +0200
3544 Tests: Adjust style in test_compress.sh.
3546 tests/test_compress.sh | 12 +++++++-----
3547 1 file changed, 7 insertions(+), 5 deletions(-)
3549 commit 761c208d58e0c3daa0f46e68b406adfc318d2a46
3550 Author: Jia Tan <jiat0218@gmail.com>
3551 Date: 2023-01-04 23:58:58 +0800
3553 Tests: Replace non portable shell parameter expansion
3555 The shell parameter expansion using # and ## is not supported in
3556 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully
3557 portable, so we should avoid it.
3559 tests/create_compress_files.c | 2 +-
3560 tests/test_compress.sh | 20 +++++++++++++-------
3561 tests/test_compress_prepared_bcj_sparc | 2 +-
3562 tests/test_compress_prepared_bcj_x86 | 2 +-
3563 4 files changed, 16 insertions(+), 10 deletions(-)
3565 commit 8a7cbc074547e55e57f4f3696f69bedeb05e14c4
3566 Author: Jia Tan <jiat0218@gmail.com>
3567 Date: 2023-01-03 21:02:38 +0800
3569 Translations: Add Korean translation of man pages.
3571 Thanks to Seong-ho Cho
3573 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3574 po4a/po4a.conf | 2 +-
3575 2 files changed, 5553 insertions(+), 1 deletion(-)
3577 commit ca2af49bb8be5995eb0e6a3abf457622626d49a7
3578 Author: Jia Tan <jiat0218@gmail.com>
3579 Date: 2023-01-03 20:47:27 +0800
3581 Translations: Update the Esperanto translation.
3583 po/eo.po | 620 ++++++++++++++++++++++++++++++++++-----------------------------
3584 1 file changed, 332 insertions(+), 288 deletions(-)
3586 commit bfba3394aed03311fe9a746d3141b2e16d8b9325
3587 Author: Lasse Collin <lasse.collin@tukaani.org>
3588 Date: 2023-01-02 17:05:07 +0200
3590 Build: Fix config.h comments.
3593 m4/tuklib_progname.m4 | 2 +-
3594 2 files changed, 2 insertions(+), 2 deletions(-)
3596 commit 507648ad114c2ae0cd6d181063e1ac07e8106718
3597 Author: Jia Tan <jiat0218@gmail.com>
3598 Date: 2023-01-02 22:33:48 +0800
3600 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1.
3602 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to
3603 HAVE_PROGRAM_INVOCATION_NAME. Previously,
3604 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when
3605 building with autotools. CMake would only set this when it was 1, and the
3606 dos/config.h did not define it. The new macro definition is consistent
3607 across build systems.
3609 cmake/tuklib_progname.cmake | 5 ++---
3610 m4/tuklib_progname.m4 | 5 ++++-
3611 src/common/tuklib_progname.c | 2 +-
3612 src/common/tuklib_progname.h | 2 +-
3613 4 files changed, 8 insertions(+), 6 deletions(-)
3615 commit ab5229d32adfec1f3fbc95228d9dd6f560732ab5
3616 Author: Lasse Collin <lasse.collin@tukaani.org>
3617 Date: 2022-12-30 20:10:08 +0200
3619 Tests: test_check: Test corner cases of CLMUL CRC64.
3621 tests/test_check.c | 27 +++++++++++++++++++++++++++
3622 1 file changed, 27 insertions(+)
3624 commit 8791826f31733fda0a13b411c2ed930faaeb25aa
3625 Author: Lasse Collin <lasse.collin@tukaani.org>
3626 Date: 2022-12-30 19:36:49 +0200
3628 Tests: Clarify a comment in test_lzip_decoder.c.
3630 tests/test_lzip_decoder.c | 8 ++++++--
3631 1 file changed, 6 insertions(+), 2 deletions(-)
3633 commit c410d812ea12bfc74f6b727c1a799478c79f19ca
3634 Author: Jia Tan <jiat0218@gmail.com>
3635 Date: 2022-12-29 01:55:19 +0800
3637 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
3639 Previously, mytime.c depended on mythread.h for <time.h> to be included.
3641 src/xz/mytime.c | 4 +++-
3642 1 file changed, 3 insertions(+), 1 deletion(-)
3644 commit 501c6013d4a59fae5d4368e9657c4885493db809
3645 Author: Jia Tan <jiat0218@gmail.com>
3646 Date: 2022-12-29 01:15:27 +0800
3648 liblzma: Includes sys/time.h conditionally in mythread
3650 Previously, <sys/time.h> was always included, even if mythread only used
3651 clock_gettime. <time.h> is still needed even if clock_gettime is not used
3652 though because struct timespec is needed for mythread_condtime.
3654 src/common/mythread.h | 8 +++++++-
3655 1 file changed, 7 insertions(+), 1 deletion(-)
3657 commit 9e3cb514b5b95bd235dcdff3db4436f57444ee4f
3658 Author: Jia Tan <jiat0218@gmail.com>
3659 Date: 2022-12-29 01:10:53 +0800
3661 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set.
3663 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always
3664 be set to 0 or 1. However, this macro was needed in xz so if xz was not
3665 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but
3666 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now,
3667 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and
3668 will only be set if it is 1.
3670 CMakeLists.txt | 8 +++-----
3671 configure.ac | 5 ++++-
3672 src/common/mythread.h | 4 ++--
3673 src/xz/mytime.c | 5 ++---
3674 4 files changed, 11 insertions(+), 11 deletions(-)
3676 commit 6fc3e5467911572fa9af4021ea46396261aae796
3677 Author: Jia Tan <jiat0218@gmail.com>
3678 Date: 2022-12-28 01:14:07 +0800
3680 Translations: Add Ukrainian translations of man pages.
3682 Thanks to Yuri Chornoivan
3684 po4a/po4a.conf | 2 +-
3685 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3686 2 files changed, 3677 insertions(+), 1 deletion(-)
3688 commit e84f2ab7f8bc38cd8f8befa0bb398656c3c11f8e
3689 Author: Jia Tan <jiat0218@gmail.com>
3690 Date: 2022-12-22 23:14:53 +0800
3692 liblzma: Update documentation for lzma_filter_encoder.
3694 src/liblzma/common/filter_encoder.c | 7 +++++--
3695 1 file changed, 5 insertions(+), 2 deletions(-)
3697 commit b14b8dbba9a3b232787ae218b46430b9246383dd
3698 Author: Jia Tan <jiat0218@gmail.com>
3699 Date: 2022-12-21 21:12:03 +0800
3701 Tests: Adds lzip decoder tests
3704 tests/Makefile.am | 2 +
3705 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++
3706 3 files changed, 474 insertions(+)
3708 commit 09a114805e1d4f9a02a06cee7dbf2f5014d1f710
3709 Author: Jia Cheong Tan <jiat0218@gmail.com>
3710 Date: 2022-12-20 22:05:21 +0800
3712 Doxygen: Update .gitignore for generating docs for in source build.
3714 In source builds are not recommended, but we should still ignore
3715 the generated artifacts.
3718 1 file changed, 2 insertions(+)
3720 commit d3e6fe44196bf9478ad193522e2b48febf2eca6b
3721 Author: Jia Tan <jiat0218@gmail.com>
3722 Date: 2022-12-20 20:46:44 +0800
3724 liblzma: Fix lzma_microlzma_encoder() return value.
3726 Using return_if_error on lzma_lzma_lclppb_encode was improper because
3727 return_if_error is expecting an lzma_ret value, but
3728 lzma_lzma_lclppb_encode returns a boolean. This could result in
3729 lzma_microlzma_encoder, which would be misleading for applications.
3731 src/liblzma/common/microlzma_encoder.c | 3 ++-
3732 1 file changed, 2 insertions(+), 1 deletion(-)
3734 commit b55a27b46f52524a4a8d9cdef03e6689cefc1375
3735 Author: Lasse Collin <lasse.collin@tukaani.org>
3736 Date: 2022-12-16 18:30:02 +0200
3738 liblzma: Update authors list in arm64.c.
3740 src/liblzma/simple/arm64.c | 1 +
3741 1 file changed, 1 insertion(+)
3743 commit 2fd28d2b7cec3468324a6f15eff7e73c285b1d7d
3744 Author: Jia Tan <jiat0218@gmail.com>
3745 Date: 2022-12-16 20:58:55 +0800
3747 CMake: Update .gitignore for CMake artifacts from in source build.
3749 In source builds are not recommended, but we can make it easier
3750 by ignoring the generated artifacts from CMake.
3752 .gitignore | 23 +++++++++++++++++++++++
3753 1 file changed, 23 insertions(+)
3755 commit b69da6d4bb6bb11fc0cf066920791990d2b22a06
3756 Author: Lasse Collin <lasse.collin@tukaani.org>
3757 Date: 2022-12-13 20:37:17 +0200
3759 Bump version to 5.4.0 and soname to 5.4.0.
3761 src/liblzma/Makefile.am | 2 +-
3762 src/liblzma/api/lzma/version.h | 6 +++---
3763 src/liblzma/liblzma_generic.map | 2 +-
3764 src/liblzma/liblzma_linux.map | 2 +-
3765 4 files changed, 6 insertions(+), 6 deletions(-)
3767 commit 20869eb3fb280ff4f271ef527b12b6bf68b05e19
3768 Author: Lasse Collin <lasse.collin@tukaani.org>
3769 Date: 2022-12-13 20:29:39 +0200
3771 Update INSTALL: CMake on Windows isn't experimental anymore.
3773 Using CMake to build liblzma should work on a few other OSes
3774 but building the command line tools is still subtly broken.
3776 It is known that shared library versioning may differ between
3777 CMake and Libtool builds on some OSes, most notably Darwin.
3779 INSTALL | 10 ++++------
3780 1 file changed, 4 insertions(+), 6 deletions(-)
3782 commit cbbd84451944e3e8c63acfaa3c923f6d8aff7852
3783 Author: Lasse Collin <lasse.collin@tukaani.org>
3784 Date: 2022-12-13 19:47:53 +0200
3788 NEWS | 202 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3789 1 file changed, 202 insertions(+)
3791 commit c3e94d37e8d10a3e96019864b6f5d7b578db2c14
3792 Author: Lasse Collin <lasse.collin@tukaani.org>
3793 Date: 2022-12-13 17:41:20 +0200
3798 1 file changed, 1 insertion(+), 1 deletion(-)
3800 commit 0d2a2e0a545c3da2b3e9500f1e531eb903087245
3801 Author: Lasse Collin <lasse.collin@tukaani.org>
3802 Date: 2022-12-13 17:41:03 +0200
3804 Add NEWS for 5.2.10.
3806 NEWS | 12 ++++++++++++
3807 1 file changed, 12 insertions(+)
3809 commit 177ece1c8eb007188fb1b04eff09ca2193fbdea6
3810 Author: Lasse Collin <lasse.collin@tukaani.org>
3811 Date: 2022-12-13 12:30:45 +0200
3813 Tests: Fix a typo in tests/files/README.
3815 tests/files/README | 2 +-
3816 1 file changed, 1 insertion(+), 1 deletion(-)
3818 commit 60f45bdbaa6b07558b3f4baac285739b0c6342f5
3819 Author: Lasse Collin <lasse.collin@tukaani.org>
3820 Date: 2022-12-13 12:30:09 +0200
3822 Tests: Add two ARM64 test files.
3824 tests/files/README | 7 +++++++
3825 tests/files/good-1-arm64-lzma2-1.xz | Bin 0 -> 512 bytes
3826 tests/files/good-1-arm64-lzma2-2.xz | Bin 0 -> 488 bytes
3827 tests/test_files.sh | 5 +++++
3828 4 files changed, 12 insertions(+)
3830 commit f5e419550619c548c7c35d7e367cf00580a56521
3831 Author: Lasse Collin <lasse.collin@tukaani.org>
3832 Date: 2022-12-12 22:44:21 +0200
3834 Translations: Update the Catalan translation.
3836 po/ca.po | 657 +++++++++++++++++++++++++++++----------------------------------
3837 1 file changed, 306 insertions(+), 351 deletions(-)
3839 commit 0fb9d355da3789b1757040af475b4e6bbc8b8af8
3840 Author: Lasse Collin <lasse.collin@tukaani.org>
3841 Date: 2022-12-12 19:18:12 +0200
3846 1 file changed, 1 insertion(+)
3848 commit e5b6c161c61a37c54dcb76a99bbb83ac4abe02dc
3849 Author: Lasse Collin <lasse.collin@tukaani.org>
3850 Date: 2022-12-12 19:07:58 +0200
3854 AUTHORS | 12 ++++++++++++
3855 1 file changed, 12 insertions(+)
3857 commit f2d98e691099d82054d5f3071ef6f5e809932e44
3858 Author: Lasse Collin <lasse.collin@tukaani.org>
3859 Date: 2022-12-12 15:31:14 +0200
3861 Docs: Omit multi-threaded decompress from TODO.
3863 The TODO file outdated still.
3866 1 file changed, 2 deletions(-)
3868 commit b42908c42a4cc091db45a7e5ba0e0ecceaa3f6da
3869 Author: Lasse Collin <lasse.collin@tukaani.org>
3870 Date: 2022-12-11 21:16:09 +0200
3872 Docs: Update xz-file-format.txt to 1.1.0 for ARM64 filter.
3874 doc/xz-file-format.txt | 29 ++++++++++++++++++++++-------
3875 1 file changed, 22 insertions(+), 7 deletions(-)
3877 commit 854f2f5946b353cb0963fd6dfd54d363adc89b9f
3878 Author: Lasse Collin <lasse.collin@tukaani.org>
3879 Date: 2022-12-11 21:13:57 +0200
3881 xz: Rename --experimental-arm64 to --arm64.
3883 src/xz/args.c | 2 +-
3884 1 file changed, 1 insertion(+), 1 deletion(-)
3886 commit 31dbd1e5fb65831915a7bbb531c3f19aea8d57a5
3887 Author: Lasse Collin <lasse.collin@tukaani.org>
3888 Date: 2022-12-11 21:13:06 +0200
3890 liblzma: Change LZMA_FILTER_ARM64 to the official Filter ID 0x0A.
3892 src/liblzma/api/lzma/bcj.h | 6 +-----
3893 1 file changed, 1 insertion(+), 5 deletions(-)
3895 commit 01b3549e523edac899ec4925b282ceddd20da116
3896 Author: Lasse Collin <lasse.collin@tukaani.org>
3897 Date: 2022-12-08 19:24:22 +0200
3899 xz: Make args_info.files_name a const pointer.
3901 src/xz/args.c | 2 +-
3902 src/xz/args.h | 2 +-
3903 2 files changed, 2 insertions(+), 2 deletions(-)
3905 commit bc665b84ea6bf7946394a08122177efe41b26a5f
3906 Author: Lasse Collin <lasse.collin@tukaani.org>
3907 Date: 2022-12-08 19:18:16 +0200
3909 xz: Don't modify argv[].
3911 The code that parses --memlimit options and --block-list modified
3912 the argv[] when parsing the option string from optarg. This was
3913 visible in "ps auxf" and such and could be confusing. I didn't
3914 understand it back in the day when I wrote that code. Now a copy
3915 is allocated when modifiable strings are needed.
3917 src/xz/args.c | 23 +++++++++++++++++++----
3918 1 file changed, 19 insertions(+), 4 deletions(-)
3920 commit a13064e1c290de7933db72b6dffbd65cfce59c9f
3921 Author: Lasse Collin <lasse.collin@tukaani.org>
3922 Date: 2022-12-08 18:18:57 +0200
3924 Translations: Update the German man page translations.
3926 po4a/de.po | 4570 ++++++++++++++++++------------------------------------------
3927 1 file changed, 1374 insertions(+), 3196 deletions(-)
3929 commit 8bdbe42a8d0d75dff70206b923fc4bce5c69a40a
3930 Author: Jia Tan <jiat0218@gmail.com>
3931 Date: 2022-12-06 23:05:56 +0800
3933 Translations: Update the German translation.
3935 po/de.po | 586 ++++++++++++++++++++++++++++++++++-----------------------------
3936 1 file changed, 315 insertions(+), 271 deletions(-)
3938 commit 5c304b57c24ef40ff57f864301065f0244c05bde
3939 Author: Jia Tan <jiat0218@gmail.com>
3940 Date: 2022-12-06 23:04:25 +0800
3942 Translations: Update the Turkish translation.
3944 po/tr.po | 221 +++++++++++++++++++++++++++++++--------------------------------
3945 1 file changed, 108 insertions(+), 113 deletions(-)
3947 commit 6d86781fdb937970486500447ebb49b98244235b
3948 Author: Jia Tan <jiat0218@gmail.com>
3949 Date: 2022-12-06 23:02:11 +0800
3951 Translations: Update the Croatian translation.
3953 po/hr.po | 228 +++++++++++++++++++++++++++++++--------------------------------
3954 1 file changed, 113 insertions(+), 115 deletions(-)
3956 commit 7a5b4b8075eb36026b1796f04ffed5830c42396a
3957 Author: Jia Tan <jiat0218@gmail.com>
3958 Date: 2022-12-06 22:56:30 +0800
3960 Translations: Add Romanian translation of man pages.
3962 Thanks to Remus-Gabriel Chelu.
3964 po4a/po4a.conf | 2 +-
3965 po4a/ro.po | 3692 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3966 2 files changed, 3693 insertions(+), 1 deletion(-)
3968 commit c6977e7400088177556e8771bcb839eb7d90caa3
3969 Author: Jia Tan <jiat0218@gmail.com>
3970 Date: 2022-12-06 22:52:13 +0800
3972 Translations: Update the Romanian translation.
3974 po/ro.po | 294 +++++++++++++++++++++++++++++++--------------------------------
3975 1 file changed, 147 insertions(+), 147 deletions(-)
3977 commit ac2a747e939c2cbccff7a49c399769af5e02d2ab
3978 Author: Lasse Collin <lasse.collin@tukaani.org>
3979 Date: 2022-12-08 17:30:09 +0200
3981 liblzma: Check for unexpected NULL pointers in block_header_decode().
3983 The API docs gave an impression that such checks are done
3984 but they actually weren't done. In practice it made little
3985 difference since the calling code has a bug if these are NULL.
3987 Thanks to Jia Tan for the original patch that checked for
3988 block->filters == NULL.
3990 src/liblzma/common/block_header_decoder.c | 4 ++++
3991 1 file changed, 4 insertions(+)
3993 commit 24790f49ae66938c1c7574315e1c0aba1ed5ed25
3994 Author: Lasse Collin <lasse.collin@tukaani.org>
3995 Date: 2022-12-01 20:59:32 +0200
3997 Bump version number for 5.3.5beta.
3999 This also sorts the symbol names alphabetically in liblzma_*.map.
4001 src/liblzma/api/lzma/version.h | 4 ++--
4002 src/liblzma/liblzma_generic.map | 10 +++++-----
4003 src/liblzma/liblzma_linux.map | 10 +++++-----
4004 3 files changed, 12 insertions(+), 12 deletions(-)
4006 commit 7e53c5bcb3c2c17f47c096c06ff6b1481e6ecafa
4007 Author: Lasse Collin <lasse.collin@tukaani.org>
4008 Date: 2022-12-01 20:57:26 +0200
4010 Add NEWS for 5.3.5beta.
4012 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++
4013 1 file changed, 43 insertions(+)
4015 commit 5865f2aaac326fcbd9f8a7d62defa230e4cb644e
4016 Author: Lasse Collin <lasse.collin@tukaani.org>
4017 Date: 2022-12-01 20:57:09 +0200
4022 1 file changed, 3 insertions(+)
4024 commit 62b270988ec67314d69976df484d2974c6eacfda
4025 Author: Lasse Collin <lasse.collin@tukaani.org>
4026 Date: 2022-12-01 20:04:17 +0200
4028 liblzma: Use __has_attribute(__symver__) to fix Clang detection.
4030 If someone sets up Clang to define __GNUC__ to 10 or greater
4031 then symvers broke. __has_attribute is supported by such GCC
4032 and Clang versions that don't support __symver__ so this should
4033 be much better and simpler way to detect if __symver__ is
4036 Thanks to Tomasz Gajc for the bug report.
4038 src/liblzma/common/common.h | 15 ++++++++++++++-
4039 1 file changed, 14 insertions(+), 1 deletion(-)
4041 commit f9ca7d45162664ddd9fb70e19335c2426e5d75bb
4042 Author: Lasse Collin <lasse.collin@tukaani.org>
4043 Date: 2022-12-01 18:51:52 +0200
4045 liblzma: Omit zero-skipping from ARM64 filter.
4047 It has some complicated downsides and its usefulness is more limited
4048 than I originally thought. So this change is bad for certain very
4049 specific situations but a generic solution that works for other
4050 filters (and is otherwise better too) is planned anyway. And this
4051 way 7-Zip can use the same compatible filter for the .7z format.
4053 This is still marked as experimental with a new temporary Filter ID.
4055 src/liblzma/api/lzma/bcj.h | 2 +-
4056 src/liblzma/simple/arm64.c | 81 +++++++++++++---------------------------------
4057 2 files changed, 24 insertions(+), 59 deletions(-)
4059 commit 5baec3f0a9c85e6abf45c0f652f699b074129a8b
4060 Author: Lasse Collin <lasse.collin@tukaani.org>
4061 Date: 2022-12-01 18:13:27 +0200
4063 xz: Omit the special notes about ARM64 filter on the man page.
4065 src/xz/xz.1 | 5 ++---
4066 1 file changed, 2 insertions(+), 3 deletions(-)
4068 commit 0c3627b51862eb0dcdd4fc283d046250571991c6
4069 Author: Lasse Collin <lasse.collin@tukaani.org>
4070 Date: 2022-12-01 18:12:03 +0200
4072 liblzma: Don't be over-specific in lzma_str_to_filters API doc.
4074 src/liblzma/api/lzma/filter.h | 3 +--
4075 1 file changed, 1 insertion(+), 2 deletions(-)
4077 commit 94adf057f27b1970f493dc99cd166407d7255639
4078 Author: Lasse Collin <lasse.collin@tukaani.org>
4079 Date: 2022-12-01 17:54:23 +0200
4081 liblzma: Silence unused variable warning when BCJ filters are disabled.
4083 Thanks to Jia Tan for the original patch.
4085 src/liblzma/common/string_conversion.c | 15 +++++++++++++++
4086 1 file changed, 15 insertions(+)
4088 commit c68af4441744e5ffc41a472e1be9c9d53a1d9780
4089 Author: Lasse Collin <lasse.collin@tukaani.org>
4090 Date: 2022-12-01 17:38:03 +0200
4092 Translations: Update the Chinese (simplified) translation.
4094 po/zh_CN.po | 608 ++++++++++++++++++++++++++++++++++--------------------------
4095 1 file changed, 348 insertions(+), 260 deletions(-)
4097 commit 3be6942e5c27d29995d41da52fbe274e4ce4a537
4098 Author: Lasse Collin <lasse.collin@tukaani.org>
4099 Date: 2022-11-30 18:55:03 +0200
4103 NEWS | 34 ++++++++++++++++++++++++++++++++++
4104 1 file changed, 34 insertions(+)
4106 commit 7c16e312cb2f40b81154c0e5be13a3c6b8da485d
4107 Author: Jia Tan <jiat0218@gmail.com>
4108 Date: 2022-11-30 23:33:08 +0800
4110 xz: Remove message_filters_to_str function prototype from message.h.
4112 This was forgotten from 7484744af6cbabe81e92af7d9e061dfd597fff7b.
4114 src/xz/message.h | 16 ----------------
4115 1 file changed, 16 deletions(-)
4117 commit 764955e2d4f2a5e8d6d6fec63af694f799e050e7
4118 Author: Lasse Collin <lasse.collin@tukaani.org>
4119 Date: 2022-11-30 18:08:34 +0200
4121 Change the bug report address.
4123 It forwards to me and Jia Tan.
4125 Also update the IRC reference in README as #tukaani was moved
4126 to Libera Chat long ago.
4128 CMakeLists.txt | 2 +-
4129 README | 11 +++++------
4132 windows/README-Windows.txt | 2 +-
4133 5 files changed, 9 insertions(+), 10 deletions(-)
4135 commit c21983c76031e01da01ad3c6cc716fe4b8a75070
4136 Author: Lasse Collin <lasse.collin@tukaani.org>
4137 Date: 2022-11-30 17:50:17 +0200
4139 Build: Add string_conversion.c to CMake, DOS, and VS files.
4141 CMakeLists.txt | 1 +
4143 windows/vs2013/liblzma.vcxproj | 1 +
4144 windows/vs2013/liblzma_dll.vcxproj | 1 +
4145 windows/vs2017/liblzma.vcxproj | 1 +
4146 windows/vs2017/liblzma_dll.vcxproj | 1 +
4147 windows/vs2019/liblzma.vcxproj | 1 +
4148 windows/vs2019/liblzma_dll.vcxproj | 1 +
4149 8 files changed, 8 insertions(+)
4151 commit 30be0c35d24eb5175459d69dbf7d92e2b087ef82
4152 Author: Lasse Collin <lasse.collin@tukaani.org>
4153 Date: 2022-11-30 17:38:32 +0200
4155 Update to HTTPS URLs in AUTHORS.
4158 1 file changed, 3 insertions(+), 3 deletions(-)
4160 commit 0a72b9ca2fe20082da9b7128fe0d908af947a851
4161 Author: Jia Tan <jiat0218@gmail.com>
4162 Date: 2022-11-30 00:52:06 +0800
4164 liblzma: Improve documentation for string to filter functions.
4166 src/liblzma/api/lzma/filter.h | 17 +++++++++--------
4167 1 file changed, 9 insertions(+), 8 deletions(-)
4169 commit a6e21fcede3b196160a52dd294d965c508a4bb33
4170 Author: Lasse Collin <lasse.collin@tukaani.org>
4171 Date: 2022-11-29 22:27:42 +0200
4173 liblzma: Two fixes to lzma_str_list_filters() API docs.
4177 src/liblzma/api/lzma/filter.h | 6 +++---
4178 1 file changed, 3 insertions(+), 3 deletions(-)
4180 commit 7484744af6cbabe81e92af7d9e061dfd597fff7b
4181 Author: Lasse Collin <lasse.collin@tukaani.org>
4182 Date: 2022-11-28 21:57:47 +0200
4184 xz: Use lzma_str_from_filters().
4186 Two uses: Displaying encoder filter chain when compressing with -vv,
4187 and displaying the decoder filter chain in --list -vv.
4189 src/xz/list.c | 28 ++++++---
4190 src/xz/message.c | 175 +++----------------------------------------------------
4191 2 files changed, 28 insertions(+), 175 deletions(-)
4193 commit cedeeca2ea6ada5b0411b2ae10d7a859e837f203
4194 Author: Lasse Collin <lasse.collin@tukaani.org>
4195 Date: 2022-11-28 21:37:48 +0200
4197 liblzma: Add lzma_str_to_filters, _from_filters, and _list_filters.
4199 lzma_str_to_filters() uses static error messages which makes
4200 them not very precise. It tells the position in the string
4201 where an error occurred though which helps quite a bit if
4202 applications take advantage of it. Dynamic error messages can
4203 be added later with a new flag if it seems important enough.
4205 src/liblzma/api/lzma/filter.h | 258 +++++++
4206 src/liblzma/common/Makefile.inc | 1 +
4207 src/liblzma/common/string_conversion.c | 1302 ++++++++++++++++++++++++++++++++
4208 src/liblzma/liblzma_generic.map | 3 +
4209 src/liblzma/liblzma_linux.map | 3 +
4210 5 files changed, 1567 insertions(+)
4212 commit 072ebf7b1335421193ffa9d4a70d5533786b8995
4213 Author: Lasse Collin <lasse.collin@tukaani.org>
4214 Date: 2022-11-28 21:02:19 +0200
4216 liblzma: Make lzma_validate_chain() available outside filter_common.c.
4218 src/liblzma/common/filter_common.c | 8 ++++----
4219 src/liblzma/common/filter_common.h | 3 +++
4220 2 files changed, 7 insertions(+), 4 deletions(-)
4222 commit 5f22bd2d37e3bd01a5d701b51750eb51f09c11bf
4223 Author: Lasse Collin <lasse.collin@tukaani.org>
4224 Date: 2022-11-28 10:51:03 +0200
4226 liblzma: Remove lzma_lz_decoder_uncompressed() as it's now unused.
4228 src/liblzma/lz/lz_decoder.c | 14 --------------
4229 src/liblzma/lz/lz_decoder.h | 3 ---
4230 2 files changed, 17 deletions(-)
4232 commit cee83206465b95729ab649aa2f57fdbde8dcaf89
4233 Author: Lasse Collin <lasse.collin@tukaani.org>
4234 Date: 2022-11-28 10:48:53 +0200
4236 liblzma: Use LZMA1EXT feature in lzma_microlzma_decoder().
4238 Here too this avoids the slightly ugly method to set
4239 the uncompressed size.
4241 Also moved the setting of dict_size to the struct initializer.
4243 src/liblzma/common/microlzma_decoder.c | 15 ++++++++-------
4244 1 file changed, 8 insertions(+), 7 deletions(-)
4246 commit e310e8b6a490dfb468f4ed68feff246d776b323c
4247 Author: Lasse Collin <lasse.collin@tukaani.org>
4248 Date: 2022-11-28 10:28:20 +0200
4250 liblzma: Use LZMA1EXT feature in lzma_alone_decoder().
4252 This avoids the need to use the slightly ugly method to
4253 set the uncompressed size.
4255 src/liblzma/common/alone_decoder.c | 18 +++++++++++++-----
4256 1 file changed, 13 insertions(+), 5 deletions(-)
4258 commit 33b8a24b6646a9dbfd8358405aec466b13078559
4259 Author: Lasse Collin <lasse.collin@tukaani.org>
4260 Date: 2022-11-27 23:16:21 +0200
4262 liblzma: Add LZMA_FILTER_LZMA1EXT to support LZMA1 without end marker.
4264 Some file formats need support for LZMA1 streams that don't use
4265 the end of payload marker (EOPM) alias end of stream (EOS) marker.
4266 So far liblzma API has supported decompressing such streams via
4267 lzma_alone_decoder() when .lzma header specifies a known
4268 uncompressed size. Encoding support hasn't been available in the API.
4270 Instead of adding a new LZMA1-only API for this purpose, this commit
4271 adds a new filter ID for use with raw encoder and decoder. The main
4272 benefit of this approach is that then also filter chains are possible,
4273 for example, if someone wants to implement support for .7z files that
4274 use the x86 BCJ filter with LZMA1 (not BCJ2 as that isn't supported
4277 src/liblzma/api/lzma/lzma12.h | 123 ++++++++++++++++++++++++++++++--
4278 src/liblzma/common/filter_common.c | 7 ++
4279 src/liblzma/common/filter_decoder.c | 6 ++
4280 src/liblzma/common/filter_encoder.c | 9 +++
4281 src/liblzma/lzma/lzma2_encoder.c | 2 +-
4282 src/liblzma/lzma/lzma_decoder.c | 26 ++++++-
4283 src/liblzma/lzma/lzma_encoder.c | 40 +++++++++--
4284 src/liblzma/lzma/lzma_encoder.h | 3 +-
4285 src/liblzma/lzma/lzma_encoder_private.h | 3 +
4286 9 files changed, 204 insertions(+), 15 deletions(-)
4288 commit 9a304bf1e45b3ddf61aaeaa7c764915b34618ede
4289 Author: Lasse Collin <lasse.collin@tukaani.org>
4290 Date: 2022-11-27 18:43:07 +0200
4292 liblzma: Avoid unneeded use of void pointer in LZMA decoder.
4294 src/liblzma/lzma/lzma_decoder.c | 3 +--
4295 src/liblzma/lzma/lzma_decoder.h | 2 +-
4296 2 files changed, 2 insertions(+), 3 deletions(-)
4298 commit 218394958c7683f892275bb40eae880620feebcc
4299 Author: Lasse Collin <lasse.collin@tukaani.org>
4300 Date: 2022-11-27 18:20:33 +0200
4302 liblzma: Pass the Filter ID to LZ encoder and decoder.
4304 This allows using two Filter IDs with the same
4305 initialization function and data structures.
4307 src/liblzma/common/alone_decoder.c | 1 +
4308 src/liblzma/common/alone_encoder.c | 1 +
4309 src/liblzma/common/common.h | 7 +++++--
4310 src/liblzma/common/lzip_decoder.c | 1 +
4311 src/liblzma/common/microlzma_decoder.c | 1 +
4312 src/liblzma/common/microlzma_encoder.c | 1 +
4313 src/liblzma/lz/lz_decoder.c | 5 +++--
4314 src/liblzma/lz/lz_decoder.h | 3 ++-
4315 src/liblzma/lz/lz_encoder.c | 5 +++--
4316 src/liblzma/lz/lz_encoder.h | 3 ++-
4317 src/liblzma/lzma/lzma2_decoder.c | 3 ++-
4318 src/liblzma/lzma/lzma2_encoder.c | 3 ++-
4319 src/liblzma/lzma/lzma_decoder.c | 2 +-
4320 src/liblzma/lzma/lzma_encoder.c | 2 +-
4321 14 files changed, 26 insertions(+), 12 deletions(-)
4323 commit 1663c7676b76f4c514031797f3db1896e8100f7f
4324 Author: Lasse Collin <lasse.collin@tukaani.org>
4325 Date: 2022-11-27 01:03:16 +0200
4327 liblzma: Remove two FIXME comments.
4329 src/liblzma/common/filter_encoder.c | 4 ++--
4330 1 file changed, 2 insertions(+), 2 deletions(-)
4332 commit 11fe708db783ac36ebeeb85da164e29e8c300910
4333 Author: Lasse Collin <lasse.collin@tukaani.org>
4334 Date: 2022-11-26 22:25:30 +0200
4336 xz: Use lzma_filters_free().
4338 src/xz/list.c | 8 ++------
4339 1 file changed, 2 insertions(+), 6 deletions(-)
4341 commit e782af9110d8499c7ac2929bc871540eefea5ea1
4342 Author: Lasse Collin <lasse.collin@tukaani.org>
4343 Date: 2022-11-26 22:21:13 +0200
4345 liblzma: Use lzma_filters_free() in more places.
4347 src/liblzma/common/block_header_decoder.c | 20 ++------------------
4348 src/liblzma/common/stream_decoder.c | 4 +---
4349 src/liblzma/common/stream_decoder_mt.c | 22 +++++-----------------
4350 3 files changed, 8 insertions(+), 38 deletions(-)
4352 commit 90caaded2dc6db1d6a55b01160d7e87f4a423628
4353 Author: Lasse Collin <lasse.collin@tukaani.org>
4354 Date: 2022-11-25 18:04:37 +0200
4356 liblzma: Omit simple coder init functions if they are disabled.
4358 src/liblzma/simple/arm.c | 4 ++++
4359 src/liblzma/simple/armthumb.c | 4 ++++
4360 src/liblzma/simple/ia64.c | 4 ++++
4361 src/liblzma/simple/powerpc.c | 4 ++++
4362 src/liblzma/simple/sparc.c | 4 ++++
4363 src/liblzma/simple/x86.c | 4 ++++
4364 6 files changed, 24 insertions(+)
4366 commit 5cd9f0df78cc4f8a7807bf6104adea13034fbb45
4367 Author: Lasse Collin <lasse.collin@tukaani.org>
4368 Date: 2022-11-24 23:24:59 +0200
4370 xz: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
4372 Now that liblzma accepts these, we avoid the extra check and
4373 there's one message less for translators too.
4375 src/xz/options.c | 5 -----
4376 1 file changed, 5 deletions(-)
4378 commit 3be88ae071371caa279b44e13f4836fb178fe4ae
4379 Author: Lasse Collin <lasse.collin@tukaani.org>
4380 Date: 2022-11-24 23:23:55 +0200
4382 liblzma: Allow nice_len 2 and 3 even if match finder requires 3 or 4.
4384 That is, if the specified nice_len is smaller than the minimum
4385 of the match finder, silently use the match finder's minimum value
4386 instead of reporting an error. The old behavior is annoying to users
4387 and it complicates xz options handling too.
4389 src/liblzma/lz/lz_encoder.c | 14 +++++++++-----
4390 src/liblzma/lz/lz_encoder.h | 9 +++++++++
4391 src/liblzma/lzma/lzma_encoder.c | 11 ++++++++---
4392 3 files changed, 26 insertions(+), 8 deletions(-)
4394 commit 93439cfafe1768b3b18d67d2356ef7e7559bba59
4395 Author: Lasse Collin <lasse.collin@tukaani.org>
4396 Date: 2022-11-24 16:25:10 +0200
4398 liblzma: Add lzma_filters_update() support to the multi-threaded encoder.
4400 A tiny downside of this is that now a 1-4 tiny allocations are made
4401 for every Block because each worker thread needs its own copy of
4404 src/liblzma/api/lzma/filter.h | 36 +++++++------
4405 src/liblzma/common/stream_encoder_mt.c | 96 +++++++++++++++++++++++++++++++---
4406 2 files changed, 109 insertions(+), 23 deletions(-)
4408 commit 17ac51e689794eb41cab3e80946fec689caea2d2
4409 Author: Lasse Collin <lasse.collin@tukaani.org>
4410 Date: 2022-11-24 14:53:22 +0200
4415 1 file changed, 1 insertion(+)
4417 commit 06824396b2b6c84f3a235cb7c19c2a9701167797
4418 Author: Lasse Collin <lasse.collin@tukaani.org>
4419 Date: 2022-11-24 14:52:44 +0200
4421 Build: Don't put GNU/Linux-specific symbol versions into static liblzma.
4423 It not only makes no sense to put symbol versions into a static library
4424 but it can also cause breakage.
4426 By default Libtool #defines PIC if building a shared library and
4427 doesn't define it for static libraries. This is documented in the
4428 Libtool manual. It can be overriden using --with-pic or --without-pic.
4429 configure.ac detects if --with-pic or --without-pic is used and then
4430 gives an error if neither --disable-shared nor --disable-static was
4431 used at the same time. Thus, in normal situations it works to build
4432 both shared and static library at the same time on GNU/Linux,
4433 only --with-pic or --without-pic requires that only one type of
4436 Thanks to John Paul Adrian Glaubitz from Debian for reporting
4437 the problem that occurred on ia64:
4438 https://www.mail-archive.com/xz-devel@tukaani.org/msg00610.html
4440 CMakeLists.txt | 5 +-
4441 configure.ac | 143 +++++++++++++++++++++++++++++---------------
4442 src/liblzma/common/common.h | 12 ++++
4443 3 files changed, 111 insertions(+), 49 deletions(-)
4445 commit e1acf7107291f8b3d6d609a7133331ff36d35d14
4446 Author: Lasse Collin <lasse.collin@tukaani.org>
4447 Date: 2022-11-24 01:32:16 +0200
4449 liblzma: Refactor to use lzma_filters_free().
4451 lzma_filters_free() sets the options to NULL and ids to
4452 LZMA_VLI_UNKNOWN so there is no need to do it by caller;
4453 the filter arrays will always be left in a safe state.
4455 Also use memcpy() instead of a loop to copy a filter chain
4456 when it is known to be safe to copy LZMA_FILTERS_MAX + 1
4457 (even if the elements past the terminator might be uninitialized).
4459 src/liblzma/common/stream_encoder.c | 16 ++++------------
4460 src/liblzma/common/stream_encoder_mt.c | 11 ++---------
4461 2 files changed, 6 insertions(+), 21 deletions(-)
4463 commit cb05dbcf8b868441ec805016222f3fd77f1c5caa
4464 Author: Lasse Collin <lasse.collin@tukaani.org>
4465 Date: 2022-11-24 01:26:37 +0200
4467 liblzma: Fix another invalid free() after memory allocation failure.
4469 This time it can happen when lzma_stream_encoder_mt() is used
4470 to reinitialize an existing multi-threaded Stream encoder
4471 and one of 1-4 tiny allocations in lzma_filters_copy() fail.
4473 It's very similar to the previous bug
4474 10430fbf3820dafd4eafd38ec8be161a6978ed2b, happening with
4475 an array of lzma_filter structures whose old options are freed
4476 but the replacement never arrives due to a memory allocation
4477 failure in lzma_filters_copy().
4479 src/liblzma/common/stream_encoder_mt.c | 4 ++++
4480 1 file changed, 4 insertions(+)
4482 commit 75f1a6c26df4ce329da0882786403e3ccf5cd898
4483 Author: Jia Tan <jiat0218@gmail.com>
4484 Date: 2022-05-05 20:53:42 +0800
4486 liblzma: Add support for LZMA_SYNC_FLUSH in the Block encoder.
4488 The documentation mentions that lzma_block_encoder() supports
4489 LZMA_SYNC_FLUSH but it was never added to supported_actions[]
4490 in the internal structure. Because of this, LZMA_SYNC_FLUSH could
4491 not be used with the Block encoder unless it was the next coder
4492 after something like stream_encoder() or stream_encoder_mt().
4494 src/liblzma/common/block_encoder.c | 1 +
4495 1 file changed, 1 insertion(+)
4497 commit d0901645170b638c517f5c50866b6ef48f491c65
4498 Author: Lasse Collin <lasse.collin@tukaani.org>
4499 Date: 2022-11-24 01:02:50 +0200
4501 liblzma: Add new API function lzma_filters_free().
4503 This is small but convenient and should have been added
4506 src/liblzma/api/lzma/filter.h | 21 +++++++++++++++++++++
4507 src/liblzma/common/filter_common.c | 26 ++++++++++++++++++++++++++
4508 src/liblzma/liblzma_generic.map | 1 +
4509 src/liblzma/liblzma_linux.map | 1 +
4510 4 files changed, 49 insertions(+)
4512 commit ae1f8a723dcde2f2c5cf444bcbb5fc5026b3c3c5
4513 Author: Lasse Collin <lasse.collin@tukaani.org>
4514 Date: 2022-11-24 00:02:31 +0200
4516 CMake: Don't use symbol versioning with static library.
4518 CMakeLists.txt | 10 +++++++---
4519 1 file changed, 7 insertions(+), 3 deletions(-)
4521 commit 48c1b99dc537a27e1ca929d8837e778e5ba32191
4522 Author: Lasse Collin <lasse.collin@tukaani.org>
4523 Date: 2022-11-23 21:55:22 +0200
4525 liblzma: Add lzma_attr_warn_unused_result to lzma_filters_copy().
4527 src/liblzma/api/lzma/filter.h | 3 ++-
4528 1 file changed, 2 insertions(+), 1 deletion(-)
4530 commit 10430fbf3820dafd4eafd38ec8be161a6978ed2b
4531 Author: Lasse Collin <lasse.collin@tukaani.org>
4532 Date: 2022-11-23 21:26:21 +0200
4534 liblzma: Fix invalid free() after memory allocation failure.
4536 The bug was in the single-threaded .xz Stream encoder
4537 in the code that is used for both re-initialization and for
4538 lzma_filters_update(). To trigger it, an application had
4539 to either re-initialize an existing encoder instance with
4540 lzma_stream_encoder() or use lzma_filters_update(), and
4541 then one of the 1-4 tiny allocations in lzma_filters_copy()
4542 (called from stream_encoder_update()) must fail. An error
4543 was correctly reported but the encoder state was corrupted.
4545 This is related to the recent fix in
4546 f8ee61e74eb40600445fdb601c374d582e1e9c8a which is good but
4547 it wasn't enough to fix the main problem in stream_encoder.c.
4549 src/liblzma/common/stream_encoder.c | 39 +++++++++++++++++++++++++++++--------
4550 1 file changed, 31 insertions(+), 8 deletions(-)
4552 commit cafd6dc397ca8b5b5f7775e8d6876b8fe70f8e70
4553 Author: Lasse Collin <lasse.collin@tukaani.org>
4554 Date: 2022-11-22 16:37:15 +0200
4556 liblzma: Fix language in a comment.
4558 src/liblzma/common/stream_encoder.c | 2 +-
4559 1 file changed, 1 insertion(+), 1 deletion(-)
4561 commit c392bf8ccba857baaf50399c4b460119befacd54
4562 Author: Lasse Collin <lasse.collin@tukaani.org>
4563 Date: 2022-11-22 11:20:17 +0200
4565 liblzma: Fix infinite loop in LZMA encoder init with dict_size >= 2 GiB.
4567 The encoder doesn't support dictionary sizes larger than 1536 MiB.
4568 This is validated, for example, when calculating the memory usage
4569 via lzma_raw_encoder_memusage(). It is also enforced by the LZ
4570 part of the encoder initialization. However, LZMA encoder with
4571 LZMA_MODE_NORMAL did an unsafe calculation with dict_size before
4572 such validation and that results in an infinite loop if dict_size
4573 was 2 << 30 or greater.
4575 src/liblzma/lzma/lzma_encoder.c | 19 +++++++++++++++----
4576 1 file changed, 15 insertions(+), 4 deletions(-)
4578 commit f50534c973a591ccf65485adfc827a8a7126ca6c
4579 Author: Lasse Collin <lasse.collin@tukaani.org>
4580 Date: 2022-11-21 13:02:33 +0200
4582 liblzma: Fix two Doxygen commands in the API headers.
4584 These were caught by clang -Wdocumentation.
4586 src/liblzma/api/lzma/hardware.h | 2 +-
4587 src/liblzma/api/lzma/index_hash.h | 2 +-
4588 2 files changed, 2 insertions(+), 2 deletions(-)
4590 commit 649d4872ed2f55196114a061d45b416fc4353569
4591 Author: Lasse Collin <lasse.collin@tukaani.org>
4592 Date: 2022-11-19 19:09:55 +0200
4594 xz: Refactor duplicate code from hardware_memlimit_mtenc_get().
4596 src/xz/hardware.c | 2 +-
4597 1 file changed, 1 insertion(+), 1 deletion(-)
4599 commit d327743bb547a53364e5951a16e5f1663fe4b9ff
4600 Author: Lasse Collin <lasse.collin@tukaani.org>
4601 Date: 2022-11-19 19:06:13 +0200
4603 xz: Add support --threads=+N so that -T+1 gives threaded mode.
4605 src/xz/args.c | 18 +++++++++++++++---
4606 src/xz/hardware.c | 17 +++++++++++++++--
4607 src/xz/hardware.h | 1 +
4608 src/xz/xz.1 | 21 ++++++++++++++++++++-
4609 4 files changed, 51 insertions(+), 6 deletions(-)
4611 commit a11a2b8b5e830ba682c1d81aaa7078842b296995
4612 Author: Jia Tan <jiat0218@gmail.com>
4613 Date: 2022-11-19 23:18:04 +0800
4615 CMake: Adds test_memlimit to CMake tests
4617 CMakeLists.txt | 1 +
4618 1 file changed, 1 insertion(+)
4620 commit 2af8d9e9b3f44f62d19e7c39297ec63af2e8c64f
4621 Author: Lasse Collin <lasse.collin@tukaani.org>
4622 Date: 2022-11-15 19:10:21 +0200
4624 Translations: Update the Korean translation.
4626 po/ko.po | 652 ++++++++++++++++++++++++++++++++++++---------------------------
4627 1 file changed, 371 insertions(+), 281 deletions(-)
4629 commit 16ac05677292f7e21a4feaddcfb2ab062ea5f385
4630 Author: Lasse Collin <lasse.collin@tukaani.org>
4631 Date: 2022-11-15 19:09:28 +0200
4633 Translations: Update the Turkish translation.
4635 po/tr.po | 568 ++++++++++++++++++++++++++++++++++-----------------------------
4636 1 file changed, 310 insertions(+), 258 deletions(-)
4638 commit b9a67d9a5fa207062d4aa8a01639234609315d31
4639 Author: Lasse Collin <lasse.collin@tukaani.org>
4640 Date: 2022-11-15 10:58:39 +0200
4642 Bump version number for 5.3.4alpha.
4644 src/liblzma/api/lzma/version.h | 2 +-
4645 src/liblzma/liblzma_generic.map | 2 +-
4646 src/liblzma/liblzma_linux.map | 2 +-
4647 3 files changed, 3 insertions(+), 3 deletions(-)
4649 commit 5b999ba289b3280457b7386b9ac65dbbdf1575a5
4650 Author: Lasse Collin <lasse.collin@tukaani.org>
4651 Date: 2022-11-15 10:54:40 +0200
4653 Add NEWS for 5.3.4alpha.
4655 NEWS | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4656 1 file changed, 96 insertions(+)
4658 commit ce8db9e37da4f6c87691c5066f51f91f2411c44a
4659 Author: Lasse Collin <lasse.collin@tukaani.org>
4660 Date: 2022-11-15 10:54:08 +0200
4664 NEWS | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4665 1 file changed, 79 insertions(+)
4667 commit b56bc8251d2736224af6bdaaae734ceb8926a879
4668 Author: Lasse Collin <lasse.collin@tukaani.org>
4669 Date: 2022-11-14 23:19:57 +0200
4671 Revert "liblzma: Simple/BCJ filters: Allow disabling generic BCJ options."
4673 This reverts commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
4674 and also does equivalent change to arm64.c.
4676 Now that ARM64 filter will use lzma_options_bcj, this change
4677 is not needed anymore.
4679 src/liblzma/simple/arm.c | 2 +-
4680 src/liblzma/simple/arm64.c | 2 +-
4681 src/liblzma/simple/armthumb.c | 2 +-
4682 src/liblzma/simple/ia64.c | 2 +-
4683 src/liblzma/simple/powerpc.c | 2 +-
4684 src/liblzma/simple/simple_coder.c | 4 ++--
4685 src/liblzma/simple/simple_private.h | 2 +-
4686 src/liblzma/simple/sparc.c | 2 +-
4687 src/liblzma/simple/x86.c | 3 +--
4688 9 files changed, 10 insertions(+), 11 deletions(-)
4690 commit 8370ec8edf9ddf8d1d9fef03d8d1027503ec4c35
4691 Author: Lasse Collin <lasse.collin@tukaani.org>
4692 Date: 2022-11-14 23:14:41 +0200
4694 Replace the experimental ARM64 filter with a new experimental version.
4696 This is incompatible with the previous version.
4698 This has space/tab fixes in filter_*.c and bcj.h too.
4700 src/liblzma/api/lzma/bcj.h | 41 +-----
4701 src/liblzma/common/filter_common.c | 14 +-
4702 src/liblzma/common/filter_decoder.c | 12 +-
4703 src/liblzma/common/filter_encoder.c | 17 +--
4704 src/liblzma/simple/arm64.c | 283 ++++++++++++++----------------------
4705 src/liblzma/simple/simple_decoder.h | 4 -
4706 src/liblzma/simple/simple_encoder.h | 2 -
4707 src/xz/args.c | 2 +-
4708 src/xz/message.c | 13 +-
4709 src/xz/options.c | 39 -----
4710 src/xz/options.h | 7 -
4711 11 files changed, 147 insertions(+), 287 deletions(-)
4713 commit f644473a211394447824ea00518d0a214ff3f7f2
4714 Author: Lasse Collin <lasse.collin@tukaani.org>
4715 Date: 2022-11-14 21:34:57 +0200
4717 liblzma: Add fast CRC64 for 32/64-bit x86 using SSSE3 + SSE4.1 + CLMUL.
4719 It also works on E2K as it supports these intrinsics.
4721 On x86-64 runtime detection is used so the code keeps working on
4722 older processors too. A CLMUL-only build can be done by using
4723 -msse4.1 -mpclmul in CFLAGS and this will reduce the library
4724 size since the generic implementation and its 8 KiB lookup table
4727 On 32-bit x86 this isn't used by default for now because by default
4728 on 32-bit x86 the separate assembly file crc64_x86.S is used.
4729 If --disable-assembler is used then this new CLMUL code is used
4730 the same way as on 64-bit x86. However, a CLMUL-only build
4731 (-msse4.1 -mpclmul) won't omit the 8 KiB lookup table on
4732 32-bit x86 due to a currently-missing check for disabled
4735 The configure.ac check should be such that the code won't be
4736 built if something in the toolchain doesn't support it but
4737 --disable-clmul-crc option can be used to unconditionally
4738 disable this feature.
4740 CLMUL speeds up decompression of files that have compressed very
4741 well (assuming CRC64 is used as a check type). It is know that
4742 the CLMUL code is significantly slower than the generic code for
4743 tiny inputs (especially 1-8 bytes but up to 16 bytes). If that
4744 is a real-world problem then there is already a commented-out
4745 variant that uses the generic version for small inputs.
4747 Thanks to Ilya Kurdyukov for the original patch which was
4748 derived from a white paper from Intel [1] (published in 2009)
4749 and public domain code from [2] (released in 2016).
4751 [1] https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-crc-computation-generic-polynomials-pclmulqdq-paper.pdf
4752 [2] https://github.com/rawrunprotected/crc
4754 CMakeLists.txt | 26 ++-
4756 configure.ac | 59 +++++-
4757 src/liblzma/check/crc64_fast.c | 449 +++++++++++++++++++++++++++++++++++++++-
4758 src/liblzma/check/crc64_table.c | 21 +-
4759 5 files changed, 554 insertions(+), 13 deletions(-)
4761 commit 3b466bc79672bb2b06d1245a500588e6026e0ba0
4762 Author: Lasse Collin <lasse.collin@tukaani.org>
4763 Date: 2022-11-14 20:14:34 +0200
4765 Translations: Update the Swedish translation one more time.
4768 1 file changed, 3 insertions(+), 3 deletions(-)
4770 commit e963379a8622ebdff6ce78e76b803bcd1e1d16d6
4771 Author: Lasse Collin <lasse.collin@tukaani.org>
4772 Date: 2022-11-14 19:34:15 +0200
4774 Translations: Update the Swedish translation again.
4776 po/sv.po | 16 ++++++++--------
4777 1 file changed, 8 insertions(+), 8 deletions(-)
4779 commit a4bc689a823a2254f29ac9d233170add5121b307
4780 Author: Lasse Collin <lasse.collin@tukaani.org>
4781 Date: 2022-11-14 19:07:45 +0200
4783 Translations: Update the Swedish translation.
4785 po/sv.po | 671 ++++++++++++++++++++++++++++++++++++---------------------------
4786 1 file changed, 382 insertions(+), 289 deletions(-)
4788 commit bbf2073d824ab4ba33bed4b77f467435abd333a5
4789 Author: Lasse Collin <lasse.collin@tukaani.org>
4790 Date: 2022-11-14 18:58:09 +0200
4792 Translations: Update the Ukrainian translation.
4794 po/uk.po | 618 ++++++++++++++++++++++++++++++++++++---------------------------
4795 1 file changed, 354 insertions(+), 264 deletions(-)
4797 commit ac10b1b3622e70881595586edfb8a3ebdcd76bb6
4798 Author: Lasse Collin <lasse.collin@tukaani.org>
4799 Date: 2022-11-14 17:58:07 +0200
4801 Build: Omit x86_64 from --enable-assembler.
4803 It didn't do anything. There are only 32-bit x86 assembly files
4804 and it feels likely that new files won't be added as intrinsics
4805 in C are more portable across toolchains and OSes.
4807 configure.ac | 6 ++----
4808 1 file changed, 2 insertions(+), 4 deletions(-)
4810 commit eb0f1450ad9f23dac03050d9c8375980240aee21
4811 Author: Lasse Collin <lasse.collin@tukaani.org>
4812 Date: 2022-11-14 16:00:52 +0200
4814 liblzma: Use __attribute__((__constructor__)) if available.
4816 This uses it for CRC table initializations when using --disable-small.
4817 It avoids mythread_once() overhead. It also means that then
4818 --disable-small --disable-threads is thread-safe if this attribute
4821 CMakeLists.txt | 15 +++++++++++++++
4823 configure.ac | 31 ++++++++++++++++++++++++++++---
4824 src/liblzma/check/crc32_small.c | 7 +++++++
4825 src/liblzma/check/crc64_small.c | 5 +++++
4826 src/liblzma/lz/lz_encoder.c | 2 +-
4827 6 files changed, 59 insertions(+), 5 deletions(-)
4829 commit 6553f49b11dafad35c73b05f12e14865ea1fd8a1
4830 Author: Lasse Collin <lasse.collin@tukaani.org>
4831 Date: 2022-11-12 21:19:52 +0200
4833 Translations: Update the Romanian translation.
4835 po/ro.po | 651 +++++++++++++++++++++++++++++++++++++--------------------------
4836 1 file changed, 380 insertions(+), 271 deletions(-)
4838 commit db97e69e12393becc29f8febd53133d0d36989bd
4839 Author: Lasse Collin <lasse.collin@tukaani.org>
4840 Date: 2022-11-12 21:17:45 +0200
4842 Translations: Update the Hungarian translation.
4844 po/hu.po | 625 ++++++++++++++++++++++++++++++++++++---------------------------
4845 1 file changed, 357 insertions(+), 268 deletions(-)
4847 commit 2bbb9c0f3829a8b121b36998d273a6c6f92000f4
4848 Author: Lasse Collin <lasse.collin@tukaani.org>
4849 Date: 2022-11-11 17:58:57 +0200
4851 Translations: Update the Finnish translation.
4853 po/fi.po | 610 ++++++++++++++++++++++++++++++++++++---------------------------
4854 1 file changed, 348 insertions(+), 262 deletions(-)
4856 commit 3c8cbb8137b6f8ed9416c1209d73cdbcb015251f
4857 Author: Lasse Collin <lasse.collin@tukaani.org>
4858 Date: 2022-11-11 17:58:18 +0200
4860 Translations: Update the Croatian translation.
4862 po/hr.po | 680 +++++++++++++++++++++++++++++++++++----------------------------
4863 1 file changed, 381 insertions(+), 299 deletions(-)
4865 commit 26c3359eac0988d6f3986735cd1363bec1678e8e
4866 Author: Lasse Collin <lasse.collin@tukaani.org>
4867 Date: 2022-11-11 17:57:18 +0200
4869 Translations: Update the Polish translation.
4871 po/pl.po | 569 ++++++++++++++++++++++++++++++++++-----------------------------
4872 1 file changed, 309 insertions(+), 260 deletions(-)
4874 commit 577e467b137c735afb8de6ae71ac7a73c2960cc4
4875 Author: Lasse Collin <lasse.collin@tukaani.org>
4876 Date: 2022-11-11 17:56:44 +0200
4878 Translations: Update the Spanish translation.
4880 po/es.po | 598 ++++++++++++++++++++++++++++++++++++---------------------------
4881 1 file changed, 344 insertions(+), 254 deletions(-)
4883 commit f9b4ff6e9a0f1678650775582d3e4fe782abce97
4884 Author: Lasse Collin <lasse.collin@tukaani.org>
4885 Date: 2022-11-11 17:16:03 +0200
4890 1 file changed, 1 insertion(+)
4892 commit a39961ef211e1bf030b17edeea3cff29fe263b67
4893 Author: Lasse Collin <lasse.collin@tukaani.org>
4894 Date: 2022-11-11 17:15:25 +0200
4896 liblzma: Fix building with Intel ICC (the classic compiler).
4898 It claims __GNUC__ >= 10 but doesn't support __symver__ attribute.
4900 Thanks to Stephen Sachs.
4902 src/liblzma/common/common.h | 2 +-
4903 1 file changed, 1 insertion(+), 1 deletion(-)
4905 commit c715f683dcb1a817d565da292cddfbceda643e12
4906 Author: Lasse Collin <lasse.collin@tukaani.org>
4907 Date: 2022-11-11 14:35:58 +0200
4909 liblzma: Fix incorrect #ifdef for x86 SSE2 support.
4911 __SSE2__ is the correct macro for SSE2 support with GCC, Clang,
4912 and ICC. __SSE2_MATH__ means doing floating point math with SSE2
4913 instead of 387. Often the latter macro is defined if the first
4914 one is but it was still a bug.
4916 src/liblzma/common/memcmplen.h | 3 +--
4917 1 file changed, 1 insertion(+), 2 deletions(-)
4919 commit bd334ae56afe7f642ad4d0f1ac19e74e82daa1ce
4920 Author: Lasse Collin <lasse.collin@tukaani.org>
4921 Date: 2022-11-11 13:27:06 +0200
4923 Add NEWS for 5.2.7 (forgotten cherry-pick from v5.2).
4925 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4926 1 file changed, 74 insertions(+)
4928 commit 3c7860cf49de6f81046b3a4034a89f3a4803a576
4929 Author: Lasse Collin <lasse.collin@tukaani.org>
4930 Date: 2022-11-11 13:16:21 +0200
4932 xzdiff: Add support for .lz files.
4934 The other scripts don't need changes for .lz support because
4935 in those scripts it is enough that xz supports .lz.
4937 src/scripts/xzdiff.in | 10 +++++-----
4938 1 file changed, 5 insertions(+), 5 deletions(-)
4940 commit d76c752a6d77052e5ad57ade555082585f7ac5d8
4941 Author: Lasse Collin <lasse.collin@tukaani.org>
4942 Date: 2022-11-11 12:23:58 +0200
4944 Scripts: Ignore warnings from xz.
4946 In practice this means making the scripts work when
4947 the input files have an unsupported check type which
4948 isn't a problem in practice unless support for
4949 some check types has been disabled at build time.
4951 src/scripts/xzdiff.in | 5 +++--
4952 src/scripts/xzgrep.in | 2 +-
4953 src/scripts/xzless.in | 4 ++--
4954 src/scripts/xzmore.in | 4 ++--
4955 4 files changed, 8 insertions(+), 7 deletions(-)
4957 commit 6552535afd1fe29d726ab6e68cf14ce3624fd48c
4958 Author: Lasse Collin <lasse.collin@tukaani.org>
4959 Date: 2022-11-10 12:34:43 +0200
4961 Translations: Rename poa4/fr_FR.po to po4a/fr.po.
4963 That's how it is preferred at the Translation Project.
4964 On my system /usr/share/man/fr_FR doesn't contain any
4965 other man pages than XZ Utils while /usr/share/man/fr
4966 has quite a few, so this will fix that too.
4968 Thanks to Benno Schulenberg from the Translation Project.
4970 po4a/{fr_FR.po => fr.po} | 0
4971 po4a/po4a.conf | 2 +-
4972 2 files changed, 1 insertion(+), 1 deletion(-)
4974 commit 0918159ce4c75bfb60aff0193b559f8a9f41d25a
4975 Author: Lasse Collin <lasse.collin@tukaani.org>
4976 Date: 2022-11-09 18:48:50 +0200
4978 xz: Update the man page about BCJ filters, including upcoming --arm64.
4980 The --arm64 isn't actually implemented yet in the form
4981 described in this commit.
4985 src/xz/xz.1 | 66 +++++++++++++++++++++++++++----------------------------------
4986 1 file changed, 29 insertions(+), 37 deletions(-)
4988 commit ba2ae3596f6be1587495f33b367488f6e00e56f1
4989 Author: Lasse Collin <lasse.collin@tukaani.org>
4990 Date: 2022-11-09 18:14:14 +0200
4992 xz: Add --arm64 to --long-help and omit endianness from ARM(-Thumb).
4994 Modern 32-bit ARM in big endian mode use little endian for
4995 instruction encoding still, so the filters work on such
4996 executables too. It's likely less confusing for users this way.
4998 The --arm64 option hasn't been implemented yet (there is
4999 --experimental-arm64 but it's different). The --arm64 option
5000 is added now anyway because this is the likely result and the
5001 strings need to be ready for translators.
5005 src/xz/message.c | 5 +++--
5006 1 file changed, 3 insertions(+), 2 deletions(-)
5008 commit 802d57d9215d9c81dbee86edb43c9e93a7f7ec55
5009 Author: Lasse Collin <lasse.collin@tukaani.org>
5010 Date: 2022-11-09 15:12:13 +0200
5012 Windows: Update the VS project files for ARM64 and .lz support.
5014 windows/vs2013/config.h | 9 +++++++++
5015 windows/vs2013/liblzma.vcxproj | 5 ++++-
5016 windows/vs2013/liblzma_dll.vcxproj | 5 ++++-
5017 windows/vs2017/config.h | 9 +++++++++
5018 windows/vs2017/liblzma.vcxproj | 3 +++
5019 windows/vs2017/liblzma_dll.vcxproj | 3 +++
5020 windows/vs2019/config.h | 9 +++++++++
5021 windows/vs2019/liblzma.vcxproj | 5 ++++-
5022 windows/vs2019/liblzma_dll.vcxproj | 5 ++++-
5023 9 files changed, 49 insertions(+), 4 deletions(-)
5025 commit 5846aeda05972bc803c6094821ae836229ebe691
5026 Author: Lasse Collin <lasse.collin@tukaani.org>
5027 Date: 2022-11-09 14:57:48 +0200
5029 DOS: Update Makefile and config.h to include ARM64 and .lz support.
5032 dos/config.h | 9 +++++++++
5033 2 files changed, 11 insertions(+)
5035 commit 781da8d6c44de6aa278c916375250668a0b107f2
5036 Author: Lasse Collin <lasse.collin@tukaani.org>
5037 Date: 2022-11-09 14:45:05 +0200
5039 CMake: Add lzip decoder files and #define to the build.
5041 CMakeLists.txt | 3 +++
5042 1 file changed, 3 insertions(+)
5044 commit df8ad4af65a9c4846b108550d0083770a69dee64
5045 Author: Lasse Collin <lasse.collin@tukaani.org>
5046 Date: 2022-11-09 14:41:56 +0200
5048 Docs: Update INSTALL and also add new prohibited options to PACKAGERS.
5050 INSTALL | 49 +++++++++++++++++++++++++++++++++++++++++--------
5052 2 files changed, 43 insertions(+), 8 deletions(-)
5054 commit c8ef089c149afaab413c3a51be827dd1d11afe0e
5055 Author: Lasse Collin <lasse.collin@tukaani.org>
5056 Date: 2022-10-20 17:39:06 +0300
5058 Tests: Test the .lz files in test_files.sh.
5060 tests/test_files.sh | 25 +++++++++++++++++++++++++
5061 1 file changed, 25 insertions(+)
5063 commit c8f70ebb4628ceb6cb29cc9195d9deadf69d2bd7
5064 Author: Lasse Collin <lasse.collin@tukaani.org>
5065 Date: 2022-10-20 15:35:59 +0300
5067 Tests: Add .lz (lzip) test files.
5069 tests/files/README | 109 +++++++++++++++++++++++++++++----
5070 tests/files/bad-1-v0-uncomp-size.lz | Bin 0 -> 42 bytes
5071 tests/files/bad-1-v1-crc32.lz | Bin 0 -> 50 bytes
5072 tests/files/bad-1-v1-dict-1.lz | Bin 0 -> 50 bytes
5073 tests/files/bad-1-v1-dict-2.lz | Bin 0 -> 50 bytes
5074 tests/files/bad-1-v1-magic-1.lz | Bin 0 -> 50 bytes
5075 tests/files/bad-1-v1-magic-2.lz | Bin 0 -> 50 bytes
5076 tests/files/bad-1-v1-member-size.lz | Bin 0 -> 50 bytes
5077 tests/files/bad-1-v1-trailing-magic.lz | Bin 0 -> 54 bytes
5078 tests/files/bad-1-v1-uncomp-size.lz | Bin 0 -> 50 bytes
5079 tests/files/good-1-v0-trailing-1.lz | Bin 0 -> 59 bytes
5080 tests/files/good-1-v0.lz | Bin 0 -> 42 bytes
5081 tests/files/good-1-v1-trailing-1.lz | Bin 0 -> 67 bytes
5082 tests/files/good-1-v1-trailing-2.lz | Bin 0 -> 70 bytes
5083 tests/files/good-1-v1.lz | Bin 0 -> 50 bytes
5084 tests/files/good-2-v0-v1.lz | Bin 0 -> 78 bytes
5085 tests/files/good-2-v1-v0.lz | Bin 0 -> 78 bytes
5086 tests/files/good-2-v1-v1.lz | Bin 0 -> 86 bytes
5087 tests/files/unsupported-1-v234.lz | Bin 0 -> 50 bytes
5088 19 files changed, 98 insertions(+), 11 deletions(-)
5090 commit 731db13e6fa3ad3e3fc786c0ccf6eac4cce6865f
5091 Author: Lasse Collin <lasse.collin@tukaani.org>
5092 Date: 2022-10-19 22:32:51 +0300
5094 xz: Remove the commented-out FORMAT_GZIP, gzip, .gz, and .tgz.
5096 src/xz/args.c | 2 --
5097 src/xz/coder.h | 1 -
5098 src/xz/suffix.c | 9 ---------
5099 3 files changed, 12 deletions(-)
5101 commit 3176f992c55b8d788c4633809aaf9447376a5a12
5102 Author: Lasse Collin <lasse.collin@tukaani.org>
5103 Date: 2022-10-08 21:28:15 +0300
5105 xz: Add .lz (lzip) decompression support.
5107 If configured with --disable-lzip-decoder then --long-help will
5108 still list `lzip' in --format but I left it like that since
5109 due to translations it would be messy to have two help strings.
5110 Features are disabled only in special situations so wrong help
5111 in such a situation shouldn't matter much.
5113 Thanks to Michał Górny for the original patch.
5115 src/xz/args.c | 9 ++++++++
5116 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
5117 src/xz/coder.h | 3 +++
5118 src/xz/message.c | 2 +-
5119 src/xz/suffix.c | 26 ++++++++++++++++++----
5120 src/xz/xz.1 | 46 +++++++++++++++++++++++++++++++++-----
5121 6 files changed, 141 insertions(+), 13 deletions(-)
5123 commit 034086e1ae1459210837a24e04878435c86dc41b
5124 Author: Lasse Collin <lasse.collin@tukaani.org>
5125 Date: 2022-10-08 00:29:20 +0300
5127 liblzma: Add .lz support to lzma_auto_decoder().
5129 Thanks to Michał Górny for the original patch.
5131 src/liblzma/api/lzma/container.h | 10 ++++++----
5132 src/liblzma/common/Makefile.inc | 3 ++-
5133 src/liblzma/common/auto_decoder.c | 23 +++++++++++++++++------
5134 src/liblzma/common/lzip_decoder.h | 22 ++++++++++++++++++++++
5135 4 files changed, 47 insertions(+), 11 deletions(-)
5137 commit 0538db038f3cdc352007dacb42454aa1806b8e40
5138 Author: Lasse Collin <lasse.collin@tukaani.org>
5139 Date: 2022-10-06 15:50:20 +0300
5141 liblzma: Add .lz (lzip) decompression support (format versions 0 and 1).
5143 Support for format version 0 was removed from lzip 1.18 for some
5144 reason. .lz format version 0 files are rare (and old) but some
5145 source packages were released in this format, and some people might
5146 have personal files in this format too. It's very little extra code
5147 to support it along side format version 1 so this commits adds
5150 The Sync Flush marker extentension to the original .lz format
5151 version 1 isn't supported. It would require changes to the
5152 LZMA decoder itself. Such files are very rare anyway.
5154 See the API doc for lzma_lzip_decoder() for more details about
5155 the .lz format support.
5157 Thanks to Michał Górny for the original patch.
5159 configure.ac | 21 ++
5160 src/liblzma/api/lzma/container.h | 62 +++++-
5161 src/liblzma/common/Makefile.inc | 5 +
5162 src/liblzma/common/lzip_decoder.c | 413 ++++++++++++++++++++++++++++++++++++++
5163 src/liblzma/liblzma_generic.map | 1 +
5164 src/liblzma/liblzma_linux.map | 1 +
5165 6 files changed, 501 insertions(+), 2 deletions(-)
5167 commit 633d48a075b9ce4b9c08a7a56a7eb4cabc18100c
5168 Author: Lasse Collin <lasse.collin@tukaani.org>
5169 Date: 2022-11-09 14:17:23 +0200
5171 liblzma: Add the missing Makefile.inc change for --disable-microlzma.
5173 This was forgotten from commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8.
5175 src/liblzma/common/Makefile.inc | 12 ++++++++++--
5176 1 file changed, 10 insertions(+), 2 deletions(-)
5178 commit 724285dadbdc88765c8fb83eab9816575a260966
5179 Author: Lasse Collin <lasse.collin@tukaani.org>
5180 Date: 2022-11-09 14:10:52 +0200
5182 xz: Add comments about stdin and src_st.st_size.
5184 "xz -v < regular_file > out.xz" doesn't display the percentage
5185 and estimated remaining time because it doesn't even try to
5186 check the input file size when input is read from stdin.
5187 This could be improved but for now there's just a comment
5190 src/xz/coder.c | 9 +++++++++
5191 src/xz/file_io.c | 4 ++++
5192 2 files changed, 13 insertions(+)
5194 commit f723eec68b0e44234910f669a29119de33018967
5195 Author: Lasse Collin <lasse.collin@tukaani.org>
5196 Date: 2022-11-09 12:48:22 +0200
5198 xz: Fix displaying of file sizes in progress indicator in passthru mode.
5200 It worked for one input file since the counters are zero when
5201 xz starts but they weren't reset when starting a new file in
5202 passthru mode. For example, if files A, B, and C are one byte each,
5203 then "xz -dcvf A B C" would show file sizes as 1, 2, and 3 bytes
5204 instead of 1, 1, and 1 byte.
5206 src/xz/coder.c | 6 +++++-
5207 1 file changed, 5 insertions(+), 1 deletion(-)
5209 commit 69265d0f223ddf1d66f799b8b047df22923e376f
5210 Author: Lasse Collin <lasse.collin@tukaani.org>
5211 Date: 2022-11-09 11:27:20 +0200
5213 xz: Add a comment why --to-stdout is not in --help.
5215 It is on the man page still.
5217 src/xz/message.c | 3 +++
5218 1 file changed, 3 insertions(+)
5220 commit fe6b8852a3c6a0eb5a3c33512e0a69af257d3bc7
5221 Author: Lasse Collin <lasse.collin@tukaani.org>
5222 Date: 2022-11-08 23:05:37 +0200
5224 xz: Make xz -lvv show that the upcoming --arm64 needs 5.4.0 to decompress.
5226 src/xz/list.c | 20 +++++++++++++++-----
5227 1 file changed, 15 insertions(+), 5 deletions(-)
5229 commit fb3f05ac9f2b4b0e3643401960fbeab31997ac7a
5230 Author: Lasse Collin <lasse.collin@tukaani.org>
5231 Date: 2022-11-08 22:26:54 +0200
5233 Docs: Update faq.txt a little.
5235 doc/faq.txt | 66 ++++++++++++++++++++++++++++++++++++++++---------------------
5236 1 file changed, 43 insertions(+), 23 deletions(-)
5238 commit 05331f091ec3b68eccbfb2a9a7a576072768fb4b
5239 Author: Lasse Collin <lasse.collin@tukaani.org>
5240 Date: 2022-11-08 16:57:17 +0200
5242 Translations: Update Turkish translation.
5245 1 file changed, 1 insertion(+), 1 deletion(-)
5247 commit ed3a4822963b4940d84e6f44d47277c394fc046d
5248 Author: Lasse Collin <lasse.collin@tukaani.org>
5249 Date: 2022-11-08 14:55:32 +0200
5251 Translations: Update Croatian translation.
5253 po/hr.po | 190 ++++++++++++++++++++++++++++++++-------------------------------
5254 1 file changed, 96 insertions(+), 94 deletions(-)
5256 commit 4746f5ec721316bc4c6fec9905b2902e0360e0af
5257 Author: Lasse Collin <lasse.collin@tukaani.org>
5258 Date: 2022-11-08 14:13:03 +0200
5260 liblzma: Update API docs about decoder flags.
5262 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
5263 1 file changed, 17 insertions(+), 4 deletions(-)
5265 commit 8779a9db5d0cec00c9dc9e9965dd2dda04f9d80d
5266 Author: Lasse Collin <lasse.collin@tukaani.org>
5267 Date: 2022-11-08 14:01:50 +0200
5269 liblzma: Use the return_if_error() macro in alone_decoder.c.
5271 src/liblzma/common/alone_decoder.c | 6 ++----
5272 1 file changed, 2 insertions(+), 4 deletions(-)
5274 commit 3f4990b6822961e75cd9b4e2e82b1df63f6f8fcc
5275 Author: Lasse Collin <lasse.collin@tukaani.org>
5276 Date: 2022-11-08 14:00:58 +0200
5278 liblzma: Fix a comment in auto_decoder.c.
5280 src/liblzma/common/auto_decoder.c | 4 ++--
5281 1 file changed, 2 insertions(+), 2 deletions(-)
5283 commit 026a5897c72a2041ae08ceec54ce8b1cdeb51334
5284 Author: Lasse Collin <lasse.collin@tukaani.org>
5285 Date: 2022-11-08 13:43:19 +0200
5287 xz: Initialize the pledge(2) sandbox at the very beginning of main().
5289 It feels better that the initializations are sandboxed too.
5290 They don't do anything that the pledge() call wouldn't allow.
5292 src/xz/main.c | 27 ++++++++++++++-------------
5293 1 file changed, 14 insertions(+), 13 deletions(-)
5295 commit 49a59f6ca001c3ce9affa2c162b437aad021b4d5
5296 Author: Lasse Collin <lasse.collin@tukaani.org>
5297 Date: 2022-11-07 22:51:16 +0200
5299 xz: Extend --robot --info-memory output.
5301 Now it includes everything that the human-readable --info-memory shows.
5303 src/xz/hardware.c | 24 +++++++++++++++---------
5304 src/xz/xz.1 | 47 +++++++++++++++++++++++++++++++++++++++++------
5305 2 files changed, 56 insertions(+), 15 deletions(-)
5307 commit 5e2450c75cbac966c62cf2231c824f2cc91ddba8
5308 Author: Lasse Collin <lasse.collin@tukaani.org>
5309 Date: 2022-11-07 17:22:04 +0200
5311 liblzma: Include cached memory in reported memusage in threaded decoder.
5313 This affects lzma_memusage() and lzma_memlimit_set() when used
5314 with the threaded decompressor. Now all allocations are reported
5315 by lzma_memusage() (so it's not misleading) and lzma_memlimit_set()
5316 cannot lower the limit below that value.
5318 The alternative would have been to allow lowering the limit if
5319 doing so is possible by freeing the cached memory but since
5320 the primary use case of lzma_memlimit_set() is to increase
5321 memlimit after LZMA_MEMLIMIT_ERROR this simple approach
5324 The cached memory was always included when enforcing
5325 the memory usage limit while decoding.
5329 src/liblzma/common/stream_decoder_mt.c | 22 +++++++++++++++++++---
5330 1 file changed, 19 insertions(+), 3 deletions(-)
5332 commit 1fc6e7dd1fabdb60124d449b99273330ccab3ff1
5333 Author: Jia Tan <jiat0218@gmail.com>
5334 Date: 2022-11-07 16:24:14 +0200
5336 xz: Avoid a compiler warning in progress_speed() in message.c.
5338 This should be smaller too since it avoids the string constants.
5340 src/xz/message.c | 9 +++------
5341 1 file changed, 3 insertions(+), 6 deletions(-)
5343 commit cf118c014683069b5dbe91898acdc40f2f0a1f5d
5344 Author: Lasse Collin <lasse.collin@tukaani.org>
5345 Date: 2022-10-31 16:26:05 +0200
5347 Build: Clarify comment in configure.ac about SSE2.
5349 configure.ac | 5 ++++-
5350 1 file changed, 4 insertions(+), 1 deletion(-)
5352 commit aad3c609ffb72f581a7a2b67be3ad70b2b327840
5353 Author: Lasse Collin <lasse.collin@tukaani.org>
5354 Date: 2022-10-31 16:16:37 +0200
5356 Build: Remove obsolete commented-out lines from configure.ac.
5358 configure.ac | 4 ----
5359 1 file changed, 4 deletions(-)
5361 commit e53e0e2186c6b8ce866bd19aec52f1c318ed31ba
5362 Author: Lasse Collin <lasse.collin@tukaani.org>
5363 Date: 2022-10-31 13:31:58 +0200
5365 Windows: Fix mythread_once() macro with Vista threads.
5367 Don't call InitOnceComplete() if initialization was already done.
5369 So far mythread_once() has been needed only when building
5370 with --enable-small. windows/build.bash does this together
5371 with --disable-threads so the Vista-specific mythread_once()
5372 is never needed by those builds. VS project files or
5373 CMake-builds don't support HAVE_SMALL builds at all.
5375 src/common/mythread.h | 7 ++++---
5376 1 file changed, 4 insertions(+), 3 deletions(-)
5378 commit 48dde3bab9dc04081acb5aa7cf7c5044b8a49f58
5379 Author: Lasse Collin <lasse.collin@tukaani.org>
5380 Date: 2022-10-31 11:54:44 +0200
5382 liblzma: Silence -Wconversion warning from crc64_fast.c.
5384 src/liblzma/check/crc64_fast.c | 5 +++--
5385 1 file changed, 3 insertions(+), 2 deletions(-)
5387 commit a243c617ff249d915ac123de4f536b80322c1fdb
5388 Author: Lasse Collin <lasse.collin@tukaani.org>
5389 Date: 2022-10-31 11:49:47 +0200
5391 CMake: Sync tuklib_cpucores.cmake with tuklib_cpucores.m4.
5393 This was forgotten from commit 2611c4d90535652d3eb7ef4a026a6691276fab43.
5395 cmake/tuklib_cpucores.cmake | 5 +++++
5396 1 file changed, 5 insertions(+)
5398 commit 05c72de06fcaaedc78f8abba7d5ec568ddcf1e75
5399 Author: Lasse Collin <lasse.collin@tukaani.org>
5400 Date: 2022-10-27 15:49:18 +0300
5402 Tests: test_files.sh: Make it not fail if features were disabled at build.
5404 It now tries to test as many files as easily possible.
5405 The exit status indicates skipping if any of the files were
5406 skipped. This way it is easy to notice if something is being
5407 skipped when it isn't expected.
5409 tests/test_files.sh | 50 ++++++++++++++++++++++++++++++++++++++++++++++----
5410 1 file changed, 46 insertions(+), 4 deletions(-)
5412 commit b3459327a51f4b8239d19e6c34b4e0c6bc2d81de
5413 Author: Lasse Collin <lasse.collin@tukaani.org>
5414 Date: 2022-10-27 15:30:13 +0300
5416 Tests: test_files.sh: Suppress an expected warning from the log.
5418 xz (but not xzdec) will normally warn about unsupported check
5419 but since we are testing specifically such a file, it's better
5420 to silence that warning so that it doesn't look suspicious in
5423 The use of -q and -Q in xzdec is just for consistency and
5424 doesn't affect the result at least for now.
5426 tests/test_files.sh | 4 ++--
5427 1 file changed, 2 insertions(+), 2 deletions(-)
5429 commit 798c86e4231e0835ab76ccd0810c8ea30833b2ce
5430 Author: Lasse Collin <lasse.collin@tukaani.org>
5431 Date: 2022-10-27 15:27:50 +0300
5433 Tests: test_files.sh: Print the reason for skipping if xz & xzdec missing.
5435 tests/test_files.sh | 1 +
5436 1 file changed, 1 insertion(+)
5438 commit c1dd8524e1af07f16b790463899de06a6a5fcc08
5439 Author: Lasse Collin <lasse.collin@tukaani.org>
5440 Date: 2022-10-27 01:12:40 +0300
5442 Tests: Keep test_compress_* working when some filters are unavailable.
5444 tests/test_compress.sh | 34 ++++++++++++++++++++--------------
5445 1 file changed, 20 insertions(+), 14 deletions(-)
5447 commit ce30ada91951d0746879ae438da11f1ee8a90aa0
5448 Author: Jia Tan <jiat0218@gmail.com>
5449 Date: 2022-10-23 21:01:08 +0800
5451 Tests: test_bcj_exact_size skips properly now if PowerPC filter disabled.
5453 tests/test_bcj_exact_size.c | 3 +++
5454 1 file changed, 3 insertions(+)
5456 commit 89c5cfcacaca7130509fac836e2f30c46b824502
5457 Author: Lasse Collin <lasse.collin@tukaani.org>
5458 Date: 2022-10-26 00:05:57 +0300
5460 Tests: Test also unsupported-*.xz.
5462 tests/test_files.sh | 37 +++++++++++++++++++++++++++++++++++++
5463 1 file changed, 37 insertions(+)
5465 commit a4b214b93ac741edef9c41e55865b0b867ca2587
5466 Author: Lasse Collin <lasse.collin@tukaani.org>
5467 Date: 2022-10-25 23:45:03 +0300
5469 Build: Use AC_CONFIG_HEADERS instead of the ancient AC_CONFIG_HEADER.
5471 We require Autoconf >= 2.69 and that has AC_CONFIG_HEADERS.
5473 There is a warning about AC_PROG_CC_C99 being obsolete but
5474 it cannot be removed because it is needed with Autoconf 2.69.
5477 1 file changed, 1 insertion(+), 1 deletion(-)
5479 commit 04f299b64e73f50afc188c2590ebebc6b73ed744
5480 Author: Lasse Collin <lasse.collin@tukaani.org>
5481 Date: 2022-10-25 23:31:44 +0300
5483 Build: Update m4/ax_pthread.m4 from Autoconf Archive.
5485 m4/ax_pthread.m4 | 29 ++++++++++++++++++++++-------
5486 1 file changed, 22 insertions(+), 7 deletions(-)
5488 commit 59c4d6e1390f6f4176f43ac1dad1f7ac03c449b8
5489 Author: Lasse Collin <lasse.collin@tukaani.org>
5490 Date: 2022-10-25 23:28:34 +0300
5492 Build: Add configure option --disable-microlzma.
5494 MicroLZMA was made for EROFS and used by erofs-utils.
5495 It might be used by something else in the future but
5496 those wanting a smaller build for specific situations
5497 can now disable this rarely-needed feature.
5499 configure.ac | 22 ++++++++++++++++++++++
5500 1 file changed, 22 insertions(+)
5502 commit 054ccd6d14b2cc6eddc56897af280d3221414150
5503 Author: Lasse Collin <lasse.collin@tukaani.org>
5504 Date: 2022-10-25 23:09:11 +0300
5506 xz: Fix --single-stream with an empty .xz Stream.
5510 $ xz -dc --single-stream good-0-empty.xz
5511 xz: good-0-empty.xz: Internal error (bug)
5513 The code, that is tries to catch some input file issues early,
5514 didn't anticipate LZMA_STREAM_END which is possible in that
5515 code only when --single-stream is used.
5517 src/xz/coder.c | 9 +++++++++
5518 1 file changed, 9 insertions(+)
5520 commit 563288ea705e83ff5cb292adf794650c263bca1d
5521 Author: Lasse Collin <lasse.collin@tukaani.org>
5522 Date: 2022-10-25 21:11:58 +0300
5524 xz: Add support for OpenBSD's pledge() sandbox.
5526 configure.ac | 12 +++++++++---
5527 src/xz/file_io.c | 11 +++++++++++
5528 src/xz/main.c | 13 +++++++++++++
5529 src/xz/private.h | 2 +-
5530 4 files changed, 34 insertions(+), 4 deletions(-)
5532 commit f9913e8ee2ba0b1e4ff4d0aa4c001aae305ed944
5533 Author: Lasse Collin <lasse.collin@tukaani.org>
5534 Date: 2022-10-25 19:07:17 +0300
5536 xz: Fix decompressor behavior if input uses an unsupported check type.
5538 Now files with unsupported check will make xz display
5539 a warning, set the exit status to 2 (unless --no-warn is used),
5540 and then decompress the file normally. This is how it was
5541 supposed to work since the beginning but this was broken by
5542 the commit 231c3c7098f1099a56abb8afece76fc9b8699f05, that is,
5543 a little before 5.0.0 was released. The buggy behavior displayed
5544 a message, set exit status 1 (error), and xz didn't attempt to
5545 to decompress the file.
5547 This doesn't matter today except for special builds that disable
5548 CRC64 or SHA-256 at build time (but such builds should be used
5549 in special situations only). The bug matters if new check type
5550 is added in the future and an old xz version is used to decompress
5551 such a file; however, it's likely that such files would use a new
5552 filter too and an old xz wouldn't be able to decompress the file
5555 The first hunk in the commit is the actual fix. The second hunk
5556 is a cleanup since LZMA_TELL_ANY_CHECK isn't used in xz.
5558 There is a test file for unsupported check type but it wasn't
5559 used by test_files.sh, perhaps due to different behavior between
5560 xz and the simpler xzdec.
5562 src/xz/coder.c | 19 +++++++++++++++----
5563 1 file changed, 15 insertions(+), 4 deletions(-)
5565 commit aa4fe145b9486adc454f44fd3e09be9add808a0f
5566 Author: Lasse Collin <lasse.collin@tukaani.org>
5567 Date: 2022-10-25 18:36:19 +0300
5569 xz: Clarify the man page: input file isn't removed if an error occurs.
5571 src/xz/xz.1 | 5 +++--
5572 1 file changed, 3 insertions(+), 2 deletions(-)
5574 commit 8b46ae8cdeddfd7dc01fec92971b8696e9a96c5d
5575 Author: Lasse Collin <lasse.collin@tukaani.org>
5576 Date: 2022-10-25 18:30:55 +0300
5578 xz: Refactor to remove is_empty_filename().
5580 Long ago it was used in list.c too but nowadays it's needed
5581 only in io_open_src() so it's nicer to avoid a separate function.
5583 src/xz/file_io.c | 4 +++-
5584 src/xz/util.c | 12 ------------
5585 src/xz/util.h | 4 ----
5586 3 files changed, 3 insertions(+), 17 deletions(-)
5588 commit 85624015978b0de294cff3df79006df987c552b1
5589 Author: Lasse Collin <lasse.collin@tukaani.org>
5590 Date: 2022-10-25 18:23:54 +0300
5592 xz: If input file cannot be removed, treat it as a warning, not error.
5594 Treating it as a warning (message + exit status 2) matches gzip
5595 and it seems more logical as at that point the output file has
5596 already been successfully closed. When it's a warning it is
5597 possible to suppress it with --no-warn.
5599 src/xz/file_io.c | 4 ++--
5600 1 file changed, 2 insertions(+), 2 deletions(-)
5602 commit fda9f85f52c546f7ca0313cf89481da4707fecb3
5603 Author: Lasse Collin <lasse.collin@tukaani.org>
5604 Date: 2022-10-24 16:25:09 +0300
5606 liblzma: Threaded decoder: Stop the worker threads on errors.
5608 It's waste of CPU time and electricity to leave the unfinished
5609 worker threads running when it is known that their output will
5612 src/liblzma/common/stream_decoder_mt.c | 33 ++++++++++++++++++++++++++-------
5613 1 file changed, 26 insertions(+), 7 deletions(-)
5615 commit 2611c4d90535652d3eb7ef4a026a6691276fab43
5616 Author: Lasse Collin <lasse.collin@tukaani.org>
5617 Date: 2022-10-20 20:22:50 +0300
5619 tuklib_cpucores: Use HW_NCPUONLINE on OpenBSD.
5621 On OpenBSD the number of cores online is often less
5622 than what HW_NCPU would return because OpenBSD disables
5623 simultaneous multi-threading (SMT) by default.
5625 Thanks to Christian Weisgerber.
5627 m4/tuklib_cpucores.m4 | 5 +++++
5628 src/common/tuklib_cpucores.c | 9 +++++++++
5629 2 files changed, 14 insertions(+)
5631 commit 424ac91c7e0419393ff2bde4f62e21fa611c776d
5632 Author: Lasse Collin <lasse.collin@tukaani.org>
5633 Date: 2022-10-19 19:39:35 +0300
5635 Tests: Skip tests in test_*.sh if encoders and/or decoders are disabled.
5637 This isn't perfect as the scripts can still fail if only
5638 certain filters are disabled. This is still an improvement
5639 as now "make check" has better behavior when all encoders
5640 or decoders are disabled.
5642 Grepping ../config.h is simple and fairly clean but it only
5643 works if config.h was created. CMake builds don't create
5644 config.h but they don't use these test scripts either.
5646 Thanks to Sebastian Andrzej Siewior for reporting the problem.
5647 Thanks to Jia Tan for the original patch which grepped xz
5648 error messages instead of config.h.
5650 tests/test_compress.sh | 12 ++++++++++++
5651 tests/test_files.sh | 11 +++++++++++
5652 tests/test_scripts.sh | 11 +++++++++++
5653 3 files changed, 34 insertions(+)
5655 commit ca8bf9d7c5a30be8ba1eeb106fd892f19e83ed09
5656 Author: Lasse Collin <lasse.collin@tukaani.org>
5657 Date: 2022-10-19 18:54:34 +0300
5659 Test: Remove the (exit 1) lines.
5661 I suspect that I used these in the original version because
5662 Autoconf's manual describes that such a trick is needed in
5663 some specific situations for portability reasons. None of those
5664 situations listed on Autoconf 2.71 manual apply to these test
5665 scripts though so this cleans them up.
5667 tests/test_compress.sh | 10 ----------
5668 tests/test_files.sh | 9 ---------
5669 tests/test_scripts.sh | 6 ------
5670 3 files changed, 25 deletions(-)
5672 commit 82fcb7cfc17ce62f79ebc7ca2374e1daca5e4d5e
5673 Author: Lasse Collin <lasse.collin@tukaani.org>
5674 Date: 2022-10-19 17:14:57 +0300
5676 Tests: Fix a warning in test_memlimit.c when decoders are disabled.
5678 tests/test_memlimit.c | 3 +++
5679 1 file changed, 3 insertions(+)
5681 commit b5f8271b45b9b0e59485ffba3640ca3418835ec4
5682 Author: Lasse Collin <lasse.collin@tukaani.org>
5683 Date: 2022-10-19 17:11:46 +0300
5685 Tests: Add test_memlimit to .gitignore.
5690 1 file changed, 1 insertion(+)
5692 commit 6a86e81cab202d0a812a7b2e9efacaf70c58ba38
5693 Author: Jia Tan <jiat0218@gmail.com>
5694 Date: 2022-10-06 21:53:09 +0300
5696 Tests: Refactor test_stream_flags.c.
5698 Converts test_stream_flags to tuktest. Also the test will now
5699 compile and skip properly if encoders or decoders are disabled.
5701 Thanks to Sebastian Andrzej Siewior.
5703 tests/test_stream_flags.c | 533 ++++++++++++++++++++++++++++++++++++----------
5704 1 file changed, 416 insertions(+), 117 deletions(-)
5706 commit 827ac5b4821491fd3afe0d0e1ddac326253aeb66
5707 Author: Jia Tan <jiat0218@gmail.com>
5708 Date: 2022-10-06 17:00:38 +0800
5710 Tests: Refactor test_block_header.c.
5712 test_block_header now achieves higher test coverage. Also the
5713 test will now compile and skip properly if encoders or decoders
5716 Thanks to Sebastian Andrzej Siewior.
5718 tests/test_block_header.c | 486 +++++++++++++++++++++++++++++++++++-----------
5719 1 file changed, 370 insertions(+), 116 deletions(-)
5721 commit 84963318952064a93bfc52edd6b0ef70593384ee
5722 Author: Jia Tan <jiat0218@gmail.com>
5723 Date: 2022-10-05 23:54:12 +0800
5725 Tests: Fix compilation issues.
5727 test_bcj_exact_size, test_check, test_hardware, and test_index will
5728 all now compile and skip properly if encoders or decoders are disabled.
5730 Also fixed a small typo (disabed -> disabled).
5732 Thanks to Sebastian Andrzej Siewior.
5734 tests/test_bcj_exact_size.c | 20 ++++++++++++++------
5735 tests/test_check.c | 8 +++++++-
5736 tests/test_hardware.c | 2 +-
5737 tests/test_index.c | 6 ++++++
5738 tests/test_memlimit.c | 16 +++++++++++++++-
5739 tests/test_vli.c | 13 +++++++++++++
5740 6 files changed, 56 insertions(+), 9 deletions(-)
5742 commit 7dcabeec63d46b436fa5f043c3d1f09d0e15be16
5743 Author: Lasse Collin <lasse.collin@tukaani.org>
5744 Date: 2022-10-05 16:20:47 +0300
5746 Tests: Include mythread.h in the tests that use MYTHREAD_ENABLED.
5748 tests/test_check.c | 1 +
5749 tests/test_hardware.c | 1 +
5750 tests/test_memlimit.c | 1 +
5751 3 files changed, 3 insertions(+)
5753 commit 14af758a770c7781af18fb66d6d21ee5b1c27f04
5754 Author: Jia Tan <jiat0218@gmail.com>
5755 Date: 2022-10-05 20:57:16 +0800
5757 liblzma: Fix a compilation issue when encoders are disabled.
5759 When encoders were disabled and threading enabled, outqueue.c and
5760 outqueue.h were not compiled. The multi threaded decoder required
5761 these files, so compilation failed.
5763 src/liblzma/common/Makefile.inc | 7 ++++---
5764 1 file changed, 4 insertions(+), 3 deletions(-)
5766 commit 6ca5c354bd4620aa7f81da68870eef1b1f26288f
5767 Author: Jia Tan <jiat0218@gmail.com>
5768 Date: 2022-10-05 16:41:38 +0800
5770 Tests: Fix compilation error when threading support has been disabled.
5772 Now tests that require threading are skipped when threading
5773 support has been disabled.
5775 Thanks to Sebastian Andrzej Siewior.
5777 tests/test_check.c | 4 ++++
5778 tests/test_hardware.c | 4 ++++
5779 tests/test_memlimit.c | 4 ++++
5780 3 files changed, 12 insertions(+)
5782 commit fae37ad2affd8fe8871f4ff93d5cab5ec14d5e58
5783 Author: Lasse Collin <lasse.collin@tukaani.org>
5784 Date: 2022-10-05 14:26:00 +0300
5786 tuklib_integer: Add 64-bit endianness-converting reads and writes.
5788 Also update the comment in liblzma's memcmplen.h.
5790 Thanks to Michał Górny for the original patch for the reads.
5792 m4/tuklib_integer.m4 | 8 ++++----
5793 src/common/tuklib_integer.h | 46 ++++++++++++++++++++++++++++++++++++++++--
5794 src/liblzma/common/memcmplen.h | 9 +++------
5795 3 files changed, 51 insertions(+), 12 deletions(-)
5797 commit 508a44372c5b0dede8863fd0d358d4a9d8645c95
5798 Author: Lasse Collin <lasse.collin@tukaani.org>
5799 Date: 2022-09-30 12:06:13 +0300
5801 liblzma: Add API doc note about the .xz decoder LZMA_MEMLIMIT_ERROR bug.
5803 The bug was fixed in 660739f99ab211edec4071de98889fb32ed04e98.
5805 src/liblzma/api/lzma/base.h | 11 +++++++++++
5806 1 file changed, 11 insertions(+)
5808 commit 8cc9874a7974cd575aee44f218836f7acdbeb0ed
5809 Author: Jia Tan <jiat0218@gmail.com>
5810 Date: 2022-09-21 16:15:50 +0800
5812 liblzma: Add dest and src NULL checks to lzma_index_cat.
5814 The documentation states LZMA_PROG_ERROR can be returned from
5815 lzma_index_cat. Previously, lzma_index_cat could not return
5816 LZMA_PROG_ERROR. Now, the validation is similar to
5817 lzma_index_append, which does a NULL check on the index
5820 src/liblzma/common/index.c | 3 +++
5821 1 file changed, 3 insertions(+)
5823 commit afd5a8bf5374eba82804a999e1ea7af680784086
5824 Author: Jia Tan <jiat0218@gmail.com>
5825 Date: 2022-09-21 20:29:28 +0800
5827 Tests: Create a test for the lzma_index_cat bug.
5829 tests/test_index.c | 43 ++++++++++++++++++++++++++++++++++++++++++-
5830 1 file changed, 42 insertions(+), 1 deletion(-)
5832 commit 3d5a99ca373a4e86faf671226ca6487febb9eeac
5833 Author: Jia Tan <jiat0218@gmail.com>
5834 Date: 2022-09-21 19:28:53 +0800
5836 liblzma: Fix copying of check type statistics in lzma_index_cat().
5838 The check type of the last Stream in dest was never copied to
5839 dest->checks (the code tried to copy it but it was done too late).
5840 This meant that the value returned by lzma_index_checks() would
5841 only include the check type of the last Stream when multiple
5842 lzma_indexes had been concatenated.
5844 In xz --list this meant that the summary would only list the
5845 check type of the last Stream, so in this sense this was only
5846 a visual bug. However, it's possible that some applications
5847 use this information for purposes other than merely showing
5848 it to the users in an informational message. I'm not aware of
5849 such applications though and it's quite possible that such
5850 applications don't exist.
5852 Regular streamed decompression in xz or any other application
5853 doesn't use lzma_index_cat() and so this bug cannot affect them.
5855 src/liblzma/common/index.c | 7 ++++++-
5856 1 file changed, 6 insertions(+), 1 deletion(-)
5858 commit a61d32172789735350a941e23baf6b587c49e5d9
5859 Author: Lasse Collin <lasse.collin@tukaani.org>
5860 Date: 2022-09-28 12:20:41 +0300
5862 tuklib_physmem: Fix Unicode builds on Windows.
5864 Thanks to ArSaCiA Game.
5866 src/common/tuklib_physmem.c | 2 +-
5867 1 file changed, 1 insertion(+), 1 deletion(-)
5869 commit 5a4d3548ab214fdca364d5c734baf1d1fab47308
5870 Author: Lasse Collin <lasse.collin@tukaani.org>
5871 Date: 2022-09-28 11:12:07 +0300
5873 Tests: Add test_memlimit.c to test restarting after LZMA_MEMLIMIT_ERROR.
5875 tests/Makefile.am | 2 +
5876 tests/test_memlimit.c | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++
5877 2 files changed, 153 insertions(+)
5879 commit 660739f99ab211edec4071de98889fb32ed04e98
5880 Author: Lasse Collin <lasse.collin@tukaani.org>
5881 Date: 2022-09-28 11:05:15 +0300
5883 liblzma: Stream decoder: Fix restarting after LZMA_MEMLIMIT_ERROR.
5885 If lzma_code() returns LZMA_MEMLIMIT_ERROR it is now possible
5886 to use lzma_memlimit_set() to increase the limit and continue
5887 decoding. This was supposed to work from the beginning but
5888 there was a bug. With other decoders (.lzma or threaded .xz)
5889 this already worked correctly.
5891 src/liblzma/common/stream_decoder.c | 16 +++++++++++++---
5892 1 file changed, 13 insertions(+), 3 deletions(-)
5894 commit 7e68fda58c74ad9e5b876cc22fcbe80fc0e4747b
5895 Author: Lasse Collin <lasse.collin@tukaani.org>
5896 Date: 2022-09-28 11:00:23 +0300
5898 liblzma: Stream decoder: Fix comments.
5900 src/liblzma/common/stream_decoder.c | 12 +++++-------
5901 1 file changed, 5 insertions(+), 7 deletions(-)
5903 commit f664cb25841fc1c478b819034a224a558e2ac6e7
5904 Author: Lasse Collin <lasse.collin@tukaani.org>
5905 Date: 2022-09-20 16:58:22 +0300
5907 liblzma: ARM64: Add comments.
5909 src/liblzma/simple/arm64.c | 13 +++++++++++++
5910 1 file changed, 13 insertions(+)
5912 commit b557b4a0eea05470fae8ba5ef4ad5a6dfb36ac41
5913 Author: Lasse Collin <lasse.collin@tukaani.org>
5914 Date: 2022-09-20 16:27:50 +0300
5916 liblzma: ARM64: Fix wrong comment in API doc.
5920 src/liblzma/api/lzma/bcj.h | 4 ++--
5921 1 file changed, 2 insertions(+), 2 deletions(-)
5923 commit d5b0906fa55157f48c200188a3951d80df9cb308
5924 Author: Lasse Collin <lasse.collin@tukaani.org>
5925 Date: 2022-09-19 20:24:26 +0300
5927 xz: Add --experimental-arm64[=width=WIDTH].
5929 It will be renamed to --arm64 once it is stable.
5931 Man page or --long-help weren't updated yet.
5933 src/xz/args.c | 7 +++++++
5934 src/xz/message.c | 7 +++++++
5935 src/xz/options.c | 39 +++++++++++++++++++++++++++++++++++++++
5936 src/xz/options.h | 7 +++++++
5937 4 files changed, 60 insertions(+)
5939 commit ecb966de308c255bb4735a7307ef9901c643a9de
5940 Author: Lasse Collin <lasse.collin@tukaani.org>
5941 Date: 2022-09-19 19:34:56 +0300
5943 liblzma: Add experimental ARM64 BCJ filter with a temporary Filter ID.
5945 That is, the Filter ID will be changed once the design is final.
5946 The current version will be removed. So files created with the
5947 tempoary Filter ID won't be supported in the future.
5949 CMakeLists.txt | 3 +
5951 src/liblzma/api/lzma/bcj.h | 35 +++++-
5952 src/liblzma/common/filter_common.c | 9 ++
5953 src/liblzma/common/filter_decoder.c | 8 ++
5954 src/liblzma/common/filter_encoder.c | 11 ++
5955 src/liblzma/simple/Makefile.inc | 4 +
5956 src/liblzma/simple/arm64.c | 227 ++++++++++++++++++++++++++++++++++++
5957 src/liblzma/simple/simple_coder.h | 9 ++
5958 src/liblzma/simple/simple_decoder.h | 4 +
5959 src/liblzma/simple/simple_encoder.h | 2 +
5960 11 files changed, 313 insertions(+), 3 deletions(-)
5962 commit 177bdc922cb17bd0fd831ab8139dfae912a5c2b8
5963 Author: Lasse Collin <lasse.collin@tukaani.org>
5964 Date: 2022-09-17 22:42:18 +0300
5966 liblzma: Simple/BCJ filters: Allow disabling generic BCJ options.
5968 This will be needed for the ARM64 BCJ filter as it will use
5969 its own options struct.
5971 src/liblzma/simple/arm.c | 2 +-
5972 src/liblzma/simple/armthumb.c | 2 +-
5973 src/liblzma/simple/ia64.c | 2 +-
5974 src/liblzma/simple/powerpc.c | 2 +-
5975 src/liblzma/simple/simple_coder.c | 4 ++--
5976 src/liblzma/simple/simple_private.h | 2 +-
5977 src/liblzma/simple/sparc.c | 2 +-
5978 src/liblzma/simple/x86.c | 3 ++-
5979 8 files changed, 10 insertions(+), 9 deletions(-)
5981 commit c3592d0a55114144686ecf960cb516d6b31c98e9
5982 Author: Lasse Collin <lasse.collin@tukaani.org>
5983 Date: 2022-09-16 17:08:53 +0300
5985 Tests: Add a test file for lzma_index_append() integer overflow bug.
5987 This test fails before commit 18d7facd3802b55c287581405c4d49c98708c136.
5989 test_files.sh now runs xz -l for bad-3-index-uncomp-overflow.xz
5990 because only then the previously-buggy code path gets tested.
5991 Normal decompression doesn't use lzma_index_append() at all.
5992 Instead, lzma_index_hash functions are used and those already
5993 did the overflow check.
5995 tests/files/README | 10 ++++++++++
5996 tests/files/bad-3-index-uncomp-overflow.xz | Bin 0 -> 132 bytes
5997 tests/test_files.sh | 8 ++++++++
5998 3 files changed, 18 insertions(+)
6000 commit 982b29f828079a2a26253a40e975127a40a7d2bd
6001 Author: Lasse Collin <lasse.collin@tukaani.org>
6002 Date: 2022-09-16 15:10:07 +0300
6004 Translations: Add Turkish translation.
6007 po/tr.po | 977 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6008 2 files changed, 978 insertions(+)
6010 commit 1fc088d9f6d1697924aaeac8cd1fb9918d1532e2
6011 Author: Lasse Collin <lasse.collin@tukaani.org>
6012 Date: 2022-09-16 14:09:07 +0300
6017 1 file changed, 1 insertion(+)
6019 commit 097c7b67ce86ff16a7cef7631b39e5ca4ee3d420
6020 Author: Lasse Collin <lasse.collin@tukaani.org>
6021 Date: 2022-09-16 14:07:03 +0300
6023 xzgrep: Fix compatibility with old shells.
6025 Running the current xzgrep on Slackware 10.1 with GNU bash 3.00.15:
6027 xzgrep: line 231: syntax error near unexpected token `;;'
6029 On SCO OpenServer 5.0.7 with Korn Shell 93r:
6031 syntax error at line 231 : `;;' unexpected
6033 Turns out that some old shells don't like apostrophes (') inside
6034 command substitutions. For example, the following fails:
6041 The problem was introduced by commits
6042 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 (2022-03-29),
6043 bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5 (2022-07-18), and
6044 a648978b20495b7aa4a8b029c5a810b5ad9d08ff (2022-07-19).
6045 5.2.6 is the only stable release that included
6048 Thanks to Kevin R. Bulgrien for reporting the problem
6049 on SCO OpenServer 5.0.7 and for providing the fix.
6051 src/scripts/xzgrep.in | 6 +++---
6052 1 file changed, 3 insertions(+), 3 deletions(-)
6054 commit f2d084fe3f0d6d71488bfc6987f26542f67bfd99
6055 Author: Lasse Collin <lasse.collin@tukaani.org>
6056 Date: 2022-09-09 14:12:30 +0300
6058 Tests: Silence warnings about unused functions from tuktest.h.
6060 Warnings about unused tuktest_run_test conveniently tell which
6061 test programs haven't been converted to tuktest.h yet but I
6062 silenced that warning too for now anyway.
6064 It is fine to use __attribute__((__unused__)) even when the
6065 function is actually used because the attribute only means
6066 that the function might be unused.
6068 tests/tuktest.h | 10 ++++++++++
6069 1 file changed, 10 insertions(+)
6071 commit f8ee61e74eb40600445fdb601c374d582e1e9c8a
6072 Author: Lasse Collin <lasse.collin@tukaani.org>
6073 Date: 2022-09-09 13:51:57 +0300
6075 liblzma: lzma_filters_copy: Keep dest[] unmodified if an error occurs.
6077 lzma_stream_encoder() and lzma_stream_encoder_mt() always assumed
6078 this. Before this patch, failing lzma_filters_copy() could result
6079 in free(invalid_pointer) or invalid memory reads in stream_encoder.c
6080 or stream_encoder_mt.c.
6082 To trigger this, allocating memory for a filter options structure
6083 has to fail. These are tiny allocations so in practice they very
6086 Certain badness in the filter chain array could also make
6087 lzma_filters_copy() fail but both stream_encoder.c and
6088 stream_encoder_mt.c validate the filter chain before
6089 trying to copy it, so the crash cannot occur this way.
6091 src/liblzma/api/lzma/filter.h | 4 +++-
6092 src/liblzma/common/filter_common.c | 18 ++++++++++++------
6093 2 files changed, 15 insertions(+), 7 deletions(-)
6095 commit 18d7facd3802b55c287581405c4d49c98708c136
6096 Author: Jia Tan <jiat0218@gmail.com>
6097 Date: 2022-09-02 20:18:55 +0800
6099 liblzma: lzma_index_append: Add missing integer overflow check.
6101 The documentation in src/liblzma/api/lzma/index.h suggests that
6102 both the unpadded (compressed) size and the uncompressed size
6103 are checked for overflow, but only the unpadded size was checked.
6104 The uncompressed check is done first since that is more likely to
6105 occur than the unpadded or index field size overflows.
6107 src/liblzma/common/index.c | 4 ++++
6108 1 file changed, 4 insertions(+)
6110 commit 9ac06cb5b85274d18f9f70d82cf2d8c9c1151bd4
6111 Author: Lasse Collin <lasse.collin@tukaani.org>
6112 Date: 2022-09-08 15:11:08 +0300
6117 1 file changed, 1 insertion(+)
6119 commit ba3e4ba2de034ae93a513f9c3a0823b80cdb66dc
6120 Author: Jia Tan <jiat0218@gmail.com>
6121 Date: 2022-09-08 15:07:00 +0300
6123 CMake: Clarify a comment about Windows symlinks without file extension.
6125 CMakeLists.txt | 7 +++----
6126 1 file changed, 3 insertions(+), 4 deletions(-)
6128 commit 17485e884ce5c74315f29a8a1507bc706cd5cd1d
6129 Author: Lasse Collin <lasse.collin@tukaani.org>
6130 Date: 2022-09-08 15:02:41 +0300
6132 CMake: Update for liblzma_*.map files and fix wrong common_w32res.rc dep.
6134 The previous commit split liblzma.map into liblzma_linux.map and
6135 liblzma_generic.map. This commit updates the CMake build for those.
6137 common_w32res.rc dependency was listed under Linux/FreeBSD while
6138 obviously it belongs to Windows when building a DLL.
6140 CMakeLists.txt | 24 +++++++++++++++++++-----
6141 1 file changed, 19 insertions(+), 5 deletions(-)
6143 commit 913ddc5572b9455fa0cf299be2e35c708840e922
6144 Author: Lasse Collin <lasse.collin@tukaani.org>
6145 Date: 2022-09-04 23:23:00 +0300
6147 liblzma: Vaccinate against an ill patch from RHEL/CentOS 7.
6149 RHEL/CentOS 7 shipped with 5.1.2alpha, including the threaded
6150 encoder that is behind #ifdef LZMA_UNSTABLE in the API headers.
6151 In 5.1.2alpha these symbols are under XZ_5.1.2alpha in liblzma.map.
6152 API/ABI compatibility tracking isn't done between development
6153 releases so newer releases didn't have XZ_5.1.2alpha anymore.
6155 Later RHEL/CentOS 7 updated xz to 5.2.2 but they wanted to keep
6156 the exported symbols compatible with 5.1.2alpha. After checking
6157 the ABI changes it turned out that >= 5.2.0 ABI is backward
6158 compatible with the threaded encoder functions from 5.1.2alpha
6159 (but not vice versa as fixes and extensions to these functions
6160 were made between 5.1.2alpha and 5.2.0).
6162 In RHEL/CentOS 7, XZ Utils 5.2.2 was patched with
6163 xz-5.2.2-compat-libs.patch to modify liblzma.map:
6165 - XZ_5.1.2alpha was added with lzma_stream_encoder_mt and
6166 lzma_stream_encoder_mt_memusage. This matched XZ Utils 5.1.2alpha.
6168 - XZ_5.2 was replaced with XZ_5.2.2. It is clear that this was
6169 an error; the intention was to keep using XZ_5.2 (XZ_5.2.2
6170 has never been used in XZ Utils). So XZ_5.2.2 lists all
6171 symbols that were listed under XZ_5.2 before the patch.
6172 lzma_stream_encoder_mt and _mt_memusage are included too so
6173 they are listed both here and under XZ_5.1.2alpha.
6175 The patch didn't add any __asm__(".symver ...") lines to the .c
6176 files. Thus the resulting liblzma.so exports the threaded encoder
6177 functions under XZ_5.1.2alpha only. Listing the two functions
6178 also under XZ_5.2.2 in liblzma.map has no effect without
6179 matching .symver lines.
6181 The lack of XZ_5.2 in RHEL/CentOS 7 means that binaries linked
6182 against unpatched XZ Utils 5.2.x won't run on RHEL/CentOS 7.
6183 This is unfortunate but this alone isn't too bad as the problem
6184 is contained within RHEL/CentOS 7 and doesn't affect users
6185 of other distributions. It could also be fixed internally in
6188 The second problem is more serious: In XZ Utils 5.2.2 the API
6189 headers don't have #ifdef LZMA_UNSTABLE for obvious reasons.
6190 This is true in RHEL/CentOS 7 version too. Thus now programs
6191 using new APIs can be compiled without an extra #define. However,
6192 the programs end up depending on symbol version XZ_5.1.2alpha
6193 (and possibly also XZ_5.2.2) instead of XZ_5.2 as they would
6194 with an unpatched XZ Utils 5.2.2. This means that such binaries
6195 won't run on other distributions shipping XZ Utils >= 5.2.0 as
6196 they don't provide XZ_5.1.2alpha or XZ_5.2.2; they only provide
6197 XZ_5.2 (and XZ_5.0). (This includes RHEL/CentOS 8 as the patch
6198 luckily isn't included there anymore with XZ Utils 5.2.4.)
6200 Binaries built by RHEL/CentOS 7 users get distributed and then
6201 people wonder why they don't run on some other distribution.
6202 Seems that people have found out about the patch and been copying
6203 it to some build scripts, seemingly curing the symptoms but
6204 actually spreading the illness further and outside RHEL/CentOS 7.
6206 The ill patch seems to be from late 2016 (RHEL 7.3) and in 2017 it
6207 had spread at least to EasyBuild. I heard about the events only
6210 This commit splits liblzma.map into two versions: one for
6211 GNU/Linux and another for other OSes that can use symbol versioning
6212 (FreeBSD, Solaris, maybe others). The Linux-specific file and the
6213 matching additions to .c files add full compatibility with binaries
6214 that have been built against a RHEL/CentOS-patched liblzma. Builds
6215 for OSes other than GNU/Linux won't get the vaccine as they should
6216 be immune to the problem (I really hope that no build script uses
6217 the RHEL/CentOS 7 patch outside GNU/Linux).
6219 The RHEL/CentOS compatibility symbols XZ_5.1.2alpha and XZ_5.2.2
6220 are intentionally put *after* XZ_5.2 in liblzma_linux.map. This way
6221 if one forgets to #define HAVE_SYMBOL_VERSIONS_LINUX when building,
6222 the resulting liblzma.so.5 will have lzma_stream_encoder_mt@@XZ_5.2
6223 since XZ_5.2 {...} is the first one that lists that function.
6224 Without HAVE_SYMBOL_VERSIONS_LINUX @XZ_5.1.2alpha and @XZ_5.2.2
6225 will be missing but that's still a minor problem compared to
6226 only having lzma_stream_encoder_mt@@XZ_5.1.2alpha!
6228 The "local: *;" line was moved to XZ_5.0 so that it doesn't need
6229 to be moved around. It doesn't matter where it is put.
6231 Having two similar liblzma_*.map files is a bit silly as it is,
6232 at least for now, easily possible to generate the generic one
6233 from the Linux-specific file. But that adds extra steps and
6234 increases the risk of mistakes when supporting more than one
6235 build system. So I rather maintain two files in parallel and let
6236 validate_map.sh check that they are in sync when "make mydist"
6239 This adds .symver lines for lzma_stream_encoder_mt@XZ_5.2.2 and
6240 lzma_stream_encoder_mt_memusage@XZ_5.2.2 even though these
6241 weren't exported by RHEL/CentOS 7 (only @@XZ_5.1.2alpha was
6242 for these two). I added these anyway because someone might
6243 misunderstand the RHEL/CentOS 7 patch and think that @XZ_5.2.2
6244 (@@XZ_5.2.2) versions were exported too.
6246 At glance one could suggest using __typeof__ to copy the function
6247 prototypes when making aliases. However, this doesn't work trivially
6248 because __typeof__ won't copy attributes (lzma_nothrow, lzma_pure)
6249 and it won't change symbol visibility from hidden to default (done
6250 by LZMA_API()). Attributes could be copied with __copy__ attribute
6251 but that needs GCC 9 and a fallback method would be needed anyway.
6253 This uses __symver__ attribute with GCC >= 10 and
6254 __asm__(".symver ...") with everything else. The attribute method
6255 is required for LTO (-flto) support with GCC. Using -flto with
6256 GCC older than 10 is now broken on GNU/Linux and will not be fixed
6257 (can silently result in a broken liblzma build that has dangerously
6258 incorrect symbol versions). LTO builds with Clang seem to work
6259 with the traditional __asm__(".symver ...") method.
6261 Thanks to Boud Roukema for reporting the problem and discussing
6262 the details and testing the fix.
6264 configure.ac | 23 +++-
6265 src/liblzma/Makefile.am | 10 +-
6266 src/liblzma/common/block_buffer_encoder.c | 18 ++++
6267 src/liblzma/common/common.c | 14 +++
6268 src/liblzma/common/common.h | 28 +++++
6269 src/liblzma/common/hardware_cputhreads.c | 12 +++
6270 src/liblzma/common/stream_encoder_mt.c | 42 ++++++++
6271 src/liblzma/{liblzma.map => liblzma_generic.map} | 6 +-
6272 src/liblzma/liblzma_linux.map | 131 +++++++++++++++++++++++
6273 src/liblzma/validate_map.sh | 113 +++++++++++++++++--
6274 10 files changed, 382 insertions(+), 15 deletions(-)
6276 commit 80a1a8bb838842a2be343bd88ad1462c21c5e2c9
6277 Author: Lasse Collin <lasse.collin@tukaani.org>
6278 Date: 2022-08-31 16:42:04 +0300
6280 CMake: Add xz symlinks.
6282 These are a minor thing especially since the xz build has
6283 some real problems still like lack of large file support
6284 on 32-bit systems but I'll commit this since the code exists.
6288 CMakeLists.txt | 38 +++++++++++++++++++++++++++++++++++++-
6289 1 file changed, 37 insertions(+), 1 deletion(-)
6291 commit a4193bb6d85d7765b1b87faeab3e50106d3ab2e9
6292 Author: Lasse Collin <lasse.collin@tukaani.org>
6293 Date: 2022-08-31 16:29:38 +0300
6295 CMake: Put xz man page install under if(UNIX) like is for xzdec.
6299 CMakeLists.txt | 8 +++++---
6300 1 file changed, 5 insertions(+), 3 deletions(-)
6302 commit c1555b1a221a1427d4d650647531016d754bc4da
6303 Author: Lasse Collin <lasse.collin@tukaani.org>
6304 Date: 2022-08-22 18:16:40 +0300
6306 Bump version number for 5.3.3alpha.
6308 src/liblzma/api/lzma/version.h | 2 +-
6309 src/liblzma/liblzma.map | 2 +-
6310 2 files changed, 2 insertions(+), 2 deletions(-)
6312 commit 44fedddc11c3f6ec2f7fe35a3e38f15ca93f90eb
6313 Author: Lasse Collin <lasse.collin@tukaani.org>
6314 Date: 2022-08-22 18:13:56 +0300
6316 Add NEWS for 5.3.3alpha.
6318 NEWS | 119 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6319 1 file changed, 119 insertions(+)
6321 commit a93e235d7ca764cc19f8f9f9063b40ff361c3cfa
6322 Author: Lasse Collin <lasse.collin@tukaani.org>
6323 Date: 2022-07-12 17:59:41 +0300
6325 Translations: Add Portuguese translation.
6327 Jia Tan made white-space changes and also changed "Language: pt_BR\n"
6328 to pt. The translator wasn't reached so I'm hoping these changes
6329 are OK and will commit it without translator's approval.
6331 Thanks to Pedro Albuquerque and Jia Tan.
6334 po/pt.po | 1001 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6335 2 files changed, 1002 insertions(+)
6337 commit e7cf5a946f25e40d77f45e41f0dee7d42a04e9ae
6338 Author: Lasse Collin <lasse.collin@tukaani.org>
6339 Date: 2022-07-10 21:16:40 +0300
6341 Translations: Add Serbian translation.
6343 Quite a few white-space changes were made by Jia Tan to make
6344 this look good. Contacting the translator didn't succeed so
6345 I'm committing this without getting translator's approval.
6347 Thanks to Мирослав Николић (Miroslav Nikolic) and Jia Tan.
6350 po/sr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6351 2 files changed, 988 insertions(+)
6353 commit cc8617ab53b1f2a4da212fa76c92fe538269c5de
6354 Author: Lasse Collin <lasse.collin@tukaani.org>
6355 Date: 2022-07-04 23:51:36 +0300
6357 Translations: Add Swedish translation.
6359 Thanks to Sebastian Rasmussen and Jia Tan.
6362 po/sv.po | 983 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6363 2 files changed, 984 insertions(+)
6365 commit c613598c358b640682d0ca2aed38fa7df763e8c7
6366 Author: Lasse Collin <lasse.collin@tukaani.org>
6367 Date: 2022-07-04 23:40:27 +0300
6369 Translations: Add Esperanto translation.
6371 Thanks to Keith Bowes and Jia Tan.
6374 po/eo.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6375 2 files changed, 985 insertions(+)
6377 commit 659a587d678f21e98e91d2751c31d4ce050c081a
6378 Author: Lasse Collin <lasse.collin@tukaani.org>
6379 Date: 2022-07-01 00:22:33 +0300
6381 Translations: Add Catalan translation.
6383 Thanks to Jordi Mas and Jia Tan.
6386 po/ca.po | 1076 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6387 2 files changed, 1077 insertions(+)
6389 commit 739fd8c9bdf1d85f57d56642aad87148d4779530
6390 Author: Lasse Collin <lasse.collin@tukaani.org>
6391 Date: 2022-06-30 17:47:08 +0300
6393 Translations: Add Ukrainian translation.
6395 Thanks to Yuri Chornoivan and Jia Tan.
6398 po/uk.po | 996 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6399 2 files changed, 997 insertions(+)
6401 commit 73280550b111930c62a667e56add8fd574f80bc8
6402 Author: Lasse Collin <lasse.collin@tukaani.org>
6403 Date: 2022-06-30 17:45:26 +0300
6405 Translators: Add Romanian translation.
6407 Thanks to Remus-Gabriel Chelu and Jia Tan.
6410 po/ro.po | 1016 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6411 2 files changed, 1017 insertions(+)
6413 commit 2465f5b825152714b2c357d96c2422c31109d320
6414 Author: Lasse Collin <lasse.collin@tukaani.org>
6415 Date: 2022-06-29 18:33:32 +0300
6417 Translations: Update Brazilian Portuguese translation.
6419 One msgstr was changed. The diff is long due to changes
6420 in the source code line numbers in the comments.
6422 Thanks to Rafael Fontenelle.
6424 po/pt_BR.po | 186 ++++++++++++++++++++++++++++++------------------------------
6425 1 file changed, 92 insertions(+), 94 deletions(-)
6427 commit 434e1ffd3e62719d509da10b646216f5ef53fe4d
6428 Author: Lasse Collin <lasse.collin@tukaani.org>
6429 Date: 2022-06-29 18:04:44 +0300
6431 Translations: Add Croatian translation.
6433 Thanks to Božidar Putanec and Jia Tan.
6436 po/hr.po | 987 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6437 2 files changed, 988 insertions(+)
6439 commit 0732d0f7065c9bd48bfe4f5983144ae970c4a499
6440 Author: Lasse Collin <lasse.collin@tukaani.org>
6441 Date: 2022-06-29 17:58:48 +0300
6443 Translations: Add Spanish translation.
6445 Thanks to Cristian Othón Martínez Vera and Jia Tan.
6448 po/es.po | 984 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6449 2 files changed, 985 insertions(+)
6451 commit 9899b0f82bc130998d1f1f618a6ab805b73f2696
6452 Author: Lasse Collin <lasse.collin@tukaani.org>
6453 Date: 2022-06-29 17:49:43 +0300
6455 Translations: Add Korean translation.
6457 Thanks to Seong-ho Cho and Jia Tan.
6460 po/ko.po | 972 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6461 2 files changed, 973 insertions(+)
6463 commit 65217eaf6bd195f3ef027d4ac55d57b7d133d69f
6464 Author: Lasse Collin <lasse.collin@tukaani.org>
6465 Date: 2020-03-16 21:57:21 +0200
6467 Translations: Rebuild cs.po to avoid incorrect fuzzy strings.
6469 "make dist" updates the .po files and the fuzzy strings would
6470 result in multiple very wrong translations.
6472 po/cs.po | 592 ++++++++++++++++++++++++++++++++++-----------------------------
6473 1 file changed, 322 insertions(+), 270 deletions(-)
6475 commit e56ff423ee7af9e648e16b132f0d835d2cb4db26
6476 Author: Lasse Collin <lasse.collin@tukaani.org>
6477 Date: 2020-03-16 17:30:39 +0200
6479 Translations: Add partial Danish translation.
6481 I made a few minor white space changes without getting them
6482 approved by the Danish translation team.
6485 po/da.po | 896 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6486 2 files changed, 897 insertions(+)
6488 commit 43e09c62e77cb8807d932c81de4decbdb956e184
6489 Author: Lasse Collin <lasse.collin@tukaani.org>
6490 Date: 2020-03-11 22:37:54 +0200
6492 Translations: Add hu, zh_CN, and zh_TW.
6494 I made a few white space changes to these without getting them
6495 approved by the translation teams. (I tried to contact the hu and
6496 zh_TW teams but didn't succeed. I didn't contact the zh_CN team.)
6499 po/hu.po | 985 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6500 po/zh_CN.po | 963 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6501 po/zh_TW.po | 956 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6502 4 files changed, 2907 insertions(+)
6504 commit 982b6b198ae1ffe6093236dd8a3d03d1415b912b
6505 Author: Lasse Collin <lasse.collin@tukaani.org>
6506 Date: 2020-03-11 14:33:30 +0200
6508 Translations: Update vi.po to match the file from the TP.
6510 The translated strings haven't been updated but word wrapping
6513 po/vi.po | 407 ++++++++++++++++++++++++++++-----------------------------------
6514 1 file changed, 179 insertions(+), 228 deletions(-)
6516 commit 801f39691fc4abc6dd33d7653d498781b593f3eb
6517 Author: Lasse Collin <lasse.collin@tukaani.org>
6518 Date: 2020-03-11 14:18:03 +0200
6520 Translations: Add fi and pt_BR, and update de, fr, it, and pl.
6522 The German translation isn't identical to the file in
6523 the Translation Project but the changes (white space changes
6524 only) were approved by the translator Mario Blättermann.
6527 po/de.po | 476 ++++++++++++++--------------
6528 po/fi.po | 974 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6529 po/fr.po | 272 ++++++++--------
6530 po/it.po | 479 ++++++++++++----------------
6531 po/pl.po | 239 +++++++-------
6532 po/pt_BR.po | 1001 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6533 7 files changed, 2697 insertions(+), 746 deletions(-)
6535 commit 311e4f85ede5d2f0bb71f3ad70b5b7db1b5adf33
6536 Author: Lasse Collin <lasse.collin@tukaani.org>
6537 Date: 2022-08-22 17:27:19 +0300
6539 xz: Try to clarify --memlimit-mt-decompress vs. --memlimit-compress.
6541 src/xz/xz.1 | 31 +++++++++++++++++++------------
6542 1 file changed, 19 insertions(+), 12 deletions(-)
6544 commit df23c31000283c00e5ef1ca32a0bc3bb757bd707
6545 Author: Lasse Collin <lasse.collin@tukaani.org>
6546 Date: 2022-08-22 16:46:18 +0300
6548 CMake: Add liblzma tests.
6550 Thanks to Jia Tan for the patch.
6552 CMakeLists.txt | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
6553 1 file changed, 52 insertions(+), 1 deletion(-)
6555 commit 02a777f9c422d3b5ec895078530bb1a2b6f7bdf5
6556 Author: Lasse Collin <lasse.collin@tukaani.org>
6557 Date: 2022-08-19 23:32:22 +0300
6559 xz: Revise --info-memory output.
6561 The strings could be more descriptive but it's good
6562 to have some version of this committed now.
6564 --robot mode wasn't changed yet.
6566 src/xz/hardware.c | 32 ++++++++++++++++++++++++++------
6568 2 files changed, 27 insertions(+), 6 deletions(-)
6570 commit f864f6d42eab57ea8ed82cc2dd19a03b51377442
6571 Author: Lasse Collin <lasse.collin@tukaani.org>
6572 Date: 2022-08-19 23:12:02 +0300
6574 xz: Update the man page for threaded decompression and memlimits.
6576 This documents the changes made in commits
6577 6c6da57ae2aa962aabde6892442227063d87e88c,
6578 cad299008cf73ec566f0662a9cf2b94f86a99659, and
6579 898faa97287a756231c663a3ed5165672b417207.
6581 The --info-memory bit hasn't been finished yet
6582 even though it's already mentioned in this commit
6583 under --memlimit-mt-decompress and --threads.
6585 src/xz/xz.1 | 148 +++++++++++++++++++++++++++++++++++++++++++++++++-----------
6586 1 file changed, 121 insertions(+), 27 deletions(-)
6588 commit d13bfcc0056617dd648f655a01653932fad7067f
6589 Author: Lasse Collin <lasse.collin@tukaani.org>
6590 Date: 2022-08-18 17:49:16 +0300
6592 Build: Include the CMake files in the distribution.
6594 This was supposed to be done in 2020 with 5.2.5 release
6595 already but it was noticed only today. 5.2.5 and 5.2.6
6596 even mention experiemental CMake support in the NEWS entries.
6598 Thanks to Olivier B. for reporting the problem.
6601 1 file changed, 2 insertions(+)
6603 commit e66787bcfefdb93f19c974f895f65969a77937b0
6604 Author: Lasse Collin <lasse.collin@tukaani.org>
6605 Date: 2022-08-18 17:38:05 +0300
6607 Windows: Fix broken liblzma.dll build with Visual Studio project files.
6609 The bug was introduced in 352ba2d69af2136bc814aa1df1a132559d445616
6610 "Windows: Fix building of resource files when config.h isn't used."
6612 That commit fixed liblzma.dll build with CMake while keeping it
6613 working with Autotools on Windows but the VS project files were
6616 I haven't tested these changes.
6618 Thanks to Olivier B. for reporting the bug and for the initial patch.
6620 windows/vs2013/liblzma_dll.vcxproj | 6 ++++++
6621 windows/vs2017/liblzma_dll.vcxproj | 6 ++++++
6622 windows/vs2019/liblzma_dll.vcxproj | 6 ++++++
6623 3 files changed, 18 insertions(+)
6625 commit c4e8e5fb311225b8b48d34157891a640b2535e0c
6626 Author: Lasse Collin <lasse.collin@tukaani.org>
6627 Date: 2022-08-18 17:16:49 +0300
6629 liblzma: Threaded decoder: Improve LZMA_FAIL_FAST when LZMA_FINISH is used.
6631 It will now return LZMA_DATA_ERROR (not LZMA_OK or LZMA_BUF_ERROR)
6632 if LZMA_FINISH is used and there isn't enough input to finish
6633 decoding the Block Header or the Block. The use of LZMA_DATA_ERROR
6634 is simpler and the less risky than LZMA_BUF_ERROR but this might
6635 be changed before 5.4.0.
6637 src/liblzma/api/lzma/container.h | 6 +++++
6638 src/liblzma/common/stream_decoder_mt.c | 42 ++++++++++++++++++++++++++++++++++
6639 2 files changed, 48 insertions(+)
6641 commit 6dcf606e7efa2b259f0262f9e2f61e00116842d3
6642 Author: Lasse Collin <lasse.collin@tukaani.org>
6643 Date: 2022-08-12 18:31:47 +0300
6647 NEWS | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6648 1 file changed, 121 insertions(+)
6650 commit 413b86fcf8934fae5a004f378a9483d37d8fcaab
6651 Author: Lasse Collin <lasse.collin@tukaani.org>
6652 Date: 2022-08-12 14:28:41 +0300
6654 Add Jia Tan to AUTHORS.
6657 1 file changed, 1 insertion(+), 1 deletion(-)
6659 commit 352672732c346c546ff3c26d0605bc0ed1c8b7c7
6660 Author: Lasse Collin <lasse.collin@tukaani.org>
6661 Date: 2022-07-25 19:28:26 +0300
6663 Build: Start the generated ChangeLog from around 5.2.0 instead of 5.0.0.
6665 This makes ChangeLog smaller.
6668 1 file changed, 1 insertion(+), 1 deletion(-)
6670 commit 6f6d11225d6016be2bbb55d845b66f6b04d048df
6671 Author: Lasse Collin <lasse.collin@tukaani.org>
6672 Date: 2022-07-25 19:11:05 +0300
6674 Translations: Change the copyright comment string to use with po4a.
6676 This affects the second line in po4a/xz-man.pot. The man pages of
6677 xzdiff, xzgrep, and xzmore are from GNU gzip and under GNU GPLv2+
6678 while the rest of the man pages are in the public domain.
6680 po4a/update-po | 2 +-
6681 1 file changed, 1 insertion(+), 1 deletion(-)
6683 commit 61f8ec804abdb4c5dac01e8ae9b90c7be58a5c24
6684 Author: Jia Tan <jiat0218@gmail.com>
6685 Date: 2022-07-25 18:30:05 +0300
6687 liblzma: Refactor lzma_mf_is_supported() to use a switch-statement.
6689 src/liblzma/lz/lz_encoder.c | 32 ++++++++++++++------------------
6690 1 file changed, 14 insertions(+), 18 deletions(-)
6692 commit 4d80b463a1251aa22eabc87d2732fec13b1adda6
6693 Author: Jia Tan <jiat0218@gmail.com>
6694 Date: 2022-07-25 18:20:01 +0300
6696 Build: Don't allow empty LIST in --enable-match-finders=LIST.
6698 It's enforced only when a match finder is needed, that is,
6699 when LZMA1 or LZMA2 encoder is enabled.
6701 configure.ac | 4 ++++
6702 1 file changed, 4 insertions(+)
6704 commit 9cc721af5436908f2d5a828aebbc4050a32a3487
6705 Author: Lasse Collin <lasse.collin@tukaani.org>
6706 Date: 2022-07-24 13:27:48 +0300
6708 xz: Update the man page that change to --keep will be in 5.2.6.
6710 src/xz/xz.1 | 4 ++--
6711 1 file changed, 2 insertions(+), 2 deletions(-)
6713 commit b81bf0c7d1873e52a4086a9abb494471d652cb55
6714 Author: Lasse Collin <lasse.collin@tukaani.org>
6715 Date: 2022-07-19 23:23:54 +0300
6720 1 file changed, 1 insertion(+)
6722 commit 340cf1ec3927767046b8293a49da3db4e393f426
6723 Author: Nicholas Jackson <nickajacks1@gmail.com>
6724 Date: 2022-07-17 17:39:23 -0700
6726 CMake: Add missing source file to liblzma build
6728 CMakeLists.txt | 1 +
6729 1 file changed, 1 insertion(+)
6731 commit d796b6d7fdb8b7238b277056cf9146cce25db604
6732 Author: Lasse Collin <lasse.collin@tukaani.org>
6733 Date: 2022-07-19 23:19:49 +0300
6735 xzgrep man page: Document exit statuses.
6737 src/scripts/xzgrep.1 | 15 ++++++++++++++-
6738 1 file changed, 14 insertions(+), 1 deletion(-)
6740 commit 923bf96b55e5216a6c8df9d8331934f54784390e
6741 Author: Lasse Collin <lasse.collin@tukaani.org>
6742 Date: 2022-07-19 23:13:24 +0300
6744 xzgrep: Improve error handling, especially signals.
6746 xzgrep wouldn't exit on SIGPIPE or SIGQUIT when it clearly
6747 should have. It's quite possible that it's not perfect still
6748 but at least it's much better.
6750 If multiple exit statuses compete, now it tries to pick
6751 the largest of value.
6753 Some comments were added.
6755 The exit status handling of signals is still broken if the shell
6756 uses values larger than 255 in $? to indicate that a process
6757 died due to a signal ***and*** their "exit" command doesn't take
6758 this into account. This seems to work well with the ksh and yash
6759 versions I tried. However, there is a report in gzip/zgrep that
6760 OpenSolaris 5.11 (not 5.10) has a problem with "exit" truncating
6761 the argument to 8 bits:
6763 https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22900#25
6765 Such a bug would break xzgrep but I didn't add a workaround
6766 at least for now. 5.11 is old and I don't know if the problem
6767 exists in modern descendants, or if the problem exists in other
6768 ksh implementations in use.
6770 src/scripts/xzgrep.in | 72 +++++++++++++++++++++++++++++++++++++--------------
6771 1 file changed, 53 insertions(+), 19 deletions(-)
6773 commit a648978b20495b7aa4a8b029c5a810b5ad9d08ff
6774 Author: Lasse Collin <lasse.collin@tukaani.org>
6775 Date: 2022-07-19 00:10:55 +0300
6777 xzgrep: Make the fix for ZDI-CAN-16587 more robust.
6779 I don't know if this can make a difference in the real world
6780 but it looked kind of suspicious (what happens with sed
6781 implementations that cannot process very long lines?).
6782 At least this commit shouldn't make it worse.
6784 src/scripts/xzgrep.in | 5 ++++-
6785 1 file changed, 4 insertions(+), 1 deletion(-)
6787 commit bd7b290f3fe4faeceb7d3497ed9bf2e6ed5e7dc5
6788 Author: Lasse Collin <lasse.collin@tukaani.org>
6789 Date: 2022-07-18 21:52:31 +0300
6791 xzgrep: Use grep -H --label when available (GNU, *BSDs).
6793 It avoids the use of sed for prefixing filenames to output lines.
6794 Using sed for that is slower and prone to security bugs so now
6795 the sed method is only used as a fallback.
6797 This also fixes an actual bug: When grepping a binary file,
6798 GNU grep nowadays prints its diagnostics to stderr instead of
6799 stdout and thus the sed-method for prefixing the filename doesn't
6800 work. So with this commit grepping binary files gives reasonable
6801 output with GNU grep now.
6803 This was inspired by zgrep but the implementation is different.
6805 src/scripts/xzgrep.in | 21 +++++++++++++++++++++
6806 1 file changed, 21 insertions(+)
6808 commit b56729af9f1a596e57aeefd7570d8d7dce5c9f52
6809 Author: Lasse Collin <lasse.collin@tukaani.org>
6810 Date: 2022-07-18 21:10:25 +0300
6812 xzgrep: Use -e to specify the pattern to grep.
6814 Now we don't need the separate test for adding the -q option
6815 as it can be added directly in the two places where it's needed.
6817 src/scripts/xzgrep.in | 12 ++++--------
6818 1 file changed, 4 insertions(+), 8 deletions(-)
6820 commit bad61b5997e6647911974022bfb72f3d4818a594
6821 Author: Lasse Collin <lasse.collin@tukaani.org>
6822 Date: 2022-07-18 19:18:48 +0300
6824 Scripts: Use printf instead of echo in a few places.
6826 It's a good habbit as echo has some portability corner cases
6827 when the string contents can be anything.
6829 src/scripts/xzdiff.in | 6 +++---
6830 src/scripts/xzgrep.in | 4 ++--
6831 src/scripts/xzless.in | 4 ++--
6832 src/scripts/xzmore.in | 8 ++++----
6833 4 files changed, 11 insertions(+), 11 deletions(-)
6835 commit 6a4a4a7d2667837dc824c26fcb19ed6ca5aff645
6836 Author: Lasse Collin <lasse.collin@tukaani.org>
6837 Date: 2022-07-17 21:36:25 +0300
6839 xzgrep: Add more LC_ALL=C to avoid bugs with multibyte characters.
6841 Also replace one use of expr with printf.
6843 The rationale for LC_ALL=C was already mentioned in
6844 69d1b3fc29677af8ade8dc15dba83f0589cb63d6 that fixed a security
6845 issue. However, unrelated uses weren't changed in that commit yet.
6847 POSIX says that with sed and such tools one should use LC_ALL=C
6848 to ensure predictable behavior when strings contain byte sequences
6849 that aren't valid multibyte characters in the current locale. See
6850 under "Application usage" in here:
6852 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/sed.html
6854 With GNU sed invalid multibyte strings would work without this;
6855 it's documented in its Texinfo manual. Some other implementations
6856 aren't so forgiving.
6858 src/scripts/xzgrep.in | 14 ++++++++------
6859 1 file changed, 8 insertions(+), 6 deletions(-)
6861 commit b48f9d615f2c2e8d2f6e253d0e48ee66d0652b68
6862 Author: Lasse Collin <lasse.collin@tukaani.org>
6863 Date: 2022-07-17 20:55:16 +0300
6865 xzgrep: Fix parsing of certain options.
6867 Fix handling of "xzgrep -25 foo" (in GNU grep "grep -25 foo" is
6868 an alias for "grep -C25 foo"). xzgrep would treat "foo" as filename
6869 instead of as a pattern. This bug was fixed in zgrep in gzip in 2012.
6871 Add -E, -F, -G, and -P to the "no argument required" list.
6873 Add -X to "argument required" list. It is an
6874 intentionally-undocumented GNU grep option so this isn't
6875 an important option for xzgrep but it seems that other grep
6876 implementations (well, those that I checked) don't support -X
6877 so I hope this change is an improvement still.
6879 grep -d (grep --directories=ACTION) requires an argument. In
6880 contrast to zgrep, I kept -d in the "no argument required" list
6881 because it's not supported in xzgrep (or zgrep). This way
6882 "xzgrep -d" gives an error about option being unsupported instead
6883 of telling that it requires an argument. Both zgrep and xzgrep
6884 tell that it's unsupported if an argument is specified.
6888 src/scripts/xzgrep.in | 19 +++++++++++++++++--
6889 1 file changed, 17 insertions(+), 2 deletions(-)
6891 commit 2d2201bc6315deda4d43625aa510972467bd51d4
6892 Author: Lasse Collin <lasse.collin@tukaani.org>
6893 Date: 2022-07-14 20:33:05 +0300
6895 Tests: Add the .lzma files to test_files.sh.
6897 tests/test_files.sh | 20 ++++++++++++++++++++
6898 1 file changed, 20 insertions(+)
6900 commit ce5549a591bf126300618879f5b24023351baff6
6901 Author: Lasse Collin <lasse.collin@tukaani.org>
6902 Date: 2022-07-14 19:37:42 +0300
6904 Tests: Add .lzma test files.
6906 tests/files/README | 63 ++++++++++++++++-----
6907 tests/files/bad-too_big_size-with_eopm.lzma | Bin 0 -> 37 bytes
6908 tests/files/bad-too_small_size-without_eopm-1.lzma | Bin 0 -> 31 bytes
6909 tests/files/bad-too_small_size-without_eopm-2.lzma | Bin 0 -> 31 bytes
6910 tests/files/bad-too_small_size-without_eopm-3.lzma | Bin 0 -> 36 bytes
6911 tests/files/bad-unknown_size-without_eopm.lzma | Bin 0 -> 31 bytes
6912 tests/files/good-known_size-with_eopm.lzma | Bin 0 -> 37 bytes
6913 tests/files/good-known_size-without_eopm.lzma | Bin 0 -> 31 bytes
6914 tests/files/good-unknown_size-with_eopm.lzma | Bin 0 -> 37 bytes
6915 9 files changed, 50 insertions(+), 13 deletions(-)
6917 commit 107c93ee5cad51a6ea0cee471209bfe8d76deaa3
6918 Author: Lasse Collin <lasse.collin@tukaani.org>
6919 Date: 2022-07-14 18:12:38 +0300
6921 liblzma: Rename a variable and improve a comment.
6923 src/liblzma/lzma/lzma_decoder.c | 13 +++++++++----
6924 1 file changed, 9 insertions(+), 4 deletions(-)
6926 commit 511feb5eadb988d641b025d597f4fac7502003b8
6927 Author: Lasse Collin <lasse.collin@tukaani.org>
6928 Date: 2022-07-13 22:24:41 +0300
6933 1 file changed, 1 insertion(+)
6935 commit 9595a3119b9faf0ce01375329cad8bbf85c35ea2
6936 Author: Lasse Collin <lasse.collin@tukaani.org>
6937 Date: 2022-07-13 22:24:07 +0300
6939 liblzma: Add optional autodetection of LZMA end marker.
6941 Turns out that this is needed for .lzma files as the spec in
6942 LZMA SDK says that end marker may be present even if the size
6943 is stored in the header. Such files are rare but exist in the
6944 real world. The code in liblzma is so old that the spec didn't
6945 exist in LZMA SDK back then and I had understood that such
6946 files weren't possible (the lzma tool in LZMA SDK didn't
6949 This modifies the internal API so that LZMA decoder can be told
6950 if EOPM is allowed even when the uncompressed size is known.
6951 It's allowed with .lzma and not with other uses.
6953 Thanks to Karl Beldan for reporting the problem.
6955 doc/lzma-file-format.txt | 11 +++-
6956 src/liblzma/common/alone_decoder.c | 2 +-
6957 src/liblzma/common/microlzma_decoder.c | 2 +-
6958 src/liblzma/lz/lz_decoder.c | 10 +++-
6959 src/liblzma/lz/lz_decoder.h | 8 +--
6960 src/liblzma/lzma/lzma2_decoder.c | 2 +-
6961 src/liblzma/lzma/lzma_decoder.c | 99 ++++++++++++++++++++++++----------
6962 7 files changed, 95 insertions(+), 39 deletions(-)
6964 commit 0c0f8e9761eb6eaf199082cf144db7ac5f9d8cb2
6965 Author: Lasse Collin <lasse.collin@tukaani.org>
6966 Date: 2022-07-12 18:53:04 +0300
6968 xz: Document the special memlimit case of 2000 MiB on MIPS32.
6970 See commit fc3d3a7296ef58bb799a73943636b8bfd95339f7.
6972 src/xz/xz.1 | 8 ++++++--
6973 1 file changed, 6 insertions(+), 2 deletions(-)
6975 commit d1bfa3dc703325ecd974167e864a8712fdfe936e
6976 Author: Jia Tan <jiat0218@gmail.com>
6977 Date: 2022-07-01 21:19:26 +0800
6979 Created script to generate code coverage reports.
6981 The script uses lcov and genhtml after running the tests
6982 to show the code coverage statistics. The script will create
6983 a coverage directory where it is run. It can be run both in
6984 and out of the source directory.
6987 tests/code_coverage.sh | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++
6988 2 files changed, 83 insertions(+)
6990 commit 86a30b0255d8064169fabfd213d907016d2f9f2a
6991 Author: Jia Tan <jiat0218@gmail.com>
6992 Date: 2022-06-16 17:32:19 +0300
6994 Tests: Add more tests into test_check.
6996 tests/test_check.c | 279 +++++++++++++++++++++++++++++++++++++++++++++++++++--
6997 tests/tests.h | 23 +++++
6998 2 files changed, 295 insertions(+), 7 deletions(-)
7000 commit 82e30fed66a89706388a8c15dc954d84e63f38fa
7001 Author: Lasse Collin <lasse.collin@tukaani.org>
7002 Date: 2022-06-16 15:02:57 +0300
7004 Tests: Use char[][24] array for enum_strings_lzma_ret.
7006 Array of pointers to short strings is a bit pointless here
7007 and now it's fully const.
7009 tests/tests.h | 2 +-
7010 1 file changed, 1 insertion(+), 1 deletion(-)
7012 commit 5ba9459e6c4a29f6870ca78ce8ac6e519d59c41e
7013 Author: Lasse Collin <lasse.collin@tukaani.org>
7014 Date: 2022-06-16 14:12:14 +0300
7016 Tests: tuktest.h: Add tuktest_error_impl to help with error conditions.
7018 tests/tuktest.h | 72 +++++++++++++++++++++++++--------------------------------
7019 1 file changed, 32 insertions(+), 40 deletions(-)
7021 commit b339892668da20aea22a93668c82b87a38e4a97f
7022 Author: Lasse Collin <lasse.collin@tukaani.org>
7023 Date: 2022-06-16 13:29:59 +0300
7025 Tests: tuktest.h: Rename file_from_* and use tuktest_malloc there.
7027 tests/test_bcj_exact_size.c | 4 +---
7028 tests/tuktest.h | 52 +++++++++++++++++++++------------------------
7029 2 files changed, 25 insertions(+), 31 deletions(-)
7031 commit d8b63a0ad68d1c461eb373466679ebc41fbc207d
7032 Author: Lasse Collin <lasse.collin@tukaani.org>
7033 Date: 2022-06-16 13:08:19 +0300
7035 Tests: tuktest.h: Add malloc wrapper with automatic freeing.
7037 tests/tuktest.h | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7038 1 file changed, 124 insertions(+)
7040 commit 1d51536a4b19a8fae768f8eb462fc2238cb36d53
7041 Author: Lasse Collin <lasse.collin@tukaani.org>
7042 Date: 2022-06-16 11:47:37 +0300
7044 Tests: tuktest.h: Move a function.
7046 tests/tuktest.h | 44 ++++++++++++++++++++++----------------------
7047 1 file changed, 22 insertions(+), 22 deletions(-)
7049 commit 70c7555f6403553ee35539e869de0025592d8564
7050 Author: Lasse Collin <lasse.collin@tukaani.org>
7051 Date: 2022-06-14 22:21:15 +0300
7053 Tests: test_vli: Remove an invalid test-assertion.
7055 lzma_vli is unsigned so trying a signed value results in
7056 a compiler warning from -Wsign-conversion. (lzma_vli)-1
7057 equals to LZMA_VLI_UNKNOWN anyway which is the next assertion.
7059 tests/test_vli.c | 2 --
7060 1 file changed, 2 deletions(-)
7062 commit 154b73c5a1092c3f785e01666b564ad7ff1be555
7063 Author: Lasse Collin <lasse.collin@tukaani.org>
7064 Date: 2022-06-14 22:10:10 +0300
7066 Tests: test_vli: Add const where appropriate.
7068 tests/test_vli.c | 53 ++++++++++++++++++++++++++++-------------------------
7069 1 file changed, 28 insertions(+), 25 deletions(-)
7071 commit 0354d6cce3ff98ea6f927107baf216253f6ce2bb
7072 Author: Jia Tan <jiat75@gmail.com>
7073 Date: 2022-06-13 20:27:03 +0800
7075 Added vli tests to .gitignore
7078 1 file changed, 1 insertion(+)
7080 commit a08f5ccf6bdc20ef70e41f6f3321618ef146f96e
7081 Author: Jia Tan <jiat0218@gmail.com>
7082 Date: 2022-06-12 11:31:40 +0800
7084 Created tests for all functions exported in vli.h
7086 Achieved 100% code coverage vli_encoder.c, vli_decoder.c, and vli_size.c
7088 tests/Makefile.am | 4 +-
7089 tests/test_vli.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
7090 2 files changed, 311 insertions(+), 1 deletion(-)
7092 commit 1e3eb61815a91c0a1bfbb802e2d95593f523491f
7093 Author: jiat75 <jiat0218@gmail.com>
7094 Date: 2022-06-03 21:24:54 +0800
7096 Added parallel test artifacts to .gitignore
7099 1 file changed, 2 insertions(+)
7101 commit 00e3613f1212eaa84e721585fdb4de6967cf2476
7102 Author: Lasse Collin <lasse.collin@tukaani.org>
7103 Date: 2022-06-14 21:29:21 +0300
7105 Tests: Use good-1-empty-bcj-lzma2.xz in test_bcj_exact_size.
7107 It's much nicer this way so that the test data isn't a hardcoded
7108 table inside the C file.
7110 tests/test_bcj_exact_size.c | 19 +++++++------------
7111 1 file changed, 7 insertions(+), 12 deletions(-)
7113 commit 86bab755be252bfd3e0a9aee8e7b83a9bbb23ed0
7114 Author: Lasse Collin <lasse.collin@tukaani.org>
7115 Date: 2022-06-14 21:26:13 +0300
7117 Tests: Add file reading helpers to tuktest.h.
7119 tests/tuktest.h | 183 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
7120 1 file changed, 176 insertions(+), 7 deletions(-)
7122 commit 83d2337b72dbf391c6f3b41889eea99e51679105
7123 Author: Lasse Collin <lasse.collin@tukaani.org>
7124 Date: 2022-06-14 18:21:57 +0300
7126 Tests: tuktest.h: Move a printf from a macro to a helper function.
7128 tests/tuktest.h | 26 ++++++++++++++++++--------
7129 1 file changed, 18 insertions(+), 8 deletions(-)
7131 commit f9e8176ea7d520797a2db2d49a5a632c285674a8
7132 Author: Lasse Collin <lasse.collin@tukaani.org>
7133 Date: 2022-06-14 17:20:49 +0300
7135 Tests: Add test file good-1-empty-bcj-lzma2.xz.
7137 This is from test_bcj_exact_size.c.
7138 It's good to have it as a standalone file.
7140 tests/files/README | 5 +++++
7141 tests/files/good-1-empty-bcj-lzma2.xz | Bin 0 -> 52 bytes
7142 2 files changed, 5 insertions(+)
7144 commit aa75c5563a760aea3aa23d997d519e702e82726b
7145 Author: Jia Tan <jiat0218@gmail.com>
7146 Date: 2022-06-10 21:35:18 +0800
7148 Tests: Created tests for hardware functions.
7150 Created tests for all API functions exported in
7151 src/liblzma/api/lzma/hardware.h. The tests are fairly trivial
7152 but are helpful because they will inform users if their machines
7153 cannot support these functions. They also improve the code
7157 tests/Makefile.am | 2 ++
7158 tests/test_hardware.c | 45 +++++++++++++++++++++++++++++++++++++++++++++
7159 3 files changed, 48 insertions(+)
7161 commit 5c8ffdca20813939818843476fb212dfae8838a3
7162 Author: Lasse Collin <lasse.collin@tukaani.org>
7163 Date: 2022-06-02 21:01:45 +0300
7165 Tests: Convert test_check to tuktest.
7167 Thanks to Jia Tan for help with all the tests.
7169 tests/test_check.c | 67 +++++++++++++++++++++++++++---------------------------
7170 1 file changed, 33 insertions(+), 34 deletions(-)
7172 commit faf5ff8899d539b4dcd2a7e5280cb820a4746c86
7173 Author: Lasse Collin <lasse.collin@tukaani.org>
7174 Date: 2022-06-02 20:31:03 +0300
7176 Tests: Convert test_block_header to tuktest.
7178 tests/test_block_header.c | 89 +++++++++++++++++++++++++++--------------------
7179 1 file changed, 52 insertions(+), 37 deletions(-)
7181 commit 754d39fbebee3782258d42f154a223d3c5770ec7
7182 Author: Lasse Collin <lasse.collin@tukaani.org>
7183 Date: 2022-06-02 20:28:23 +0300
7185 Tests: Convert test_bcj_exact_size to tuktest.
7187 The compress() and decompress() functions were merged because
7188 the later depends on the former so they need to be a single
7191 tests/test_bcj_exact_size.c | 75 +++++++++++++++++++++++++--------------------
7192 1 file changed, 41 insertions(+), 34 deletions(-)
7194 commit 96da21470f9570cd08286906a050a7c22631775b
7195 Author: Lasse Collin <lasse.collin@tukaani.org>
7196 Date: 2022-06-02 20:27:00 +0300
7198 Tests: Include tuktest.h in tests.h.
7200 This breaks -Werror because none of the tests so far use
7201 tuktest.h and thus there are warnings about unused variables
7204 tests/tests.h | 47 +++++++++++++++++++++++------------------------
7205 1 file changed, 23 insertions(+), 24 deletions(-)
7207 commit df71ba1c991f60c3269aaadd398247e632714626
7208 Author: Lasse Collin <lasse.collin@tukaani.org>
7209 Date: 2022-06-02 20:25:21 +0300
7211 Tests: Add tuktest.h mini-test-framework.
7213 tests/Makefile.am | 1 +
7214 tests/tuktest.h | 752 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
7215 2 files changed, 753 insertions(+)
7217 commit 4773608554d1b684a05ff9c1d879cf5c42266d33
7218 Author: Lasse Collin <lasse.collin@tukaani.org>
7219 Date: 2022-05-23 21:31:36 +0300
7221 Build: Enable Automake's parallel test harness.
7223 It has been the default for quite some time already and
7224 the old serial harness isn't discouraged. The downside is
7225 that with parallel tests one cannot print progress info or
7226 other diagnostics to the terminal; all output from the tests
7227 will be in the log files only. But now that the compression
7228 tests are separated the parallel tests will speed things up.
7231 1 file changed, 1 insertion(+), 1 deletion(-)
7233 commit 9a6dd6d46f7f256a5573e5d874c1052033ed7b05
7234 Author: Lasse Collin <lasse.collin@tukaani.org>
7235 Date: 2022-05-23 21:17:47 +0300
7237 Tests: Split test_compress.sh into separate test unit for each file.
7239 test_compress.sh now takes one command line argument:
7240 a filename to be tested. If it begins with "compress_generated_"
7241 the file will be created with create_compress_files.
7243 This will allow parallel execution of the slow tests.
7245 tests/Makefile.am | 11 +++-
7246 tests/test_compress.sh | 91 +++++++++++++++++++---------------
7247 tests/test_compress_generated_abc | 3 ++
7248 tests/test_compress_generated_random | 3 ++
7249 tests/test_compress_generated_text | 3 ++
7250 tests/test_compress_prepared_bcj_sparc | 3 ++
7251 tests/test_compress_prepared_bcj_x86 | 3 ++
7252 7 files changed, 77 insertions(+), 40 deletions(-)
7254 commit c7758ac9c734707514dd34f254173ebac5eea7f8
7255 Author: Lasse Collin <lasse.collin@tukaani.org>
7256 Date: 2022-05-23 20:32:49 +0300
7258 Test: Make create_compress_files.c a little more flexible.
7260 If a command line argument is given, then only the test file
7261 of that type is created. It's quite dumb in sense that unknown
7262 names don't give an error but it's good enough here.
7264 Also use EXIT_FAILURE instead of 1 as exit status for errors.
7266 tests/create_compress_files.c | 25 +++++++++++++++----------
7267 1 file changed, 15 insertions(+), 10 deletions(-)
7269 commit 4a8e4a7b0ad4b03c0ac6862716c3457452cdaf8c
7270 Author: Lasse Collin <lasse.collin@tukaani.org>
7271 Date: 2022-05-23 20:17:42 +0300
7273 Tests: Remove unneeded commented lines from test_compress.sh.
7275 tests/test_compress.sh | 13 -------------
7276 1 file changed, 13 deletions(-)
7278 commit 2ee50d150ee009f36135540b459e6ff328549725
7279 Author: Lasse Collin <lasse.collin@tukaani.org>
7280 Date: 2022-05-23 20:16:00 +0300
7282 Tests: Remove progress indicator from test_compress.sh.
7284 It will be useless with Automake's parallel tests.
7286 tests/test_compress.sh | 9 ---------
7287 1 file changed, 9 deletions(-)
7289 commit 2ce4f36f179a81d0c6e182a409f363df759d1ad0
7290 Author: Lasse Collin <lasse.collin@tukaani.org>
7291 Date: 2022-05-23 19:37:18 +0300
7293 liblzma: Silence a warning.
7295 The actual initialization is done via mythread_sync and seems
7296 that GCC doesn't necessarily see that it gets initialized there.
7298 src/liblzma/common/stream_decoder_mt.c | 2 +-
7299 1 file changed, 1 insertion(+), 1 deletion(-)
7301 commit 5d8f3764ef43c35910e6d7003c0900a961ef6544
7302 Author: Lasse Collin <lasse.collin@tukaani.org>
7303 Date: 2022-04-14 20:53:16 +0300
7305 xz: Fix build with --disable-threads.
7307 src/xz/hardware.c | 4 ++++
7308 1 file changed, 4 insertions(+)
7310 commit 1d592897278b172d8549aa29c3a1f3a4f432a9b9
7311 Author: Lasse Collin <lasse.collin@tukaani.org>
7312 Date: 2022-04-14 14:50:17 +0300
7314 xz: Change the cap of the default -T0 memlimit for 32-bit xz.
7316 The SIZE_MAX / 3 was 1365 MiB. 1400 MiB gives little more room
7317 and it looks like a round (artificial) number in --info-memory
7318 once --info-memory is made to display it.
7320 Also, using #if avoids useless code on 64-bit builds.
7322 src/xz/hardware.c | 4 +++-
7323 1 file changed, 3 insertions(+), 1 deletion(-)
7325 commit c77fe55ddb7752ed0fec46967c5ec9a72632ea0c
7326 Author: Lasse Collin <lasse.collin@tukaani.org>
7327 Date: 2022-04-14 14:20:46 +0300
7329 xz: Add a default soft memory usage limit for --threads=0.
7331 This is a soft limit in sense that it only affects the number of
7332 threads. It never makes xz fail and it never makes xz change
7333 settings that would affect the compressed output.
7335 The idea is to make -T0 have more reasonable behavior when
7336 the system has very many cores or when a memory-hungry
7337 compression options are used. This also helps with 32-bit xz,
7338 preventing it from running out of address space.
7340 The downside of this commit is that now the number of threads
7341 might become too low compared to what the user expected. I
7342 hope this to be an acceptable compromise as the old behavior
7343 has been a source of well-argued complaints for a long time.
7345 src/xz/coder.c | 28 ++++++++++++++++++++++++++--
7346 src/xz/hardware.c | 38 +++++++++++++++++++++++++++++---------
7347 src/xz/hardware.h | 27 +++++++++++++++++++++++++++
7348 3 files changed, 82 insertions(+), 11 deletions(-)
7350 commit 0adc13bfe32c14f3e4c6ce9f2d4fdf4112ab53f4
7351 Author: Lasse Collin <lasse.collin@tukaani.org>
7352 Date: 2022-04-14 12:59:09 +0300
7354 xz: Make -T0 use multithreaded mode on single-core systems.
7356 The main problem withi the old behavior is that the compressed
7357 output is different on single-core systems vs. multicore systems.
7358 This commit fixes it by making -T0 one thread in multithreaded mode
7359 on single-core systems.
7361 The downside of this is that it uses more memory. However, if
7362 --memlimit-compress is used, xz can (thanks to the previous commit)
7363 drop to the single-threaded mode still.
7365 src/xz/coder.c | 18 +++++++++---------
7366 src/xz/hardware.c | 14 ++++++++++++++
7367 src/xz/hardware.h | 4 ++++
7368 3 files changed, 27 insertions(+), 9 deletions(-)
7370 commit 898faa97287a756231c663a3ed5165672b417207
7371 Author: Lasse Collin <lasse.collin@tukaani.org>
7372 Date: 2022-04-14 12:38:00 +0300
7374 xz: Changes to --memlimit-compress and --no-adjust.
7376 In single-threaded mode, --memlimit-compress can make xz scale down
7377 the LZMA2 dictionary size to meet the memory usage limit. This
7378 obviously affects the compressed output. However, if xz was in
7379 threaded mode, --memlimit-compress could make xz reduce the number
7380 of threads but it wouldn't make xz switch from multithreaded mode
7381 to single-threaded mode or scale down the LZMA2 dictionary size.
7382 This seemed illogical and there was even a "FIXME?" about it.
7384 Now --memlimit-compress can make xz switch to single-threaded
7385 mode if one thread in multithreaded mode uses too much memory.
7386 If memory usage is still too high, then the LZMA2 dictionary
7387 size can be scaled down too.
7389 The option --no-adjust was also changed so that it no longer
7390 prevents xz from scaling down the number of threads as that
7391 doesn't affect compressed output (only performance). After
7392 this commit --no-adjust only prevents adjustments that affect
7393 compressed output, that is, with --no-adjust xz won't switch
7394 from multithreaded mode to single-threaded mode and won't
7395 scale down the LZMA2 dictionary size.
7397 The man page wasn't updated yet.
7399 src/xz/coder.c | 63 +++++++++++++++++++++++++++++++++++++++-------------------
7400 1 file changed, 43 insertions(+), 20 deletions(-)
7402 commit cad299008cf73ec566f0662a9cf2b94f86a99659
7403 Author: Lasse Collin <lasse.collin@tukaani.org>
7404 Date: 2022-04-11 22:20:49 +0300
7406 xz: Add --memlimit-mt-decompress along with a default limit value.
7408 --memlimit-mt-decompress allows specifying the limit for
7409 multithreaded decompression. This matches memlimit_threading in
7410 liblzma. This limit can only affect the number of threads being
7411 used; it will never prevent xz from decompressing a file. The
7412 old --memlimit-decompress option is still used at the same time.
7414 If the value of --memlimit-decompress (the default value or
7415 one specified by the user) is less than the value of
7416 --memlimit-mt-decompress , then --memlimit-mt-decompress is
7417 reduced to match --memlimit-decompress.
7419 Man page wasn't updated yet.
7421 src/xz/args.c | 24 +++++++++++++++-------
7422 src/xz/coder.c | 34 ++++++++++---------------------
7423 src/xz/hardware.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++-----
7424 src/xz/hardware.h | 17 ++++++++++------
7425 src/xz/message.c | 4 +++-
7426 5 files changed, 97 insertions(+), 42 deletions(-)
7428 commit fe87b4cd5364f5bbb6a75a0299f1500c852d7c9a
7429 Author: Lasse Collin <lasse.collin@tukaani.org>
7430 Date: 2022-04-06 23:11:59 +0300
7432 liblzma: Threaded decoder: Improve setting of pending_error.
7434 It doesn't need to be done conditionally. The comments try
7437 src/liblzma/common/stream_decoder_mt.c | 51 +++++++++++++++++++++++-----------
7438 1 file changed, 35 insertions(+), 16 deletions(-)
7440 commit 90621da7f6e1bfd6d91d60415eae04b2bca274c2
7441 Author: Lasse Collin <lasse.collin@tukaani.org>
7442 Date: 2022-04-06 12:39:49 +0300
7444 liblzma: Add a new flag LZMA_FAIL_FAST for threaded decoder.
7446 In most cases if the input file is corrupt the application won't
7447 care about the uncompressed content at all. With this new flag
7448 the threaded decoder will return an error as soon as any thread
7449 has detected an error; it won't wait to copy out the data before
7450 the location of the error.
7452 I don't plan to use this in xz to keep the behavior consistent
7453 between single-threaded and multi-threaded modes.
7455 src/liblzma/api/lzma/container.h | 25 ++++++++++++++++-
7456 src/liblzma/common/common.h | 7 +++--
7457 src/liblzma/common/stream_decoder_mt.c | 50 +++++++++++++++++++---------------
7458 3 files changed, 56 insertions(+), 26 deletions(-)
7460 commit 64b6d496dc815a176d8307f418f6834a26783484
7461 Author: Lasse Collin <lasse.collin@tukaani.org>
7462 Date: 2022-04-05 12:24:57 +0300
7464 liblzma: Threaded decoder: Always wait for output if LZMA_FINISH is used.
7466 This makes the behavior consistent with the single-threaded
7467 decoder when handling truncated .xz files.
7469 Thanks to Jia Tan for finding this issue.
7471 src/liblzma/common/stream_decoder_mt.c | 26 ++++++++++++++++++++++++--
7472 1 file changed, 24 insertions(+), 2 deletions(-)
7474 commit e671bc8828b9c0c5406c3a22c541301d0eb54518
7475 Author: Lasse Collin <lasse.collin@tukaani.org>
7476 Date: 2022-04-02 21:49:59 +0300
7478 liblzma: Threaded decoder: Support zpipe.c-style decoding loop.
7480 This makes it possible to call lzma_code() in a loop that only
7481 reads new input when lzma_code() didn't fill the output buffer
7482 completely. That isn't the calling style suggested by the
7483 liblzma example program 02_decompress.c so perhaps the usefulness
7484 of this feature is limited.
7486 Also, it is possible to write such a loop so that it works
7487 with the single-threaded decoder but not with the threaded
7488 decoder even after this commit, or so that it works only if
7489 lzma_mt.timeout = 0.
7491 The zlib tutorial <https://zlib.net/zlib_how.html> is a well-known
7492 example of a loop where more input is read only when output isn't
7493 full. Porting this as is to liblzma would work with the
7494 single-threaded decoder (if LZMA_CONCATENATED isn't used) but it
7495 wouldn't work with threaded decoder even after this commit because
7496 the loop assumes that no more output is possible when it cannot
7497 read more input ("if (strm.avail_in == 0) break;"). This cannot
7498 be fixed at liblzma side; the loop has to be modified at least
7501 I'm adding this in any case because the actual code is simple
7502 and short and should have no harmful side-effects in other
7505 src/liblzma/common/stream_decoder_mt.c | 77 +++++++++++++++++++++++++++++-----
7506 1 file changed, 67 insertions(+), 10 deletions(-)
7508 commit 2ba8173e27be4793edb46497e499ac2ae753a316
7509 Author: Lasse Collin <lasse.collin@tukaani.org>
7510 Date: 2022-03-31 00:05:07 +0300
7515 1 file changed, 1 insertion(+)
7517 commit 69d1b3fc29677af8ade8dc15dba83f0589cb63d6
7518 Author: Lasse Collin <lasse.collin@tukaani.org>
7519 Date: 2022-03-29 19:19:12 +0300
7521 xzgrep: Fix escaping of malicious filenames (ZDI-CAN-16587).
7523 Malicious filenames can make xzgrep to write to arbitrary files
7524 or (with a GNU sed extension) lead to arbitrary code execution.
7526 xzgrep from XZ Utils versions up to and including 5.2.5 are
7527 affected. 5.3.1alpha and 5.3.2alpha are affected as well.
7528 This patch works for all of them.
7530 This bug was inherited from gzip's zgrep. gzip 1.12 includes
7533 The issue with the old sed script is that with multiple newlines,
7534 the N-command will read the second line of input, then the
7535 s-commands will be skipped because it's not the end of the
7536 file yet, then a new sed cycle starts and the pattern space
7537 is printed and emptied. So only the last line or two get escaped.
7539 One way to fix this would be to read all lines into the pattern
7540 space first. However, the included fix is even simpler: All lines
7541 except the last line get a backslash appended at the end. To ensure
7542 that shell command substitution doesn't eat a possible trailing
7543 newline, a colon is appended to the filename before escaping.
7544 The colon is later used to separate the filename from the grep
7545 output so it is fine to add it here instead of a few lines later.
7547 The old code also wasn't POSIX compliant as it used \n in the
7548 replacement section of the s-command. Using \<newline> is the
7549 POSIX compatible method.
7551 LC_ALL=C was added to the two critical sed commands. POSIX sed
7552 manual recommends it when using sed to manipulate pathnames
7553 because in other locales invalid multibyte sequences might
7554 cause issues with some sed implementations. In case of GNU sed,
7555 these particular sed scripts wouldn't have such problems but some
7556 other scripts could have, see:
7558 info '(sed)Locale Considerations'
7560 This vulnerability was discovered by:
7561 cleemy desu wayo working with Trend Micro Zero Day Initiative
7563 Thanks to Jim Meyering and Paul Eggert discussing the different
7564 ways to fix this and for coordinating the patch release schedule
7567 src/scripts/xzgrep.in | 20 ++++++++++++--------
7568 1 file changed, 12 insertions(+), 8 deletions(-)
7570 commit bd93b776c1bd15e90661033c918cdeb354dbcc38
7571 Author: Lasse Collin <lasse.collin@tukaani.org>
7572 Date: 2022-03-26 01:02:44 +0200
7574 liblzma: Fix a deadlock in threaded decoder.
7576 If a worker thread has consumed all input so far and it's
7577 waiting on thr->cond and then the main thread enables
7578 partial update for that thread, the code used to deadlock.
7579 This commit allows one dummy decoding pass to occur in this
7580 situation which then also does the partial update.
7582 As part of the fix, this moves thr->progress_* updates to
7583 avoid the second thr->mutex locking.
7585 Thanks to Jia Tan for finding, debugging, and reporting the bug.
7587 src/liblzma/common/stream_decoder_mt.c | 71 +++++++++++++++++++++++++---------
7588 1 file changed, 52 insertions(+), 19 deletions(-)
7590 commit e0394e94230f208682ac1e1f4c41f22f9ad79916
7591 Author: Lasse Collin <lasse.collin@tukaani.org>
7592 Date: 2022-03-23 16:34:00 +0200
7597 1 file changed, 1 insertion(+)
7599 commit 487c77d48760564b1949c5067630b675b87be4de
7600 Author: Lasse Collin <lasse.collin@tukaani.org>
7601 Date: 2022-03-23 16:28:55 +0200
7603 liblzma: Threaded decoder: Don't stop threads on LZMA_TIMED_OUT.
7605 LZMA_TIMED_OUT is not an error and thus stopping threads on
7606 LZMA_TIMED_OUT breaks the decoder badly.
7608 Thanks to Jia Tan for finding the bug and for the patch.
7610 src/liblzma/common/stream_decoder_mt.c | 2 +-
7611 1 file changed, 1 insertion(+), 1 deletion(-)
7613 commit 6c6da57ae2aa962aabde6892442227063d87e88c
7614 Author: Lasse Collin <lasse.collin@tukaani.org>
7615 Date: 2022-03-07 00:36:16 +0200
7617 xz: Add initial support for threaded decompression.
7619 If threading support is enabled at build time, this will
7620 use lzma_stream_decoder_mt() even for single-threaded mode.
7621 With memlimit_threading=0 the behavior should be identical.
7623 This needs some work like adding --memlimit-threading=LIMIT.
7625 The original patch from Sebastian Andrzej Siewior included
7626 a method to get currently available RAM on Linux. It might
7627 be one way to go but as it is Linux-only, the available-RAM
7628 approach needs work for portability or using a fallback method
7631 The man page wasn't updated yet.
7633 src/xz/coder.c | 36 +++++++++++++++++++++++++++++++++++-
7634 1 file changed, 35 insertions(+), 1 deletion(-)
7636 commit 4cce3e27f529af33e0e7749a8cbcec59954946b5
7637 Author: Lasse Collin <lasse.collin@tukaani.org>
7638 Date: 2022-03-06 23:36:20 +0200
7640 liblzma: Add threaded .xz decompressor.
7642 I realize that this is about a decade late.
7644 Big thanks to Sebastian Andrzej Siewior for the original patch.
7645 I made a bunch of smaller changes but after a while quite a few
7646 things got rewritten. So any bugs in the commit were created by me.
7648 src/liblzma/api/lzma/container.h | 90 +-
7649 src/liblzma/common/Makefile.inc | 5 +
7650 src/liblzma/common/common.h | 4 +
7651 src/liblzma/common/stream_decoder_mt.c | 1814 ++++++++++++++++++++++++++++++++
7652 src/liblzma/liblzma.map | 1 +
7653 5 files changed, 1907 insertions(+), 7 deletions(-)
7655 commit 717631b9788dc9c100ee0c87d3c14a2782638ff4
7656 Author: Lasse Collin <lasse.collin@tukaani.org>
7657 Date: 2022-03-06 16:54:23 +0200
7659 liblzma: Fix docs: lzma_block_decoder() cannot return LZMA_UNSUPPORTED_CHECK.
7661 If Check is unsupported, it will be silently ignored.
7662 It's the caller's job to handle it.
7664 src/liblzma/api/lzma/block.h | 3 ---
7665 1 file changed, 3 deletions(-)
7667 commit 1a4bb97a00936535e30ac61945aeee38882b5d1a
7668 Author: Lasse Collin <lasse.collin@tukaani.org>
7669 Date: 2022-03-06 16:41:19 +0200
7671 liblzma: Add new output queue (lzma_outq) features.
7673 Add lzma_outq_clear_cache2() which may leave one buffer allocated
7676 Add lzma_outq_outbuf_memusage() to get the memory needed for
7677 a single lzma_outbuf. This is now used internally in outqueue.c too.
7679 Track both the total amount of memory allocated and the amount of
7680 memory that is in active use (not in cache).
7682 In lzma_outbuf, allow storing the current input position that
7683 matches the current output position. This way the main thread
7684 can notice when no more output is possible without first providing
7687 Allow specifying return code for lzma_outq_read() in a finished
7690 src/liblzma/common/outqueue.c | 43 +++++++++++++++++++++++++++++++++++-------
7691 src/liblzma/common/outqueue.h | 44 ++++++++++++++++++++++++++++++++++++++++++-
7692 2 files changed, 79 insertions(+), 8 deletions(-)
7694 commit ddbc6f58c2de388eed24cd7ea91b523d397da5f4
7695 Author: Lasse Collin <lasse.collin@tukaani.org>
7696 Date: 2022-03-06 15:18:58 +0200
7698 liblzma: Index hash: Change return value type of hash_append() to void.
7700 src/liblzma/common/index_hash.c | 11 +++++------
7701 1 file changed, 5 insertions(+), 6 deletions(-)
7703 commit 20e7a33e2d59c6a814447d3991f21e2702174b20
7704 Author: Lasse Collin <lasse.collin@tukaani.org>
7705 Date: 2022-02-22 03:42:57 +0200
7707 liblzma: Minor addition to lzma_vli_size() API doc.
7711 src/liblzma/api/lzma/vli.h | 2 ++
7712 1 file changed, 2 insertions(+)
7714 commit 4f78f5fcf63592f2d77e921cfe0d5de300867374
7715 Author: Lasse Collin <lasse.collin@tukaani.org>
7716 Date: 2022-02-22 02:04:18 +0200
7718 liblzma: Check the return value of lzma_index_append() in threaded encoder.
7720 If lzma_index_append() failed (most likely memory allocation failure)
7721 it could have gone unnoticed and the resulting .xz file would have
7722 an incorrect Index. Decompressing such a file would produce the
7723 correct uncompressed data but then an error would occur when
7724 verifying the Index field.
7726 src/liblzma/common/stream_encoder_mt.c | 7 +++++--
7727 1 file changed, 5 insertions(+), 2 deletions(-)
7729 commit 5313ad66b40aab822ddca3e9905254cb99a4080d
7730 Author: Lasse Collin <lasse.collin@tukaani.org>
7731 Date: 2022-02-22 01:37:39 +0200
7736 1 file changed, 1 insertion(+)
7738 commit 865e0a3689a25a7ee8eecae1a34c1775e3aa676e
7739 Author: Ed Maste <emaste@FreeBSD.org>
7740 Date: 2022-02-11 15:25:46 +0000
7742 liblzma: Use non-executable stack on FreeBSD as on Linux
7744 src/liblzma/check/crc32_x86.S | 4 ++--
7745 src/liblzma/check/crc64_x86.S | 4 ++--
7746 2 files changed, 4 insertions(+), 4 deletions(-)
7748 commit 1c9a5786d206b4abc8e427326651c8174baea753
7749 Author: Lasse Collin <lasse.collin@tukaani.org>
7750 Date: 2022-02-20 20:36:27 +0200
7752 liblzma: Make Block decoder catch certain types of errors better.
7754 Now it limits the input and output buffer sizes that are
7755 passed to a raw decoder. This way there's no need to check
7756 if the sizes can grow too big or overflow when updating
7757 Compressed Size and Uncompressed Size counts. This also means
7758 that a corrupt file cannot cause the raw decoder to process
7759 useless extra input or output that would exceed the size info
7760 in Block Header (and thus cause LZMA_DATA_ERROR anyway).
7762 More importantly, now the size information is verified more
7763 carefully in case raw decoder returns LZMA_OK. This doesn't
7764 really matter with the current single-threaded .xz decoder
7765 as the errors would be detected slightly later anyway. But
7766 this helps avoiding corner cases in the upcoming threaded
7767 decompressor, and it might help other Block decoder uses
7768 outside liblzma too.
7770 The test files bad-1-lzma2-{9,10,11}.xz test these conditions.
7771 With the single-threaded .xz decoder the only difference is
7772 that LZMA_DATA_ERROR is detected in a difference place now.
7774 src/liblzma/common/block_decoder.c | 79 ++++++++++++++++++++++++++------------
7775 1 file changed, 54 insertions(+), 25 deletions(-)
7777 commit 555de11873eb00c9b94a8be70645db502e5a9dbd
7778 Author: Lasse Collin <lasse.collin@tukaani.org>
7779 Date: 2022-02-20 19:38:55 +0200
7781 Tests: Add bad-1-lzma2-11.xz.
7783 tests/files/README | 5 +++++
7784 tests/files/bad-1-lzma2-11.xz | Bin 0 -> 64 bytes
7785 2 files changed, 5 insertions(+)
7787 commit f0da507f22e7f4e3edb75b45b74d344244ca03fb
7788 Author: Lasse Collin <lasse.collin@tukaani.org>
7789 Date: 2022-02-18 18:51:10 +0200
7791 Translations: Fix po4a failure with the French man page translations.
7793 Thanks to Mario Blättermann for the patch.
7795 po4a/fr_FR.po | 6 ++++--
7796 1 file changed, 4 insertions(+), 2 deletions(-)
7798 commit f7711d228c3c32395460c82498c60a9f730d0239
7799 Author: Lasse Collin <lasse.collin@tukaani.org>
7800 Date: 2022-02-07 01:14:37 +0200
7802 Translations: Add French translation of man pages.
7804 This matches xz-utils 5.2.5-2 in Debian.
7806 The translation was done by "bubu", proofread by the debian-l10n-french
7807 mailing list contributors, and submitted to me on the xz-devel mailing
7808 list by Jean-Pierre Giraud. Thanks to everyone!
7810 po4a/fr_FR.po | 3541 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7811 po4a/po4a.conf | 2 +-
7812 2 files changed, 3542 insertions(+), 1 deletion(-)
7814 commit 6468f7e41a8e9c611e4ba8d34e2175c5dacdbeb4
7815 Author: jiat75 <jiat0218@gmail.com>
7816 Date: 2022-01-28 20:47:55 +0800
7818 liblzma: Add NULL checks to LZMA and LZMA2 properties encoders.
7820 Previously lzma_lzma_props_encode() and lzma_lzma2_props_encode()
7821 assumed that the options pointers must be non-NULL because the
7822 with these filters the API says it must never be NULL. It is
7823 good to do these checks anyway.
7825 src/liblzma/lzma/lzma2_encoder.c | 3 +++
7826 src/liblzma/lzma/lzma_encoder.c | 3 +++
7827 2 files changed, 6 insertions(+)
7829 commit 2523c30705f49eabd27b854aa656ae87cc224808
7830 Author: Lasse Collin <lasse.collin@tukaani.org>
7831 Date: 2022-02-06 23:19:32 +0200
7833 liblzma: Fix uint64_t vs. size_t confusion.
7835 This broke 32-bit builds due to a pointer type mismatch.
7837 This bug was introduced with the output-size-limited encoding
7838 in 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
7840 Thanks to huangqinjin for the bug report.
7842 src/liblzma/rangecoder/range_encoder.h | 11 +++++++----
7843 1 file changed, 7 insertions(+), 4 deletions(-)
7845 commit 2bd36c91d03e03b31a4f12fd0afc100ae32d66e2
7846 Author: huangqinjin <huangqinjin@gmail.com>
7847 Date: 2021-12-13 20:49:21 +0800
7849 CMake: Keep compatible with Windows 95 for 32-bit build.
7851 CMakeLists.txt | 12 +++++++++++-
7852 1 file changed, 11 insertions(+), 1 deletion(-)
7854 commit 2024fbf2794885277d05378d40b2b8015a7c3b40
7855 Author: Lasse Collin <lasse.collin@tukaani.org>
7856 Date: 2021-11-13 21:04:05 +0200
7858 xzgrep: Update man page timestamp.
7860 src/scripts/xzgrep.1 | 2 +-
7861 1 file changed, 1 insertion(+), 1 deletion(-)
7863 commit 400e7a239a53282cedaad927a41f3463d7f542e5
7864 Author: Lasse Collin <lasse.collin@tukaani.org>
7865 Date: 2021-11-13 18:23:24 +0200
7870 1 file changed, 1 insertion(+)
7872 commit 3a512c7787b2642ca946f4adc6e9a0a5d9b0d5a0
7873 Author: Ville Skyttä <ville.skytta@iki.fi>
7874 Date: 2021-11-13 10:11:57 +0200
7876 xzgrep: use `grep -E/-F` instead of `egrep` and `fgrep`
7878 `egrep` and `fgrep` have been deprecated in GNU grep since 2007, and in
7879 current post 3.7 Git they have been made to emit obsolescence warnings:
7880 https://git.savannah.gnu.org/cgit/grep.git/commit/?id=a9515624709865d480e3142fd959bccd1c9372d1
7882 src/scripts/xzgrep.1 | 8 ++++----
7883 src/scripts/xzgrep.in | 4 ++--
7884 2 files changed, 6 insertions(+), 6 deletions(-)
7886 commit edf525e2b1840dcaf377df472c67d8f11f8ace1b
7887 Author: Lasse Collin <lasse.collin@tukaani.org>
7888 Date: 2021-10-28 23:02:11 +0300
7890 Bump the version number for 5.3.2alpha.
7892 src/liblzma/api/lzma/version.h | 2 +-
7893 src/liblzma/liblzma.map | 2 +-
7894 2 files changed, 2 insertions(+), 2 deletions(-)
7896 commit ea8c948655a86290524efe59cff067e06a886709
7897 Author: Lasse Collin <lasse.collin@tukaani.org>
7898 Date: 2021-10-28 22:59:52 +0300
7900 Add NEWS for 5.3.2alpha.
7902 NEWS | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
7903 1 file changed, 86 insertions(+)
7905 commit 52435f302f4724157ec50b4210cbe42b285c3cbc
7906 Author: Lasse Collin <lasse.collin@tukaani.org>
7907 Date: 2021-10-27 23:27:48 +0300
7912 1 file changed, 1 insertion(+)
7914 commit f2aea1d5a504b2021bf47a238390e4f12bdd518d
7915 Author: Lasse Collin <lasse.collin@tukaani.org>
7916 Date: 2021-10-27 23:23:11 +0300
7918 xz: Change the coding style of the previous commit.
7920 It isn't any better now but it's consistent with
7921 the rest of the code base.
7923 src/xz/file_io.c | 11 ++++++-----
7924 1 file changed, 6 insertions(+), 5 deletions(-)
7926 commit 892b16cc282f5b4e1c49871b326f4db25c5b4d81
7927 Author: Alexander Bluhm <alexander.bluhm@gmx.net>
7928 Date: 2021-10-05 23:33:16 +0200
7930 xz: Avoid fchown(2) failure.
7932 OpenBSD does not allow to change the group of a file if the user
7933 does not belong to this group. In contrast to Linux, OpenBSD also
7934 fails if the new group is the same as the old one. Do not call
7935 fchown(2) in this case, it would change nothing anyway.
7937 This fixes an issue with Perl Alien::Build module.
7938 https://github.com/PerlAlien/Alien-Build/issues/62
7940 src/xz/file_io.c | 8 +++++++-
7941 1 file changed, 7 insertions(+), 1 deletion(-)
7943 commit 2b509c868cae3988bf21cd693fbf9021cdc85628
7944 Author: Lasse Collin <lasse.collin@tukaani.org>
7945 Date: 2021-09-17 17:31:11 +0300
7947 liblzma: Fix liblzma.map for the lzma_microlzma_* symbols.
7949 This should have been part of d267d109c370a40b502e73f8664b154b15e4f253.
7951 Thanks to Gao Xiang.
7953 src/liblzma/liblzma.map | 4 ++--
7954 1 file changed, 2 insertions(+), 2 deletions(-)
7956 commit cacb06a954b58255dfc084a0bc9708f43a0fd6d6
7957 Author: Lasse Collin <lasse.collin@tukaani.org>
7958 Date: 2021-09-09 22:21:07 +0300
7963 1 file changed, 1 insertion(+)
7965 commit 6928aac9da6ba612780b9f72ba1d6ecbe1e8b54e
7966 Author: Lasse Collin <lasse.collin@tukaani.org>
7967 Date: 2021-09-09 21:41:51 +0300
7969 liblzma: Use _MSVC_LANG to detect when "noexcept" can be used with MSVC.
7971 By default, MSVC always sets __cplusplus to 199711L. The real
7972 C++ standard version is available in _MSVC_LANG (or one could
7973 use /Zc:__cplusplus to set __cplusplus correctly).
7975 Fixes <https://sourceforge.net/p/lzmautils/discussion/708858/thread/f6bc3b108a/>.
7977 Thanks to Dan Weiss.
7979 src/liblzma/api/lzma.h | 3 ++-
7980 1 file changed, 2 insertions(+), 1 deletion(-)
7982 commit d267d109c370a40b502e73f8664b154b15e4f253
7983 Author: Lasse Collin <lasse.collin@tukaani.org>
7984 Date: 2021-09-05 20:38:12 +0300
7986 liblzma: Rename EROFS LZMA to MicroLZMA.
7988 It still exists primarily for EROFS but MicroLZMA is
7989 a more generic name (that hopefully doesn't clash with
7990 something that already exists).
7992 src/liblzma/api/lzma/container.h | 33 +++++++++++++---------
7993 src/liblzma/common/Makefile.inc | 4 +--
7994 .../{erofs_decoder.c => microlzma_decoder.c} | 32 ++++++++++-----------
7995 .../{erofs_encoder.c => microlzma_encoder.c} | 30 ++++++++++----------
7996 4 files changed, 52 insertions(+), 47 deletions(-)
7998 commit 3247e95115acb95bc27f41e8cf4501db5b0b4309
7999 Author: Lasse Collin <lasse.collin@tukaani.org>
8000 Date: 2021-06-04 19:02:38 +0300
8002 xzdiff: Update the man page about the exit status.
8004 This was forgotten from 194029ffaf74282a81f0c299c07f73caca3232ca.
8006 src/scripts/xzdiff.1 | 4 ++--
8007 1 file changed, 2 insertions(+), 2 deletions(-)
8009 commit 96f5a28a46fc93ac4e296808ac0f8631d05498bc
8010 Author: Lasse Collin <lasse.collin@tukaani.org>
8011 Date: 2021-06-04 18:52:48 +0300
8013 xzless: Fix less(1) version detection when it contains a dot.
8015 Sometimes the version number from "less -V" contains a dot,
8016 sometimes not. xzless failed detect the version number when
8017 it does contain a dot. This fixes it.
8019 Thanks to nick87720z for reporting this. Apparently it had been
8020 reported here <https://bugs.gentoo.org/489362> in 2013.
8022 src/scripts/xzless.in | 2 +-
8023 1 file changed, 1 insertion(+), 1 deletion(-)
8025 commit 5fb5212d816addbc523d0798cb482fdd0484f8fa
8026 Author: Lasse Collin <lasse.collin@tukaani.org>
8027 Date: 2021-04-11 19:58:10 +0300
8032 1 file changed, 2 insertions(+)
8034 commit fc3d3a7296ef58bb799a73943636b8bfd95339f7
8035 Author: Ivan A. Melnikov <iv@altlinux.org>
8036 Date: 2021-04-09 11:45:10 +0300
8038 Reduce maximum possible memory limit on MIPS32
8040 Due to architectural limitations, address space available to a single
8041 userspace process on MIPS32 is limited to 2 GiB, not 4, even on systems
8042 that have more physical RAM -- e.g. 64-bit systems with 32-bit
8043 userspace, or systems that use XPA (an extension similar to x86's PAE).
8045 So, for MIPS32, we have to impose stronger memory limits. I've chosen
8046 2000MiB to give the process some headroom.
8048 src/xz/hardware.c | 6 ++++++
8049 1 file changed, 6 insertions(+)
8051 commit e7da44d5151e21f153925781ad29334ae0786101
8052 Author: Lasse Collin <lasse.collin@tukaani.org>
8053 Date: 2021-02-13 23:31:27 +0200
8055 CMake: Use interface library for better FindLibLZMA compatibility.
8057 https://www.mail-archive.com/xz-devel@tukaani.org/msg00446.html
8059 Thanks to Markus Rickert.
8061 CMakeLists.txt | 11 +++++++++--
8062 1 file changed, 9 insertions(+), 2 deletions(-)
8064 commit a61dd82ada39030f41b4ffca9ea551714908bedc
8065 Author: Lasse Collin <lasse.collin@tukaani.org>
8066 Date: 2021-01-30 18:36:04 +0200
8068 CMake: Try to improve compatibility with the FindLibLZMA module.
8070 The naming conflict with FindLibLZMA module gets worse.
8071 Not avoiding it in the first place was stupid.
8073 Normally find_package(LibLZMA) will use the module and
8074 find_package(liblzma 5.2.5 REQUIRED CONFIG) will use the config
8075 file even with a case insensitive file system. However, if
8076 CMAKE_FIND_PACKAGE_PREFER_CONFIG is TRUE and the file system
8077 is case insensitive, find_package(LibLZMA) will find our liblzma
8078 config file instead of using FindLibLZMA module.
8080 One big problem with this is that FindLibLZMA uses
8081 LibLZMA::LibLZMA and we use liblzma::liblzma as the target
8082 name. With target names CMake happens to be case sensitive.
8083 To workaround this, this commit adds
8085 add_library(LibLZMA::LibLZMA ALIAS liblzma::liblzma)
8087 to the config file. Then both spellings work.
8089 To make the behavior consistent between case sensitive and
8090 insensitive file systems, the config and related files are
8091 renamed from liblzmaConfig.cmake to liblzma-config.cmake style.
8092 With this style CMake looks for lowercase version of the package
8093 name so find_package(LiBLzmA 5.2.5 REQUIRED CONFIG) will work
8094 to find our config file.
8096 There are other differences between our config file and
8097 FindLibLZMA so it's still possible that things break for
8098 reasons other than the spelling of the target name. Hopefully
8099 those situations aren't too common.
8101 When the config file is available, it should always give as good or
8102 better results as FindLibLZMA so this commit doesn't affect the
8103 recommendation to use find_package(liblzma 5.2.5 REQUIRED CONFIG)
8104 which explicitly avoids FindLibLZMA.
8106 Thanks to Markus Rickert.
8108 CMakeLists.txt | 21 +++++++++++++--------
8109 1 file changed, 13 insertions(+), 8 deletions(-)
8111 commit 5b7bc1b8ae766a76710ca1b99f909cf52c697f05
8112 Author: Lasse Collin <lasse.collin@tukaani.org>
8113 Date: 2021-01-29 21:19:43 +0200
8118 1 file changed, 1 insertion(+)
8120 commit 6c6f0db340dcb8bb424411cedba713405d55f6b8
8121 Author: Lasse Collin <lasse.collin@tukaani.org>
8122 Date: 2021-01-29 21:19:08 +0200
8124 liblzma: Fix unitialized variable.
8126 This was introduced two weeks ago in the commit
8127 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c.
8129 Thanks to Nathan Moinvaziri.
8131 src/liblzma/lzma/lzma_encoder.c | 1 +
8132 1 file changed, 1 insertion(+)
8134 commit bb1d5c1fdd30550d4221ecd336e0be1206132a5c
8135 Author: Lasse Collin <lasse.collin@tukaani.org>
8136 Date: 2021-01-24 22:32:41 +0200
8138 Tests: Add bad-1-lzma2-10.xz and also modify -9.xz.
8140 tests/files/README | 11 +++++++++--
8141 tests/files/bad-1-lzma2-10.xz | Bin 0 -> 60 bytes
8142 tests/files/bad-1-lzma2-9.xz | Bin 72 -> 72 bytes
8143 3 files changed, 9 insertions(+), 2 deletions(-)
8145 commit 6b8abc84a5469792e0355d0bfc0784d41cfdfef7
8146 Author: Lasse Collin <lasse.collin@tukaani.org>
8147 Date: 2021-01-24 19:22:35 +0200
8149 liblzma: Fix a wrong comment in stream_encoder_mt.c.
8151 src/liblzma/common/stream_encoder_mt.c | 10 +++++++---
8152 1 file changed, 7 insertions(+), 3 deletions(-)
8154 commit 939fc5ed654aac25fe0c8684b2df8dbeadb2de1e
8155 Author: Lasse Collin <lasse.collin@tukaani.org>
8156 Date: 2021-01-24 18:51:51 +0200
8158 Tests: Add bad-1-lzma2-9.xz.
8160 tests/files/README | 4 ++++
8161 tests/files/bad-1-lzma2-9.xz | Bin 0 -> 72 bytes
8162 2 files changed, 4 insertions(+)
8164 commit fdd30032f8531ac89519b48c21d810ecf06825f6
8165 Author: Lasse Collin <lasse.collin@tukaani.org>
8166 Date: 2021-01-24 17:02:00 +0200
8168 Tests: Add bad-1-check-crc32-2.xz.
8170 tests/files/README | 7 +++++++
8171 tests/files/bad-1-check-crc32-2.xz | Bin 0 -> 72 bytes
8172 2 files changed, 7 insertions(+)
8174 commit db465419ae26ec7fb9b9472183911ff521620c77
8175 Author: Lasse Collin <lasse.collin@tukaani.org>
8176 Date: 2021-01-17 19:20:50 +0200
8178 liblzma: In EROFS LZMA decoder, verify that comp_size matches at the end.
8180 When the uncompressed size is known to be exact, after decompressing
8181 the stream exactly comp_size bytes of input must have been consumed.
8182 This is a minor improvement to error detection.
8184 src/liblzma/common/erofs_decoder.c | 7 ++++++-
8185 1 file changed, 6 insertions(+), 1 deletion(-)
8187 commit 774cc0118ba2496581cb2621505a04bb6598cc75
8188 Author: Lasse Collin <lasse.collin@tukaani.org>
8189 Date: 2021-01-17 18:53:34 +0200
8191 liblzma: Make EROFS LZMA decoder work when exact uncomp_size isn't known.
8193 The caller must still not specify an uncompressed size bigger
8194 than the actual uncompressed size.
8196 As a downside, this now needs the exact compressed size.
8198 src/liblzma/api/lzma/container.h | 23 ++++++++---
8199 src/liblzma/common/erofs_decoder.c | 80 ++++++++++++++++++++++++++++++++++----
8200 2 files changed, 91 insertions(+), 12 deletions(-)
8202 commit 421b0aa352da244075db10205cf33712f91b9835
8203 Author: Lasse Collin <lasse.collin@tukaani.org>
8204 Date: 2021-01-14 20:57:11 +0200
8206 liblzma: Fix missing normalization in rc_encode_dummy().
8208 Without this fix it could attempt to create too much output.
8210 src/liblzma/rangecoder/range_encoder.h | 7 ++++++-
8211 1 file changed, 6 insertions(+), 1 deletion(-)
8213 commit 601ec0311e769fc704daaaa7dac0ca840aff080e
8214 Author: Lasse Collin <lasse.collin@tukaani.org>
8215 Date: 2021-01-14 20:07:01 +0200
8217 liblzma: Add EROFS LZMA encoder and decoder.
8219 Right now this is just a planned extra-compact format for use
8220 in the EROFS file system in Linux. At this point it's possible
8221 that the format will either change or be abandoned and removed
8224 The special thing about the encoder is that it uses the
8225 output-size-limited encoding added in the previous commit.
8226 EROFS uses fixed-sized blocks (e.g. 4 KiB) to hold compressed
8227 data so the compressors must be able to create valid streams
8228 that fill the given block size.
8230 src/liblzma/api/lzma/container.h | 76 +++++++++++++++++++
8231 src/liblzma/common/Makefile.inc | 2 +
8232 src/liblzma/common/erofs_decoder.c | 148 +++++++++++++++++++++++++++++++++++++
8233 src/liblzma/common/erofs_encoder.c | 139 ++++++++++++++++++++++++++++++++++
8234 src/liblzma/liblzma.map | 2 +
8235 5 files changed, 367 insertions(+)
8237 commit 625f4c7c99b2fcc4db9e7ab2deb4884790e2e17c
8238 Author: Lasse Collin <lasse.collin@tukaani.org>
8239 Date: 2021-01-13 19:16:32 +0200
8241 liblzma: Add rough support for output-size-limited encoding in LZMA1.
8243 With this it is possible to encode LZMA1 data without EOPM so that
8244 the encoder will encode as much input as it can without exceeding
8245 the specified output size limit. The resulting LZMA1 stream will
8246 be a normal LZMA1 stream without EOPM. The actual uncompressed size
8247 will be available to the caller via the uncomp_size pointer.
8249 One missing thing is that the LZMA layer doesn't inform the LZ layer
8250 when the encoding is finished and thus the LZ may read more input
8251 when it won't be used. However, this doesn't matter if encoding is
8252 done with a single call (which is the planned use case for now).
8253 For proper multi-call encoding this should be improved.
8255 This commit only adds the functionality for internal use.
8256 Nothing uses it yet.
8258 src/liblzma/common/common.h | 11 +++
8259 src/liblzma/lz/lz_encoder.c | 16 ++++
8260 src/liblzma/lz/lz_encoder.h | 4 +
8261 src/liblzma/lzma/lzma_encoder.c | 127 +++++++++++++++++++++++---------
8262 src/liblzma/lzma/lzma_encoder_private.h | 12 +++
8263 src/liblzma/rangecoder/range_encoder.h | 111 ++++++++++++++++++++++++++++
8264 6 files changed, 246 insertions(+), 35 deletions(-)
8266 commit 9cdabbeea891e8f1e7741b076f7db6ac05ae392a
8267 Author: Lasse Collin <lasse.collin@tukaani.org>
8268 Date: 2021-01-11 23:57:11 +0200
8270 Scripts: Add zstd support to xzdiff.
8272 src/scripts/xzdiff.1 | 6 ++++--
8273 src/scripts/xzdiff.in | 16 +++++++++++-----
8274 2 files changed, 15 insertions(+), 7 deletions(-)
8276 commit d9ec3add97cf4c999a7f594c6529680227b6c274
8277 Author: Lasse Collin <lasse.collin@tukaani.org>
8278 Date: 2021-01-11 23:41:30 +0200
8283 1 file changed, 2 insertions(+)
8285 commit 074259f4f3966aeac6edb205fecbc1a8d2b58bb2
8286 Author: Lasse Collin <lasse.collin@tukaani.org>
8287 Date: 2021-01-11 23:41:16 +0200
8289 xz: Make --keep accept symlinks, hardlinks, and setuid/setgid/sticky.
8291 Previously this required using --force but that has other
8292 effects too which might be undesirable. Changing the behavior
8293 of --keep has a small risk of breaking existing scripts but
8294 since this is a fairly special corner case I expect the
8295 likehood of breakage to be low enough.
8297 I think the new behavior is more logical. The only reason for
8298 the old behavior was to be consistent with gzip and bzip2.
8300 Thanks to Vincent Lefevre and Sebastian Andrzej Siewior.
8302 src/xz/file_io.c | 9 +++++----
8303 src/xz/xz.1 | 16 +++++++++++++++-
8304 2 files changed, 20 insertions(+), 5 deletions(-)
8306 commit 73c555b3077c19dda29b6f4592ced2af876f8333
8307 Author: Lasse Collin <lasse.collin@tukaani.org>
8308 Date: 2021-01-11 23:28:52 +0200
8310 Scripts: Fix exit status of xzgrep.
8312 Omit the -q option from xz, gzip, and bzip2. With xz this shouldn't
8313 matter. With gzip it's important because -q makes gzip replace SIGPIPE
8314 with exit status 2. With bzip2 it's important because with -q bzip2
8315 is completely silent if input is corrupt while other decompressors
8316 still give an error message.
8318 Avoiding exit status 2 from gzip is important because bzip2 uses
8319 exit status 2 to indicate corrupt input. Before this commit xzgrep
8320 didn't recognize corrupt .bz2 files because xzgrep was treating
8321 exit status 2 as SIGPIPE for gzip compatibility.
8323 zstd still needs -q because otherwise it is noisy in normal
8326 The code to detect real SIGPIPE didn't check if the exit status
8327 was due to a signal (>= 128) and so could ignore some other exit
8330 src/scripts/xzgrep.in | 20 +++++++++++++-------
8331 1 file changed, 13 insertions(+), 7 deletions(-)
8333 commit 194029ffaf74282a81f0c299c07f73caca3232ca
8334 Author: Lasse Collin <lasse.collin@tukaani.org>
8335 Date: 2021-01-11 22:01:51 +0200
8337 Scripts: Fix exit status of xzdiff/xzcmp.
8339 This is a minor fix since this affects only the situation when
8340 the files differ and the exit status is something else than 0.
8341 In such case there could be SIGPIPE from a decompression tool
8342 and that would result in exit status of 2 from xzdiff/xzcmp
8343 while the correct behavior would be to return 1 or whatever
8344 else diff or cmp may have returned.
8346 This commit omits the -q option from xz/gzip/bzip2/lzop arguments.
8347 I'm not sure why the -q was used in the first place, perhaps it
8348 hides warnings in some situation that I cannot see at the moment.
8349 Hopefully the removal won't introduce a new bug.
8351 With gzip the -q option was harmful because it made gzip return 2
8352 instead of >= 128 with SIGPIPE. Ignoring exit status 2 (warning
8353 from gzip) isn't practical because bzip2 uses exit status 2 to
8354 indicate corrupt input file. It's better if SIGPIPE results in
8357 With bzip2 the removal of -q seems to be good because with -q
8358 it prints nothing if input is corrupt. The other tools aren't
8359 silent in this situation even with -q. On the other hand, if
8360 zstd support is added, it will need -q since otherwise it's
8361 noisy in normal situations.
8363 Thanks to Étienne Mollier and Sebastian Andrzej Siewior.
8365 src/scripts/xzdiff.in | 35 +++++++++++++++++++++--------------
8366 1 file changed, 21 insertions(+), 14 deletions(-)
8368 commit f7fa309e1f7178d04c7bedc03b73077639371e97
8369 Author: Lasse Collin <lasse.collin@tukaani.org>
8370 Date: 2021-01-09 21:14:36 +0200
8372 liblzma: Make lzma_outq usable for threaded decompression too.
8374 Before this commit all output queue buffers were allocated as
8375 a single big allocation. Now each buffer is allocated separately
8376 when needed. Used buffers are cached to avoid reallocation
8377 overhead but the cache will keep only one buffer size at a time.
8378 This should make things work OK in the decompression where most
8379 of the time the buffer sizes will be the same but with some less
8380 common files the buffer sizes may vary.
8382 While this should work fine, it's still a bit preliminary
8383 and may even get reverted if it turns out to be useless for
8386 src/liblzma/common/outqueue.c | 268 +++++++++++++++++++++------------
8387 src/liblzma/common/outqueue.h | 138 ++++++++++++-----
8388 src/liblzma/common/stream_encoder_mt.c | 52 ++++---
8389 3 files changed, 301 insertions(+), 157 deletions(-)
8391 commit a35a69d693ce37d4ba7c1855bda7d9cfa13d1778
8392 Author: Lasse Collin <lasse.collin@tukaani.org>
8393 Date: 2020-12-23 17:15:49 +0200
8398 1 file changed, 1 insertion(+)
8400 commit 4fd79b90c52396d70e0b1206ceb1a873a0ad2589
8401 Author: H.J. Lu <hjl.tools@gmail.com>
8402 Date: 2020-12-23 06:49:04 -0800
8404 liblzma: Enable Intel CET in x86 CRC assembly codes
8406 When Intel CET is enabled, we need to include <cet.h> in assembly codes
8407 to mark Intel CET support and add _CET_ENDBR to indirect jump targets.
8409 Tested on Intel Tiger Lake under CET enabled Linux.
8411 src/liblzma/check/crc32_x86.S | 9 +++++++++
8412 src/liblzma/check/crc64_x86.S | 9 +++++++++
8413 2 files changed, 18 insertions(+)
8415 commit bb3b8c6a23e25db79f862b1de325c56052e0354b
8416 Author: Lasse Collin <lasse.collin@tukaani.org>
8417 Date: 2020-12-16 18:33:29 +0200
8422 1 file changed, 1 insertion(+)
8424 commit 21588ca34af98738954fc12ded1b89d7294ef646
8425 Author: Lasse Collin <lasse.collin@tukaani.org>
8426 Date: 2020-12-16 18:30:14 +0200
8428 Build: Don't build bundles on Apple OSes.
8430 Thanks to Daniel Packard.
8432 CMakeLists.txt | 3 +++
8433 1 file changed, 3 insertions(+)
8435 commit d05b0c42dd8b38d8c6b8193c8af50e9bd3d16f28
8436 Author: Lasse Collin <lasse.collin@tukaani.org>
8437 Date: 2020-12-05 22:44:03 +0200
8442 1 file changed, 1 insertion(+)
8444 commit 1890351f3423627ba5c4c495402f32d7e9ed90b7
8445 Author: Adam Borowski <kilobyte@angband.pl>
8446 Date: 2020-09-25 03:35:18 +0200
8448 Scripts: Add zstd support to xzgrep.
8450 Thanks to Adam Borowski.
8452 src/scripts/xzgrep.1 | 9 ++++++---
8453 src/scripts/xzgrep.in | 1 +
8454 2 files changed, 7 insertions(+), 3 deletions(-)
8456 commit 2f108abb3d82e4e2313b438dae9c0c7c7a6366f2
8457 Author: Lasse Collin <lasse.collin@tukaani.org>
8458 Date: 2020-11-17 20:51:48 +0200
8460 CMake: Fix compatibility with CMake 3.13.
8462 The syntax "if(DEFINED CACHE{FOO})" requires CMake 3.14.
8463 In some other places the code treats the cache variables
8464 like normal variables already (${FOO} or if(FOO) is used,
8467 Thanks to ygrek for reporting the bug on IRC.
8469 CMakeLists.txt | 2 +-
8470 cmake/tuklib_cpucores.cmake | 4 ++--
8471 cmake/tuklib_physmem.cmake | 4 ++--
8472 3 files changed, 5 insertions(+), 5 deletions(-)
8474 commit 5af726a79273fafa5de5745b117e567f21c90e49
8475 Author: Lasse Collin <lasse.collin@tukaani.org>
8476 Date: 2020-11-01 22:56:43 +0200
8481 1 file changed, 3 insertions(+), 1 deletion(-)
8483 commit 4575d9d365c756ec189899f9f743e0b3515ce72d
8484 Author: Lasse Collin <lasse.collin@tukaani.org>
8485 Date: 2020-11-01 22:34:25 +0200
8487 xz: Avoid unneeded \f escapes on the man page.
8489 I don't want to use \c in macro arguments but groff_man(7)
8490 suggests that \f has better portability. \f would be needed
8491 for the .TP strings for portability reasons anyway.
8493 Thanks to Bjarni Ingi Gislason.
8495 src/xz/xz.1 | 31 ++++++++++++++++++++++---------
8496 1 file changed, 22 insertions(+), 9 deletions(-)
8498 commit 620b32f5339f86710cb4435e01ecdac972ccac73
8499 Author: Lasse Collin <lasse.collin@tukaani.org>
8500 Date: 2020-11-01 19:09:53 +0200
8502 xz: Use non-breaking spaces when intentionally using more than one space.
8504 This silences some style checker warnings. Seems that spaces
8505 in the beginning of a line don't need this treatment.
8507 Thanks to Bjarni Ingi Gislason.
8510 1 file changed, 1 insertion(+), 1 deletion(-)
8512 commit cb1f34988c8a4130485091b2f8b641303d8f701b
8513 Author: Lasse Collin <lasse.collin@tukaani.org>
8514 Date: 2020-11-01 18:49:37 +0200
8516 xz: Protect the ellipsis (...) on the man page with \&.
8518 This does it only when ... appears outside macro calls.
8520 Thanks to Bjarni Ingi Gislason.
8522 src/xz/xz.1 | 4 ++--
8523 1 file changed, 2 insertions(+), 2 deletions(-)
8525 commit 5d224da3da87400f2fab313abbd7c710e7169ef9
8526 Author: Lasse Collin <lasse.collin@tukaani.org>
8527 Date: 2020-11-01 18:41:21 +0200
8529 xz: Avoid the abbreviation "e.g." on the man page.
8531 A few are simply omitted, most are converted to "for example"
8532 and surrounded with commas. Sounds like that this is better
8533 style, for example, man-pages(7) recommends avoiding such
8534 abbreviations except in parenthesis.
8536 Thanks to Bjarni Ingi Gislason.
8538 src/xz/xz.1 | 66 ++++++++++++++++++++++++++++++-------------------------------
8539 1 file changed, 33 insertions(+), 33 deletions(-)
8541 commit 90457dbe3e5717660f5b81f8c604860fc5137c0c
8542 Author: Lasse Collin <lasse.collin@tukaani.org>
8543 Date: 2020-07-12 23:10:03 +0300
8545 xz man page: Change \- (minus) to \(en (en-dash) for a numeric range.
8547 Docs of ancient troff/nroff mention \(em (em-dash) but not \(en
8548 and \- was used for both minus and en-dash. I don't know how
8549 portable \(en is nowadays but it can be changed back if someone
8550 complains. At least GNU groff and OpenBSD's mandoc support it.
8552 Thanks to Bjarni Ingi Gislason for the patch.
8554 src/xz/xz.1 | 16 ++++++++--------
8555 1 file changed, 8 insertions(+), 8 deletions(-)
8557 commit 352ba2d69af2136bc814aa1df1a132559d445616
8558 Author: Lasse Collin <lasse.collin@tukaani.org>
8559 Date: 2020-07-12 20:46:24 +0300
8561 Windows: Fix building of resource files when config.h isn't used.
8563 Now CMake + Visual Studio works for building liblzma.dll.
8565 Thanks to Markus Rickert.
8567 src/common/common_w32res.rc | 4 +++-
8568 1 file changed, 3 insertions(+), 1 deletion(-)
8570 commit a9e2a87f1d61dcf684d809bf08c8ebea93f8a480
8571 Author: Lasse Collin <lasse.collin@tukaani.org>
8572 Date: 2020-04-06 19:31:50 +0300
8574 src/scripts/xzgrep.1: Filenames to xzgrep are optional.
8576 xzgrep --help was correct already.
8578 src/scripts/xzgrep.1 | 2 +-
8579 1 file changed, 1 insertion(+), 1 deletion(-)
8581 commit a7ba275d9b855d186abb29eb7a4f4cb6d9ca6fe0
8582 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8583 Date: 2020-03-26 22:17:31 +0000
8585 src/script/xzgrep.1: Remove superfluous '.RB'
8587 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
8589 [ "test-groff" is a developmental version of "groff" ]
8591 Input file is ./src/scripts/xzgrep.1
8593 <src/scripts/xzgrep.1>:20 (macro RB): only 1 argument, but more are expected
8594 <src/scripts/xzgrep.1>:23 (macro RB): only 1 argument, but more are expected
8595 <src/scripts/xzgrep.1>:26 (macro RB): only 1 argument, but more are expected
8596 <src/scripts/xzgrep.1>:29 (macro RB): only 1 argument, but more are expected
8597 <src/scripts/xzgrep.1>:32 (macro RB): only 1 argument, but more are expected
8599 "abc..." does not mean the same as "abc ...".
8601 The output from nroff and troff is unchanged except for the space
8602 between "file" and "...".
8604 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8606 src/scripts/xzgrep.1 | 12 ++++++------
8607 1 file changed, 6 insertions(+), 6 deletions(-)
8609 commit 133d498db0f4b14f066d192d64dbcade45deae6b
8610 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8611 Date: 2020-03-30 21:56:36 +0000
8613 xzgrep.1: Delete superfluous '.PP'
8617 mandoc -T lint xzgrep.1 :
8618 mandoc: xzgrep.1:79:2: WARNING: skipping paragraph macro: PP empty
8620 There is no change in the output of "nroff" and "troff".
8622 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8624 src/scripts/xzgrep.1 | 1 -
8625 1 file changed, 1 deletion(-)
8627 commit 057839ca982f886387b66746bffe749cb14fd8cd
8628 Author: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8629 Date: 2020-03-26 21:16:18 +0000
8631 src/xz/xz.1: Correct misused two-fonts macros
8633 Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z
8635 [ "test-groff" is a developmental version of "groff" ]
8637 Input file is ./src/xz/xz.1
8639 <src/xz/xz.1>:408 (macro BR): only 1 argument, but more are expected
8640 <src/xz/xz.1>:1009 (macro BR): only 1 argument, but more are expected
8641 <src/xz/xz.1>:1743 (macro BR): only 1 argument, but more are expected
8642 <src/xz/xz.1>:1920 (macro BR): only 1 argument, but more are expected
8643 <src/xz/xz.1>:2213 (macro BR): only 1 argument, but more are expected
8645 Output from nroff and troff is unchanged, except for a font change of a
8648 Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is>
8650 src/xz/xz.1 | 10 +++++-----
8651 1 file changed, 5 insertions(+), 5 deletions(-)
8653 commit b8e12f5ab4c9fd3cb09a4330b2861f6b979ababd
8654 Author: Lasse Collin <lasse.collin@tukaani.org>
8655 Date: 2020-03-23 18:07:50 +0200
8657 Typo fixes from fossies.org.
8659 https://fossies.org/linux/misc/xz-5.2.5.tar.xz/codespell.html
8662 doc/examples/01_compress_easy.c | 2 +-
8663 src/liblzma/api/lzma/base.h | 2 +-
8664 src/liblzma/check/crc32_x86.S | 2 +-
8665 src/liblzma/common/index.c | 2 +-
8666 src/xz/xz.1 | 4 ++--
8667 6 files changed, 7 insertions(+), 7 deletions(-)
8669 commit 869b9d1b4edd6df07f819d360d306251f8147353
8670 Author: Lasse Collin <lasse.collin@tukaani.org>
8671 Date: 2020-03-17 16:24:28 +0200
8673 Update NEWS for 5.2.5.
8675 NEWS | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8676 1 file changed, 105 insertions(+)
8678 commit a048e3a92d238c65f050a765174d9c75417231d4
8679 Author: Lasse Collin <lasse.collin@tukaani.org>
8680 Date: 2020-03-16 20:01:37 +0200
8682 README: Update outdated sections.
8684 README | 21 +++++++++++----------
8685 1 file changed, 11 insertions(+), 10 deletions(-)
8687 commit 29aed815ad4f98f3e4d355faa76a244ecd8ce716
8688 Author: Lasse Collin <lasse.collin@tukaani.org>
8689 Date: 2020-03-16 19:39:45 +0200
8691 README: Mention that man pages can be translated.
8694 1 file changed, 4 insertions(+), 3 deletions(-)
8696 commit 7fa7653940cc9dcfcbce2fbc5166ea343ad4e3c1
8697 Author: Lasse Collin <lasse.collin@tukaani.org>
8698 Date: 2020-03-16 16:43:29 +0200
8700 Update INSTALL.generic from Automake 1.16.1.
8702 INSTALL.generic | 321 ++++++++++++++++++++++++++++----------------------------
8703 1 file changed, 162 insertions(+), 159 deletions(-)
8705 commit 9bd317ef03ab9b3e6a927c27c2e9c4ac041182f0
8706 Author: Lasse Collin <lasse.collin@tukaani.org>
8707 Date: 2020-03-15 15:27:22 +0200
8709 Update INSTALL for Windows and DOS and add preliminary info for z/OS.
8711 INSTALL | 51 +++++++++++++++++++++++++++++++++++++++++----------
8712 1 file changed, 41 insertions(+), 10 deletions(-)
8714 commit a3148c0446dc7fa96363752df414d22539c9007b
8715 Author: Lasse Collin <lasse.collin@tukaani.org>
8716 Date: 2020-03-15 15:26:20 +0200
8718 Build: Update m4/ax_pthread.m4 from Autoconf Archive (again).
8720 m4/ax_pthread.m4 | 219 +++++++++++++++++++++++++++++--------------------------
8721 1 file changed, 117 insertions(+), 102 deletions(-)
8723 commit 7812002dd3ed319e42a14662a8531802cca8ca67
8724 Author: Lasse Collin <lasse.collin@tukaani.org>
8725 Date: 2020-03-11 21:15:35 +0200
8727 xz: Never use thousand separators in DJGPP builds.
8729 DJGPP 2.05 added support for thousands separators but it's
8730 broken at least under WinXP with Finnish locale that uses
8731 a non-breaking space as the thousands separator. Workaround
8732 by disabling thousands separators for DJGPP builds.
8734 src/xz/util.c | 14 ++++++++++++--
8735 1 file changed, 12 insertions(+), 2 deletions(-)
8737 commit 7c8f688bf7fccd65d396e0130cbf4ea5dff5c56f
8738 Author: Lasse Collin <lasse.collin@tukaani.org>
8739 Date: 2020-03-11 19:38:08 +0200
8741 DOS: Update dos/Makefile for DJGPP 2.05.
8743 It doesn't need -fgnu89-inline like 2.04beta did.
8745 dos/Makefile | 4 +---
8746 1 file changed, 1 insertion(+), 3 deletions(-)
8748 commit 319ca928d73de87940c54e30bffe69f9fa65efdf
8749 Author: Lasse Collin <lasse.collin@tukaani.org>
8750 Date: 2020-03-11 19:36:07 +0200
8752 DOS: Update instructions in dos/INSTALL.txt.
8754 dos/INSTALL.txt | 59 ++++++++++++++++++++++++++++-----------------------------
8755 1 file changed, 29 insertions(+), 30 deletions(-)
8757 commit cb6b227ce39932824812ccd8a0647bd968de27d2
8758 Author: Lasse Collin <lasse.collin@tukaani.org>
8759 Date: 2020-03-11 17:58:51 +0200
8761 DOS: Update config.h.
8763 The added defines assume GCC >= 4.8.
8765 dos/config.h | 8 ++++++++
8766 1 file changed, 8 insertions(+)
8768 commit 4572d53e16e87eee375bc5624de2fd59bb0ae9cd
8769 Author: Lasse Collin <lasse.collin@tukaani.org>
8770 Date: 2020-03-02 13:54:33 +0200
8772 liblzma: Fix a comment and RC_SYMBOLS_MAX.
8774 The comment didn't match the value of RC_SYMBOLS_MAX and the value
8775 itself was slightly larger than actually needed. The only harm
8776 about this was that memory usage was a few bytes larger.
8778 src/liblzma/rangecoder/range_encoder.h | 4 ++--
8779 1 file changed, 2 insertions(+), 2 deletions(-)
8781 commit 265daa873c0d871f5f23f9b56e133a6f20045a0a
8782 Author: Lasse Collin <lasse.collin@tukaani.org>
8783 Date: 2020-02-27 20:58:52 +0200
8785 Build: Make CMake build fail if tuklib_cpucores or tuklib_physmem fails.
8787 CMakeLists.txt | 18 ++++++++++++++++++
8788 1 file changed, 18 insertions(+)
8790 commit 7c8b904527cdbe61248c80edcc2e20d840c4fef9
8791 Author: Lasse Collin <lasse.collin@tukaani.org>
8792 Date: 2020-02-27 20:24:27 +0200
8794 Build: Add support for --no-po4a option to autogen.sh.
8796 Normally, if po4a isn't available, autogen.sh will return
8797 with non-zero exit status. The option --no-po4a can be useful
8798 when one knows that po4a isn't available but wants autogen.sh
8799 to still return with zero exit status.
8801 autogen.sh | 11 ++++++++++-
8802 1 file changed, 10 insertions(+), 1 deletion(-)
8804 commit 292a5c0f9c9b3a66f5a5c652dc46381836d4537f
8805 Author: Lasse Collin <lasse.collin@tukaani.org>
8806 Date: 2020-02-25 21:35:14 +0200
8811 1 file changed, 1 insertion(+)
8813 commit 474320e9908786ba2021035f9013191e16cde08a
8814 Author: Lasse Collin <lasse.collin@tukaani.org>
8815 Date: 2020-02-25 20:42:31 +0200
8817 Build: Fix bugs in the CMake files.
8819 Seems that the phrase "add more quotes" from sh/bash scripting
8820 applies to CMake as well. E.g. passing an unquoted list ${FOO}
8821 to a function that expects one argument results in only the
8822 first element of the list being passed as an argument and
8823 the rest get ignored. Adding quotes helps ("${FOO}").
8825 list(INSERT ...) is weird. Inserting an empty string to an empty
8826 variable results in empty list, but inserting it to a non-empty
8827 variable does insert an empty element to the list.
8829 Since INSERT requires at least one element,
8830 "${CMAKE_THREAD_LIBS_INIT}" needs to be quoted in CMakeLists.txt.
8831 It might result in an empty element in the list. It seems to not
8832 matter as empty elements consistently get ignored in that variable.
8833 In fact, calling cmake_check_push_state() and cmake_check_pop_state()
8834 will strip the empty elements from CMAKE_REQUIRED_LIBRARIES!
8836 In addition to quoting fixes, this fixes checks for the cache
8837 variables in tuklib_cpucores.cmake and tuklib_physmem.cmake.
8839 Thanks to Martin Matuška for testing and reporting the problems.
8840 These fixes aren't tested yet but hopefully they soon will be.
8842 CMakeLists.txt | 52 ++++++++++++++++++++++-----------------------
8843 cmake/tuklib_common.cmake | 8 ++++---
8844 cmake/tuklib_cpucores.cmake | 30 ++++++++++++++------------
8845 cmake/tuklib_integer.cmake | 34 +++++++++++++++--------------
8846 cmake/tuklib_mbstr.cmake | 6 +++---
8847 cmake/tuklib_physmem.cmake | 29 +++++++++++++------------
8848 cmake/tuklib_progname.cmake | 4 ++--
8849 7 files changed, 85 insertions(+), 78 deletions(-)
8851 commit 7e3493d40eac0c3fa3d5124097745a70e15c41f6
8852 Author: Lasse Collin <lasse.collin@tukaani.org>
8853 Date: 2020-02-24 23:38:16 +0200
8855 Build: Add very limited experimental CMake support.
8857 This does *NOT* replace the Autotools-based build system in
8858 the foreseeable future. See the comment in the beginning
8861 So far this has been tested only on GNU/Linux but I commit
8862 it anyway to make it easier for others to test. Since I
8863 haven't played much with CMake before, it's likely that
8864 there are things that have been done in a silly or wrong
8865 way and need to be fixed.
8867 CMakeLists.txt | 643 ++++++++++++++++++++++++++++++++++++++++++++
8868 cmake/tuklib_common.cmake | 47 ++++
8869 cmake/tuklib_cpucores.cmake | 173 ++++++++++++
8870 cmake/tuklib_integer.cmake | 100 +++++++
8871 cmake/tuklib_mbstr.cmake | 20 ++
8872 cmake/tuklib_physmem.cmake | 149 ++++++++++
8873 cmake/tuklib_progname.cmake | 19 ++
8874 7 files changed, 1151 insertions(+)
8876 commit 21bd4701fca3e9002ce78bc135debca369ed8545
8877 Author: Lasse Collin <lasse.collin@tukaani.org>
8878 Date: 2020-02-24 23:37:07 +0200
8880 Update m4/.gitignore.
8883 1 file changed, 1 insertion(+)
8885 commit e094d1d0f196a91ec703e8d0055948feef349ae8
8886 Author: Lasse Collin <lasse.collin@tukaani.org>
8887 Date: 2020-02-24 23:29:35 +0200
8889 tuklib: Omit an unneeded <sys/types.h> from a tests.
8891 tuklib_cpucores.c and tuklib_physmem.c don't include <sys/types.h>
8892 even via other files in this package, so clearly that header isn't
8893 needed in the tests either (no one has reported build problems due
8894 to a missing header in a .c file).
8896 m4/tuklib_cpucores.m4 | 1 -
8897 m4/tuklib_physmem.m4 | 1 -
8898 2 files changed, 2 deletions(-)
8900 commit b3ed19a55fe99a45bd77614e149d39d18498075c
8901 Author: Lasse Collin <lasse.collin@tukaani.org>
8902 Date: 2020-02-24 23:01:00 +0200
8904 liblzma: Remove unneeded <sys/types.h> from fastpos_tablegen.c.
8906 This file only generates fastpos_table.c.
8907 It isn't built as a part of liblzma.
8909 src/liblzma/lzma/fastpos_tablegen.c | 1 -
8910 1 file changed, 1 deletion(-)
8912 commit 7b8982b29179b3c586e0456dc9ecbd4f58dcea59
8913 Author: Lasse Collin <lasse.collin@tukaani.org>
8914 Date: 2020-02-22 14:15:07 +0200
8916 Use defined(__GNUC__) before __GNUC__ in preprocessor lines.
8918 This should silence the equivalent of -Wundef in compilers that
8919 don't define __GNUC__.
8921 src/common/sysdefs.h | 3 ++-
8922 src/liblzma/api/lzma.h | 5 +++--
8923 2 files changed, 5 insertions(+), 3 deletions(-)
8925 commit 43dfe04e6209c691cf4fbe3072d4ee91271748f1
8926 Author: Lasse Collin <lasse.collin@tukaani.org>
8927 Date: 2020-02-21 17:40:02 +0200
8929 liblzma: Add more uses of lzma_memcmplen() to the normal mode of LZMA.
8931 This gives a tiny encoder speed improvement. This could have been done
8932 in 2014 after the commit 544aaa3d13554e8640f9caf7db717a96360ec0f6 but
8935 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 16 ++++++++++------
8936 1 file changed, 10 insertions(+), 6 deletions(-)
8938 commit 59e6eb4840b9f52fa3a61544974017279b448216
8939 Author: Lasse Collin <lasse.collin@tukaani.org>
8940 Date: 2020-02-21 17:01:15 +0200
8942 Build: Add visibility.m4 from gnulib.
8944 Appears that this file used to get included as a side effect of
8945 gettext. After the change to gettext version requirements this file
8946 no longer got copied to the package and so the build was broken.
8949 m4/visibility.m4 | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
8950 2 files changed, 77 insertions(+), 1 deletion(-)
8952 commit 7fe3ef2eaa53d439cec043727ea1998f4ff0e22a
8953 Author: Lasse Collin <lasse.collin@tukaani.org>
8954 Date: 2020-02-21 16:10:44 +0200
8956 xz: Silence a warning when sig_atomic_t is long int.
8958 It can be true at least on z/OS.
8960 src/xz/signals.c | 2 +-
8961 1 file changed, 1 insertion(+), 1 deletion(-)
8963 commit b0a2a77d10940c42b449d47a005bfc2e50ab5db8
8964 Author: Lasse Collin <lasse.collin@tukaani.org>
8965 Date: 2020-02-21 15:59:26 +0200
8967 xz: Avoid unneeded access of a volatile variable.
8969 src/xz/signals.c | 2 +-
8970 1 file changed, 1 insertion(+), 1 deletion(-)
8972 commit 524c2f12c762032b819757aeda8af7c47c4cabce
8973 Author: Lasse Collin <lasse.collin@tukaani.org>
8974 Date: 2020-02-21 01:24:18 +0200
8976 tuklib_integer.m4: Optimize the check order.
8978 The __builtin byteswapping is the preferred one so check for it first.
8980 m4/tuklib_integer.m4 | 56 +++++++++++++++++++++++++++-------------------------
8981 1 file changed, 29 insertions(+), 27 deletions(-)
8983 commit 57360bb4fd79b358b36d2877db26ac828d1fdfcb
8984 Author: Lasse Collin <lasse.collin@tukaani.org>
8985 Date: 2020-02-20 18:54:04 +0200
8987 tuklib_exit: Add missing header.
8989 strerror() needs <string.h> which happened to be included via
8990 tuklib_common.h -> tuklib_config.h -> sysdefs.h if HAVE_CONFIG_H
8991 was defined. This wasn't tested without config.h before so it
8994 src/common/tuklib_exit.c | 1 +
8995 1 file changed, 1 insertion(+)
8997 commit fddd31175e74a538997a939d930462fde17d2dd4
8998 Author: Lasse Collin <lasse.collin@tukaani.org>
8999 Date: 2020-02-18 19:12:35 +0200
9001 Revert the previous commit and add a comment.
9003 The previous commit broke crc32_tablegen.c.
9005 If the whole package is built without config.h (with defines
9006 set on the compiler command line) this should still work fine
9007 as long as these headers conform to C99 well enough.
9009 src/common/tuklib_config.h | 17 ++++++++++-------
9010 1 file changed, 10 insertions(+), 7 deletions(-)
9012 commit 4e4e9fbb7e66d45319525ac224bff48fbdd0cf6e
9013 Author: Lasse Collin <lasse.collin@tukaani.org>
9014 Date: 2020-02-17 23:37:20 +0200
9016 Do not check for HAVE_CONFIG_H in tuklib_config.h.
9018 In XZ Utils sysdefs.h takes care of it and the required headers.
9020 src/common/tuklib_config.h | 15 +++++++--------
9021 1 file changed, 7 insertions(+), 8 deletions(-)
9023 commit 2d4cef954feba82073951358466a1d614141cf33
9024 Author: Lasse Collin <lasse.collin@tukaani.org>
9025 Date: 2020-02-16 11:18:28 +0200
9027 sysdefs.h: Omit the conditionals around string.h and limits.h.
9029 string.h is used unconditionally elsewhere in the project and
9030 configure has always stopped if limits.h is missing, so these
9031 headers must have been always available even on the weirdest
9034 src/common/sysdefs.h | 8 ++------
9035 1 file changed, 2 insertions(+), 6 deletions(-)
9037 commit feb9c1969bc3eb33d4ecb72cfa897f92dae84939
9038 Author: Lasse Collin <lasse.collin@tukaani.org>
9039 Date: 2020-02-15 15:07:11 +0200
9041 Build: Bump Autoconf and Libtool version requirements.
9043 There is no specific reason for this other than blocking
9044 the most ancient versions. These are still old:
9046 Autoconf 2.69 (2012)
9047 Automake 1.12 (2012)
9048 gettext 0.19.6 (2015)
9051 configure.ac | 4 ++--
9052 1 file changed, 2 insertions(+), 2 deletions(-)
9054 commit 3d576cf92158d62790017ad7f2dd6dc1dd6b42bb
9055 Author: Lasse Collin <lasse.collin@tukaani.org>
9056 Date: 2020-02-15 03:08:32 +0200
9058 Build: Use AM_GNU_GETTEXT_REQUIRE_VERSION and require 0.19.6.
9060 This bumps the version requirement from 0.19 (from 2014) to
9063 Using only the old AM_GNU_GETTEXT_VERSION results in old
9064 gettext infrastructure being placed in the package. By using
9065 both macros we get the latest gettext files while the other
9066 programs in the Autotools family can still see the old macro.
9068 configure.ac | 6 +++++-
9069 1 file changed, 5 insertions(+), 1 deletion(-)
9071 commit fa792b8befaf7cb3960b655e0a9410da866d756f
9072 Author: Lasse Collin <lasse.collin@tukaani.org>
9073 Date: 2020-02-14 20:42:06 +0200
9075 Translations: Add German translation of the man pages.
9077 Thanks to Mario Blättermann.
9079 po4a/de.po | 5532 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
9080 po4a/po4a.conf | 2 +-
9081 2 files changed, 5533 insertions(+), 1 deletion(-)
9083 commit 6f7211b6bb47a895b47f533282dba9ee9a1b0c8b
9084 Author: Lasse Collin <lasse.collin@tukaani.org>
9085 Date: 2020-02-07 15:32:21 +0200
9087 Build: Add support for translated man pages using po4a.
9089 The dependency on po4a is optional. It's never required to install
9090 the translated man pages when xz is built from a release tarball.
9091 If po4a is missing when building from xz.git, the translated man
9092 pages won't be generated but otherwise the build will work normally.
9094 The translations are only updated automatically by autogen.sh and
9095 by "make mydist". This makes it easy to keep po4a as an optional
9096 dependency and ensures that I won't forget to put updated
9097 translations to a release tarball.
9099 The translated man pages aren't installed if --disable-nls is used.
9101 The installation of translated man pages abuses Automake internals
9102 by calling "install-man" with redefined dist_man_MANS and man_MANS.
9103 This makes the hairy script code slightly less hairy. If it breaks
9104 some day, this code needs to be fixed; don't blame Automake developers.
9106 Also, this adds more quotes to the existing shell script code in
9107 the Makefile.am "-hook"s.
9109 Makefile.am | 4 ++++
9110 autogen.sh | 8 ++++---
9111 po4a/.gitignore | 2 ++
9112 po4a/po4a.conf | 14 +++++++++++
9113 po4a/update-po | 45 ++++++++++++++++++++++++++++++++++
9114 src/scripts/Makefile.am | 64 +++++++++++++++++++++++++++++++++++++------------
9115 src/xz/Makefile.am | 50 +++++++++++++++++++++++++++-----------
9116 src/xzdec/Makefile.am | 55 ++++++++++++++++++++++++++++++++----------
9117 8 files changed, 197 insertions(+), 45 deletions(-)
9119 commit 426f9e5819ff7710a5ff573a96c02940be65d52f
9120 Author: Lasse Collin <lasse.collin@tukaani.org>
9121 Date: 2020-02-06 17:31:38 +0200
9126 1 file changed, 1 insertion(+)
9128 commit e3a4481d020e4de89efa037f335cf50f3ca55592
9129 Author: Lasse Collin <lasse.collin@tukaani.org>
9130 Date: 2020-02-05 22:35:06 +0200
9132 Update tests/.gitignore.
9135 1 file changed, 4 insertions(+)
9137 commit 07208de92f2d5bca764f6d0ebe9d9866051dc4ef
9138 Author: Lasse Collin <lasse.collin@tukaani.org>
9139 Date: 2020-02-05 22:28:51 +0200
9141 Update m4/.gitignore.
9144 1 file changed, 1 insertion(+)
9146 commit c91fbf223db46c3b3cb9df769863a1a60cd9c908
9147 Author: Lasse Collin <lasse.collin@tukaani.org>
9148 Date: 2020-02-05 20:47:38 +0200
9153 1 file changed, 1 insertion(+)
9155 commit 15a133b6d1a3eab4faf6eb52a71fdc56bd65846f
9156 Author: Lasse Collin <lasse.collin@tukaani.org>
9157 Date: 2020-02-05 20:40:14 +0200
9159 xz: Make it a fatal error if enabling the sandbox fails.
9161 Perhaps it's too drastic but on the other hand it will let me
9162 learn about possible problems if people report the errors.
9163 This won't be backported to the v5.2 branch.
9165 src/xz/file_io.c | 2 +-
9166 1 file changed, 1 insertion(+), 1 deletion(-)
9168 commit af0fb386ef55db66654ae39e2deec6e04190c4ff
9169 Author: Lasse Collin <lasse.collin@tukaani.org>
9170 Date: 2020-02-05 20:33:50 +0200
9172 xz: Comment out annoying sandboxing messages.
9174 src/xz/file_io.c | 10 +++++++---
9175 1 file changed, 7 insertions(+), 3 deletions(-)
9177 commit 986d8c9b52b824474088e5bb3b6940651660f0e2
9178 Author: Lasse Collin <lasse.collin@tukaani.org>
9179 Date: 2020-02-05 19:33:37 +0200
9181 Build: Workaround a POSIX shell detection problem on Solaris.
9183 I don't know if the problem is in gnulib's gl_POSIX_SHELL macro
9184 or if xzgrep does something that isn't in POSIX. The workaround
9185 adds a special case for Solaris: if /usr/xpg4/bin/sh exists and
9186 gl_cv_posix_shell wasn't overriden on the configure command line,
9187 use that shell for xzgrep and other scripts. That shell is known
9188 to work and exists on most Solaris systems.
9190 configure.ac | 10 ++++++++++
9191 1 file changed, 10 insertions(+)
9193 commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad
9194 Author: Lasse Collin <lasse.collin@tukaani.org>
9195 Date: 2020-02-03 22:03:50 +0200
9197 Build: Update m4/ax_pthread.m4 from Autoconf Archive.
9199 m4/ax_pthread.m4 | 398 ++++++++++++++++++++++++++++++++++++++-----------------
9200 1 file changed, 279 insertions(+), 119 deletions(-)
9202 commit 353970510895f6a80adfe60cf71b70a95adfa8bc
9203 Author: Lasse Collin <lasse.collin@tukaani.org>
9204 Date: 2020-02-01 19:56:18 +0200
9206 xz: Limit --memlimit-compress to at most 4020 MiB for 32-bit xz.
9208 See the code comment for reasoning. It's far from perfect but
9209 hopefully good enough for certain cases while hopefully doing
9210 nothing bad in other situations.
9212 At presets -5 ... -9, 4020 MiB vs. 4096 MiB makes no difference
9213 on how xz scales down the number of threads.
9215 The limit has to be a few MiB below 4096 MiB because otherwise
9216 things like "xz --lzma2=dict=500MiB" won't scale down the dict
9217 size enough and xz cannot allocate enough memory. With
9218 "ulimit -v $((4096 * 1024))" on x86-64, the limit in xz had
9219 to be no more than 4085 MiB. Some safety margin is good though.
9221 This is hack but it should be useful when running 32-bit xz on
9222 a 64-bit kernel that gives full 4 GiB address space to xz.
9223 Hopefully this is enough to solve this:
9225 https://bugzilla.redhat.com/show_bug.cgi?id=1196786
9227 FreeBSD has a patch that limits the result in tuklib_physmem()
9228 to SIZE_MAX on 32-bit systems. While I think it's not the way
9229 to do it, the results on --memlimit-compress have been good. This
9230 commit should achieve practically identical results for compression
9231 while leaving decompression and tuklib_physmem() and thus
9232 lzma_physmem() unaffected.
9234 src/xz/hardware.c | 32 +++++++++++++++++++++++++++++++-
9235 src/xz/xz.1 | 21 ++++++++++++++++++++-
9236 2 files changed, 51 insertions(+), 2 deletions(-)
9238 commit ba76d67585f88677af9f48b48e7bdc3bb7687def
9239 Author: Lasse Collin <lasse.collin@tukaani.org>
9240 Date: 2020-01-26 20:53:25 +0200
9242 xz: Set the --flush-timeout deadline when the first input byte arrives.
9244 xz --flush-timeout=2000, old version:
9246 1. xz is started. The next flush will happen after two seconds.
9247 2. No input for one second.
9248 3. A burst of a few kilobytes of input.
9249 4. No input for one second.
9250 5. Two seconds have passed and flushing starts.
9252 The first second counted towards the flush-timeout even though
9253 there was no pending data. This can cause flushing to occur more
9256 xz --flush-timeout=2000, after this commit:
9259 2. No input for one second.
9260 3. A burst of a few kilobytes of input. The next flush will
9261 happen after two seconds counted from the time when the
9262 first bytes of the burst were read.
9263 4. No input for one second.
9264 5. No input for another second.
9265 6. Two seconds have passed and flushing starts.
9267 src/xz/coder.c | 6 +-----
9268 src/xz/file_io.c | 6 +++++-
9269 src/xz/mytime.c | 1 -
9270 3 files changed, 6 insertions(+), 7 deletions(-)
9272 commit fd47fd62bbb1bfd13ab63869137971d8b390025f
9273 Author: Lasse Collin <lasse.collin@tukaani.org>
9274 Date: 2020-01-26 20:19:19 +0200
9276 xz: Move flush_needed from mytime.h to file_pair struct in file_io.h.
9278 src/xz/coder.c | 3 ++-
9279 src/xz/file_io.c | 3 ++-
9280 src/xz/file_io.h | 3 +++
9281 src/xz/mytime.c | 3 ---
9282 src/xz/mytime.h | 4 ----
9283 5 files changed, 7 insertions(+), 9 deletions(-)
9285 commit 815035681063d5774d3640fc20b8ede783dd574e
9286 Author: Lasse Collin <lasse.collin@tukaani.org>
9287 Date: 2020-01-26 14:49:22 +0200
9289 xz: coder.c: Make writing output a separate function.
9291 The same code sequence repeats so it's nicer as a separate function.
9292 Note that in one case there was no test for opt_mode != MODE_TEST,
9293 but that was only because that condition would always be true, so
9294 this commit doesn't change the behavior there.
9296 src/xz/coder.c | 30 +++++++++++++++++-------------
9297 1 file changed, 17 insertions(+), 13 deletions(-)
9299 commit 5a49e081a098455bcdbd95cefb90e9b18780fe58
9300 Author: Lasse Collin <lasse.collin@tukaani.org>
9301 Date: 2020-01-26 14:13:42 +0200
9303 xz: Fix semi-busy-waiting in xz --flush-timeout.
9305 When input blocked, xz --flush-timeout=1 would wake up every
9306 millisecond and initiate flushing which would have nothing to
9307 flush and thus would just waste CPU time. The fix disables the
9308 timeout when no input has been seen since the previous flush.
9310 src/xz/coder.c | 4 ++++
9311 src/xz/file_io.c | 15 +++++++++++----
9312 src/xz/file_io.h | 4 ++++
9313 3 files changed, 19 insertions(+), 4 deletions(-)
9315 commit dcca70fe9fa3c4bec56cf9c79e966166c9a9cf6a
9316 Author: Lasse Collin <lasse.collin@tukaani.org>
9317 Date: 2020-01-26 13:47:31 +0200
9319 xz: Refactor io_read() a bit.
9321 src/xz/file_io.c | 17 ++++++++---------
9322 1 file changed, 8 insertions(+), 9 deletions(-)
9324 commit 4ae9ab70cd3214395756435d13d8d000368ca2cb
9325 Author: Lasse Collin <lasse.collin@tukaani.org>
9326 Date: 2020-01-26 13:37:08 +0200
9328 xz: Update a comment in file_io.h.
9330 src/xz/file_io.h | 5 ++++-
9331 1 file changed, 4 insertions(+), 1 deletion(-)
9333 commit 3333ba4a6795a55cf0375329ba08152bd7fcbd46
9334 Author: Lasse Collin <lasse.collin@tukaani.org>
9335 Date: 2020-01-26 13:27:51 +0200
9337 xz: Move the setting of flush_needed in file_io.c to a nicer location.
9339 src/xz/file_io.c | 6 ++----
9340 1 file changed, 2 insertions(+), 4 deletions(-)
9342 commit cf2df0f05ac98c1158c6e48145900b773223605d
9343 Author: Lasse Collin <lasse.collin@tukaani.org>
9344 Date: 2020-01-19 21:54:33 +0200
9346 Use $(LIB_FUZZING_ENGINE) in tests/ossfuzz/Makefile.
9348 https://github.com/google/oss-fuzz/pull/3219#issuecomment-573751048
9350 Thanks to Bhargava Shastry for sending the patch.
9352 tests/ossfuzz/Makefile | 2 +-
9353 1 file changed, 1 insertion(+), 1 deletion(-)
9355 commit 7136f1735c60ac6967c4b8e277fcde53d485234f
9356 Author: Lasse Collin <lasse.collin@tukaani.org>
9357 Date: 2019-12-31 00:41:28 +0200
9359 Rename unaligned_read32ne to read32ne, and similarly for the others.
9361 src/common/tuklib_integer.h | 64 +++++++++++++++----------------
9362 src/liblzma/common/alone_encoder.c | 2 +-
9363 src/liblzma/common/block_header_decoder.c | 2 +-
9364 src/liblzma/common/block_header_encoder.c | 2 +-
9365 src/liblzma/common/memcmplen.h | 9 ++---
9366 src/liblzma/common/stream_flags_decoder.c | 6 +--
9367 src/liblzma/common/stream_flags_encoder.c | 8 ++--
9368 src/liblzma/lz/lz_encoder_hash.h | 2 +-
9369 src/liblzma/lzma/lzma_decoder.c | 2 +-
9370 src/liblzma/lzma/lzma_encoder.c | 2 +-
9371 src/liblzma/lzma/lzma_encoder_private.h | 3 +-
9372 src/liblzma/simple/simple_decoder.c | 2 +-
9373 src/liblzma/simple/simple_encoder.c | 2 +-
9374 tests/test_block_header.c | 4 +-
9375 tests/test_stream_flags.c | 6 +--
9376 15 files changed, 54 insertions(+), 62 deletions(-)
9378 commit 5e78fcbf2eb21936022c9c5c3625d4da76f4b241
9379 Author: Lasse Collin <lasse.collin@tukaani.org>
9380 Date: 2019-12-31 00:29:48 +0200
9382 Rename read32ne to aligned_read32ne, and similarly for the others.
9384 Using the aligned methods requires more care to ensure that
9385 the address really is aligned, so it's nicer if the aligned
9386 methods are prefixed. The next commit will remove the unaligned_
9387 prefix from the unaligned methods which in liblzma are used in
9388 more places than the aligned ones.
9390 src/common/tuklib_integer.h | 56 +++++++++++++++++++++---------------------
9391 src/liblzma/check/crc32_fast.c | 4 +--
9392 src/liblzma/check/crc64_fast.c | 4 +--
9393 3 files changed, 32 insertions(+), 32 deletions(-)
9395 commit 77bc5bc6dd67056cfd5888520ac930cfc57b4516
9396 Author: Lasse Collin <lasse.collin@tukaani.org>
9397 Date: 2019-12-31 00:18:24 +0200
9399 Revise tuklib_integer.h and .m4.
9401 Add a configure option --enable-unsafe-type-punning to get the
9402 old non-conforming memory access methods. It can be useful with
9403 old compilers or in some other less typical situations but
9404 shouldn't normally be used.
9406 Omit the packed struct trick for unaligned access. While it's
9407 best in some cases, this is simpler. If the memcpy trick doesn't
9408 work, one can request unsafe type punning from configure.
9410 Because CRC32/CRC64 code needs fast aligned reads, if no very
9411 safe way to do it is found, type punning is used as a fallback.
9412 This sucks but since it currently works in practice, it seems to
9413 be the least bad option. It's never needed with GCC >= 4.7 or
9414 Clang >= 3.6 since these support __builtin_assume_aligned and
9415 thus fast aligned access can be done with the memcpy trick.
9418 - Support GCC/Clang __builtin_bswapXX
9419 - Cleaner bswap fallback macros
9422 m4/tuklib_integer.m4 | 46 ++++-
9423 src/common/tuklib_integer.h | 488 ++++++++++++++++++++++++--------------------
9424 2 files changed, 316 insertions(+), 218 deletions(-)
9426 commit 8b72950a6b2e2a36c2d8fdc8857564b57191b088
9427 Author: Lasse Collin <lasse.collin@tukaani.org>
9428 Date: 2019-12-29 22:51:58 +0200
9430 Tests: Hopefully fix test_check.c to work on EBCDIC systems.
9432 Thanks to Daniel Richard G.
9434 tests/test_check.c | 9 +++++++--
9435 1 file changed, 7 insertions(+), 2 deletions(-)
9437 commit 43ce4ea7c762238d3df9717b34126d3e0d7cd51c
9438 Author: Lasse Collin <lasse.collin@tukaani.org>
9439 Date: 2019-09-24 23:02:40 +0300
9441 Scripts: Put /usr/xpg4/bin to the beginning of PATH on Solaris.
9443 This adds a configure option --enable-path-for-scripts=PREFIX
9444 which defaults to empty except on Solaris it is /usr/xpg4/bin
9445 to make POSIX grep and others available. The Solaris case had
9446 been documented in INSTALL with a manual fix but it's better
9447 to do this automatically since it is needed on most Solaris
9450 Thanks to Daniel Richard G.
9452 INSTALL | 43 +++++++++++++++++++++++++++++++++++--------
9453 configure.ac | 26 ++++++++++++++++++++++++++
9454 src/scripts/xzdiff.in | 1 +
9455 src/scripts/xzgrep.in | 1 +
9456 src/scripts/xzless.in | 1 +
9457 src/scripts/xzmore.in | 1 +
9458 6 files changed, 65 insertions(+), 8 deletions(-)
9460 commit 6a89e656ebedd53a10cd1a063a32a9e4ade0da1f
9461 Author: Lasse Collin <lasse.collin@tukaani.org>
9462 Date: 2019-07-12 18:57:43 +0300
9464 Fix comment typos in tuklib_mbstr* files.
9466 src/common/tuklib_mbstr.h | 2 +-
9467 src/common/tuklib_mbstr_fw.c | 2 +-
9468 src/common/tuklib_mbstr_width.c | 2 +-
9469 3 files changed, 3 insertions(+), 3 deletions(-)
9471 commit ac0b4212656a48ef0c187c0c941d40ac9489ae36
9472 Author: Lasse Collin <lasse.collin@tukaani.org>
9473 Date: 2019-07-12 18:30:46 +0300
9475 Add missing include to tuklib_mbstr_width.c.
9477 It didn't matter in XZ Utils because sysdefs.h
9478 includes string.h anyway.
9480 src/common/tuklib_mbstr_width.c | 1 +
9481 1 file changed, 1 insertion(+)
9483 commit 72a443281fb0b91aebf8cdff2ab1f7c07b081240
9484 Author: Lasse Collin <lasse.collin@tukaani.org>
9485 Date: 2019-07-12 18:10:57 +0300
9487 Update tuklib base headers to include stdbool.h.
9489 src/common/tuklib_common.h | 2 +-
9490 src/common/tuklib_config.h | 1 +
9491 2 files changed, 2 insertions(+), 1 deletion(-)
9493 commit de1f47b2b40e960b7bc3acba754f66dd19705921
9494 Author: Lasse Collin <lasse.collin@tukaani.org>
9495 Date: 2019-06-28 00:54:31 +0300
9497 xz: Automatically align the strings in --info-memory.
9499 This makes it easier to translate the strings.
9501 Also, the string for amount of RAM was shortened.
9503 src/xz/hardware.c | 45 ++++++++++++++++++++++++++++++++++-----------
9504 1 file changed, 34 insertions(+), 11 deletions(-)
9506 commit 8ce679125dbd0e2058d8f886e738d7f19a45cab5
9507 Author: Lasse Collin <lasse.collin@tukaani.org>
9508 Date: 2019-06-25 23:15:21 +0300
9510 liblzma: Fix a buggy comment.
9512 src/liblzma/lz/lz_encoder_mf.c | 2 +-
9513 1 file changed, 1 insertion(+), 1 deletion(-)
9515 commit fc77929e92e869f6869bf88931066103fd75f376
9516 Author: Lasse Collin <lasse.collin@tukaani.org>
9517 Date: 2019-06-25 00:16:06 +0300
9519 configure.ac: Fix a typo in a comment.
9522 1 file changed, 1 insertion(+), 1 deletion(-)
9524 commit e873902641794210ad7db59743f98e3e1cd6139f
9525 Author: Lasse Collin <lasse.collin@tukaani.org>
9526 Date: 2019-06-25 00:08:13 +0300
9528 Tests: Silence warnings from clang -Wassign-enum.
9530 Also changed 999 to 99 so it fits even if lzma_check happened
9533 tests/test_block_header.c | 3 ++-
9534 tests/test_stream_flags.c | 2 +-
9535 2 files changed, 3 insertions(+), 2 deletions(-)
9537 commit d499e467d99efeaae688564eedc4548837c1416a
9538 Author: Lasse Collin <lasse.collin@tukaani.org>
9539 Date: 2019-06-24 23:52:17 +0300
9541 liblzma: Add a comment.
9543 src/liblzma/common/stream_encoder_mt.c | 2 +-
9544 1 file changed, 1 insertion(+), 1 deletion(-)
9546 commit a12b13c5f0d54c684fa8446f93fdac08ab2a716b
9547 Author: Lasse Collin <lasse.collin@tukaani.org>
9548 Date: 2019-06-24 23:45:21 +0300
9550 liblzma: Silence clang -Wmissing-variable-declarations.
9552 src/liblzma/check/crc32_table.c | 3 +++
9553 src/liblzma/check/crc64_table.c | 3 +++
9554 2 files changed, 6 insertions(+)
9556 commit 1b4675cebf7471f7cc9b7072c950e3de97147063
9557 Author: Lasse Collin <lasse.collin@tukaani.org>
9558 Date: 2019-06-24 23:25:41 +0300
9560 Add LZMA_RET_INTERNAL1..8 to lzma_ret and use one for LZMA_TIMED_OUT.
9562 LZMA_TIMED_OUT is *internally* used as a value for lzma_ret
9563 enumeration. Previously it was #defined to 32 and cast to lzma_ret.
9564 That way it wasn't visible in the public API, but this was hackish.
9566 Now the public API has eight LZMA_RET_INTERNALx members and
9567 LZMA_TIMED_OUT is #defined to LZMA_RET_INTERNAL1. This way
9568 the code is cleaner overall although the public API has a few
9569 extra mysterious enum members.
9571 src/liblzma/api/lzma/base.h | 15 ++++++++++++++-
9572 src/liblzma/common/common.c | 4 +---
9573 src/liblzma/common/common.h | 5 ++---
9574 src/xz/message.c | 8 ++++++++
9575 4 files changed, 25 insertions(+), 7 deletions(-)
9577 commit 159c43875eb25deea626ed651274464bae3e32ef
9578 Author: Lasse Collin <lasse.collin@tukaani.org>
9579 Date: 2019-06-24 22:57:43 +0300
9581 xz: Silence a warning from clang -Wsign-conversion in main.c.
9583 src/xz/main.c | 2 +-
9584 1 file changed, 1 insertion(+), 1 deletion(-)
9586 commit 466cfcd3e52f6750ce28a635997f3dd84fb18515
9587 Author: Lasse Collin <lasse.collin@tukaani.org>
9588 Date: 2019-06-24 22:52:20 +0300
9590 xz: Make "headings" static in list.c.
9592 Caught by clang -Wmissing-variable-declarations.
9594 src/xz/list.c | 2 +-
9595 1 file changed, 1 insertion(+), 1 deletion(-)
9597 commit 608517b9b76c41fac6613dbda1193d6f41338e19
9598 Author: Lasse Collin <lasse.collin@tukaani.org>
9599 Date: 2019-06-24 22:47:39 +0300
9601 liblzma: Remove incorrect uses of lzma_attribute((__unused__)).
9603 Caught by clang -Wused-but-marked-unused.
9605 src/liblzma/common/alone_decoder.c | 3 +--
9606 src/liblzma/common/alone_encoder.c | 3 +--
9607 src/liblzma/lz/lz_decoder.c | 3 +--
9608 3 files changed, 3 insertions(+), 6 deletions(-)
9610 commit c2d2ab6a9d41a2b55d047c5b710aacf80d219255
9611 Author: Lasse Collin <lasse.collin@tukaani.org>
9612 Date: 2019-06-24 20:53:55 +0300
9614 Tests: Silence a warning from -Wsign-conversion.
9616 tests/create_compress_files.c | 8 ++++----
9617 1 file changed, 4 insertions(+), 4 deletions(-)
9619 commit 2402f7873dcae719d0ebddd23bb579074519ac52
9620 Author: Lasse Collin <lasse.collin@tukaani.org>
9621 Date: 2019-06-24 20:45:49 +0300
9623 xz: Fix an integer overflow with 32-bit off_t.
9625 Or any off_t which isn't very big (like signed 64 bit integer
9626 that most system have). A small off_t could overflow if the
9627 file being decompressed had long enough run of zero bytes,
9628 which would result in corrupt output.
9630 src/xz/file_io.c | 11 +++++++++--
9631 1 file changed, 9 insertions(+), 2 deletions(-)
9633 commit 4fd3a8dd0b60f029e1c66a0ee634f9e9fda3caa9
9634 Author: Lasse Collin <lasse.collin@tukaani.org>
9635 Date: 2019-06-24 01:24:17 +0300
9637 xz: Cleanup io_seek_src() a bit.
9639 lseek() returns -1 on error and checking for -1 is nicer.
9641 src/xz/file_io.c | 4 +---
9642 1 file changed, 1 insertion(+), 3 deletions(-)
9644 commit dfda7cf6afa486e10df035327d68753896dfb48a
9645 Author: Lasse Collin <lasse.collin@tukaani.org>
9646 Date: 2019-06-24 00:57:23 +0300
9648 Tests: Remove a duplicate branch from tests/tests.h.
9650 The duplication was introduced about eleven years ago and
9651 should have been cleaned up back then already.
9653 This was caught by -Wduplicated-branches.
9655 tests/tests.h | 9 ++-------
9656 1 file changed, 2 insertions(+), 7 deletions(-)
9658 commit 1d4a904d8fb634bd5a04f7fbdd17d3739f3d8866
9659 Author: Lasse Collin <lasse.collin@tukaani.org>
9660 Date: 2019-06-24 00:40:45 +0300
9662 xz: Change io_seek_src and io_pread arguments from off_t to uint64_t.
9664 This helps fixing warnings from -Wsign-conversion and makes the
9665 code look better too.
9667 src/xz/file_io.c | 16 ++++++++++++----
9668 src/xz/file_io.h | 4 ++--
9669 src/xz/list.c | 9 ++++-----
9670 3 files changed, 18 insertions(+), 11 deletions(-)
9672 commit 50120deb0159fcb53ee1a6caffb2bb81a1ecd990
9673 Author: Lasse Collin <lasse.collin@tukaani.org>
9674 Date: 2019-06-24 00:12:38 +0300
9676 xz: list.c: Fix some warnings from -Wsign-conversion.
9678 src/xz/list.c | 7 ++++---
9679 1 file changed, 4 insertions(+), 3 deletions(-)
9681 commit d0a78751eb54fb1572002746c533936a118e4e42
9682 Author: Lasse Collin <lasse.collin@tukaani.org>
9683 Date: 2019-06-23 23:22:45 +0300
9685 tuklib_mbstr_width: Fix a warning from -Wsign-conversion.
9687 src/common/tuklib_mbstr_width.c | 2 +-
9688 1 file changed, 1 insertion(+), 1 deletion(-)
9690 commit 7883d73530b4b2a701ddd7d50c35676cbc158039
9691 Author: Lasse Collin <lasse.collin@tukaani.org>
9692 Date: 2019-06-23 23:19:34 +0300
9694 xz: Fix some of the warnings from -Wsign-conversion.
9696 src/xz/args.c | 4 ++--
9697 src/xz/coder.c | 4 ++--
9698 src/xz/file_io.c | 5 +++--
9699 src/xz/message.c | 4 ++--
9700 src/xz/mytime.c | 4 ++--
9701 src/xz/options.c | 2 +-
9702 src/xz/util.c | 4 ++--
9703 7 files changed, 14 insertions(+), 13 deletions(-)
9705 commit c2b994fe3d35e9e575c28869a2f7f534f2495d05
9706 Author: Lasse Collin <lasse.collin@tukaani.org>
9707 Date: 2019-06-23 22:27:45 +0300
9709 tuklib_cpucores: Silence warnings from -Wsign-conversion.
9711 src/common/tuklib_cpucores.c | 10 +++++-----
9712 1 file changed, 5 insertions(+), 5 deletions(-)
9714 commit 07c4fa9e1a195e0543f271380c8de22a3ab145ff
9715 Author: Lasse Collin <lasse.collin@tukaani.org>
9716 Date: 2019-06-23 21:40:47 +0300
9718 xzdec: Fix warnings from -Wsign-conversion.
9720 src/xzdec/xzdec.c | 2 +-
9721 1 file changed, 1 insertion(+), 1 deletion(-)
9723 commit dfac2c9a1d7d4a2b8a5d7c9c6d567dee48318bcf
9724 Author: Lasse Collin <lasse.collin@tukaani.org>
9725 Date: 2019-06-23 21:38:56 +0300
9727 liblzma: Fix warnings from -Wsign-conversion.
9729 Also, more parentheses were added to the literal_subcoder
9730 macro in lzma_comon.h (better style but no functional change
9731 in the current usage).
9733 src/liblzma/common/block_header_decoder.c | 2 +-
9734 src/liblzma/delta/delta_decoder.c | 2 +-
9735 src/liblzma/lzma/fastpos.h | 2 +-
9736 src/liblzma/lzma/lzma2_decoder.c | 8 ++++----
9737 src/liblzma/lzma/lzma_common.h | 3 ++-
9738 src/liblzma/lzma/lzma_decoder.c | 16 ++++++++--------
9739 src/liblzma/simple/arm.c | 6 +++---
9740 src/liblzma/simple/armthumb.c | 8 ++++----
9741 src/liblzma/simple/ia64.c | 2 +-
9742 src/liblzma/simple/powerpc.c | 9 +++++----
9743 src/liblzma/simple/x86.c | 2 +-
9744 11 files changed, 31 insertions(+), 29 deletions(-)
9746 commit 41838dcc26375f6aa393a63e4d81e2f4d223de07
9747 Author: Lasse Collin <lasse.collin@tukaani.org>
9748 Date: 2019-06-23 19:33:55 +0300
9750 tuklib_integer: Silence warnings from -Wsign-conversion.
9752 src/common/tuklib_integer.h | 6 +++---
9753 1 file changed, 3 insertions(+), 3 deletions(-)
9755 commit 3ce05d235f736d392347a05086b8033416874b87
9756 Author: Lasse Collin <lasse.collin@tukaani.org>
9757 Date: 2019-06-20 19:40:30 +0300
9759 tuklib_integer: Fix usage of conv macros.
9761 Use a temporary variable instead of e.g.
9762 conv32le(unaligned_read32ne(buf)) because the macro can
9763 evaluate its argument multiple times.
9765 src/common/tuklib_integer.h | 12 ++++++++----
9766 1 file changed, 8 insertions(+), 4 deletions(-)
9768 commit b525b0c0ef40cd89b69294c9b8d57f4a8db58e1f
9769 Author: Lasse Collin <lasse.collin@tukaani.org>
9770 Date: 2019-06-03 20:44:19 +0300
9775 1 file changed, 1 insertion(+)
9777 commit 039a168e8cf201d5104a25ec41f0cf25eda6cc53
9778 Author: Lasse Collin <lasse.collin@tukaani.org>
9779 Date: 2019-06-03 20:41:54 +0300
9781 liblzma: Fix comments.
9783 Thanks to Bruce Stark.
9785 src/liblzma/common/alone_encoder.c | 4 ++--
9786 src/liblzma/common/block_util.c | 2 +-
9787 src/liblzma/common/common.c | 2 +-
9788 src/liblzma/common/filter_common.h | 2 +-
9789 src/liblzma/common/filter_decoder.h | 2 +-
9790 src/liblzma/common/filter_flags_encoder.c | 2 +-
9791 6 files changed, 7 insertions(+), 7 deletions(-)
9793 commit c460f6defebc5a81bbca90adc2476154ca244f69
9794 Author: Lasse Collin <lasse.collin@tukaani.org>
9795 Date: 2019-06-02 00:50:59 +0300
9797 liblzma: Fix one more unaligned read to use unaligned_read16ne().
9799 src/liblzma/lz/lz_encoder_hash.h | 2 +-
9800 1 file changed, 1 insertion(+), 1 deletion(-)
9802 commit c81d77c537f0b8c8672868e1dc6cf7290ce4a25b
9803 Author: Lasse Collin <lasse.collin@tukaani.org>
9804 Date: 2019-06-01 21:41:55 +0300
9809 1 file changed, 1 insertion(+)
9811 commit 386394fc9fcde2615391f804eaa466749f96f4ef
9812 Author: Lasse Collin <lasse.collin@tukaani.org>
9813 Date: 2019-06-01 21:36:13 +0300
9815 liblzma: memcmplen: Use ctz32() from tuklib_integer.h.
9817 The same compiler-specific #ifdefs are already in tuklib_integer.h
9819 src/liblzma/common/memcmplen.h | 10 +---------
9820 1 file changed, 1 insertion(+), 9 deletions(-)
9822 commit 264ab971ce2994baac41b1579c9c35aba7743fc8
9823 Author: Lasse Collin <lasse.collin@tukaani.org>
9824 Date: 2019-06-01 21:30:03 +0300
9826 tuklib_integer: Cleanup MSVC-specific code.
9828 src/common/tuklib_integer.h | 20 +++++++++-----------
9829 1 file changed, 9 insertions(+), 11 deletions(-)
9831 commit 33773c6f2a8711d4aa6656795db52c59a28580ec
9832 Author: Lasse Collin <lasse.collin@tukaani.org>
9833 Date: 2019-06-01 19:01:21 +0300
9835 liblzma: Use unaligned_readXXne functions instead of type punning.
9837 Now gcc -fsanitize=undefined should be clean.
9839 Thanks to Jeffrey Walton.
9841 src/liblzma/common/memcmplen.h | 12 ++++++------
9842 src/liblzma/lzma/lzma_encoder_private.h | 2 +-
9843 2 files changed, 7 insertions(+), 7 deletions(-)
9845 commit e5f13a66567b1987e0aae42c6fdcd277bb5810ba
9846 Author: Lasse Collin <lasse.collin@tukaani.org>
9847 Date: 2019-06-01 18:46:54 +0300
9849 tuklib_integer: Autodetect support for unaligned access on ARM.
9851 The result is used as the default for --enable-unaligned-access.
9852 The test should work with GCC and Clang.
9854 m4/tuklib_integer.m4 | 11 +++++++++++
9855 1 file changed, 11 insertions(+)
9857 commit 3bc112c2d38d5f348bce7bc2422286b1692c7490
9858 Author: Lasse Collin <lasse.collin@tukaani.org>
9859 Date: 2019-06-01 18:41:16 +0300
9861 tuklib_integer: Improve unaligned memory access.
9863 Now memcpy() or GNU C packed structs for unaligned access instead
9864 of type punning. See the comment in this commit for details.
9866 Avoiding type punning with unaligned access is needed to
9867 silence gcc -fsanitize=undefined.
9869 New functions: unaliged_readXXne and unaligned_writeXXne where
9870 XX is 16, 32, or 64.
9872 src/common/tuklib_integer.h | 180 +++++++++++++++++++++++++++++++++++++++++---
9873 1 file changed, 168 insertions(+), 12 deletions(-)
9875 commit 2a22de439ec63da1927b640eda309296a1e8dce5
9876 Author: Lasse Collin <lasse.collin@tukaani.org>
9877 Date: 2019-05-13 20:05:17 +0300
9879 liblzma: Avoid memcpy(NULL, foo, 0) because it is undefined behavior.
9881 I should have always known this but I didn't. Here is an example
9882 as a reminder to myself:
9884 int mycopy(void *dest, void *src, size_t n)
9886 memcpy(dest, src, n);
9887 return dest == NULL;
9890 In the example, a compiler may assume that dest != NULL because
9891 passing NULL to memcpy() would be undefined behavior. Testing
9892 with GCC 8.2.1, mycopy(NULL, NULL, 0) returns 1 with -O0 and -O1.
9893 With -O2 the return value is 0 because the compiler infers that
9894 dest cannot be NULL because it was already used with memcpy()
9895 and thus the test for NULL gets optimized out.
9897 In liblzma, if a null-pointer was passed to memcpy(), there were
9898 no checks for NULL *after* the memcpy() call, so I cautiously
9899 suspect that it shouldn't have caused bad behavior in practice,
9900 but it's hard to be sure, and the problematic cases had to be
9903 Thanks to Jeffrey Walton.
9905 src/liblzma/common/common.c | 6 +++++-
9906 src/liblzma/lz/lz_decoder.c | 12 +++++++++---
9907 src/liblzma/simple/simple_coder.c | 10 +++++++++-
9908 3 files changed, 23 insertions(+), 5 deletions(-)
9910 commit d3fc850cfedc058247d9e334ce59bbc8f2286d8a
9911 Author: Lasse Collin <lasse.collin@tukaani.org>
9912 Date: 2019-05-11 20:56:08 +0300
9917 1 file changed, 1 insertion(+)
9919 commit 4adb8288ab61d5f14e212007b8742df0710baf73
9920 Author: Lasse Collin <lasse.collin@tukaani.org>
9921 Date: 2019-05-11 20:54:12 +0300
9923 xz: Update xz man page date.
9926 1 file changed, 1 insertion(+), 1 deletion(-)
9928 commit 2fb0ddaa557ce86e38fe06439930fa8665f092fd
9929 Author: Antoine Cœur <antoine.coeur@ef.com>
9930 Date: 2019-05-08 13:30:57 +0800
9936 doc/examples/11_file_info.c | 2 +-
9937 src/liblzma/api/lzma/block.h | 2 +-
9938 src/liblzma/api/lzma/hardware.h | 2 +-
9939 src/liblzma/api/lzma/lzma12.h | 2 +-
9940 src/liblzma/api/lzma/vli.h | 2 +-
9941 src/liblzma/common/file_info.c | 4 ++--
9942 src/liblzma/common/hardware_physmem.c | 2 +-
9943 src/liblzma/common/index.c | 4 ++--
9944 src/liblzma/common/stream_encoder_mt.c | 2 +-
9945 src/liblzma/common/vli_decoder.c | 2 +-
9946 src/liblzma/lz/lz_decoder.c | 2 +-
9947 src/scripts/xzgrep.in | 2 +-
9948 src/xz/args.c | 2 +-
9949 src/xz/coder.c | 4 ++--
9950 src/xz/list.c | 4 ++--
9951 src/xz/main.c | 2 +-
9952 src/xz/mytime.h | 2 +-
9953 src/xz/private.h | 2 +-
9955 windows/build.bash | 2 +-
9956 22 files changed, 26 insertions(+), 26 deletions(-)
9958 commit 4ed339606156bd313ed99237485cb8ed0362d64f
9959 Author: Lasse Collin <lasse.collin@tukaani.org>
9960 Date: 2019-05-01 18:43:10 +0300
9962 xz: In xz -lvv look at the widths of the check names too.
9964 Now the widths of the check names is used to adjust the width
9965 of the Check column. This way there no longer is a need to restrict
9966 the widths of the check names to be at most ten terminal-columns.
9968 src/xz/list.c | 32 ++++++++++++++++++++++++++------
9969 1 file changed, 26 insertions(+), 6 deletions(-)
9971 commit 2f4281a1001dcf7fdf1418c0c0d246c16561fb65
9972 Author: Lasse Collin <lasse.collin@tukaani.org>
9973 Date: 2019-05-01 18:33:25 +0300
9975 xz: Fix xz -lvv column alignment to look at the translated strings.
9977 src/xz/list.c | 4 ++--
9978 1 file changed, 2 insertions(+), 2 deletions(-)
9980 commit 01d01b7c7c0b8eaf7f780a5584ec52c22d10fa4a
9981 Author: Lasse Collin <lasse.collin@tukaani.org>
9982 Date: 2019-05-01 16:52:36 +0300
9987 1 file changed, 1 insertion(+)
9989 commit 64030c6b17f7743df03a9948a0ccfcdf40c6b97c
9990 Author: Lasse Collin <lasse.collin@tukaani.org>
9991 Date: 2019-05-01 16:43:16 +0300
9993 Windows: Update VS version in windows/vs2019/config.h.
9995 windows/vs2019/config.h | 2 +-
9996 1 file changed, 1 insertion(+), 1 deletion(-)
9998 commit 2dc9117f5fbfab31444a3ca1e55795ccfa8a9f51
9999 Author: Julien Marrec <julien.marrec@gmail.com>
10000 Date: 2019-04-25 17:44:06 +0200
10002 Windows: Upgrade solution itself
10004 windows/vs2019/xz_win.sln | 7 +++++--
10005 1 file changed, 5 insertions(+), 2 deletions(-)
10007 commit ac31413916fa9b11bab17f0f0aa63e2869360f6f
10008 Author: Julien Marrec <julien.marrec@gmail.com>
10009 Date: 2019-04-25 17:40:24 +0200
10011 Windows: Upgrade solution with VS2019
10013 windows/vs2019/liblzma.vcxproj | 15 ++++++++-------
10014 windows/vs2019/liblzma_dll.vcxproj | 15 ++++++++-------
10015 2 files changed, 16 insertions(+), 14 deletions(-)
10017 commit be25a0c37ba92a20c390b4d17fe502457fe96b71
10018 Author: Julien Marrec <julien.marrec@gmail.com>
10019 Date: 2019-04-25 17:39:32 +0200
10021 Windows: Duplicate windows/vs2017 before upgrading
10023 windows/vs2019/config.h | 148 ++++++++++++++
10024 windows/vs2019/liblzma.vcxproj | 356 ++++++++++++++++++++++++++++++++++
10025 windows/vs2019/liblzma_dll.vcxproj | 385 +++++++++++++++++++++++++++++++++++++
10026 windows/vs2019/xz_win.sln | 48 +++++
10027 4 files changed, 937 insertions(+)
10029 commit d0e58b3a51e8e616f3dc26ec7b7e4aa0fa6991ad
10030 Author: Lasse Collin <lasse.collin@tukaani.org>
10031 Date: 2019-03-04 22:49:04 +0200
10033 README: Update translation instructions.
10035 XZ Utils is now part of the Translation Project
10036 <https://translationproject.org/>.
10038 README | 32 +++++++++++++-------------------
10039 1 file changed, 13 insertions(+), 19 deletions(-)
10041 commit a750c35a7d45a16c11c1d40fecee8443c32a9996
10042 Author: Lasse Collin <lasse.collin@tukaani.org>
10043 Date: 2019-03-04 21:20:39 +0200
10045 xz: Automatically align column headings in xz -lvv.
10047 src/xz/list.c | 263 ++++++++++++++++++++++++++++++++++++++++++++++------------
10048 1 file changed, 212 insertions(+), 51 deletions(-)
10050 commit 6cb42e8aa1dc37bf403a9f5acbd07e86036b7e77
10051 Author: Lasse Collin <lasse.collin@tukaani.org>
10052 Date: 2019-03-04 01:07:59 +0200
10054 xz: Automatically align strings ending in a colon in --list output.
10056 This should avoid alignment errors in translations with these
10059 src/xz/list.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
10060 1 file changed, 102 insertions(+), 12 deletions(-)
10062 commit 1e3f29b62f2c03e50fc9ebea7b83c1497dd35484
10063 Author: Lasse Collin <lasse.collin@tukaani.org>
10064 Date: 2019-01-13 17:29:23 +0200
10066 Windows/VS2017: Omit WindowsTargetPlatformVersion from project files.
10068 I understood that if a WTPV is specified, it's often wrong
10069 because different VS installations have different SDK version
10070 installed. Omitting the WTPV tag makes VS2017 default to
10071 Windows SDK 8.1 which often is also missing, so in any case
10072 people may need to specify the WTPV before building. But some
10073 day in the future a missing WTPV tag will start to default to
10074 the latest installed SDK which sounds reasonable:
10076 https://developercommunity.visualstudio.com/content/problem/140294/windowstargetplatformversion-makes-it-impossible-t.html
10080 windows/INSTALL-MSVC.txt | 4 ++++
10081 windows/vs2017/liblzma.vcxproj | 1 -
10082 windows/vs2017/liblzma_dll.vcxproj | 1 -
10083 3 files changed, 4 insertions(+), 2 deletions(-)
10085 commit 4d86076332aece6314063d3712a5f364172bbb0f
10086 Author: Lasse Collin <lasse.collin@tukaani.org>
10087 Date: 2018-12-20 20:42:29 +0200
10092 1 file changed, 1 insertion(+)
10094 commit b55d79461d1f6aeaac03c7dae84481e5eb8bea4c
10095 Author: Lasse Collin <lasse.collin@tukaani.org>
10096 Date: 2018-12-14 20:34:30 +0200
10098 xz: Fix a crash in progress indicator when in passthru mode.
10100 "xz -dcfv not_an_xz_file" crashed (all four options are
10101 required to trigger it). It caused xz to call
10102 lzma_get_progress(&strm, ...) when no coder was initialized
10103 in strm. In this situation strm.internal is NULL which leads
10104 to a crash in lzma_get_progress().
10106 The bug was introduced when xz started using lzma_get_progress()
10107 to get progress info for multi-threaded compression, so the
10108 bug is present in versions 5.1.3alpha and higher.
10110 Thanks to Filip Palian <Filip.Palian@pjwstk.edu.pl> for
10113 src/xz/coder.c | 11 +++++++----
10114 src/xz/message.c | 18 ++++++++++++++++--
10115 src/xz/message.h | 3 ++-
10116 3 files changed, 25 insertions(+), 7 deletions(-)
10118 commit 4ae5526de013efd1021686fa80bdd10cf1cb9c56
10119 Author: Lasse Collin <lasse.collin@tukaani.org>
10120 Date: 2018-11-22 17:20:31 +0200
10122 xz: Update man page timestamp.
10125 1 file changed, 1 insertion(+), 1 deletion(-)
10127 commit 6a36d0d5f49e0080ff64dd9ef250abd489bea2ad
10128 Author: Pavel Raiskup <praiskup@redhat.com>
10129 Date: 2018-11-22 15:14:34 +0100
10133 src/xz/signals.c | 2 +-
10135 2 files changed, 2 insertions(+), 2 deletions(-)
10137 commit 9eca51ef805ed8002a851df1b4995d71826c8b6e
10138 Author: Lasse Collin <lasse.collin@tukaani.org>
10139 Date: 2018-11-02 20:40:48 +0200
10144 1 file changed, 1 insertion(+)
10146 commit 106d1a663d4ba42b63231caa289f531548df81c1
10147 Author: Lasse Collin <lasse.collin@tukaani.org>
10148 Date: 2018-11-02 20:18:45 +0200
10150 Tests: Add a fuzz test program and a config file for OSS-Fuzz.
10152 Thanks to Bhargava Shastry and Github user pdknsk.
10154 tests/Makefile.am | 1 +
10155 tests/ossfuzz/Makefile | 7 ++++
10156 tests/ossfuzz/config/fuzz.dict | 2 +
10157 tests/ossfuzz/config/fuzz.options | 2 +
10158 tests/ossfuzz/fuzz.c | 82 +++++++++++++++++++++++++++++++++++++++
10159 5 files changed, 94 insertions(+)
10161 commit a18ae42a79a19b1394b41eb3e238139fd28012ec
10162 Author: Lasse Collin <lasse.collin@tukaani.org>
10163 Date: 2018-10-26 22:49:10 +0300
10165 liblzma: Don't verify header CRC32s if building for fuzz testing.
10167 FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION is #defined when liblzma
10168 is being built for fuzz testing.
10170 Most fuzzed inputs would normally get rejected because of incorrect
10171 CRC32 and the actual header decoding code wouldn't get fuzzed.
10172 Disabling CRC32 checks avoids this problem. The fuzzer program
10173 must still use LZMA_IGNORE_CHECK flag to disable verification of
10174 integrity checks of uncompressed data.
10176 src/liblzma/common/block_header_decoder.c | 5 ++++-
10177 src/liblzma/common/index_decoder.c | 5 ++++-
10178 src/liblzma/common/index_hash.c | 5 ++++-
10179 src/liblzma/common/stream_flags_decoder.c | 10 ++++++++--
10180 4 files changed, 20 insertions(+), 5 deletions(-)
10182 commit f76f7516d6a1c832f61810c82e92d151cc80966c
10183 Author: Lasse Collin <lasse.collin@tukaani.org>
10184 Date: 2018-07-27 18:10:44 +0300
10186 xzless: Rename unused variables to silence static analysers.
10188 In this particular case I don't see this affecting readability
10191 Thanks to Pavel Raiskup.
10193 src/scripts/xzless.in | 2 +-
10194 1 file changed, 1 insertion(+), 1 deletion(-)
10196 commit 3cbcaeb07eb7543735befd6f507fdb5fa4363cff
10197 Author: Lasse Collin <lasse.collin@tukaani.org>
10198 Date: 2018-07-27 16:02:58 +0300
10200 liblzma: Remove an always-true condition from lzma_index_cat().
10202 This should help static analysis tools to see that newg
10205 Thanks to Pavel Raiskup.
10207 src/liblzma/common/index.c | 4 ++--
10208 1 file changed, 2 insertions(+), 2 deletions(-)
10210 commit 76762ae6098ec55c326f4b4b4a42e8c1918ee81f
10211 Author: Lasse Collin <lasse.collin@tukaani.org>
10212 Date: 2018-05-19 21:23:25 +0300
10214 liblzma: Improve lzma_properties_decode() API documentation.
10216 src/liblzma/api/lzma/filter.h | 7 ++++---
10217 1 file changed, 4 insertions(+), 3 deletions(-)
10219 commit 2267f5b0d20a5d24e93fcd9f72ea7eeb0d89708c
10220 Author: Lasse Collin <lasse.collin@tukaani.org>
10221 Date: 2018-04-29 18:58:19 +0300
10223 Bump the version number to 5.3.1alpha.
10225 src/liblzma/api/lzma/version.h | 2 +-
10226 src/liblzma/liblzma.map | 2 +-
10227 2 files changed, 2 insertions(+), 2 deletions(-)
10229 commit cee3021d30704858e4bdd22240e7d28e570d7451
10230 Author: Lasse Collin <lasse.collin@tukaani.org>
10231 Date: 2018-04-29 18:48:00 +0300
10233 extra/scanlzma: Fix compiler warnings.
10235 extra/scanlzma/scanlzma.c | 6 +++++-
10236 1 file changed, 5 insertions(+), 1 deletion(-)
10238 commit c5c7ceb08a011b97d261798033e2c39613a69eb7
10239 Author: Lasse Collin <lasse.collin@tukaani.org>
10240 Date: 2018-04-29 18:44:47 +0300
10242 DOS: Add file_info.c to the list of files to build.
10245 1 file changed, 1 insertion(+)
10247 commit 114cab97af766b21e0fc8620479202fb1e7a5e41
10248 Author: Lasse Collin <lasse.collin@tukaani.org>
10249 Date: 2018-04-29 18:33:10 +0300
10251 Update NEWS for 5.3.1alpha.
10253 NEWS | 11 +++++++++++
10254 1 file changed, 11 insertions(+)
10256 commit b8139e11c512bbf32bf58ab0689f9bb6c52819da
10257 Author: Lasse Collin <lasse.collin@tukaani.org>
10258 Date: 2018-04-29 18:15:37 +0300
10260 Add NEWS for 5.2.4.
10262 NEWS | 27 +++++++++++++++++++++++++++
10263 1 file changed, 27 insertions(+)
10265 commit 47b59d47cfd904a420fbd45629d168ca1973721d
10266 Author: Lasse Collin <lasse.collin@tukaani.org>
10267 Date: 2018-02-06 19:36:30 +0200
10272 1 file changed, 2 insertions(+)
10274 commit bc197991690ede24ab143665b5b0f0f9cb35cc46
10275 Author: Ben Boeckel <mathstuf@gmail.com>
10276 Date: 2018-01-29 13:58:18 -0500
10278 nothrow: use noexcept for C++11 and newer
10280 In C++11, the `throw()` specifier is deprecated and `noexcept` is
10283 src/liblzma/api/lzma.h | 6 +++++-
10284 1 file changed, 5 insertions(+), 1 deletion(-)
10286 commit fb6d4f83cb6e144734f2a4216bb117bd56dc3cb5
10287 Author: Lasse Collin <lasse.collin@tukaani.org>
10288 Date: 2018-02-06 18:02:48 +0200
10290 liblzma: Remove incorrect #ifdef from range_common.h.
10292 In most cases it was harmless but it could affect some
10293 custom build systems.
10295 Thanks to Pippijn van Steenhoven.
10297 src/liblzma/rangecoder/range_common.h | 4 +---
10298 1 file changed, 1 insertion(+), 3 deletions(-)
10300 commit bc577d35c2d0ed17f554d2d8107b2a2a9abbac76
10301 Author: Lasse Collin <lasse.collin@tukaani.org>
10302 Date: 2018-01-10 22:10:39 +0200
10307 1 file changed, 1 insertion(+)
10309 commit 713bbc1a80f26d34c96ed3dbb9887362204de3a1
10310 Author: Lasse Collin <lasse.collin@tukaani.org>
10311 Date: 2018-01-10 21:54:27 +0200
10313 tuklib_integer: New Intel C compiler needs immintrin.h.
10315 Thanks to Melanie Blower (Intel) for the patch.
10317 src/common/tuklib_integer.h | 11 +++++++++++
10318 1 file changed, 11 insertions(+)
10320 commit a0ee1afbd99da138b559cb27fa2022e7f1ab44f3
10321 Author: Lasse Collin <lasse.collin@tukaani.org>
10322 Date: 2017-09-24 20:04:24 +0300
10327 1 file changed, 1 insertion(+)
10329 commit a1e2c568de29c0b57d873eab40a2879b749da429
10330 Author: Lasse Collin <lasse.collin@tukaani.org>
10331 Date: 2017-09-16 20:36:20 +0300
10333 Windows: Fix paths in VS project files.
10335 Some paths use slashes instead of backslashes as directory
10336 separators... now it should work (I tested VS2013 version).
10338 windows/vs2013/liblzma.vcxproj | 12 ++++++------
10339 windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
10340 windows/vs2017/liblzma.vcxproj | 12 ++++++------
10341 windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
10342 4 files changed, 36 insertions(+), 36 deletions(-)
10344 commit cea5cf8d26c9d1dc30a808614d79c0b25640e15e
10345 Author: Lasse Collin <lasse.collin@tukaani.org>
10346 Date: 2017-09-16 12:56:20 +0300
10348 Windows: Update VS2017 project files to include file info decoder.
10350 windows/vs2017/liblzma.vcxproj | 2 ++
10351 windows/vs2017/liblzma_dll.vcxproj | 2 ++
10352 2 files changed, 4 insertions(+)
10354 commit 95d563db3ee497b223e522b699c4d4c29943eef0
10355 Author: Lasse Collin <lasse.collin@tukaani.org>
10356 Date: 2017-09-16 12:54:23 +0300
10358 Windows: Add project files for VS2017.
10360 These files match the v5.2 branch (no file info decoder).
10362 windows/vs2017/config.h | 148 ++++++++++++++
10363 windows/vs2017/liblzma.vcxproj | 355 ++++++++++++++++++++++++++++++++++
10364 windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
10365 windows/vs2017/xz_win.sln | 48 +++++
10366 4 files changed, 935 insertions(+)
10368 commit ab72416d62ea8f50ad31d5b8545fcb6a2bf96b73
10369 Author: Lasse Collin <lasse.collin@tukaani.org>
10370 Date: 2017-09-16 12:45:50 +0300
10372 Windows: Update VS2013 project files to include file info decoder.
10374 windows/vs2013/liblzma.vcxproj | 2 ++
10375 windows/vs2013/liblzma_dll.vcxproj | 2 ++
10376 2 files changed, 4 insertions(+)
10378 commit 82388980187b0e3794d187762054200bbdcc9a53
10379 Author: Lasse Collin <lasse.collin@tukaani.org>
10380 Date: 2017-09-16 12:39:43 +0300
10382 Windows: Move VS2013 files into windows/vs2013 directory.
10384 windows/{ => vs2013}/config.h | 0
10385 windows/{ => vs2013}/liblzma.vcxproj | 278 +++++++++++++++---------------
10386 windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
10387 windows/{ => vs2013}/xz_win.sln | 0
10388 4 files changed, 279 insertions(+), 279 deletions(-)
10390 commit 94e3f986aa4e14b4ff01ac24857f499630d6d180
10391 Author: Lasse Collin <lasse.collin@tukaani.org>
10392 Date: 2017-08-14 20:08:33 +0300
10394 Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
10396 src/liblzma/lzma/lzma_decoder.c | 6 ++++++
10397 src/xz/list.c | 2 ++
10398 2 files changed, 8 insertions(+)
10400 commit 0b0e1e6803456aac641a59332200f8e95e2b7ea8
10401 Author: Alexey Tourbin <alexey.tourbin@gmail.com>
10402 Date: 2017-05-16 23:56:35 +0300
10404 Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
10406 doc/examples/02_decompress.c | 2 +-
10407 1 file changed, 1 insertion(+), 1 deletion(-)
10409 commit a015cd1f90116e655be4eaf4aad42c4c911c2807
10410 Author: Lasse Collin <lasse.collin@tukaani.org>
10411 Date: 2017-05-23 18:34:43 +0300
10413 xz: Fix "xz --list --robot missing_or_bad_file.xz".
10415 It ended up printing an uninitialized char-array when trying to
10416 print the check names (column 7) on the "totals" line.
10418 This also changes the column 12 (minimum xz version) to
10419 50000002 (xz 5.0.0) instead of 0 when there are no valid
10422 Thanks to kidmin for the bug report.
10424 src/xz/list.c | 8 ++++++--
10425 1 file changed, 6 insertions(+), 2 deletions(-)
10427 commit c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd
10428 Author: Lasse Collin <lasse.collin@tukaani.org>
10429 Date: 2017-04-24 20:20:11 +0300
10431 Docs: Add doc/examples/11_file_info.c.
10433 doc/examples/11_file_info.c | 206 ++++++++++++++++++++++++++++++++++++++++++++
10434 doc/examples/Makefile | 3 +-
10435 2 files changed, 208 insertions(+), 1 deletion(-)
10437 commit 1520f6ec808896375ac7bf778c449e0f7dea5f46
10438 Author: Lasse Collin <lasse.collin@tukaani.org>
10439 Date: 2017-04-24 19:48:47 +0300
10441 Build: Omit pre-5.0.0 entries from the generated ChangeLog.
10443 It makes ChangeLog significantly smaller.
10445 Makefile.am | 3 ++-
10446 1 file changed, 2 insertions(+), 1 deletion(-)
10448 commit 8269782283806c90a8509c2ac2a308344f70e171
10449 Author: Lasse Collin <lasse.collin@tukaani.org>
10450 Date: 2017-04-24 19:48:23 +0300
10452 xz: Use lzma_file_info_decoder() for --list.
10454 src/xz/list.c | 254 ++++++++++------------------------------------------------
10455 1 file changed, 44 insertions(+), 210 deletions(-)
10457 commit e353d0b1cc0d3997ae5048faa8e6786414953e06
10458 Author: Lasse Collin <lasse.collin@tukaani.org>
10459 Date: 2017-04-24 19:35:50 +0300
10461 liblzma: Add lzma_file_info_decoder().
10463 src/liblzma/api/lzma/index.h | 66 ++++
10464 src/liblzma/common/Makefile.inc | 1 +
10465 src/liblzma/common/file_info.c | 855 ++++++++++++++++++++++++++++++++++++++++
10466 src/liblzma/liblzma.map | 7 +-
10467 4 files changed, 928 insertions(+), 1 deletion(-)
10469 commit 144ef9e19e9496c995b21505dd1e111c442968d1
10470 Author: Lasse Collin <lasse.collin@tukaani.org>
10471 Date: 2017-04-24 19:30:22 +0300
10473 Update the Git repository URL to HTTPS in ChangeLog.
10476 1 file changed, 1 insertion(+), 1 deletion(-)
10478 commit 8c9842c265993d7dd4039f732d3546267fb5ecc4
10479 Author: Lasse Collin <lasse.collin@tukaani.org>
10480 Date: 2017-04-21 15:05:16 +0300
10482 liblzma: Rename LZMA_SEEK to LZMA_SEEK_NEEDED and seek_in to seek_pos.
10484 src/liblzma/api/lzma/base.h | 18 +++++++++---------
10485 src/liblzma/common/common.c | 2 +-
10486 src/xz/message.c | 2 +-
10487 3 files changed, 11 insertions(+), 11 deletions(-)
10489 commit 662b27c417cab248cb365dd7682121bdec4d5ae7
10490 Author: Lasse Collin <lasse.collin@tukaani.org>
10491 Date: 2017-04-19 22:17:35 +0300
10493 Update the home page URLs to HTTPS.
10497 configure.ac | 2 +-
10498 doc/faq.txt | 4 ++--
10499 dos/config.h | 2 +-
10500 src/common/common_w32res.rc | 2 +-
10501 src/xz/xz.1 | 6 +++---
10502 src/xzdec/xzdec.1 | 4 ++--
10503 windows/README-Windows.txt | 2 +-
10504 windows/config.h | 2 +-
10505 10 files changed, 14 insertions(+), 14 deletions(-)
10507 commit c28f0b3d00af87b92dda229831548d8eb0067d1d
10508 Author: Lasse Collin <lasse.collin@tukaani.org>
10509 Date: 2017-04-05 18:47:22 +0300
10511 xz: Add io_seek_src().
10513 src/xz/file_io.c | 20 +++++++++++++++++---
10514 src/xz/file_io.h | 13 +++++++++++++
10515 2 files changed, 30 insertions(+), 3 deletions(-)
10517 commit bba477257d7319c8764890f3669175b866d24944
10518 Author: Lasse Collin <lasse.collin@tukaani.org>
10519 Date: 2017-03-30 22:01:54 +0300
10521 xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
10523 xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
10526 src/xz/file_io.c | 10 ++++++++--
10527 1 file changed, 8 insertions(+), 2 deletions(-)
10529 commit 310d19816d1652b0c8bb1b82574d46345d924752
10530 Author: Lasse Collin <lasse.collin@tukaani.org>
10531 Date: 2017-03-30 20:03:05 +0300
10533 liblzma: Make lzma_index_decoder_init() visible to other liblzma funcs.
10535 This is to allow other functions to use it without going
10536 via the public API (lzma_index_decoder()).
10538 src/liblzma/common/Makefile.inc | 1 +
10539 src/liblzma/common/index_decoder.c | 10 +++++-----
10540 src/liblzma/common/index_decoder.h | 24 ++++++++++++++++++++++++
10541 3 files changed, 30 insertions(+), 5 deletions(-)
10543 commit a27920002dbc469f778a134fc665b7c3ea73701b
10544 Author: Lasse Collin <lasse.collin@tukaani.org>
10545 Date: 2017-03-30 20:00:09 +0300
10547 liblzma: Add generic support for input seeking (LZMA_SEEK).
10549 Also mention LZMA_SEEK in xz/message.c to silence a warning.
10551 src/liblzma/api/lzma/base.h | 31 ++++++++++++++++++++++++++++++-
10552 src/liblzma/common/common.c | 12 +++++++++++-
10553 src/xz/message.c | 1 +
10554 3 files changed, 42 insertions(+), 2 deletions(-)
10556 commit a0b1dda409bc3e6e2957a2651663fc411d2caf2d
10557 Author: Lasse Collin <lasse.collin@tukaani.org>
10558 Date: 2017-03-30 19:47:45 +0300
10560 liblzma: Fix lzma_memlimit_set(strm, 0).
10562 The 0 got treated specially in a buggy way and as a result
10563 the function did nothing. The API doc said that 0 was supposed
10564 to return LZMA_PROG_ERROR but it didn't.
10566 Now 0 is treated as if 1 had been specified. This is done because
10567 0 is already used to indicate an error from lzma_memlimit_get()
10568 and lzma_memusage().
10570 In addition, lzma_memlimit_set() no longer checks that the new
10571 limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
10572 for the Index decoder and was actually needed only by the
10573 auto decoder. Auto decoder has now been modified to check for
10574 LZMA_MEMUSAGE_BASE.
10576 src/liblzma/api/lzma/base.h | 7 ++++++-
10577 src/liblzma/common/auto_decoder.c | 3 +++
10578 src/liblzma/common/common.c | 6 ++++--
10579 3 files changed, 13 insertions(+), 3 deletions(-)
10581 commit 84462afaada61379f5878e46f8f00e25a1cdcf29
10582 Author: Lasse Collin <lasse.collin@tukaani.org>
10583 Date: 2017-03-30 19:16:55 +0300
10585 liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.
10587 src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
10588 src/liblzma/common/alone_decoder.c | 5 +----
10589 src/liblzma/common/auto_decoder.c | 5 +----
10590 src/liblzma/common/stream_decoder.c | 5 +----
10591 4 files changed, 20 insertions(+), 16 deletions(-)
10593 commit cbc74017939690d13441b8926bb743fb03211b83
10594 Author: Lasse Collin <lasse.collin@tukaani.org>
10595 Date: 2017-03-30 18:58:18 +0300
10597 liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
10599 It returned LZMA_PROG_ERROR, which was done to avoid zero as
10600 the limit (because it's a special value elsewhere), but using
10601 LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
10603 The fix/workaround is to treat 0 as if it were 1 byte. It's
10604 effectively the same thing. The only weird consequence is
10605 that then lzma_memlimit_get() will return 1 even when 0 was
10606 specified as the limit.
10608 This fixes a very rare corner case in xz --list where a specific
10609 memory usage limit and a multi-stream file could print the
10610 error message "Internal error (bug)" instead of saying that
10611 the memory usage limit is too low.
10613 src/liblzma/api/lzma/index.h | 18 +++++++++++-------
10614 src/liblzma/common/index_decoder.c | 4 ++--
10615 2 files changed, 13 insertions(+), 9 deletions(-)
10617 commit 78ae13bced912b1b92ae927992c99cbcc463cae7
10618 Author: Lasse Collin <lasse.collin@tukaani.org>
10619 Date: 2016-12-30 13:25:10 +0200
10621 Update NEWS for 5.2.3.
10623 NEWS | 39 +++++++++++++++++++++++++++++++++++++++
10624 1 file changed, 39 insertions(+)
10626 commit 0297863fdb453aed1a25eb025f3ba7bacbbb1357
10627 Author: Lasse Collin <lasse.collin@tukaani.org>
10628 Date: 2016-12-26 20:55:52 +0200
10630 Document --enable-sandbox configure option in INSTALL.
10632 INSTALL | 23 +++++++++++++++++++++++
10633 1 file changed, 23 insertions(+)
10635 commit d4a0462abe5478193521c14625e1c81fead87f9f
10636 Author: Lasse Collin <lasse.collin@tukaani.org>
10637 Date: 2016-11-21 20:24:50 +0200
10639 liblzma: Avoid multiple definitions of lzma_coder structures.
10641 Only one definition was visible in a translation unit.
10642 It avoided a few casts and temp variables but seems that
10643 this hack doesn't work with link-time optimizations in compilers
10644 as it's not C99/C11 compliant.
10647 http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
10649 src/liblzma/common/alone_decoder.c | 44 +++++----
10650 src/liblzma/common/alone_encoder.c | 34 ++++---
10651 src/liblzma/common/auto_decoder.c | 35 ++++---
10652 src/liblzma/common/block_decoder.c | 41 ++++----
10653 src/liblzma/common/block_encoder.c | 40 ++++----
10654 src/liblzma/common/common.h | 18 ++--
10655 src/liblzma/common/index_decoder.c | 33 ++++---
10656 src/liblzma/common/index_encoder.c | 16 ++--
10657 src/liblzma/common/stream_decoder.c | 50 +++++-----
10658 src/liblzma/common/stream_encoder.c | 56 ++++++-----
10659 src/liblzma/common/stream_encoder_mt.c | 124 ++++++++++++++-----------
10660 src/liblzma/delta/delta_common.c | 25 ++---
10661 src/liblzma/delta/delta_decoder.c | 6 +-
10662 src/liblzma/delta/delta_encoder.c | 12 ++-
10663 src/liblzma/delta/delta_private.h | 4 +-
10664 src/liblzma/lz/lz_decoder.c | 60 ++++++------
10665 src/liblzma/lz/lz_decoder.h | 13 ++-
10666 src/liblzma/lz/lz_encoder.c | 57 +++++++-----
10667 src/liblzma/lz/lz_encoder.h | 9 +-
10668 src/liblzma/lzma/lzma2_decoder.c | 32 ++++---
10669 src/liblzma/lzma/lzma2_encoder.c | 51 +++++-----
10670 src/liblzma/lzma/lzma_decoder.c | 27 +++---
10671 src/liblzma/lzma/lzma_encoder.c | 29 +++---
10672 src/liblzma/lzma/lzma_encoder.h | 9 +-
10673 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 +-
10674 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 23 ++---
10675 src/liblzma/lzma/lzma_encoder_private.h | 6 +-
10676 src/liblzma/simple/arm.c | 2 +-
10677 src/liblzma/simple/armthumb.c | 2 +-
10678 src/liblzma/simple/ia64.c | 2 +-
10679 src/liblzma/simple/powerpc.c | 2 +-
10680 src/liblzma/simple/simple_coder.c | 61 ++++++------
10681 src/liblzma/simple/simple_private.h | 12 +--
10682 src/liblzma/simple/sparc.c | 2 +-
10683 src/liblzma/simple/x86.c | 15 +--
10684 35 files changed, 532 insertions(+), 423 deletions(-)
10686 commit a01794c52add98263b49119842c3e7141d1b9ced
10687 Author: Lasse Collin <lasse.collin@tukaani.org>
10688 Date: 2016-10-24 18:53:25 +0300
10693 1 file changed, 1 insertion(+)
10695 commit df8f446e3ad47e5148b8c8d8b6e519d3ce29cb9d
10696 Author: Lasse Collin <lasse.collin@tukaani.org>
10697 Date: 2016-10-24 18:51:36 +0300
10699 tuklib_cpucores: Add support for sched_getaffinity().
10701 It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
10702 than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
10703 gives the number of cores available to the process instead of
10704 the total number of cores online.
10706 As a side effect, this commit fixes a bug on GNU/kFreeBSD where
10707 configure would detect the FreeBSD-specific cpuset_getaffinity()
10708 but it wouldn't actually work because on GNU/kFreeBSD it requires
10709 using -lfreebsd-glue when linking. Now the glibc-specific function
10710 will be used instead.
10712 Thanks to Sebastian Andrzej Siewior for the original patch
10715 m4/tuklib_cpucores.m4 | 30 +++++++++++++++++++++++++++++-
10716 src/common/tuklib_cpucores.c | 9 +++++++++
10717 2 files changed, 38 insertions(+), 1 deletion(-)
10719 commit 446e4318fa79788e09299d5953b5dd428953d14b
10720 Author: Lasse Collin <lasse.collin@tukaani.org>
10721 Date: 2016-06-30 20:27:36 +0300
10723 xz: Fix copying of timestamps on Windows.
10725 xz used to call utime() on Windows, but its result gets lost
10726 on close(). Using _futime() seems to work.
10728 Thanks to Martok for reporting the bug:
10729 http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html
10731 configure.ac | 2 +-
10732 src/xz/file_io.c | 18 ++++++++++++++++++
10733 2 files changed, 19 insertions(+), 1 deletion(-)
10735 commit 1b0ac0c53c761263e91e34195cb21dfdcfeac0bd
10736 Author: Lasse Collin <lasse.collin@tukaani.org>
10737 Date: 2016-06-16 22:46:02 +0300
10739 xz: Silence warnings from -Wlogical-op.
10741 Thanks to Evan Nemerson.
10743 src/xz/file_io.c | 12 ++++++++++--
10744 1 file changed, 10 insertions(+), 2 deletions(-)
10746 commit c83b7a03342c3325ff10400b22ee21edfcd1e026
10747 Author: Lasse Collin <lasse.collin@tukaani.org>
10748 Date: 2016-04-10 20:55:49 +0300
10750 Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
10752 Thanks to Christian Kujau.
10754 src/xz/Makefile.am | 2 +-
10755 1 file changed, 1 insertion(+), 1 deletion(-)
10757 commit ade31a2bfb95c94d05fbfc0ecbba5d6377f2506e
10758 Author: Lasse Collin <lasse.collin@tukaani.org>
10759 Date: 2016-04-10 20:54:17 +0300
10761 Build: Bump GNU Gettext version requirement to 0.19.
10763 It silences a few warnings and most people probably have
10764 0.19 even on stable distributions.
10766 Thanks to Christian Kujau.
10768 configure.ac | 2 +-
10769 1 file changed, 1 insertion(+), 1 deletion(-)
10771 commit ac398c3bafa6e4c80e20571373a96947db863b3d
10772 Author: Lasse Collin <lasse.collin@tukaani.org>
10773 Date: 2016-03-13 20:21:49 +0200
10775 liblzma: Disable external SHA-256 by default.
10777 This is the sane thing to do. The conflict with OpenSSL
10778 on some OSes and especially that the OS-provided versions
10779 can be significantly slower makes it clear that it was
10780 a mistake to have the external SHA-256 support enabled by
10783 Those who want it can now pass --enable-external-sha256 to
10784 configure. INSTALL was updated with notes about OSes where
10785 this can be a bad idea.
10787 The SHA-256 detection code in configure.ac had some bugs that
10788 could lead to a build failure in some situations. These were
10789 fixed, although it doesn't matter that much now that the
10790 external SHA-256 is disabled by default.
10792 MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
10793 in libc instead of libutil. Support for the libutil version
10796 INSTALL | 36 ++++++++++++++++++++++
10797 configure.ac | 76 +++++++++++++++++++++++------------------------
10798 src/liblzma/check/check.h | 16 ++++------
10799 3 files changed, 79 insertions(+), 49 deletions(-)
10801 commit 6fd5ecb589a9fdd7a576ea48c4850d496bab9ce5
10802 Author: Lasse Collin <lasse.collin@tukaani.org>
10803 Date: 2016-03-10 20:27:05 +0200
10808 1 file changed, 1 insertion(+)
10810 commit 473ef0dc69a30e64d5fa0d34aca02f7309faa3e9
10811 Author: Lasse Collin <lasse.collin@tukaani.org>
10812 Date: 2016-03-10 20:26:49 +0200
10814 Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
10816 On FreeBSD 10 and older, SHA256_Init from libmd conflicts
10817 with libcrypto from OpenSSL. The OpenSSL version has
10818 different sizeof(SHA256_CTX) and it can cause weird
10819 problems if wrong SHA256_Init gets used.
10821 Looking at the source, MINIX 3 seems to have a similar issue but
10822 I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
10824 NetBSD has SHA256_Init in libc and they had a similar problem,
10825 but they already fixed it in 2009.
10827 Thanks to Jim Wilcoxson for the bug report that helped
10828 in finding the problem.
10830 configure.ac | 27 +++++++++++++++++++++------
10831 1 file changed, 21 insertions(+), 6 deletions(-)
10833 commit faf302137e54d605b44ecf0373cb51a6403a2de1
10834 Author: Lasse Collin <lasse.collin@tukaani.org>
10835 Date: 2015-11-08 20:16:10 +0200
10837 tuklib_physmem: Hopefully silence a warning on Windows.
10839 src/common/tuklib_physmem.c | 3 ++-
10840 1 file changed, 2 insertions(+), 1 deletion(-)
10842 commit e52e9151cf8613022d1de4712ff39dbcb666e991
10843 Author: Lasse Collin <lasse.collin@tukaani.org>
10844 Date: 2015-11-04 23:17:43 +0200
10849 1 file changed, 1 insertion(+)
10851 commit 14115f84a38161d55eaa2d070f08739bde37e966
10852 Author: Lasse Collin <lasse.collin@tukaani.org>
10853 Date: 2015-11-04 23:14:00 +0200
10855 liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
10857 When optimizing, GCC can reorder code so that an uninitialized
10858 value gets used in a comparison, which makes Valgrind unhappy.
10859 It doesn't happen when compiled with -O0, which I tend to use
10860 when running Valgrind.
10862 Thanks to Rich Prohaska. I remember this being mentioned long
10863 ago by someone else but nothing was done back then.
10865 src/liblzma/lz/lz_encoder.c | 4 ++++
10866 1 file changed, 4 insertions(+)
10868 commit f4c95ba94beb71a608eb6eadbf82b44f53a0260e
10869 Author: Lasse Collin <lasse.collin@tukaani.org>
10870 Date: 2015-11-03 20:55:45 +0200
10872 liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
10874 It would be too annoying to update other build systems
10875 just because of this.
10877 src/liblzma/lzma/Makefile.inc | 2 +-
10878 src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
10879 2 files changed, 2 insertions(+), 2 deletions(-)
10881 commit c7bc20a6f3e71920871d48db31a79ab58b5a0a4b
10882 Author: Lasse Collin <lasse.collin@tukaani.org>
10883 Date: 2015-11-03 20:47:07 +0200
10885 Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
10887 They all need decoder support and if that isn't available,
10888 there's no point trying to build them.
10890 configure.ac | 3 +++
10891 1 file changed, 3 insertions(+)
10893 commit 5cbca1205deeb6fb7afe7a864fa68a57466d928a
10894 Author: Lasse Collin <lasse.collin@tukaani.org>
10895 Date: 2015-11-03 20:35:19 +0200
10897 Build: Simplify $enable_{encoders,decoders} usage a bit.
10899 configure.ac | 6 ++++--
10900 1 file changed, 4 insertions(+), 2 deletions(-)
10902 commit af13781886c8e7a0aabebb5141ea282dc364f5c6
10903 Author: Lasse Collin <lasse.collin@tukaani.org>
10904 Date: 2015-11-03 20:31:31 +0200
10906 Windows/MSVC: Update config.h.
10908 windows/config.h | 6 ++++++
10909 1 file changed, 6 insertions(+)
10911 commit 9fa5949330f162c5a2f6653f83025327837e8f39
10912 Author: Lasse Collin <lasse.collin@tukaani.org>
10913 Date: 2015-11-03 20:29:58 +0200
10915 DOS: Update config.h.
10917 dos/config.h | 6 ++++++
10918 1 file changed, 6 insertions(+)
10920 commit cb3111e3ed84152912b5138d690c8d9f00c6ef02
10921 Author: Lasse Collin <lasse.collin@tukaani.org>
10922 Date: 2015-11-03 20:29:33 +0200
10924 xz: Make xz buildable even when encoders or decoders are disabled.
10926 The patch is quite long but it's mostly about adding new #ifdefs
10927 to omit code when encoders or decoders have been disabled.
10929 This adds two new #defines to config.h: HAVE_ENCODERS and
10932 configure.ac | 4 ++++
10933 src/xz/Makefile.am | 8 ++++++--
10934 src/xz/args.c | 16 ++++++++++++++++
10935 src/xz/coder.c | 33 +++++++++++++++++++++++++--------
10936 src/xz/main.c | 9 +++++++--
10937 src/xz/private.h | 5 ++++-
10938 6 files changed, 62 insertions(+), 13 deletions(-)
10940 commit 4cc584985c0b7a13901da1b7a64ef9f7cc36e8ab
10941 Author: Lasse Collin <lasse.collin@tukaani.org>
10942 Date: 2015-11-03 18:06:40 +0200
10944 Build: Build LZMA1/2 presets also when only decoder is wanted.
10946 People shouldn't rely on the presets when decoding raw streams,
10947 but xz uses the presets as the starting point for raw decoder
10950 lzma_encocder_presets.c was renamed to lzma_presets.c to
10951 make it clear it's not used solely by the encoder code.
10953 src/liblzma/lzma/Makefile.inc | 6 +++++-
10954 src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
10955 2 files changed, 7 insertions(+), 2 deletions(-)
10957 commit 23ed1d41489f632155bbc9660f323d57e09da180
10958 Author: Lasse Collin <lasse.collin@tukaani.org>
10959 Date: 2015-11-03 17:54:48 +0200
10961 Build: Fix configure to handle LZMA1 dependency with LZMA2.
10963 Now it gives an error if LZMA1 encoder/decoder is missing
10964 when LZMA2 encoder/decoder was requested. Even better would
10965 be LZMA2 implicitly enabling LZMA1 but it would need more code.
10967 configure.ac | 5 -----
10968 1 file changed, 5 deletions(-)
10970 commit b0bc3e03852af13419ea2960881824258d451117
10971 Author: Lasse Collin <lasse.collin@tukaani.org>
10972 Date: 2015-11-03 17:41:54 +0200
10974 Build: Don't omit lzma_cputhreads() unless using --disable-threads.
10976 Previously it was omitted if encoders were disabled
10977 with --disable-encoders. It didn't make sense and
10978 it also broke the build.
10980 src/liblzma/common/Makefile.inc | 5 ++++-
10981 1 file changed, 4 insertions(+), 1 deletion(-)
10983 commit c6bf438ab39e0fb4a47d3c81725c227919502726
10984 Author: Lasse Collin <lasse.collin@tukaani.org>
10985 Date: 2015-11-02 18:16:51 +0200
10987 liblzma: Fix a build failure related to external SHA-256 support.
10989 If an appropriate header and structure were found by configure,
10990 but a library with a usable SHA-256 functions wasn't, the build
10993 src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
10994 1 file changed, 23 insertions(+), 9 deletions(-)
10996 commit e18adc56f2262aa9394d46681e9e4b9981ed5e97
10997 Author: Lasse Collin <lasse.collin@tukaani.org>
10998 Date: 2015-11-02 15:19:10 +0200
11000 xz: Always close the file before trying to delete it.
11002 unlink() can return EBUSY in errno for open files on some
11003 operating systems and file systems.
11005 src/xz/file_io.c | 25 ++++++++++++-------------
11006 1 file changed, 12 insertions(+), 13 deletions(-)
11008 commit 282e768a1484e88c8b7ec35655ee4959954ec87a
11009 Author: Lasse Collin <lasse.collin@tukaani.org>
11010 Date: 2015-10-12 21:08:42 +0300
11015 1 file changed, 1 insertion(+)
11017 commit 372e402713a1d4337ffce5f56d5c5c9ed99a66d0
11018 Author: Lasse Collin <lasse.collin@tukaani.org>
11019 Date: 2015-10-12 21:07:41 +0300
11021 Tests: Add tests for the two bugs fixed in index.c.
11023 tests/test_index.c | 30 ++++++++++++++++++++++++++++++
11024 1 file changed, 30 insertions(+)
11026 commit 21515d79d778b8730a434f151b07202d52a04611
11027 Author: Lasse Collin <lasse.collin@tukaani.org>
11028 Date: 2015-10-12 20:45:15 +0300
11030 liblzma: Fix lzma_index_dup() for empty Streams.
11032 Stream Flags and Stream Padding weren't copied from
11035 src/liblzma/common/index.c | 11 ++++++-----
11036 1 file changed, 6 insertions(+), 5 deletions(-)
11038 commit 09f395b6b360c0b13e8559eece1d179b908ebd3a
11039 Author: Lasse Collin <lasse.collin@tukaani.org>
11040 Date: 2015-10-12 20:31:44 +0300
11042 liblzma: Add a note to index.c for those using static analyzers.
11044 src/liblzma/common/index.c | 3 +++
11045 1 file changed, 3 insertions(+)
11047 commit 3bf857edfef51374f6f3fffae3d817f57d3264a0
11048 Author: Lasse Collin <lasse.collin@tukaani.org>
11049 Date: 2015-10-12 20:29:09 +0300
11051 liblzma: Fix a memory leak in error path of lzma_index_dup().
11053 lzma_index_dup() calls index_dup_stream() which, in case of
11054 an error, calls index_stream_end() to free memory allocated
11055 by index_stream_init(). However, it illogically didn't
11056 actually free the memory. To make it logical, the tree
11057 handling code was modified a bit in addition to changing
11058 index_stream_end().
11060 Thanks to Evan Nemerson for the bug report.
11062 src/liblzma/common/index.c | 18 +++++++++---------
11063 1 file changed, 9 insertions(+), 9 deletions(-)
11065 commit 7f05803979b4b79642d5be4218a79da7a0b12c47
11066 Author: Lasse Collin <lasse.collin@tukaani.org>
11067 Date: 2015-09-29 13:57:28 +0300
11069 Update NEWS for 5.2.2.
11071 NEWS | 18 ++++++++++++++++++
11072 1 file changed, 18 insertions(+)
11074 commit 397fcc0946315b55c3c6d80e37e82a2a78bc15c1
11075 Author: Hauke Henningsen <sqrt@entless.org>
11076 Date: 2015-08-17 04:59:54 +0200
11078 Update German translation, mostly wrt orthography
11080 Provide an update of the German translation.
11081 * A lot of compound words were previously written with spaces, while
11082 German orthography is relatively clear in that the components
11083 should not be separated.
11084 * When referring to the actual process of (de)compression rather than the
11085 concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
11086 Previously, both forms were used in this context and are now used in a
11087 manner consistent with “Komprimierung” being more likely to refer to
11089 * Consistently translate “standard input”/“output”
11090 * Use “Zeichen” instead of false friend “Charakter” for “character”
11091 * Insert commas around relative clauses (as required in German)
11092 * Some other minor corrections
11093 * Capitalize “ß” as “ẞ”
11094 * Consistently start option descriptions in --help with capital letters
11096 Acked-By: Andre Noll <maan@tuebingen.mpg.de>
11098 * Update after msgmerge
11100 po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
11101 1 file changed, 196 insertions(+), 187 deletions(-)
11103 commit cbc9e39bae715accb44168930a71888480aad569
11104 Author: Lasse Collin <lasse.collin@tukaani.org>
11105 Date: 2015-08-11 13:23:04 +0300
11107 Build: Minor Cygwin cleanup.
11109 Some tests used "cygwin*" and some used "cygwin". I changed
11110 them all to use "cygwin". Shouldn't affect anything in practice.
11112 configure.ac | 6 +++---
11113 1 file changed, 3 insertions(+), 3 deletions(-)
11115 commit bcacd8ce7a031566858e5e03c1009064c3f1c89e
11116 Author: Lasse Collin <lasse.collin@tukaani.org>
11117 Date: 2015-08-11 13:21:52 +0300
11119 Build: Support building of MSYS2 binaries.
11121 configure.ac | 16 +++++++++++-----
11122 1 file changed, 11 insertions(+), 5 deletions(-)
11124 commit 0275a5398c01d57b724dec7fea52dec3bd6edc6c
11125 Author: Lasse Collin <lasse.collin@tukaani.org>
11126 Date: 2015-08-09 21:06:26 +0300
11128 Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
11130 src/liblzma/common/common.h uses it to set __declspec(dllexport)
11131 for the API symbols.
11133 Thanks to Adam Walling.
11135 windows/liblzma_dll.vcxproj | 12 ++++++------
11136 1 file changed, 6 insertions(+), 6 deletions(-)
11138 commit a74525cf9b945fb0b370e64cf406104beb31729b
11139 Author: Lasse Collin <lasse.collin@tukaani.org>
11140 Date: 2015-08-09 21:02:20 +0300
11142 Windows: Omit unneeded header files from MSVC project files.
11144 windows/liblzma.vcxproj | 5 -----
11145 windows/liblzma_dll.vcxproj | 5 -----
11146 2 files changed, 10 deletions(-)
11148 commit fbbb295a91caf39faf8838c8c39526e4cb4dc121
11149 Author: Lasse Collin <lasse.collin@tukaani.org>
11150 Date: 2015-07-12 20:48:19 +0300
11152 liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.
11154 src/liblzma/api/lzma.h | 18 +++++++++++++-----
11155 1 file changed, 13 insertions(+), 5 deletions(-)
11157 commit 713dbe5c230fe00865a54f5c32358ea30f9a1156
11158 Author: Lasse Collin <lasse.collin@tukaani.org>
11159 Date: 2015-06-19 20:38:55 +0300
11164 1 file changed, 2 insertions(+)
11166 commit 3a5d755d055d51f99c523b4c2952727e1e69cfa1
11167 Author: Lasse Collin <lasse.collin@tukaani.org>
11168 Date: 2015-06-19 20:21:30 +0300
11170 Windows: Update the docs.
11172 INSTALL | 29 ++++++++-----
11173 windows/INSTALL-MSVC.txt | 47 ++++++++++++++++++++++
11174 windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} | 2 +-
11175 3 files changed, 67 insertions(+), 11 deletions(-)
11177 commit b0798c6aa6184efcefd0bdcca20f96121a13feda
11178 Author: Lasse Collin <lasse.collin@tukaani.org>
11179 Date: 2015-06-19 17:25:31 +0300
11181 Windows: Add MSVC project files for building liblzma.
11183 Thanks to Adam Walling for creating these files.
11185 windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++
11186 windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
11187 windows/xz_win.sln | 48 ++++++
11188 3 files changed, 795 insertions(+)
11190 commit 9b02a4ffdac1b9f066658ec4c95c0834f4cd2fb7
11191 Author: Andre Noll <maan@tuebingen.mpg.de>
11192 Date: 2015-05-28 15:50:00 +0200
11194 Fix typo in German translation.
11196 As pointed out by Robert Pollak, there's a typo in the German
11197 translation of the compression preset option (-0 ... -9) help text.
11198 "The compressor" translates to "der Komprimierer", and the genitive
11199 form is "des Komprimierers". The old word makes no sense at all.
11202 1 file changed, 1 insertion(+), 1 deletion(-)
11204 commit c7f4041f6b8f4729f88d3bc888b2a4080ae51f72
11205 Author: Lasse Collin <lasse.collin@tukaani.org>
11206 Date: 2015-05-13 20:57:55 +0300
11208 Tests: Fix a memory leak in test_bcj_exact_size.
11210 Thanks to Cristian Rodríguez.
11212 tests/test_bcj_exact_size.c | 1 +
11213 1 file changed, 1 insertion(+)
11215 commit 17b29d4f0ae0f780fbd69e15a398dc478d8492f8
11216 Author: Lasse Collin <lasse.collin@tukaani.org>
11217 Date: 2015-05-12 18:08:24 +0300
11219 Fix NEWS about threading in 5.2.0.
11221 Thanks to Andy Hochhaus.
11224 1 file changed, 2 insertions(+), 1 deletion(-)
11226 commit 49c26920d6e2d85e5c6123e34958aed2e77485ad
11227 Author: Lasse Collin <lasse.collin@tukaani.org>
11228 Date: 2015-05-11 21:26:16 +0300
11230 xz: Document that threaded decompression hasn't been implemented yet.
11232 src/xz/xz.1 | 10 +++++++++-
11233 1 file changed, 9 insertions(+), 1 deletion(-)
11235 commit 5b2458cb244ed237efe4de1ebcf06e1b3a1f4256
11236 Author: Lasse Collin <lasse.collin@tukaani.org>
11237 Date: 2015-04-20 20:20:29 +0300
11242 1 file changed, 1 insertion(+)
11244 commit 6bd0349c58451b13442e8f463e35de83548bf985
11245 Author: Lasse Collin <lasse.collin@tukaani.org>
11246 Date: 2015-04-20 19:59:18 +0300
11248 Revert "xz: Use pipe2() if available."
11250 This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
11251 It is a problem when libc has pipe2() but the kernel is too
11252 old to have pipe2() and thus pipe2() fails. In xz it's pointless
11253 to have a fallback for non-functioning pipe2(); it's better to
11254 avoid pipe2() completely.
11256 Thanks to Michael Fox for the bug report.
11258 configure.ac | 4 ++--
11259 src/xz/file_io.c | 9 +--------
11260 2 files changed, 3 insertions(+), 10 deletions(-)
11262 commit fc0df0f8db87dff45543708a711e17d29c37f632
11263 Author: Lasse Collin <lasse.collin@tukaani.org>
11264 Date: 2015-04-01 14:45:25 +0300
11266 xz: Fix the Capsicum rights on user_abort_pipe.
11268 src/xz/file_io.c | 6 +++++-
11269 1 file changed, 5 insertions(+), 1 deletion(-)
11271 commit 57393615b31b3788dd77280452d845bcc12d33af
11272 Author: Lasse Collin <lasse.collin@tukaani.org>
11273 Date: 2015-03-31 22:20:11 +0300
11278 1 file changed, 1 insertion(+)
11280 commit 1238381143a9a7ce84839c2582ccd56ff750a440
11281 Author: Lasse Collin <lasse.collin@tukaani.org>
11282 Date: 2015-03-31 22:19:34 +0300
11284 xz: Add support for sandboxing with Capsicum.
11286 The sandboxing is used conditionally as described in main.c.
11287 This isn't optimal but it was much easier to implement than
11288 a full sandboxing solution and it still covers the most common
11289 use cases where xz is writing to standard output. This should
11290 have practically no effect on performance even with small files
11291 as fork() isn't needed.
11293 C and locale libraries can open files as needed. This has been
11294 fine in the past, but it's a problem with things like Capsicum.
11295 io_sandbox_enter() tries to ensure that various locale-related
11296 files have been loaded before cap_enter() is called, but it's
11297 possible that there are other similar problems which haven't
11300 Currently Capsicum is available on FreeBSD 10 and later
11301 and there is a port to Linux too.
11303 Thanks to Loganaden Velvindron for help.
11305 configure.ac | 41 +++++++++++++++++++++++++++
11306 src/xz/Makefile.am | 2 +-
11307 src/xz/file_io.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
11308 src/xz/file_io.h | 6 ++++
11309 src/xz/main.c | 18 ++++++++++++
11310 src/xz/private.h | 4 +++
11311 6 files changed, 151 insertions(+), 1 deletion(-)
11313 commit 29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e
11314 Author: Lasse Collin <lasse.collin@tukaani.org>
11315 Date: 2015-03-31 21:12:30 +0300
11317 Fix bugs and otherwise improve ax_check_capsicum.m4.
11319 AU_ALIAS was removed because the new version is incompatible
11320 with the old version.
11322 It no longer checks for <sys/capability.h> separately.
11323 It's enough to test for it as part of AC_CHECK_DECL.
11324 The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
11325 HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
11326 HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
11328 It no longer does a useless search for the Capsicum library
11329 if the header wasn't found.
11331 Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
11332 the argument omitted the default action but the given action
11333 wasn't used instead.
11335 AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
11336 support is found. Previously it was part of the default
11337 ACTION-IF-FOUND which a custom action would override. Now
11338 the default action only prepends ${CAPSICUM_LIB} to LIBS.
11340 The documentation was updated.
11342 Since there as no serial number, "#serial 2" was added.
11344 m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
11345 1 file changed, 51 insertions(+), 52 deletions(-)
11347 commit 6e845c6a3eddf2fde9db5a29950421dff60a43ac
11348 Author: Lasse Collin <lasse.collin@tukaani.org>
11349 Date: 2015-03-31 19:20:24 +0300
11351 Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
11353 The file was loaded from this web page:
11354 https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
11356 Thanks to Loganaden Velvindron for pointing it out for me.
11358 m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
11359 1 file changed, 86 insertions(+)
11361 commit 3717885f9ef2c06f1bcbad9f4c2ed2d5695f844e
11362 Author: Lasse Collin <lasse.collin@tukaani.org>
11363 Date: 2015-03-30 22:44:02 +0300
11365 Bump version to 5.3.0alpha and soname to 5.3.99.
11367 The idea of 99 is that it looks a bit weird in this context.
11368 For new features there's no API/ABI stability in devel versions.
11370 src/liblzma/Makefile.am | 2 +-
11371 src/liblzma/api/lzma/version.h | 6 +++---
11372 2 files changed, 4 insertions(+), 4 deletions(-)
11374 commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
11375 Author: Lasse Collin <lasse.collin@tukaani.org>
11376 Date: 2015-03-29 22:14:47 +0300
11381 1 file changed, 1 insertion(+)
11383 commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
11384 Author: Lasse Collin <lasse.collin@tukaani.org>
11385 Date: 2015-03-29 22:13:48 +0300
11387 Fix the detection of installed RAM on QNX.
11389 The earlier version compiled but didn't actually work
11390 since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
11392 Thanks to Ole André Vadla Ravnås for the patch and testing.
11394 m4/tuklib_physmem.m4 | 6 +++---
11395 src/common/tuklib_physmem.c | 14 +++++++++++++-
11396 2 files changed, 16 insertions(+), 4 deletions(-)
11398 commit 4c544d2410903d38402221cb783ed85585b6a007
11399 Author: Lasse Collin <lasse.collin@tukaani.org>
11400 Date: 2015-03-27 22:39:07 +0200
11402 Fix CPU core count detection on QNX.
11404 It tried to use sysctl() on QNX but
11405 - it broke the build because sysctl() needs -lsocket on QNX;
11406 - sysctl() doesn't work for detecting the core count on QNX
11407 even if it compiled.
11409 sysconf() works. An alternative would have been to use
11410 QNX-specific SYSPAGE_ENTRY(num_cpu) from <sys/syspage.h>.
11412 Thanks to Ole André Vadla Ravnås.
11414 m4/tuklib_cpucores.m4 | 15 +++++++++++----
11415 1 file changed, 11 insertions(+), 4 deletions(-)
11417 commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
11418 Author: Lasse Collin <lasse.collin@tukaani.org>
11419 Date: 2015-03-07 22:05:57 +0200
11421 xz: size_t/uint32_t cleanup in options.c.
11423 src/xz/options.c | 12 ++++++------
11424 1 file changed, 6 insertions(+), 6 deletions(-)
11426 commit 8bcca29a65335fd679c13814b70b35b68fa5daed
11427 Author: Lasse Collin <lasse.collin@tukaani.org>
11428 Date: 2015-03-07 22:04:23 +0200
11430 xz: Fix a comment and silence a warning in message.c.
11432 src/xz/message.c | 5 +++--
11433 1 file changed, 3 insertions(+), 2 deletions(-)
11435 commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
11436 Author: Lasse Collin <lasse.collin@tukaani.org>
11437 Date: 2015-03-07 22:01:00 +0200
11439 liblzma: Silence more uint32_t vs. size_t warnings.
11441 src/liblzma/lz/lz_encoder.c | 2 +-
11442 src/liblzma/lzma/lzma_encoder.c | 2 +-
11443 2 files changed, 2 insertions(+), 2 deletions(-)
11445 commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
11446 Author: Lasse Collin <lasse.collin@tukaani.org>
11447 Date: 2015-03-07 19:54:00 +0200
11449 xz: Make arg_count an unsigned int to silence a warning.
11451 Actually the value of arg_count cannot exceed INT_MAX
11452 but it's nicer as an unsigned int.
11454 src/xz/args.h | 2 +-
11455 src/xz/main.c | 2 +-
11456 2 files changed, 2 insertions(+), 2 deletions(-)
11458 commit f6ec46801588b1be29c07c9db98558b521304002
11459 Author: Lasse Collin <lasse.collin@tukaani.org>
11460 Date: 2015-03-07 19:33:17 +0200
11462 liblzma: Fix a warning in index.c.
11464 src/liblzma/common/index.c | 4 +++-
11465 1 file changed, 3 insertions(+), 1 deletion(-)
11467 commit a24518971cc621315af142dd3bb7614fab04ad27
11468 Author: Lasse Collin <lasse.collin@tukaani.org>
11469 Date: 2015-02-26 20:46:14 +0200
11471 Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.
11473 build-aux/version.sh | 2 +-
11474 1 file changed, 1 insertion(+), 1 deletion(-)
11476 commit dec11497a71518423b5ff0e759100cf8aadf6c7b
11477 Author: Lasse Collin <lasse.collin@tukaani.org>
11478 Date: 2015-02-26 16:53:44 +0200
11480 Bump version and soname for 5.2.1.
11482 src/liblzma/Makefile.am | 2 +-
11483 src/liblzma/api/lzma/version.h | 2 +-
11484 2 files changed, 2 insertions(+), 2 deletions(-)
11486 commit 29e39c79975ab89ee5dd671e97064534a9f3a649
11487 Author: Lasse Collin <lasse.collin@tukaani.org>
11488 Date: 2015-02-26 13:01:09 +0200
11490 Update NEWS for 5.2.1.
11492 NEWS | 14 ++++++++++++++
11493 1 file changed, 14 insertions(+)
11495 commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
11496 Author: Lasse Collin <lasse.collin@tukaani.org>
11497 Date: 2015-02-22 19:38:48 +0200
11499 xz: Use pipe2() if available.
11501 configure.ac | 4 ++--
11502 src/xz/file_io.c | 9 ++++++++-
11503 2 files changed, 10 insertions(+), 3 deletions(-)
11505 commit 117d962685c72682c63edc9bb765367189800202
11506 Author: Lasse Collin <lasse.collin@tukaani.org>
11507 Date: 2015-02-21 23:40:26 +0200
11509 liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
11511 The bug was added in the commit
11512 f48fce093b07aeda95c18850f5e086d9f2383380 and thus
11513 affected 5.1.4beta and 5.2.0. Luckily the bug cannot
11514 cause data corruption or other nasty things.
11516 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
11517 1 file changed, 1 insertion(+), 1 deletion(-)
11519 commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
11520 Author: Lasse Collin <lasse.collin@tukaani.org>
11521 Date: 2015-02-21 23:00:19 +0200
11523 xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
11525 Now it reads the old flags instead of blindly setting O_NONBLOCK.
11526 The old code may have worked correctly, but this is better.
11528 src/xz/file_io.c | 16 +++++++++++-----
11529 1 file changed, 11 insertions(+), 5 deletions(-)
11531 commit 2205bb5853098aea36a56df6f5747037175f66b4
11532 Author: Lasse Collin <lasse.collin@tukaani.org>
11533 Date: 2015-02-10 15:29:34 +0200
11538 1 file changed, 1 insertion(+)
11540 commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
11541 Author: Lasse Collin <lasse.collin@tukaani.org>
11542 Date: 2015-02-10 15:28:30 +0200
11544 tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
11546 In FreeBSD, cpuset_getaffinity() is the preferred way to get
11547 the number of available cores.
11549 Thanks to Rui Paulo for the patch. I edited it slightly, but
11550 hopefully I didn't break anything.
11552 m4/tuklib_cpucores.m4 | 23 ++++++++++++++++++++++-
11553 src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
11554 2 files changed, 40 insertions(+), 1 deletion(-)
11556 commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
11557 Author: Lasse Collin <lasse.collin@tukaani.org>
11558 Date: 2015-02-09 22:08:37 +0200
11560 xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
11562 Thanks to Rui Paulo for the fix.
11564 src/scripts/xzdiff.in | 7 ++++++-
11565 1 file changed, 6 insertions(+), 1 deletion(-)
11567 commit b9a5b6b7a29029680af733082b6a46e0fc01623a
11568 Author: Lasse Collin <lasse.collin@tukaani.org>
11569 Date: 2015-02-03 21:45:53 +0200
11571 Add a few casts to tuklib_integer.h to silence possible warnings.
11573 I heard that Visual Studio 2013 gave warnings without the casts.
11575 Thanks to Gabi Davar.
11577 src/common/tuklib_integer.h | 24 ++++++++++++------------
11578 1 file changed, 12 insertions(+), 12 deletions(-)
11580 commit c45757135f40e4a0de730ba5fff0100219493982
11581 Author: Lasse Collin <lasse.collin@tukaani.org>
11582 Date: 2015-01-26 21:24:39 +0200
11584 liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.
11586 src/liblzma/common/memcmplen.h | 15 ++++++++++-----
11587 1 file changed, 10 insertions(+), 5 deletions(-)
11589 commit 3c500174ed5485f550972a2a6109c361e875f069
11590 Author: Lasse Collin <lasse.collin@tukaani.org>
11591 Date: 2015-01-26 20:40:16 +0200
11596 1 file changed, 1 insertion(+)
11598 commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
11599 Author: Lasse Collin <lasse.collin@tukaani.org>
11600 Date: 2015-01-26 20:39:28 +0200
11602 liblzma: Silence harmless Valgrind errors.
11604 Thanks to Torsten Rupp for reporting this. I had
11605 forgotten to run Valgrind before the 5.2.0 release.
11607 src/liblzma/lz/lz_encoder.c | 6 ++++++
11608 1 file changed, 6 insertions(+)
11610 commit a9b45badfec0928d20a27c7176c005fa637f7d1e
11611 Author: Lasse Collin <lasse.collin@tukaani.org>
11612 Date: 2015-01-09 21:50:19 +0200
11616 src/xz/file_io.c | 12 ++++++++----
11617 1 file changed, 8 insertions(+), 4 deletions(-)
11619 commit 541aee6dd4aa97a809aba281475a21b641bb89e2
11620 Author: Lasse Collin <lasse.collin@tukaani.org>
11621 Date: 2015-01-09 21:35:06 +0200
11626 1 file changed, 1 insertion(+)
11628 commit 4170edc914655310d2363baccf5e615e09b04911
11629 Author: Lasse Collin <lasse.collin@tukaani.org>
11630 Date: 2015-01-09 21:34:06 +0200
11632 xz: Don't fail if stdout doesn't support O_NONBLOCK.
11634 This is similar to the case with stdin.
11636 Thanks to Brad Smith for the bug report and testing
11639 src/xz/file_io.c | 36 +++++++++++++++---------------------
11640 1 file changed, 15 insertions(+), 21 deletions(-)
11642 commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
11643 Author: Lasse Collin <lasse.collin@tukaani.org>
11644 Date: 2015-01-07 19:18:20 +0200
11646 xz: Fix a memory leak in DOS-specific code.
11648 src/xz/file_io.c | 2 ++
11649 1 file changed, 2 insertions(+)
11651 commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
11652 Author: Lasse Collin <lasse.collin@tukaani.org>
11653 Date: 2015-01-07 19:08:06 +0200
11655 xz: Don't fail if stdin doesn't support O_NONBLOCK.
11657 It's a problem at least on OpenBSD which doesn't support
11658 O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
11659 a problem on other OSes too since this behavior is allowed
11662 The code relying on this behavior was committed in June 2013
11663 and included in 5.1.3alpha released on 2013-10-26. Clearly
11664 the development releases only get limited testing.
11666 src/xz/file_io.c | 18 +++++++-----------
11667 1 file changed, 7 insertions(+), 11 deletions(-)
11669 commit d2d484647d9d9d679f03c75abb0404f67069271c
11670 Author: Lasse Collin <lasse.collin@tukaani.org>
11671 Date: 2015-01-06 20:30:15 +0200
11673 Tests: Don't hide unexpected error messages in test_files.sh.
11675 Hiding them makes no sense since normally there's no error
11676 when testing the "good" files. With "bad" files errors are
11677 expected and then it makes sense to keep the messages hidden.
11679 tests/test_files.sh | 4 ++--
11680 1 file changed, 2 insertions(+), 2 deletions(-)
11682 commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
11683 Author: Lasse Collin <lasse.collin@tukaani.org>
11684 Date: 2014-12-30 11:17:16 +0200
11686 Update Solaris notes in INSTALL.
11688 Mention the possible "make check" failure on Solaris in the
11689 Solaris-specific section of INSTALL. It was already in
11690 section 4.5 but it is better mention it in the OS-specific
11694 1 file changed, 4 insertions(+)
11696 commit 7815112153178800a3521b9f31960e7cdc26cfba
11697 Author: Lasse Collin <lasse.collin@tukaani.org>
11698 Date: 2014-12-26 12:00:05 +0200
11700 Build: POSIX shell isn't required if scripts are disabled.
11703 configure.ac | 2 +-
11704 2 files changed, 3 insertions(+), 2 deletions(-)
11706 commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
11707 Author: Lasse Collin <lasse.collin@tukaani.org>
11708 Date: 2014-12-21 20:48:37 +0200
11710 DOS: Update Makefile.
11713 1 file changed, 1 insertion(+)
11715 commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
11716 Author: Lasse Collin <lasse.collin@tukaani.org>
11717 Date: 2014-12-21 19:50:38 +0200
11719 Windows: Fix bin_i486 to bin_i686 in build.bash.
11721 windows/build.bash | 2 +-
11722 1 file changed, 1 insertion(+), 1 deletion(-)
11724 commit cbafa710918195dbba3db02c3fab4f0538235206
11725 Author: Lasse Collin <lasse.collin@tukaani.org>
11726 Date: 2014-12-21 18:58:44 +0200
11728 Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.
11730 doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
11731 1 file changed, 26 insertions(+), 4 deletions(-)
11733 commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
11734 Author: Lasse Collin <lasse.collin@tukaani.org>
11735 Date: 2014-12-21 18:56:44 +0200
11737 Docs: Update docs/examples/00_README.txt.
11739 doc/examples/00_README.txt | 4 ++++
11740 1 file changed, 4 insertions(+)
11742 commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
11743 Author: Lasse Collin <lasse.collin@tukaani.org>
11744 Date: 2014-12-21 18:11:17 +0200
11746 Bump version and soname for 5.2.0.
11748 I know that soname != app version, but I skip AGE=1
11749 in -version-info to make the soname match the liblzma
11750 version anyway. It doesn't hurt anything as long as
11751 it doesn't conflict with library versioning rules.
11753 src/liblzma/Makefile.am | 2 +-
11754 src/liblzma/api/lzma/version.h | 6 +++---
11755 src/liblzma/liblzma.map | 2 +-
11756 3 files changed, 5 insertions(+), 5 deletions(-)