1commit 9331ce4009ddc839f5191d234cc41b2d4797376d 2Author: Lasse Collin <lasse.collin@tukaani.org> 3Date: 2024-10-01 12:21:22 +0300 4 5 Bump version and soname for 5.6.3 6 7 src/liblzma/Makefile.am | 2 +- 8 src/liblzma/api/lzma/version.h | 2 +- 9 2 files changed, 2 insertions(+), 2 deletions(-) 10 11commit f52857ffde768058db0e0e13f68a2660ca9f1330 12Author: Lasse Collin <lasse.collin@tukaani.org> 13Date: 2024-10-01 12:17:39 +0300 14 15 Add NEWS for 5.6.3 16 17 NEWS | 125 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18 1 file changed, 125 insertions(+) 19 20commit b8f52990b5d47a50902bf33cd2305ce985457bac 21Author: Lasse Collin <lasse.collin@tukaani.org> 22Date: 2024-10-01 12:10:23 +0300 23 24 Update THANKS 25 26 (cherry picked from commit 1ebbe915d4e0d877154261b5f8103719a6722975) 27 28 THANKS | 2 ++ 29 1 file changed, 2 insertions(+) 30 31commit 51f6f455873911894f155e6997bc23a9be8f42ba 32Author: Lasse Collin <lasse.collin@tukaani.org> 33Date: 2024-10-01 12:10:23 +0300 34 35 Tests/Windows: Add the application manifest to the test programs 36 37 This ensures that the test programs get executed the same way as 38 the binaries that are installed. 39 40 (cherry picked from commit 74702ee00ecfd080d8ab11118cd25dbe6c437ec0) 41 42 CMakeLists.txt | 14 ++++++++++---- 43 tests/Makefile.am | 10 ++++++++++ 44 tests/tests.cmake | 33 ++++++++++++++++++++++++++++++++- 45 tests/tests_w32res.rc | 18 ++++++++++++++++++ 46 4 files changed, 70 insertions(+), 5 deletions(-) 47 48commit bf518b9ba446327a062ddfe67e7e0a5baed2394f 49Author: Lasse Collin <lasse.collin@tukaani.org> 50Date: 2024-10-01 12:10:23 +0300 51 52 Windows: Embed an application manifest in the EXE files 53 54 IMPORTANT: This includes a security fix to command line tool 55 argument handling. 56 57 Some toolchains embed an application manifest by default to declare 58 UAC-compliance. Some also declare compatibility with Vista/8/8.1/10/11 59 to let the app access features newer than those of Vista. 60 61 We want all the above but also two more things: 62 63 - Declare that the app is long path aware to support paths longer 64 than 259 characters (this may also require a registry change). 65 66 - Force the code page to UTF-8. This allows the command line tools 67 to access files whose names contain characters that don't exist 68 in the current legacy code page (except unpaired surrogates). 69 The UTF-8 code page also fixes security issues in command line 70 argument handling which can be exploited with malicious filenames. 71 See the new file w32_application.manifest.comments.txt. 72 73 Thanks to Orange Tsai and splitline from DEVCORE Research Team 74 for discovering this issue. 75 76 Thanks to Vijay Sarvepalli for reporting the issue to me. 77 78 Thanks to Kelvin Lee for testing with MSVC and helping with 79 the required build system fixes. 80 81 (cherry picked from commit 46ee0061629fb075d61d83839e14dd193337af59) 82 83 CMakeLists.txt | 18 +++ 84 src/Makefile.am | 4 +- 85 src/common/common_w32res.rc | 5 + 86 src/common/w32_application.manifest | 28 ++++ 87 src/common/w32_application.manifest.comments.txt | 178 +++++++++++++++++++++++ 88 5 files changed, 232 insertions(+), 1 deletion(-) 89 90commit 5718ce932e6ad4262d5fffc9e2a7a838f963d7e5 91Author: Lasse Collin <lasse.collin@tukaani.org> 92Date: 2024-09-29 14:46:52 +0300 93 94 Windows: Set DLL name accurately in StringFileInfo on Cygwin and MSYS2 95 96 Now the information in the "Details" tab in the file properties 97 dialog matches the naming convention of Cygwin and MSYS2. This 98 is only a cosmetic change. 99 100 (cherry picked from commit dad153091552b52a41b95ec4981c6951f1cae487) 101 102 src/liblzma/liblzma_w32res.rc | 10 +++++++++- 103 1 file changed, 9 insertions(+), 1 deletion(-) 104 105commit e77c0ca61d12ebac433b7661840cb18d7031700a 106Author: Lasse Collin <lasse.collin@tukaani.org> 107Date: 2024-09-25 15:47:55 +0300 108 109 common_w32res.rc: White space edits 110 111 LANGUAGE and VS_VERSION_INFO begin new statements so put an empty line 112 between them. 113 114 (cherry picked from commit 8940ecb96fe9f0f2a9cfb8b66fe9ed31ffbea904) 115 116 src/common/common_w32res.rc | 15 ++++++++------- 117 1 file changed, 8 insertions(+), 7 deletions(-) 118 119commit e0ba0f26d9f3f53cedc92fb13303924c39d00392 120Author: Lasse Collin <lasse.collin@tukaani.org> 121Date: 2024-09-28 20:09:50 +0300 122 123 CMake: Add the resource files to the Cygwin and MSYS2 builds 124 125 Autotools-based build has always done this so this is for consistency. 126 127 However, the CMake build won't create the DEF file when building 128 for Cygwin or MSYS2 because in that context it should be useless. 129 (If Cygwin or MSYS2 is used to host building of normal Windows 130 binaries then the DEF file is still created.) 131 132 (cherry picked from commit c3b9dad07d3fd9319f88386b7095019bcea45ce1) 133 134 CMakeLists.txt | 16 ++++++++++------ 135 1 file changed, 10 insertions(+), 6 deletions(-) 136 137commit 69637d0c323c0d7d9619cff637c7ce97dabc4f02 138Author: Lasse Collin <lasse.collin@tukaani.org> 139Date: 2024-09-28 15:19:14 +0300 140 141 CMake: Fix Windows resource file dependencies 142 143 If common_w32res.rc is modified, the resource files need to be rebuilt. 144 In contrast, the liblzma*.map files truly are link dependencies. 145 146 (cherry picked from commit da4f275bd1c18b897e5c2dd0043546de3accce0a) 147 148 CMakeLists.txt | 17 +++++++++-------- 149 1 file changed, 9 insertions(+), 8 deletions(-) 150 151commit af8533459c60d7bc5b55f2f516251af4572169e4 152Author: Lasse Collin <lasse.collin@tukaani.org> 153Date: 2024-09-29 01:20:03 +0300 154 155 CMake: Checking for CYGWIN covers MSYS2 too 156 157 On MSYS2, both CYGWIN and MSYS are set. 158 159 (cherry picked from commit 1c673c0aac7f7dee8dda2c1140351c8417a71e47) 160 161 CMakeLists.txt | 2 +- 162 1 file changed, 1 insertion(+), 1 deletion(-) 163 164commit eca08e4c204db404911e513f95110dcb0fb919bd 165Author: Lasse Collin <lasse.collin@tukaani.org> 166Date: 2024-09-28 09:37:30 +0300 167 168 Translations: Add the SPDX license identifier to pt_BR.po 169 170 (cherry picked from commit 6aaa0173b839e28429d43a8b62d257ad2f3b4521) 171 172 po/pt_BR.po | 2 ++ 173 1 file changed, 2 insertions(+) 174 175commit 85801c96c32456300177fbbad1506b07f5dd0a47 176Author: Lasse Collin <lasse.collin@tukaani.org> 177Date: 2024-09-25 16:41:37 +0300 178 179 Windows/CMake: Use the correct resource file for lzmadec.exe 180 181 CMakeLists.txt was using xzdec_w32res.rc for both xzdec and lzmadec. 182 183 Fixes: 998d0b29536094a89cf385a3b894e157db1ccefe 184 (cherry picked from commit dc7b9f24b737e4e55bcbbdde6754883f991c2cfb) 185 186 CMakeLists.txt | 2 +- 187 1 file changed, 1 insertion(+), 1 deletion(-) 188 189commit a341d19c835a8c10fcf561b00b548c53af43381e 190Author: Lasse Collin <lasse.collin@tukaani.org> 191Date: 2024-09-25 21:29:59 +0300 192 193 Translations: Update the Brazilian Portuguese translation 194 195 (cherry picked from commit b834ae5f80911a3819d6cdb484f61b257174c544) 196 197 po/pt_BR.po | 144 ++++++++++++++++++++++-------------------------------------- 198 1 file changed, 53 insertions(+), 91 deletions(-) 199 200commit e69c0b9b2e00ade984393ef9cabac57342072328 201Author: Lasse Collin <lasse.collin@tukaani.org> 202Date: 2024-09-17 01:21:15 +0300 203 204 Update THANKS 205 206 (cherry picked from commit eceb023d4c129fd63ee881a2d8696eaf52ad1532) 207 208 THANKS | 1 + 209 1 file changed, 1 insertion(+) 210 211commit aef9a25b3200457c16846b046222fb2c7967afe0 212Author: Tobias Stoeckmann <tobias@stoeckmann.org> 213Date: 2024-09-16 23:19:46 +0200 214 215 lzmainfo: Avoid integer overflow 216 217 The MB output can overflow with huge numbers. Most likely these are 218 invalid .lzma files anyway, but let's avoid garbage output. 219 220 lzmadec was adapted from LZMA Utils. The original code with this bug 221 was written in 2005, over 19 years ago. 222 223 Co-authored-by: Lasse Collin <lasse.collin@tukaani.org> 224 Closes: https://github.com/tukaani-project/xz/pull/144 225 (cherry picked from commit 76cfd0a9bb33ae8e534b1f73f6359dc825589f2f) 226 227 src/lzmainfo/lzmainfo.c | 5 ++--- 228 1 file changed, 2 insertions(+), 3 deletions(-) 229 230commit 40a7f163f56aca6b3c8b83e9382f5e5cb4f8e93b 231Author: Tobias Stoeckmann <tobias@stoeckmann.org> 232Date: 2024-09-16 22:04:40 +0200 233 234 xzdec: Remove unused short option -M 235 236 "xzdec -M123" exited with exit status 1 without printing 237 any messages. The "M:" entry should have been removed when 238 the memory usage limiter support was removed from xzdec. 239 240 Fixes: 792331bdee706aa852a78b171040ebf814c6f3ae 241 Closes: https://github.com/tukaani-project/xz/pull/143 242 [ Lasse: Commit message edits ] 243 244 (cherry picked from commit 78355aebb7fb654302e5e33692ba109909dacaff) 245 246 src/xzdec/xzdec.c | 2 +- 247 1 file changed, 1 insertion(+), 1 deletion(-) 248 249commit c98714a57058ac381365c2ff1e1d1cd63a5742c4 250Author: Lasse Collin <lasse.collin@tukaani.org> 251Date: 2024-09-10 13:54:47 +0300 252 253 Update THANKS 254 255 (cherry picked from commit e5758db7bd75587a2499e0771907521a4aa86908) 256 257 THANKS | 1 + 258 1 file changed, 1 insertion(+) 259 260commit 4ed449517817b3659b35d19f39703e3c460f46c2 261Author: Firas Khalil Khana <firasuke@gmail.com> 262Date: 2024-09-10 12:30:32 +0300 263 264 Build: Fix a typo in autogen.sh 265 266 Fixes: e9be74f5b129fe8a5388d588e68b1b7f5168a310 267 Closes: https://github.com/tukaani-project/xz/pull/141 268 (cherry picked from commit 80ffa38f56657257ed4d90d76f6bd2f2bcb8163c) 269 270 autogen.sh | 2 +- 271 1 file changed, 1 insertion(+), 1 deletion(-) 272 273commit 3b83577a1547e72cb78a905ad3d308a799ded485 274Author: Lasse Collin <lasse.collin@tukaani.org> 275Date: 2024-09-02 20:08:40 +0300 276 277 Translations: Update Chinese (simplified) translation 278 279 Differences to the zh_CN.po file from the Translation Project: 280 281 - Two uses of \v were fixed. 282 283 - Missing "OPTS" translation in --riscv[=OPTS] was copied from 284 previous lines. 285 286 - "make update-po" was run to remove line numbers from comments. 287 288 (cherry picked from commit 68c54e45d042add64a4cb44bfc87ca74d29b87e2) 289 290 po/zh_CN.po | 102 ++++++++++++++++++++++++------------------------------------ 291 1 file changed, 40 insertions(+), 62 deletions(-) 292 293commit 06f4c7edda0387eb6a2d6303804b59dcf4d3db1f 294Author: Lasse Collin <lasse.collin@tukaani.org> 295Date: 2024-09-02 19:40:50 +0300 296 297 Translations: Update the Catalan translation 298 299 Differences to the ca.po file from the Translation Project: 300 301 - An overlong line translating --filters-help was wrapped. 302 303 - "make update-po" was used to remove line numbers from the comments 304 to match the changes in fccebe2b4fd513488fc920e4dac32562ed3c7637 305 and 093490b58271e9424ce38a7b1b38bcf61b9c86c6. xz.pot in the TP 306 is older than these commits. 307 308 (cherry picked from commit 2230692aa1bcebb586100183831e3daf1714d60a) 309 310 po/ca.po | 171 ++++++++++++++++++++++++++------------------------------------- 311 1 file changed, 69 insertions(+), 102 deletions(-) 312 313commit 406cb5b669e47c0e45c98f1afb7be998084a93d0 314Author: Lasse Collin <lasse.collin@tukaani.org> 315Date: 2024-08-22 11:01:07 +0300 316 317 Update THANKS 318 319 (cherry picked from commit 5e375987509fab484b7bef0b90be92f241c58c91) 320 321 THANKS | 1 + 322 1 file changed, 1 insertion(+) 323 324commit 3a4a05d75eb41ddc41899324df0511670ceaaf1e 325Author: Yifeng Li <tomli@tomli.me> 326Date: 2024-08-22 02:18:49 +0000 327 328 liblzma: Fix x86-64 movzw compatibility in range_decoder.h 329 330 Support for instruction "movzw" without suffix in "GNU as" was 331 added in commit [1] and stabilized in binutils 2.27, released 332 in August 2016. Earlier systems don't accept this instruction 333 without a suffix, making range_decoder.h's inline assembly 334 unable to build on old systems such as Ubuntu 16.04, creating 335 error messages like: 336 337 lzma_decoder.c: Assembler messages: 338 lzma_decoder.c:371: Error: no such instruction: `movzw 2(%r11),%esi' 339 lzma_decoder.c:373: Error: no such instruction: `movzw 4(%r11),%edi' 340 lzma_decoder.c:388: Error: no such instruction: `movzw 6(%r11),%edx' 341 lzma_decoder.c:398: Error: no such instruction: `movzw (%r11,%r14,4),%esi' 342 343 Change "movzw" to "movzwl" for compatibility. 344 345 [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c07315e0c610e0e3317b4c02266f81793df253d2 346 347 Suggested-by: Lasse Collin <lasse.collin@tukaani.org> 348 Tested-by: Yifeng Li <tomli@tomli.me> 349 Signed-off-by: Yifeng Li <tomli@tomli.me> 350 Fixes: 3182a330c1512cc1f5c87b5c5a272578e60a5158 351 Fixes: https://github.com/tukaani-project/xz/issues/121 352 Closes: https://github.com/tukaani-project/xz/pull/136 353 (cherry picked from commit 6cd7c8607843c337edfe2c472aa316602a393754) 354 355 src/liblzma/rangecoder/range_decoder.h | 24 ++++++++++++------------ 356 1 file changed, 12 insertions(+), 12 deletions(-) 357 358commit 4669f06d1a8d31de4b8b5861b5e8afd82cacd721 359Author: Lasse Collin <lasse.collin@tukaani.org> 360Date: 2024-07-19 20:02:43 +0300 361 362 Build: Comment that elf_aux_info(3) will be available on OpenBSD >= 7.6 363 364 (cherry picked from commit bf901dee5d4c46609645e50311c0cb2dfdcf9738) 365 366 CMakeLists.txt | 2 +- 367 configure.ac | 17 +++++++++++------ 368 2 files changed, 12 insertions(+), 7 deletions(-) 369 370commit 9edddda5636d7b3504a033c31e8ea763e293fd35 371Author: Lasse Collin <lasse.collin@tukaani.org> 372Date: 2024-07-13 22:10:37 +0300 373 374 liblzma: Tweak a comment 375 376 (cherry picked from commit 7c292dd0bf23cefcdf4b1509f3666322e08a7ede) 377 378 src/liblzma/simple/arm64.c | 4 ++-- 379 1 file changed, 2 insertions(+), 2 deletions(-) 380 381commit 1a93ab55d1563f5eb9b2c1b8240384046fe4bb97 382Author: Lasse Collin <lasse.collin@tukaani.org> 383Date: 2024-07-11 22:17:56 +0300 384 385 CMake: Bump maximum policy version to 3.30 386 387 CMakeLists.txt | 2 +- 388 1 file changed, 1 insertion(+), 1 deletion(-) 389 390commit cfe4465742ad2963fb0d9795e258615d7c1cf32d 391Author: Lasse Collin <lasse.collin@tukaani.org> 392Date: 2024-07-09 14:27:51 +0300 393 394 Update THANKS 395 396 (cherry picked from commit 028185dd4889e3d6235ff13560160ebca6985021) 397 398 THANKS | 1 + 399 1 file changed, 1 insertion(+) 400 401commit 0f47db18d04434203b350bde4909a5e468f197cc 402Author: Lasse Collin <lasse.collin@tukaani.org> 403Date: 2024-07-06 14:04:48 +0300 404 405 xz: Remove the TODO comment about --recursive 406 407 It won't be implemented. find + xargs is more flexible, for example, 408 it allows compressing small files in parallel. An example for that 409 has been included in the xz man page since 2010. 410 411 (cherry picked from commit baecfa142644eb5f5c6dd6f8e2f531c362fa3747) 412 413 src/xz/args.c | 1 - 414 1 file changed, 1 deletion(-) 415 416commit 07f52c3528e43c4a925a3fc59a933c89f5604d92 417Author: Lasse Collin <lasse.collin@tukaani.org> 418Date: 2024-07-03 20:45:48 +0300 419 420 CMake: Link xz against Threads::Threads if using pthreads 421 422 The liblzma target was recently changed to link against Threads::Threads 423 with the PRIVATE keyword. I had forgotten that xz itself depends on 424 pthreads too due to pthread_sigmask(). Thus, the build broke when 425 building shared liblzma and pthread_sigmask() wasn't in libc. 426 427 Thanks to Peter Seiderer for the bug report. 428 429 Fixes: ac05f1b0d7cda1e7ae79775a8dfecc54601d7f1c 430 Fixes: https://github.com/tukaani-project/xz/issues/129#issuecomment-2204522994 431 (cherry picked from commit b3e53122f42796aaebd767bab920cf7bedf69966) 432 433 CMakeLists.txt | 13 +++++++++++++ 434 1 file changed, 13 insertions(+) 435 436commit eccb4d258b01651d06a2a31b8b68be9b04b7998c 437Author: Lasse Collin <lasse.collin@tukaani.org> 438Date: 2024-07-02 22:49:33 +0300 439 440 Update THANKS 441 442 (cherry picked from commit 5742ec1fc7f2cf1c82cfe3477bb90594a4658374) 443 444 THANKS | 1 + 445 1 file changed, 1 insertion(+) 446 447commit c9bd00327f064778babb014302718a18d65cf7d3 448Author: Sam James <sam@gentoo.org> 449Date: 2024-06-28 14:18:35 +0300 450 451 CI: Speed up Valgrind job by using --trace-children-skip-by-arg=... 452 453 This addresses the issue I mentioned in 454 6c095a98fbec70b790253a663173ecdb669108c4 and speeds up the Valgrind 455 job a bit, because non-xz tools aren't run unnecessarily with 456 Valgrind by the script tests. 457 458 (cherry picked from commit 7e99856f66c07852c4e0de7aa01951e9147d86b0) 459 460 .github/workflows/ci.yml | 2 +- 461 1 file changed, 1 insertion(+), 1 deletion(-) 462 463commit 495de6ec9d7834c4ef4d5286844ef7b784eb951b 464Author: Lasse Collin <lasse.collin@tukaani.org> 465Date: 2024-06-25 16:00:22 +0300 466 467 Build: Prepend, not append, PTHREAD_CFLAGS to LIBS 468 469 It shouldn't make any difference because LIBS should be empty 470 at that point in configure. But prepending is the correct way 471 because in general the libraries being added might require other 472 libraries that come later on the command line. 473 474 (cherry picked from commit 2402e8a1ae92676fa0d4cb1b761d7f62f005c098) 475 476 configure.ac | 2 +- 477 1 file changed, 1 insertion(+), 1 deletion(-) 478 479commit 55bf3f49a812e20a21e42323e39526bb31d9341a 480Author: Lasse Collin <lasse.collin@tukaani.org> 481Date: 2024-06-25 14:24:29 +0300 482 483 Build: Use AC_LINK_IFELSE to handle implicit function declarations 484 485 It's more robust in case the compiler allows pre-C99 implicit function 486 declarations. If an x86 intrinsic is missing and gets treated as 487 implicit function, the linking step will very probably fail. This 488 isn't the only way to workaround implicit function declarations but 489 it might be the simplest and cleanest. 490 491 The problem hasn't been observed in the wild. 492 493 There are a couple more AC_COMPILE_IFELSE uses in configure.ac. 494 Of these, Landlock check calls prctl() and in theory could have 495 the same problem. In practice it doesn't as the check program 496 looks for several other things too. However, it was changed to 497 AC_LINK_IFELSE still to look more correct. 498 499 Similarly, m4/tuklib_cpucores.m4 and m4/tuklib_physmem.m4 were 500 updated although they haven't given any trouble either. They 501 have worked all these years because those check programs rely 502 on specific headers and types: if headers or types are missing, 503 compilation will fail. Using the linker makes these checks more 504 similar to the ones in cmake/tuklib_*.cmake which always link. 505 506 (cherry picked from commit 7bb46f2b7b3989c1b589a247a251470f65e91cda) 507 508 configure.ac | 8 ++++++-- 509 m4/tuklib_cpucores.m4 | 8 ++++---- 510 m4/tuklib_physmem.m4 | 17 +++++++++++------ 511 3 files changed, 21 insertions(+), 12 deletions(-) 512 513commit b45270d88f0de1b2e8bf510f0e370a5db4067e1f 514Author: Lasse Collin <lasse.collin@tukaani.org> 515Date: 2024-06-24 23:35:59 +0300 516 517 Build: Use AC_LINK_IFELSE instead of -Werror 518 519 AC_COMPILE_IFELSE needed -Werror because Clang <= 14 would merely 520 warn about the unsupported attribute and implicit function declaration. 521 Changing to AC_LINK_IFELSE handles the implicit declaration because 522 the symbol __crc32d is unlikely to exist in libc. 523 524 Note that the other part of the check is that #include <arm_acle.h> 525 must work. If the header is missing, most compilers give an error 526 and the linking step won't be attempted. 527 528 Avoiding -Werror makes the check more robust in case CFLAGS contains 529 warning flags that break -Werror anyway (but this isn't the only check 530 in configure.ac that has this problem). Using AC_LINK_IFELSE also makes 531 the check more similar to how it is done in CMakeLists.txt. 532 533 (cherry picked from commit 35eb57355ad1c415a838d26192d5af84abb7cf39) 534 535 configure.ac | 12 +----------- 536 1 file changed, 1 insertion(+), 11 deletions(-) 537 538commit 2c3e4cbbdcefe214ef3033a725049034b73e9756 539Author: Lasse Collin <lasse.collin@tukaani.org> 540Date: 2024-06-24 23:34:34 +0300 541 542 Build: Sync the compile check changes from CMakeLists.txt 543 544 It's nice to keep these in sync. The use of main() will later allow 545 AC_LINK_IFELSE usage too which may avoid the more fragile -Werror. 546 547 (cherry picked from commit 5a728813c378cc3c4c9c95793762452418d08f1b) 548 549 configure.ac | 15 ++++++++------- 550 1 file changed, 8 insertions(+), 7 deletions(-) 551 552commit 809e69f1f574dad3c9b00d4f01b9ef1a492319f3 553Author: Lasse Collin <lasse.collin@tukaani.org> 554Date: 2024-06-25 16:11:13 +0300 555 556 CMake: Use configure_file() to copy a file 557 558 I had missed this simpler method before. It does create a dependency 559 so that if .in.h changes the copying is done again. 560 561 (cherry picked from commit de215a0517645d16343f3a5336d3df884a4f665f) 562 563 CMakeLists.txt | 17 +++++++---------- 564 1 file changed, 7 insertions(+), 10 deletions(-) 565 566commit 52a8c87f37f4bd133f670722d2d4b73a74e352bc 567Author: Lasse Collin <lasse.collin@tukaani.org> 568Date: 2024-06-25 15:51:48 +0300 569 570 CMake: Always add pthread flags into CMAKE_REQUIRED_LIBRARIES 571 572 It was weird to add CMAKE_THREAD_LIBS_INIT in CMAKE_REQUIRED_LIBRARIES 573 only if CLOCK_MONOTONIC is available. Alternative would be to remove 574 the thread libs from CMAKE_REQUIRED_LIBRARIES after the check for 575 pthread_condattr_setclock() but keeping the libs should be fine too. 576 Then it's ready in case more pthread functions were wanted some day. 577 578 (cherry picked from commit e620f35097c0ad20cd76d8258750aa706758ced9) 579 580 CMakeLists.txt | 6 ++++-- 581 1 file changed, 4 insertions(+), 2 deletions(-) 582 583commit 1591747bf692d10c3b2fd92c9dc8ba931626fd84 584Author: Lasse Collin <lasse.collin@tukaani.org> 585Date: 2024-06-24 22:41:10 +0300 586 587 CMake: Fix three checks if building with -flto 588 589 In CMake, check_c_source_compiles() always links too. With 590 link-time optimization, unused functions may get omitted if 591 main() doesn't depend on them. Consider the following which 592 tries to check if somefunction() is available when <someheader.h> 593 has been included: 594 595 #include <someheader.h> 596 int foo(void) { return somefunction(); } 597 int main(void) { return 0; } 598 599 LTO may omit foo() completely because the program as a whole doesn't 600 need it and then the program will link even if the symbol somefunction 601 isn't available in libc or other library being linked in, and then 602 the test may pass when it shouldn't. 603 604 What happens if <someheader.h> doesn't declare somefunction()? 605 Shouldn't the test fail in the compilation phase already? It should 606 but many compilers don't follow the C99 and later standards that 607 prohibit implicit function declarations. Instead such compilers 608 assume that somefunction() exists, compilation succeeds (with a 609 warning), and then linker with LTO omits the call to somefunction(). 610 611 Change the tests so that they are part of main(). If compiler accepts 612 implicitly declared functions, LTO cannot omit them because it has to 613 assume that they might have side effects and thus linking will fail. 614 On the other hand, if the functions/intrinsics being used are supported, 615 they might get optimized away but in that case it's fine because they 616 really are supported. 617 618 It is fine to use __attribute__((target(...))) for main(). At least 619 it works with GCC 4.9 to 14.1 on x86-64. 620 621 Reported-by: Sam James <sam@gentoo.org> 622 (cherry picked from commit 114cba69dbb96003e676c8c87a2e9943b12d065f) 623 624 CMakeLists.txt | 19 ++++++++----------- 625 1 file changed, 8 insertions(+), 11 deletions(-) 626 627commit cc386f4ff4b87ff895fbc30fd3b13ee6e6152ace 628Author: Lasse Collin <lasse.collin@tukaani.org> 629Date: 2024-06-24 21:06:18 +0300 630 631 CMake: Improve the comment about LIBS 632 633 (cherry picked from commit d3f20382fc1bd865eb70a65455d5022ed05caac8) 634 635 CMakeLists.txt | 6 ++++++ 636 1 file changed, 6 insertions(+) 637 638commit 65aaa0f87048f78a3f69c4ec0ad03723a2354fa7 639Author: Lasse Collin <lasse.collin@tukaani.org> 640Date: 2024-06-24 17:39:54 +0300 641 642 CI: Workaround buggy config.guess on Ubuntu 22.04LTS and 24.04LTS 643 644 Check for the wrong triplet from config.guess and override it with 645 the --build option on the configure command line. Then i386 assembly 646 autodetection will work. 647 648 These Ubuntu versions (and as of writing, also Debian unstable) 649 ship config.guess version 2022-01-09 which contains a bug that 650 was fixed in version 2022-05-08. It results in a wrong configure 651 triplet when using CC="gcc -m32" to build i386 binaries. 652 653 Upstream fix: 654 https://git.savannah.gnu.org/cgit/config.git/commit/?id=f56a7140386d08a531bcfd444d632b28c61a6329 655 656 More information: 657 https://mail.gnu.org/archive/html/config-patches/2022-05/msg00003.html 658 659 (cherry picked from commit 1bf83cded2955282fe1a868f08c83d4e5d6dca4a) 660 661 build-aux/ci_build.bash | 9 +++++++++ 662 1 file changed, 9 insertions(+) 663 664commit 810f1a8aee9edb3bff430559f4b832cd0ec50797 665Author: Lasse Collin <lasse.collin@tukaani.org> 666Date: 2024-06-24 15:24:52 +0300 667 668 CI: Use CC="gcc -m32" to get i386 compiler on x86-64 669 670 The old method put it in CFLAGS which is a wrong place because 671 config.guess doesn't read CFLAGS. 672 673 (cherry picked from commit dbcdabf68fee9ed694b68c3a82e6adbeff20b679) 674 675 .github/workflows/ci.yml | 4 ++-- 676 1 file changed, 2 insertions(+), 2 deletions(-) 677 678commit dde14ded9a3240fd524d9bc01c9ceeb4d7909e95 679Author: Lasse Collin <lasse.collin@tukaani.org> 680Date: 2024-06-24 14:54:17 +0300 681 682 CI: Let CMake use the CC environment variable 683 684 CC from environment is used to initialize CMAKE_C_COMPILER so 685 setting CMAKE_C_COMPILER explicitly isn't needed. 686 687 The syntax in ci_build.bash was broken in case one wished to put 688 spaces in CC. 689 690 (cherry picked from commit 0c1e6d900bac127464fb30a854776e1810ab5f16) 691 692 build-aux/ci_build.bash | 4 ---- 693 1 file changed, 4 deletions(-) 694 695commit 85a55e1120bebac2f3cd9af8965f4a6335eeeb9b 696Author: Lasse Collin <lasse.collin@tukaani.org> 697Date: 2024-06-20 18:12:21 +0300 698 699 CMake: Keep existing options in LIBS when adding -lrt 700 701 This makes no difference yet because -lrt is currently the only option 702 that might be added to LIBS. 703 704 (cherry picked from commit 75ce4797d49621710e6da95d8cb91541028c6d68) 705 706 CMakeLists.txt | 2 +- 707 1 file changed, 1 insertion(+), 1 deletion(-) 708 709commit e24a762f1be6bf379df73b7fe0a115ccae139a35 710Author: Lasse Collin <lasse.collin@tukaani.org> 711Date: 2024-06-15 18:07:04 +0300 712 713 CMake: Fix indentation 714 715 (cherry picked from commit c715dec8e800b65145918cfb0ee9bbc90faa8aad) 716 717 CMakeLists.txt | 2 +- 718 1 file changed, 1 insertion(+), 1 deletion(-) 719 720commit 99555b721b55263a6892b1093f2806f09a92e1fb 721Author: Lasse Collin <lasse.collin@tukaani.org> 722Date: 2024-06-15 23:34:29 +0300 723 724 CMake: Link Threads::Threads as PRIVATE to liblzma 725 726 This way pthread options aren't passed to the linker when linking 727 against shared liblzma but they are still passed when linking against 728 static liblzma. (Also, one never needs the include path of the 729 threading library to use liblzma since liblzma's API headers 730 don't #include <pthread.h>. But <pthread.h> tends to be in the 731 default include path so here this change makes no difference.) 732 733 One cannot mix target_link_libraries() calls that use the scope 734 (PRIVATE, PUBLIC, or INTERFACE) keyword and calls that don't use it. 735 The calls without the keyword are like PUBLIC except perhaps when 736 they aren't, or something like that... It seems best to always 737 specify a scope keyword as the meanings of those three keywords 738 at least are clear. 739 740 (cherry picked from commit ac05f1b0d7cda1e7ae79775a8dfecc54601d7f1c) 741 742 CMakeLists.txt | 2 +- 743 1 file changed, 1 insertion(+), 1 deletion(-) 744 745commit 258bae30a2040138c783b5c380cef0ca603663ed 746Author: Lasse Collin <lasse.collin@tukaani.org> 747Date: 2024-06-16 19:39:32 +0300 748 749 CMake: Add empty lines 750 751 (cherry picked from commit 82986d8c691a294c78b48d8391303e5c428b5437) 752 753 CMakeLists.txt | 2 ++ 754 1 file changed, 2 insertions(+) 755 756commit a95a9601a109f0d0d059dea7a5a44efa87ef1401 757Author: Lasse Collin <lasse.collin@tukaani.org> 758Date: 2024-06-16 19:37:36 +0300 759 760 CMake: Use CMAKE_THREAD_LIBS_INIT in liblzma.pc only with pthreads 761 762 This shouldn't make much difference in practice as on Windows 763 no flags are needed anyway and unitialized variable (when threading 764 is disabled) expands to empty. But it's clearer this way. 765 766 (cherry picked from commit 2aecffe0f0e14f3ef635e8cd7b405420f2385de2) 767 768 CMakeLists.txt | 8 +++++++- 769 1 file changed, 7 insertions(+), 1 deletion(-) 770 771commit 65a10ddd439ad435d2c0176106b1e2d6b9c1b3a1 772Author: Lasse Collin <lasse.collin@tukaani.org> 773Date: 2024-06-17 18:20:14 +0300 774 775 Update THANKS 776 777 (cherry picked from commit 664918bd3635ea8e773f06022286ecb0c485166c) 778 779 THANKS | 3 +++ 780 1 file changed, 3 insertions(+) 781 782commit 6ad5739094ac69ac448a84493f2c7ddfc6eb0688 783Author: Lasse Collin <lasse.collin@tukaani.org> 784Date: 2024-06-16 19:25:07 +0300 785 786 CMake: Use native newlines in liblzma.pc 787 788 vcpkg doesn't specify the newline type so it should be fine to 789 use native newlines in liblzma.pc on Windows. 790 791 (cherry picked from commit 5ca96a93488d0f5a530c78b274cac317453807ff) 792 793 CMakeLists.txt | 4 +--- 794 1 file changed, 1 insertion(+), 3 deletions(-) 795 796commit 4107f2066764bb3a31d114852bc20722d582fd82 797Author: Lasse Collin <lasse.collin@tukaani.org> 798Date: 2024-06-16 19:18:56 +0300 799 800 CMake: Use relative paths in liblzma.pc if possible 801 802 Now liblzma.pc can be relocatable only if using CMake >= 3.20 803 but that should be OK as now we shouldn't get broken liblzma.pc 804 if CMAKE_INSTALL_LIBDIR or CMAKE_INSTALL_INCLUDEDIR contain an 805 absolute path. 806 807 Thanks to Eli Schwartz. 808 809 (cherry picked from commit ebd155c3a1b87411edae06d3bdaa9659ec057522) 810 811 CMakeLists.txt | 18 ++++++++++++++---- 812 1 file changed, 14 insertions(+), 4 deletions(-) 813 814commit ff697eb154361417d94284e0c569aa08cacf9031 815Author: Lasse Collin <lasse.collin@tukaani.org> 816Date: 2024-06-16 13:39:37 +0300 817 818 liblzma: CRC CLMUL: Omit is_arch_extension_supported() when not needed 819 820 On E2K the function compiles only due to compiler emulation but the 821 function is never used. It's cleaner to omit the function when it's 822 not needed even though it's a "static inline" function. 823 824 Thanks to Ilya Kurdyukov. 825 826 (cherry picked from commit 30a2d5d51006301a3ddab5ef1f5ff0a9d74dce6f) 827 828 src/liblzma/check/crc_x86_clmul.h | 4 ++++ 829 1 file changed, 4 insertions(+) 830 831commit 4e4a568f6a089c867891c2388a19624e312eb2f3 832Author: Lasse Collin <lasse.collin@tukaani.org> 833Date: 2024-06-12 14:26:44 +0300 834 835 CMake: Prefer C11 with a fallback to C99 836 837 There is no need to make a similar change in configure.ac. 838 With Autoconf 2.72, the deprecated macro AC_PROG_CC_C99 839 is an alias for AC_PROG_CC which prefers a C11 compiler. 840 841 (cherry picked from commit 2178acf8a4d40a93e970cfcf9b807d5ef6c8da92) 842 843 CMakeLists.txt | 17 +++++++++++------ 844 1 file changed, 11 insertions(+), 6 deletions(-) 845 846commit 849e757a8cce41bfd6acfaa7dd3b07324363de90 847Author: Lasse Collin <lasse.collin@tukaani.org> 848Date: 2024-06-12 14:20:21 +0300 849 850 Update THANKS 851 852 (cherry picked from commit c97e9c12fef4d1093ee2a75236742481361f50f5) 853 854 THANKS | 4 ++++ 855 1 file changed, 4 insertions(+) 856 857commit 1305056a54e68895e052506bceb26274f52bbc9a 858Author: Lasse Collin <lasse.collin@tukaani.org> 859Date: 2024-06-11 11:15:49 +0300 860 861 Tests: Improve the CRC32 test 862 863 A similar one was already there for CRC64 but nowadays also CRC32 864 has a CLMUL implementation, so it's good to test it better too. 865 866 (cherry picked from commit 89e9f12e03324b8a186e807b268f34f92d1b2f41) 867 868 tests/test_check.c | 17 +++++++++++++---- 869 1 file changed, 13 insertions(+), 4 deletions(-) 870 871commit a44493ec41edc98f24ed9933668e7372f5267a40 872Author: Lasse Collin <lasse.collin@tukaani.org> 873Date: 2024-06-11 22:42:26 +0300 874 875 xz: Fix white space 876 877 (cherry picked from commit c7164b1927e3fe7cdba70ee4687e1a590a81043b) 878 879 src/xz/list.c | 6 +++--- 880 1 file changed, 3 insertions(+), 3 deletions(-) 881 882commit 5e74a6a8138b3c102193d731120139d5a854f2cf 883Author: Lasse Collin <lasse.collin@tukaani.org> 884Date: 2024-06-11 21:59:09 +0300 885 886 liblzma: Fix a typo in a comment 887 888 Thanks to Sam James for spotting it. 889 890 Fixes: f644473a211394447824ea00518d0a214ff3f7f2 891 (cherry picked from commit 0a32d2072c598de281058b26dc08920fbf0cd2a1) 892 893 src/liblzma/check/crc_x86_clmul.h | 2 +- 894 1 file changed, 1 insertion(+), 1 deletion(-) 895 896commit 3f7edc673cf21b3e4db3e2f11746905e0a393db7 897Author: Lasse Collin <lasse.collin@tukaani.org> 898Date: 2024-05-10 15:52:26 +0300 899 900 liblzma: Fix a comment indentation 901 902 (cherry picked from commit afd9b4d282a10186808c3331dad4caf79c02d55f) 903 904 src/liblzma/check/crc_common.h | 6 +++--- 905 1 file changed, 3 insertions(+), 3 deletions(-) 906 907commit 8a9cc7ca0867494f39990f0d4cbe0972042f6d59 908Author: Lasse Collin <lasse.collin@tukaani.org> 909Date: 2024-05-09 22:09:12 +0300 910 911 liblzma: Fix white space 912 913 (cherry picked from commit 50e6bff274568c568930e15094da8217e7d47d28) 914 915 src/liblzma/check/crc32_table.c | 10 +++++----- 916 src/liblzma/check/crc_x86_clmul.h | 6 +++--- 917 src/liblzma/check/sha256.c | 2 +- 918 3 files changed, 9 insertions(+), 9 deletions(-) 919 920commit b29b13082fe578a3bb9384a5939c82055f796a34 921Author: RainRat <rainrat78@yahoo.ca> 922Date: 2024-06-05 15:21:49 -0700 923 924 Fix typos 925 926 Closes: https://github.com/tukaani-project/xz/pull/124 927 (cherry picked from commit 9e73918a4f14be754a23f74dda45ca431939a4a0) 928 929 INSTALL | 2 +- 930 doc/examples/03_compress_custom.c | 2 +- 931 src/common/tuklib_integer.h | 2 +- 932 src/liblzma/api/lzma/container.h | 2 +- 933 src/xz/mytime.c | 2 +- 934 tests/test_filter_str.c | 2 +- 935 6 files changed, 6 insertions(+), 6 deletions(-) 936 937commit 6f66155e01a6467e70db48cddbe790bdb8d87754 938Author: Lasse Collin <lasse.collin@tukaani.org> 939Date: 2024-06-07 15:47:20 +0300 940 941 tuklib_integer: Fix building on OpenBSD/sparc64 that uses GCC 4.2 942 943 GCC 4.2 doesn't have __builtin_bswap16() and friends so tuklib_integer.h 944 tries to use OS-specific byte swap methods instead. On OpenBSD those 945 macros are swap16/32/64 instead of bswap16/32/64 like on other *BSDs 946 and Darwin. 947 948 An alternative to "#ifdef __OpenBSD__" could be "#ifdef swap16" as it 949 is a macro. But since OpenBSD seems to be a special case under this 950 special case of "*BSDs and Darwin", checking for __OpenBSD__ seems 951 the more conservative choice now. 952 953 Thanks to Christian Weisgerber and Brad Smith who both submitted 954 the same patch a few hours apart. 955 956 Co-authored-by: Christian Weisgerber <naddy@mips.inka.de> 957 Co-authored-by: Brad Smith <brad@comstyle.com> 958 Closes: https://github.com/tukaani-project/xz/pull/126 959 (cherry picked from commit 04b23addf3733873667675df2439725f076c2f36) 960 961 src/common/tuklib_integer.h | 12 +++++++++--- 962 1 file changed, 9 insertions(+), 3 deletions(-) 963 964commit 5522759d31e0f1513fffbdf39a955f12d373f121 965Author: Lasse Collin <lasse.collin@tukaani.org> 966Date: 2024-06-05 13:55:43 +0300 967 968 Update THANKS 969 970 (cherry picked from commit f5c2ae58ec68c665e62c790b842657afcb31474c) 971 972 THANKS | 2 ++ 973 1 file changed, 2 insertions(+) 974 975commit 45aed6f37f17e5fac215290204e03894965cf1d5 976Author: Lasse Collin <lasse.collin@tukaani.org> 977Date: 2024-06-05 13:30:28 +0300 978 979 CMake: Fix wrong version variable 980 981 liblzma_VERSION has never existed in the repository. xz_VERSION from 982 the project() command was used for liblzma SOVERSION so use xz_VERSION 983 here too. 984 985 The wrong variable did no harm in practice as PROJECT_VERSION 986 was used as the fallback. It has the same value as xz_VERSION. 987 988 Fixes: 7e3493d40eac0c3fa3d5124097745a70e15c41f6 989 (cherry picked from commit 1d3c61575fda0be6b2d50c9e32a343349d5cd5c0) 990 991 CMakeLists.txt | 2 +- 992 1 file changed, 1 insertion(+), 1 deletion(-) 993 994commit 198271a6ed0e6ac6820f8f44172a203aa44abe39 995Author: Lasse Collin <lasse.collin@tukaani.org> 996Date: 2024-06-04 23:59:29 +0300 997 998 CMake: Fix liblzma filename in Windows environments 999 1000 This is a mess because liblzma DLL outside Cygwin and MSYS2 1001 is liblzma.dll instead of lzma.dll to avoid a conflict with 1002 lzma.dll from LZMA SDK. 1003 1004 On Cygwin the name was "liblzma-5.dll" while "cyglzma-5.dll" 1005 would have been correct (and match what Libtool produces). 1006 MSYS2 likely was broken too as it uses the "msys-" prefix. 1007 1008 This change has no effect with MinGW-w64 because with that 1009 the "lib" prefix was correct already. 1010 1011 With MSVC builds this is a small breaking change that requires developers 1012 to adjust the library name when linking against liblzma. The liblzma.dll 1013 name is kept as is but the import library and static library are now 1014 lzma.lib instead of liblzma.lib. This is helpful when using pkgconf 1015 because "pkgconf --msvc-syntax --libs liblzma" outputs "lzma.lib" 1016 (it's converted from "-llzma" in liblzma.pc). It would be easy to 1017 keep the liblzma.lib naming but the pkgconf compatibility seems worth 1018 it in the long run. The lzma.lib name is compatible with MinGW-w64 1019 too as -llzma will find also lzma.lib. 1020 1021 vcpkg had been patching CMakeLists.txt this way since 2022 but I 1022 learned this only recently. The reasoning for the patch makes sense, 1023 and while this is a small breaking change with MSVC, it seems like 1024 a decent compromise as it keeps the DLL name the same. 1025 1026 2022 patch in vcpkg: https://github.com/microsoft/vcpkg/blob/0707a17ecf1466d64cf1a3c1ee18c8ff02aadb2d/ports/liblzma/win_output_name.patch 1027 See the discussion: https://github.com/microsoft/vcpkg/pull/39024 1028 1029 Thanks to Vincent Torri for confirming the naming issue on Cygwin. 1030 1031 (cherry picked from commit e0d6d05ce0d464e966c0669bbf869202a43cc2f7) 1032 1033 CMakeLists.txt | 34 ++++++++++++++++++++++++++++++---- 1034 1 file changed, 30 insertions(+), 4 deletions(-) 1035 1036commit 92e5425979199407080fd80e67c15f2cbf85392b 1037Author: Lasse Collin <lasse.collin@tukaani.org> 1038Date: 2024-06-03 16:55:03 +0300 1039 1040 Fix version.sh compatiblity with Solaris 1041 1042 The ancient /bin/tr on Solaris doesn't support '\n'. 1043 With /usr/xpg4/bin/tr it works but it might not be in PATH. 1044 1045 Another problem was that sed was given input that didn't have a newline 1046 at the end. Text files must end with a newline to be portable. 1047 1048 Fix both problems: 1049 1050 - Handle multiline input within sed itself to avoid one tr invocation. 1051 The default sed even on Solaris does understand \n. 1052 1053 - Use octals in tr -d. \012 works for ASCII "line feed", it's even 1054 used as an example in the Solaris man page. But we must strip 1055 also ASCII "carriage return" \015 and EBCDIC "next line" \025. 1056 The EBCDIC case got handled with \n previously. Stripping \012 1057 and \015 on EBCDIC system won't matter as those control chars 1058 won't be present in the string in the first place. 1059 1060 An awk-based solution could be an alternative but it might need 1061 special casing on Solaris to used nawk instead of awk. The changes 1062 in this commit are smaller and should have a smaller risk for 1063 regressions. It's also possible that version.sh will be dropped 1064 entirely at some point. 1065 1066 (cherry picked from commit e7a42cda7c827e016619e8cab15e2faf5d4181ae) 1067 1068 build-aux/version.sh | 5 ++--- 1069 1 file changed, 2 insertions(+), 3 deletions(-) 1070 1071commit 0c089a33a5b1f5b9451b332484c68e1d6f02631a 1072Author: Lasse Collin <lasse.collin@tukaani.org> 1073Date: 2024-06-03 17:07:11 +0300 1074 1075 CI: Don't require po4a on Solaris 1076 1077 (cherry picked from commit a61c9ab4751f2710dcd5459c7d74bbf20781f0f9) 1078 1079 .github/workflows/solaris.yml | 2 +- 1080 1 file changed, 1 insertion(+), 1 deletion(-) 1081 1082commit 83d3792711295656a3de69bbcd98dcb4b06be1c2 1083Author: Lasse Collin <lasse.collin@tukaani.org> 1084Date: 2024-06-03 15:08:15 +0300 1085 1086 CI: Use set -e on Solaris too 1087 1088 (cherry picked from commit 5229bdf5335ce18ed54beb7e646e39927663be86) 1089 1090 .github/workflows/solaris.yml | 1 + 1091 1 file changed, 1 insertion(+) 1092 1093commit 9c64d4fd787ea7bca3795be55367504a9f47a68c 1094Author: Lasse Collin <lasse.collin@tukaani.org> 1095Date: 2024-06-03 17:44:50 +0300 1096 1097 CMake: Install liblzma.pc even with MSVC 1098 1099 I had misunderstood that it wouldn't be useful with MSVC. 1100 vcpkg had been installing liblzma.pc with custom rules since 2020, 1101 years before liblzma.pc support was added to CMakeLists.txt. 1102 1103 See: 1104 https://github.com/microsoft/vcpkg/blob/eb895b95aac6fd7485373702f29f508c42a180a0/ports/liblzma/portfile.cmake 1105 https://github.com/microsoft/vcpkg/pull/39024#issuecomment-2145064670 1106 (cherry picked from commit afa938e429c1ce07d26d02999352fb014b62ff3d) 1107 1108 CMakeLists.txt | 8 +++----- 1109 1 file changed, 3 insertions(+), 5 deletions(-) 1110 1111commit 42754176bd84c4539db55a9e70bdcdd5700c709f 1112Author: Sam James <sam@gentoo.org> 1113Date: 2024-06-03 06:16:23 +0100 1114 1115 ci: don't pin official GH actions via commit, just tag 1116 1117 There's no real value in doing it via commit for official GH actions. We 1118 can keep using pinned commits for unofficial actions. It's hassle for no 1119 gain. 1120 1121 Maybe going forward we can limit this further by only being paranoid 1122 for the jobs with any access to tokens. 1123 1124 (cherry picked from commit 35f8649f08341639a627fd06350e938124ca3622) 1125 1126 .github/workflows/ci.yml | 4 ++-- 1127 .github/workflows/freebsd.yml | 2 +- 1128 .github/workflows/netbsd.yml | 2 +- 1129 .github/workflows/openbsd.yml | 2 +- 1130 .github/workflows/solaris.yml | 2 +- 1131 .github/workflows/windows-ci.yml | 4 ++-- 1132 6 files changed, 8 insertions(+), 8 deletions(-) 1133 1134commit 9a5fee7022eddffdfcee32a7e43f64635581b393 1135Author: Christoph Junghans <christoph.junghans@gmail.com> 1136Date: 2024-04-30 07:49:26 -0600 1137 1138 ci: set -e on openbsd 1139 1140 Closes: https://github.com/tukaani-project/xz/pull/116 1141 (cherry picked from commit e885dae37ff5b1dbc760dabc1e03e866a7302ef2) 1142 1143 .github/workflows/openbsd.yml | 1 + 1144 1 file changed, 1 insertion(+) 1145 1146commit a2d66de54f234999a7d42305988cf2c3e0b1b8f6 1147Author: Christoph Junghans <christoph.junghans@gmail.com> 1148Date: 2024-04-30 07:48:58 -0600 1149 1150 ci: set -e on netbsd 1151 1152 (cherry picked from commit 21b02dd128cf9e8c76325ec124f70381862dcf19) 1153 1154 .github/workflows/netbsd.yml | 1 + 1155 1 file changed, 1 insertion(+) 1156 1157commit 1bdc70176b59b0e22c0a580c518dc5d0f2fd0723 1158Author: Christoph Junghans <christoph.junghans@gmail.com> 1159Date: 2024-04-25 14:56:06 -0700 1160 1161 ci: actually fail on FreeBSD 1162 1163 Without "set -e" the job will always be successful. 1164 1165 See vmactions/freebsd-vm#72 1166 1167 (cherry picked from commit 8641f0c24c041136670c975b23408184b45431bc) 1168 1169 .github/workflows/freebsd.yml | 1 + 1170 1 file changed, 1 insertion(+) 1171 1172commit 4132277103acdf1c01f8b5a4c12c0992c330ade4 1173Author: Andrew Murray <radarhere@users.noreply.github.com> 1174Date: 2024-04-25 09:24:46 +1000 1175 1176 Updated actions 1177 1178 Closes: https://github.com/tukaani-project/xz/pull/115 1179 (cherry picked from commit ef616683ef11f11ffdfbe0624da33905e28a70f9) 1180 1181 .github/workflows/ci.yml | 4 ++-- 1182 .github/workflows/windows-ci.yml | 6 +++--- 1183 2 files changed, 5 insertions(+), 5 deletions(-) 1184 1185commit 1575414636104773cefc62cf075726c6ee7ae37d 1186Author: Sam James <sam@gentoo.org> 1187Date: 2024-06-03 02:49:40 +0100 1188 1189 ci: add po4a 1190 1191 (cherry picked from commit 57b440d316da9ac9cb312ee7e6890f5382556f10) 1192 1193 .github/workflows/netbsd.yml | 2 +- 1194 .github/workflows/openbsd.yml | 3 ++- 1195 2 files changed, 3 insertions(+), 2 deletions(-) 1196 1197commit c3e293037e1bb2bd9efedbb0e75387d1282cc03f 1198Author: Sam James <sam@gentoo.org> 1199Date: 2024-04-13 21:02:04 +0100 1200 1201 ci: add Solaris 1202 1203 Inspired by https://github.com/RsyncProject/rsync/commit/3f2a38b01184cae9a931280b534acf5a3dae2e94. 1204 1205 It runs on Solaris 5.11 via a VirtualBox VM. 1206 1207 (cherry picked from commit 08cdf4be9a673d78efe393b53dd73bf43c81dd95) 1208 1209 .github/workflows/solaris.yml | 31 +++++++++++++++++++++++++++++++ 1210 1 file changed, 31 insertions(+) 1211 1212commit dc6b6011b45b0d0ddd0650f4885e24c68b37fddf 1213Author: Sam James <sam@gentoo.org> 1214Date: 2024-04-14 08:08:00 +0100 1215 1216 xz: list: suppress -Wformat-nonliteral for Solaris 1217 1218 Solaris' GCC can't understand that our use is fine, unlike modern compilers: 1219 ``` 1220 list.c: In function 'print_totals_basic': 1221 list.c:1191:4: error: format not a string literal, argument types not checked [-Werror=format-nonliteral] 1222 uint64_to_str(totals.files, 0)); 1223 ^~~~~~~~~~~~~ 1224 cc1: all warnings being treated as errors 1225 ``` 1226 1227 It's presumably because of older gettext missing format attributes. 1228 1229 This is with `gcc (GCC) 7.3.0`. 1230 1231 (cherry picked from commit b69768c8bd1a34fde311935c551d061ba52d9a3f) 1232 1233 src/xz/list.c | 7 +++++++ 1234 1 file changed, 7 insertions(+) 1235 1236commit 7ce2ac795a812ecf1eb2d6b62f51b55ac799c2a5 1237Author: Lasse Collin <lasse.collin@tukaani.org> 1238Date: 2024-05-31 21:36:26 +0300 1239 1240 Update THANKS 1241 1242 (cherry picked from commit b8d134e61ede9f4a296226d97f5c20721fb4e8e2) 1243 1244 THANKS | 3 +++ 1245 1 file changed, 3 insertions(+) 1246 1247commit 3ec664d3f652133136587a51d4505b1abe1acdd7 1248Author: Lasse Collin <lasse.collin@tukaani.org> 1249Date: 2024-05-29 18:03:51 +0300 1250 1251 Bump version and soname for 5.6.2 1252 1253 src/liblzma/Makefile.am | 2 +- 1254 src/liblzma/api/lzma/version.h | 2 +- 1255 2 files changed, 2 insertions(+), 2 deletions(-) 1256 1257commit 3cc0aa702e50b786c52c6f3d3f831a635c4df197 1258Author: Lasse Collin <lasse.collin@tukaani.org> 1259Date: 2024-05-29 18:03:04 +0300 1260 1261 Add NEWS for 5.6.2 1262 1263 NEWS | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1264 1 file changed, 130 insertions(+) 1265 1266commit 526d3f7f2c2d5e134157d08b37fb5fd0b125799e 1267Author: Lasse Collin <lasse.collin@tukaani.org> 1268Date: 2024-05-29 18:03:04 +0300 1269 1270 Add NEWS for 5.4.7 1271 1272 NEWS | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1273 1 file changed, 89 insertions(+) 1274 1275commit 660b09279e8f544acf120d29194d5c3051b484eb 1276Author: Lasse Collin <lasse.collin@tukaani.org> 1277Date: 2024-05-29 18:03:04 +0300 1278 1279 Add NEWS for 5.2.13 1280 1281 NEWS | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1282 1 file changed, 115 insertions(+) 1283 1284commit 7d76282dac766c0ced8ae24e0f7ce0005f3e377d 1285Author: Lasse Collin <lasse.collin@tukaani.org> 1286Date: 2024-05-29 17:47:13 +0300 1287 1288 Translations: Run po4a/update-po 1289 1290 Now the files are in the new formatting without source file 1291 line numbers. Future updates should keep the diffs much smaller. 1292 1293 po4a/de.po | 1592 ++++++++++--------- 1294 po4a/fr.po | 4450 +++++++++++++++++----------------------------------- 1295 po4a/ko.po | 1592 ++++++++++--------- 1296 po4a/pt_BR.po | 4817 ++++++++++++++++++--------------------------------------- 1297 po4a/ro.po | 1592 ++++++++++--------- 1298 po4a/uk.po | 1592 ++++++++++--------- 1299 6 files changed, 6114 insertions(+), 9521 deletions(-) 1300 1301commit 4470c3f7d8954bb47b280ec07ad0bd4be2223083 1302Author: Lasse Collin <lasse.collin@tukaani.org> 1303Date: 2024-05-29 17:44:53 +0300 1304 1305 Translations: Run "make -C po update-po" 1306 1307 In the past this wasn't done before releases; the Git repository 1308 just contained the files from the Translation Project. But this 1309 way it is clearer when comparing release tarballs against the 1310 Git repository. In future releases this might no longer be necessary 1311 within a stable branch as the .po files won't change so easily anymore 1312 when creating a tarball. 1313 1314 po/ca.po | 567 +++++++++++++++++++++++++--------------- 1315 po/cs.po | 821 +++++++++++++++++++++++++++++++++++++-------------------- 1316 po/da.po | 809 +++++++++++++++++++++++++++++++++++--------------------- 1317 po/de.po | 403 ++++++++++++++-------------- 1318 po/eo.po | 403 ++++++++++++++-------------- 1319 po/es.po | 403 ++++++++++++++-------------- 1320 po/fi.po | 578 +++++++++++++++++++++++++--------------- 1321 po/fr.po | 538 +++++++++++++++++++++++--------------- 1322 po/hr.po | 403 ++++++++++++++-------------- 1323 po/hu.po | 403 ++++++++++++++-------------- 1324 po/it.po | 854 +++++++++++++++++++++++++++++++++++++++--------------------- 1325 po/ko.po | 403 ++++++++++++++-------------- 1326 po/pl.po | 403 ++++++++++++++-------------- 1327 po/pt.po | 842 +++++++++++++++++++++++++++++++++++++++-------------------- 1328 po/pt_BR.po | 567 +++++++++++++++++++++++++--------------- 1329 po/ro.po | 403 ++++++++++++++-------------- 1330 po/sr.po | 838 ++++++++++++++++++++++++++++++++++++++-------------------- 1331 po/sv.po | 403 ++++++++++++++-------------- 1332 po/tr.po | 567 +++++++++++++++++++++++++--------------- 1333 po/uk.po | 403 ++++++++++++++-------------- 1334 po/vi.po | 403 ++++++++++++++-------------- 1335 po/zh_CN.po | 417 +++++++++++++++-------------- 1336 po/zh_TW.po | 558 ++++++++++++++++++++++++--------------- 1337 23 files changed, 7257 insertions(+), 5132 deletions(-) 1338 1339commit 33b8a85face5392b5ac843bdbe3a72f024cad6ef 1340Author: Lasse Collin <lasse.collin@tukaani.org> 1341Date: 2024-05-29 16:33:24 +0300 1342 1343 Build: Update po/*.po files only when needed 1344 1345 When po/xz.pot doesn't exist, running "make" or "make dist" will 1346 create it. Then the .po files will be updated but only if they 1347 actually would change more than the POT-Creation-Date line. 1348 Then the .gmo files would be generated from the .po files. 1349 This is the case before and after this commit. 1350 1351 However, "make dist" and thus "make mydist" did a forced update 1352 to the files, updating them even if the only change was the 1353 POT-Creation-Date line. This had pros and cons: It made it clear 1354 that the .po file really is in sync with the recent strings in 1355 the package. On the other hand, it added noise in form of changed 1356 files in the source tree and distribution tarballs. It can be 1357 ignored with something like "diff -I'^"POT-Creation-Date: '" but 1358 it's still a minor annoyance *if* there's not enough value in 1359 having the most recent timestamp. 1360 1361 Setting DIST_DEPENDS_ON_UPDATE_PO = no means that such forced 1362 update won't happen in "make dist" anymore. However, the "mydist" 1363 target will use xz.pot-update target which is the same target that 1364 is run when xz.pot doesn't exist at all yet. Thus "mydist" will 1365 ensure that the translations are up to date, without noise from 1366 changes that would affect only the POT-Creation-Date line. 1367 1368 Note that po4a always uses msgmerge with --update, so POT-Creation-Date 1369 in the man page translations is never the only change in .po files. 1370 In that sense this commit makes the message translations behave more 1371 similarly to the man page translations. 1372 1373 Distribution tarballs will still have non-reproducible POT-Creation-Date 1374 in po/xz.pot and po4a/xz-man.pot but those are just two files. Even they 1375 could be made reproducible from a Git timestamp if desired. 1376 1377 (cherry picked from commit 9284f1aea31f0eb23e2ea72f7218b271e2234762) 1378 1379 Makefile.am | 3 ++- 1380 po/Makevars | 6 +++++- 1381 2 files changed, 7 insertions(+), 2 deletions(-) 1382 1383commit 09daebd66b55799bbc495b84310a86c91bbfc1c8 1384Author: Lasse Collin <lasse.collin@tukaani.org> 1385Date: 2024-05-28 21:10:33 +0300 1386 1387 po4a/update-po: Disable wrapping in .pot and .po files 1388 1389 The .po files from the Translation Project come with unwrapped 1390 strings so this matches it. 1391 1392 This may reduce the noise in diffs too. When the beginning of 1393 a paragraph had changed, the rest of the lines got rewrapped 1394 in msgsid. Now it's just one very long line that changes when 1395 a paragraph has been edited. 1396 1397 The --add-location=file option was removed as redundant. The line 1398 numbers don't exist in the .pot file due to --porefs file and thus 1399 they cannot get copied to the .po files either. 1400 1401 (cherry picked from commit 4beba1cd62d7f8f7a6f1e899b68292d94c53b599) 1402 1403 po4a/update-po | 15 +++++++++++---- 1404 1 file changed, 11 insertions(+), 4 deletions(-) 1405 1406commit 51ad72dae4e516e9292f6f399bd1e4970b77f7c1 1407Author: Lasse Collin <lasse.collin@tukaani.org> 1408Date: 2024-05-28 18:36:53 +0300 1409 1410 Update contact info in README 1411 1412 (cherry picked from commit b14c130a58a649f9a73392eeb122cb252327c569) 1413 1414 README | 12 +++++++++--- 1415 1 file changed, 9 insertions(+), 3 deletions(-) 1416 1417commit 18463917f9b255b8f925fa54ab9388319735b14a 1418Author: Lasse Collin <lasse.collin@tukaani.org> 1419Date: 2024-05-28 13:25:07 +0300 1420 1421 Translations: Use --package-name=xz-man with po4a 1422 1423 This is to match reality. See the added comment. 1424 1425 (cherry picked from commit 75f5f2e014b0ee646963f36bc6a9c840fb272353) 1426 1427 po4a/update-po | 9 ++++++++- 1428 1 file changed, 8 insertions(+), 1 deletion(-) 1429 1430commit 26bbcb13cd2bbb56fe406544a484b4edfc7e0837 1431Author: Lasse Collin <lasse.collin@tukaani.org> 1432Date: 2024-05-28 13:03:40 +0300 1433 1434 Translations: Omit --package-name from po/Makevars 1435 1436 This is closer to the reality in the po/*.po files. 1437 1438 (cherry picked from commit eb217d016cfbbba1babc19a61095b3ea25898af6) 1439 1440 po/Makevars | 3 +-- 1441 1 file changed, 1 insertion(+), 2 deletions(-) 1442 1443commit c35ee804b89556d15bc8cdc16867f4316e69392f 1444Author: Lasse Collin <lasse.collin@tukaani.org> 1445Date: 2024-05-28 01:17:45 +0300 1446 1447 Translations: Omit man page line numbers from .pot and .po files 1448 1449 (cherry picked from commit 9114267038deaecf4832a5cacb5acbe6591ac839) 1450 1451 po4a/update-po | 5 +++++ 1452 1 file changed, 5 insertions(+) 1453 1454commit 0f4429d47f9cfe2cdfbad115a7bc2f11221cb217 1455Author: Lasse Collin <lasse.collin@tukaani.org> 1456Date: 2024-05-28 01:06:30 +0300 1457 1458 Translations: Use the xgettext option --add-location=file 1459 1460 (cherry picked from commit 093490b58271e9424ce38a7b1b38bcf61b9c86c6) 1461 1462 po/Makevars | 3 ++- 1463 1 file changed, 2 insertions(+), 1 deletion(-) 1464 1465commit a93e2c2d1d34a6f609d24a8e62072ce78df7a734 1466Author: Lasse Collin <lasse.collin@tukaani.org> 1467Date: 2024-05-28 00:43:53 +0300 1468 1469 Translations: Use the msgmerge option --add-location=file 1470 1471 This way the PO file diffs are less noisy but the locations of the 1472 strings are still present at file level, just without line numbers. 1473 1474 The option is available since gettext 0.19 (2014). 1475 configure.ac requires 0.19.6. 1476 1477 (cherry picked from commit fccebe2b4fd513488fc920e4dac32562ed3c7637) 1478 1479 po/Makevars | 2 +- 1480 1 file changed, 1 insertion(+), 1 deletion(-) 1481 1482commit d4389895592e9a8e0f6391fdad816ae0537bb07b 1483Author: Lasse Collin <lasse.collin@tukaani.org> 1484Date: 2024-05-27 12:22:08 +0300 1485 1486 Build: Use $(SHELL) instead of sh to run scripts in Makefile.am 1487 1488 (cherry picked from commit f361d9ae85707a87eb28db400eb7229cec103d58) 1489 1490 Makefile.am | 10 +++++----- 1491 1 file changed, 5 insertions(+), 5 deletions(-) 1492 1493commit 5781414b6e3120098b0060d073aa2b0580ff6f40 1494Author: Lasse Collin <lasse.collin@tukaani.org> 1495Date: 2024-05-23 17:25:13 +0300 1496 1497 Translations: Change the home page URLs in man page translations 1498 1499 Since the source strings have changed, these would get marked as 1500 fuzzy and the original string would be used instead. The original 1501 and translated strings are identical in this case so it wouldn't 1502 matter. But patching the translations helps still because then 1503 po4a will show the correct translation percentage. 1504 1505 (cherry picked from commit a26dece34793a09aac2476f954d162d03e9cf62b) 1506 1507 po4a/de.po | 8 ++++---- 1508 po4a/fr.po | 4 ++-- 1509 po4a/ko.po | 4 ++-- 1510 po4a/pt_BR.po | 4 ++-- 1511 po4a/ro.po | 8 ++++---- 1512 po4a/uk.po | 8 ++++---- 1513 6 files changed, 18 insertions(+), 18 deletions(-) 1514 1515commit 3670e0616eb9d86e7519d2b76242fd32c6e0c1ae 1516Author: Lasse Collin <lasse.collin@tukaani.org> 1517Date: 2024-05-23 15:15:18 +0300 1518 1519 CMake: Add manual support for 32-bit x86 assembly files 1520 1521 One has to pass -DENABLE_X86_ASM=ON to cmake to enable the 1522 CRC assembly code. Autodetection isn't done. Looking at 1523 CMAKE_SYSTEM_PROCESSOR might not work as it comes from uname 1524 unless cross-compilation is done using a CMake toolchain file. 1525 1526 On top of this, if the code is run on modern processors that support 1527 the CLMUL instruction, then the C code should be faster (but then 1528 one should also be using a x86-64 build if possible). 1529 1530 (cherry picked from commit 24387c234b4eed1ef9a7eaa107391740b4095568) 1531 1532 CMakeLists.txt | 34 +++++++++++++++++++++++++++++++--- 1533 1 file changed, 31 insertions(+), 3 deletions(-) 1534 1535commit c1b001b09e902ecacabb8a2ae1fc991018a4d1f8 1536Author: Lasse Collin <lasse.collin@tukaani.org> 1537Date: 2024-05-23 14:26:45 +0300 1538 1539 CMake: Rename USE_DOXYGEN to ENABLE_DOXYGEN 1540 1541 It's more consistent with the other option() uses. 1542 1543 (cherry picked from commit 0fb3c9c3f684f5a25bd425ed079a20a79f0c969d) 1544 1545 CMakeLists.txt | 4 ++-- 1546 1 file changed, 2 insertions(+), 2 deletions(-) 1547 1548commit 7213fe39c717d4623c92af715484a71d9a6ff8d0 1549Author: Lasse Collin <lasse.collin@tukaani.org> 1550Date: 2024-05-22 15:21:53 +0300 1551 1552 Use more confident language in COPYING 1553 1554 (cherry picked from commit 62733592a1cc6f0b41f46ef52e06d1a6fe1ff38a) 1555 1556 COPYING | 8 ++++---- 1557 1 file changed, 4 insertions(+), 4 deletions(-) 1558 1559commit 15358be94a4e3f9c20f331b64b3980f3e5283760 1560Author: Lasse Collin <lasse.collin@tukaani.org> 1561Date: 2024-04-29 17:16:38 +0300 1562 1563 Add SPDX license identifiers to files under tests/ossfuzz 1564 1565 (cherry picked from commit 9ae2ebc1e504a1814b0788de95fb5c58c0328dde) 1566 1567 tests/ossfuzz/Makefile | 2 ++ 1568 tests/ossfuzz/config/fuzz_decode_alone.options | 2 ++ 1569 tests/ossfuzz/config/fuzz_decode_stream.options | 2 ++ 1570 tests/ossfuzz/config/fuzz_encode_stream.options | 2 ++ 1571 tests/ossfuzz/config/fuzz_lzma.dict | 2 ++ 1572 tests/ossfuzz/config/fuzz_xz.dict | 2 ++ 1573 6 files changed, 12 insertions(+) 1574 1575commit 1aa92c7ffd0bf8f9738ebf3bd1263bd6f5f096a2 1576Author: Lasse Collin <lasse.collin@tukaani.org> 1577Date: 2024-04-29 17:16:06 +0300 1578 1579 Add SPDX license identifier to .codespellrc 1580 1581 (cherry picked from commit 9000d70eb9815bd7f43ffddc1c3316c507aa0e05) 1582 1583 .codespellrc | 2 ++ 1584 1 file changed, 2 insertions(+) 1585 1586commit 3c7e400fdcabc0a1b78863948fc17964667a9401 1587Author: Lasse Collin <lasse.collin@tukaani.org> 1588Date: 2024-05-22 15:12:09 +0300 1589 1590 Move entries po4a/.gitignore to the top level .gitignore 1591 1592 The po4a directory is in EXTRA_DIST and thus all files there 1593 are included in the package. .gitignore doesn't belong in the 1594 package so keep that file out of the po4a directory. 1595 1596 (cherry picked from commit 903c16fcfa5bfad0cdb2a7383d941243bcb12e76) 1597 1598 .gitignore | 4 ++++ 1599 po4a/.gitignore | 3 --- 1600 2 files changed, 4 insertions(+), 3 deletions(-) 1601 1602commit 8a99272d4a9358dabdb5bc0b72f4c5240a9dc066 1603Author: Lasse Collin <lasse.collin@tukaani.org> 1604Date: 2024-05-20 16:55:00 +0300 1605 1606 CMake: Add comments 1607 1608 (cherry picked from commit 9d997d6f9d4f042412e45c7b7a23a14ad2e4f9aa) 1609 1610 tests/tests.cmake | 2 ++ 1611 1 file changed, 2 insertions(+) 1612 1613commit c35259c9e2400f6f88c269d95ecafdb223ff45d2 1614Author: Lasse Collin <lasse.collin@tukaani.org> 1615Date: 2024-05-20 16:55:00 +0300 1616 1617 CMake: Remove the note that some tests aren't run 1618 1619 They are now in the common build configurations. 1620 1621 (cherry picked from commit d35368b33e54bad2f566df99fac29ffea38e34de) 1622 1623 CMakeLists.txt | 2 -- 1624 1 file changed, 2 deletions(-) 1625 1626commit 30982a215395f19b3837c3da540e1cb3f913569f 1627Author: Lasse Collin <lasse.collin@tukaani.org> 1628Date: 2024-05-20 16:55:00 +0300 1629 1630 CMake: Add support for test_files.sh 1631 1632 (cherry picked from commit dc232d584619b2819a9c52d6ad5d8b5d56b392ba) 1633 1634 tests/tests.cmake | 20 ++++++++++++++++++++ 1635 1 file changed, 20 insertions(+) 1636 1637commit 3a8f81e0ad4cd1c102a03ff09e703cf8cb074afc 1638Author: Lasse Collin <lasse.collin@tukaani.org> 1639Date: 2024-05-20 16:55:00 +0300 1640 1641 Tests: Make test_files.sh more flexible 1642 1643 Add a new optional argument to specify the directory of the xz and 1644 xzdec executables. 1645 1646 If ../config.h doesn't exist, assume that all encoders and decoders 1647 are available. 1648 1649 (cherry picked from commit a7e9230af9d1f87f474fe38886eb977d4149dc9b) 1650 1651 tests/test_files.sh | 18 +++++++++++++----- 1652 1 file changed, 13 insertions(+), 5 deletions(-) 1653 1654commit 0644675c829143112c85455f8a6aa91bfc4e1bbb 1655Author: Lasse Collin <lasse.collin@tukaani.org> 1656Date: 2024-05-20 16:55:00 +0300 1657 1658 CMake: Add support for test_compress.sh tests 1659 1660 (cherry picked from commit b40e6efbb48d740b9b5b303e59e344801cbb5bd8) 1661 1662 tests/tests.cmake | 26 ++++++++++++++++++++++++++ 1663 1 file changed, 26 insertions(+) 1664 1665commit dcc02a6ca0e0ac4e330e820683754badbcf9815b 1666Author: Lasse Collin <lasse.collin@tukaani.org> 1667Date: 2024-05-20 16:55:00 +0300 1668 1669 Tests: Make test_compress.sh more flexible 1670 1671 Add a new optional second argument: directory of the xz and xzdec 1672 executables. This is need with the CMake build where the binaries 1673 end up in the top-level build directory. 1674 1675 If ../config.h doesn't exist, assume that all encoders and decoders 1676 are available. This will make this script usable from CMake in the 1677 most common build configuration. 1678 1679 NOTE: Since the existence of ../config.h is checked, the working 1680 directory of the test script must be a subdir in the build tree! 1681 Otherwise ../config.h would look outside the build tree. 1682 1683 Use the default check type instead of forcing CRC32 or CRC64. 1684 Now the script doesn't need to check if CRC64 is available. 1685 1686 (cherry picked from commit ac3222d2cb1ff3a15eb6d58f9ea9bc78e8bc3bb2) 1687 1688 tests/test_compress.sh | 41 +++++++++++++++++++++++++++++------------ 1689 1 file changed, 29 insertions(+), 12 deletions(-) 1690 1691commit c761b7051fb2ebb6da3cbecafe695fb5af7b2c9c 1692Author: Lasse Collin <lasse.collin@tukaani.org> 1693Date: 2024-05-20 16:55:00 +0300 1694 1695 CMake: Prepare to support the test_*.sh tests 1696 1697 This is a bit hacky since the scripts grep config.h to know which 1698 features were built but the CMake build doesn't create config.h. 1699 So instead those test scripts will be run only when all relevant 1700 features have been enabled. 1701 1702 (cherry picked from commit 006040b29c83104403621e950ada0c8956c56b3d) 1703 1704 tests/tests.cmake | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1705 1 file changed, 49 insertions(+) 1706 1707commit a71bc2d75b95f85fe046f0fd1fb25d36be2b20ba 1708Author: Lasse Collin <lasse.collin@tukaani.org> 1709Date: 2024-05-20 16:55:00 +0300 1710 1711 Tests: test_suffix.sh: Add a comment 1712 1713 (cherry picked from commit 6167607a6ea72fb74eefb943c4566e3cab528cd2) 1714 1715 tests/test_suffix.sh | 3 +++ 1716 1 file changed, 3 insertions(+) 1717 1718commit 8fda5ce872632e464a1f9660b3ab8dac939a03c6 1719Author: Lasse Collin <lasse.collin@tukaani.org> 1720Date: 2024-05-18 00:34:07 +0300 1721 1722 Fix typos 1723 1724 Thanks to xx on #tukaani. 1725 1726 (cherry picked from commit 4e9023857d287f624562156b60dc23d2b64c0f10) 1727 1728 src/common/mythread.h | 2 +- 1729 src/common/tuklib_integer.h | 2 +- 1730 src/liblzma/api/lzma/base.h | 2 +- 1731 src/liblzma/common/filter_buffer_decoder.c | 2 +- 1732 src/liblzma/common/filter_common.c | 2 +- 1733 src/scripts/xzgrep.in | 2 +- 1734 6 files changed, 6 insertions(+), 6 deletions(-) 1735 1736commit 2729079bcb8dd1c3ab1a79426690d17f6f8e6f7d 1737Author: Lasse Collin <lasse.collin@tukaani.org> 1738Date: 2024-05-18 00:23:52 +0300 1739 1740 liblzma: Fix white space 1741 1742 Thanks to xx on #tukaani. 1743 1744 (cherry picked from commit b14d08fbbc254485ace9ccfe7908674f608a62ae) 1745 1746 src/liblzma/simple/simple_coder.h | 8 ++++---- 1747 1 file changed, 4 insertions(+), 4 deletions(-) 1748 1749commit a289c4dfeb3ded35e129c48b13f46605f0138704 1750Author: Lasse Collin <lasse.collin@tukaani.org> 1751Date: 2024-05-13 17:15:04 +0300 1752 1753 xz: Document the static function get_chains_memusage() 1754 1755 (cherry picked from commit 142e670a413a7bce1a2647f1cf1f33f8ee2dbe88) 1756 1757 src/xz/coder.c | 14 ++++++++++++-- 1758 1 file changed, 12 insertions(+), 2 deletions(-) 1759 1760commit 6f0db31713845386ce2419c55b2df89b53b80dd3 1761Author: Lasse Collin <lasse.collin@tukaani.org> 1762Date: 2024-05-13 17:07:22 +0300 1763 1764 xz: Rename filters_memusage_max() to get_chains_memusage() 1765 1766 (cherry picked from commit 78e984399a64bfee5d11e7308e0bdbc1006db2ca) 1767 1768 src/xz/coder.c | 14 ++++++-------- 1769 1 file changed, 6 insertions(+), 8 deletions(-) 1770 1771commit d7e2bf7e2dc9289a7a5dd0311d19d10de6d7ea1b 1772Author: Lasse Collin <lasse.collin@tukaani.org> 1773Date: 2024-05-13 17:04:05 +0300 1774 1775 xz: Rename filter_memusages to chains_memusages 1776 1777 (cherry picked from commit 54c3db0a83d3e67d89aba92a0957f2dce9b111a7) 1778 1779 src/xz/coder.c | 6 +++--- 1780 1 file changed, 3 insertions(+), 3 deletions(-) 1781 1782commit 58f200b6d1dc4cbc1ab3315a359120ab6eb84878 1783Author: Lasse Collin <lasse.collin@tukaani.org> 1784Date: 2024-05-12 22:26:30 +0300 1785 1786 xz: Simplify the memory usage scaling code 1787 1788 This is closer to what it was before the --filtersX support was added, 1789 just extended to support for scaling all filter chains. The method 1790 before this commit was an extended version of the original too but 1791 it was done in a more complex way for no clear reason. In case of 1792 an error, the complex version printed fewer informative messages 1793 (a good thing) but it's not a sigificant benefit. 1794 1795 In the limit is too low even for single-threaded mode, the required 1796 amount of memory is now reported like in 5.4.x instead of like in 1797 5.5.1alpha - 5.6.1 which showed the original non-scaled usage. It 1798 had been a FIXME in the old code but it's not clear what message 1799 makes the most sense. 1800 1801 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 1802 (cherry picked from commit d9e1ae79ec90d6a7eafeaceaf0ece4f0c83d4417) 1803 1804 src/xz/coder.c | 163 ++++++++++++++++++++------------------------------------- 1805 1 file changed, 57 insertions(+), 106 deletions(-) 1806 1807commit 41bdc9fa5cc2fc2a70f4331329ac724773cc2f26 1808Author: Lasse Collin <lasse.collin@tukaani.org> 1809Date: 2024-05-13 12:14:00 +0300 1810 1811 xz: Edit comments 1812 1813 (cherry picked from commit 0ee56983d198b776878432703de664049b1be32e) 1814 1815 src/xz/coder.h | 6 ++---- 1816 1 file changed, 2 insertions(+), 4 deletions(-) 1817 1818commit 52e40c1912dfdbf8c7aa85e3a4c3eb138fa73d5d 1819Author: Lasse Collin <lasse.collin@tukaani.org> 1820Date: 2024-05-13 12:03:51 +0300 1821 1822 xz: Rename chain_idx to chain_num 1823 1824 (cherry picked from commit ec82a49c3553f7206104582dbfb8b64fa433b491) 1825 1826 src/xz/coder.c | 6 +++--- 1827 1 file changed, 3 insertions(+), 3 deletions(-) 1828 1829commit 8a019633319c694423691f58c55fa23a46e45ded 1830Author: Lasse Collin <lasse.collin@tukaani.org> 1831Date: 2024-05-12 22:29:11 +0300 1832 1833 xz: Edit coding style 1834 1835 (cherry picked from commit a731a6993c34bbbd55abaf9c166718682b1da24f) 1836 1837 src/xz/coder.c | 2 +- 1838 1 file changed, 1 insertion(+), 1 deletion(-) 1839 1840commit e3ad7eda74caea29849e2e9ec01212f5f7d0f574 1841Author: Lasse Collin <lasse.collin@tukaani.org> 1842Date: 2024-05-12 22:16:05 +0300 1843 1844 xz: Edit comments 1845 1846 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 1847 (cherry picked from commit 32eb176b89243fce3112347fe43a8ad14a9fd2be) 1848 1849 src/xz/coder.c | 8 ++------ 1850 1 file changed, 2 insertions(+), 6 deletions(-) 1851 1852commit 09cabae2ab47a06f6eee02419a815d4bfd0d9490 1853Author: Lasse Collin <lasse.collin@tukaani.org> 1854Date: 2024-05-12 21:57:49 +0300 1855 1856 xz: Fix grammar in a comment 1857 1858 Fixes: cb3111e3ed84152912b5138d690c8d9f00c6ef02 1859 (cherry picked from commit b90339f4daa510d2b1b8c550f855a99667f1d004) 1860 1861 src/xz/coder.c | 2 +- 1862 1 file changed, 1 insertion(+), 1 deletion(-) 1863 1864commit c10b66fbf9b2442741a1f052bdb4ce7009af9cda 1865Author: Lasse Collin <lasse.collin@tukaani.org> 1866Date: 2024-05-12 21:46:56 +0300 1867 1868 xz: Rename filter_memusages to encoder_memusages 1869 1870 (cherry picked from commit 4c0bdaf13d651b22ba13bd93f8379724d6ccdc13) 1871 1872 src/xz/coder.c | 12 ++++++------ 1873 1 file changed, 6 insertions(+), 6 deletions(-) 1874 1875commit 9132ce3564b2c003bffd6de6294a3d98dccf314e 1876Author: Lasse Collin <lasse.collin@tukaani.org> 1877Date: 2024-05-12 21:42:05 +0300 1878 1879 xz: Edit coding style 1880 1881 (cherry picked from commit b54aa023e0ec291b06e976e5f094ab0549e7b09b) 1882 1883 src/xz/coder.c | 8 ++++---- 1884 1 file changed, 4 insertions(+), 4 deletions(-) 1885 1886commit d642e13874e93b03959d1de523f1c8ebe9428838 1887Author: Lasse Collin <lasse.collin@tukaani.org> 1888Date: 2024-05-12 21:31:02 +0300 1889 1890 xz: Rename filters_index to chain_num 1891 1892 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68. 1893 1894 (cherry picked from commit 49f67d3d3f42b640a7dfc4ca04c8934f658e10ce) 1895 1896 src/xz/args.c | 8 ++++---- 1897 src/xz/coder.c | 8 ++++---- 1898 src/xz/coder.h | 2 +- 1899 3 files changed, 9 insertions(+), 9 deletions(-) 1900 1901commit 47599f3b73f0a2bc18e0a8367d723f1eb0f11b63 1902Author: Lasse Collin <lasse.collin@tukaani.org> 1903Date: 2024-05-12 21:22:43 +0300 1904 1905 xz: Replace a few uint32_t with "unsigned" to reduce the number of casts 1906 1907 These hold only tiny values. 1908 1909 (cherry picked from commit ff9e8b3d069ecfa52ec43dcdb198542d1692a492) 1910 1911 src/xz/args.c | 2 +- 1912 src/xz/coder.c | 17 ++++++++--------- 1913 src/xz/coder.h | 2 +- 1914 3 files changed, 10 insertions(+), 11 deletions(-) 1915 1916commit 8f5ab75c454ea8676ed09c7f6eda8afe87b008ad 1917Author: Lasse Collin <lasse.collin@tukaani.org> 1918Date: 2024-05-12 21:10:45 +0300 1919 1920 xz: Rename filters_used_mask to chains_used_mask 1921 1922 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68. 1923 1924 (cherry picked from commit b5e6c1113b1ba02c282bd9163eccdb521c937a78) 1925 1926 src/xz/coder.c | 30 +++++++++++++++--------------- 1927 1 file changed, 15 insertions(+), 15 deletions(-) 1928 1929commit 3eb7cf9dd5b90a074f741234225d7de51ad88774 1930Author: Lasse Collin <lasse.collin@tukaani.org> 1931Date: 2024-05-12 17:14:43 +0300 1932 1933 xz: Move the setting of "check" in coder_set_compression_settings() 1934 1935 It's more logical to do it in the beginning instead of in the middle 1936 of the filter chain handling. 1937 1938 Fixes: d6af7f347077b22403133239592e478931307759 1939 (cherry picked from commit 32500dfaadae2ea36fda2e17b49ae7d9ac1acf52) 1940 1941 src/xz/coder.c | 18 +++++++++--------- 1942 1 file changed, 9 insertions(+), 9 deletions(-) 1943 1944commit 067961ee0e1adaa66a43fbf8c3be31697554a839 1945Author: Lasse Collin <lasse.collin@tukaani.org> 1946Date: 2024-05-12 17:09:17 +0300 1947 1948 xz: Rename "filters" to "chains" 1949 1950 The convention is that 1951 1952 lzma_filter filters[LZMA_FILTERS_MAX + 1]; 1953 1954 contains the filters of a single filter chain. 1955 It was so here as well before the commit 1956 d6af7f347077b22403133239592e478931307759. 1957 It changes "filters" to a ten-element array of filter chains. 1958 It's clearer to call this array-of-arrays "chains". 1959 1960 This also renames "filter_idx" to "chain_idx" which is used 1961 as an index as in chains[chain_idx]. 1962 1963 (cherry picked from commit ad146b1f42bbb678175a503a45ce525e779f9b8b) 1964 1965 src/xz/coder.c | 68 +++++++++++++++++++++++++++++----------------------------- 1966 1 file changed, 34 insertions(+), 34 deletions(-) 1967 1968commit 6822f6f891d43c97ea379a51223ce8ea69439161 1969Author: Lasse Collin <lasse.collin@tukaani.org> 1970Date: 2024-05-12 16:56:15 +0300 1971 1972 xz: Clean up a comment 1973 1974 (cherry picked from commit 5a4ae4e4d0105404184e9a82ee08f94e1b7783e0) 1975 1976 src/xz/coder.c | 9 +++------ 1977 1 file changed, 3 insertions(+), 6 deletions(-) 1978 1979commit 0e5e3e7bdcfcdc4b4607665ff0f6ad794e5195af 1980Author: Lasse Collin <lasse.collin@tukaani.org> 1981Date: 2024-05-12 16:52:09 +0300 1982 1983 xz: Add clarifying assertions 1984 1985 (cherry picked from commit 2de80494ed9a4dc7db395a32a5efb770ce769804) 1986 1987 src/xz/coder.c | 4 ++++ 1988 1 file changed, 4 insertions(+) 1989 1990commit 77bcf6b76a26833923e62b2dec717474d5d44700 1991Author: Lasse Collin <lasse.collin@tukaani.org> 1992Date: 2024-05-10 20:23:33 +0300 1993 1994 xz: Add a clarifying assertion 1995 1996 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 1997 (cherry picked from commit 1eaad004bf7748976324672db028e34f42802e61) 1998 1999 src/xz/coder.c | 1 + 2000 1 file changed, 1 insertion(+) 2001 2002commit df3efc058a256629ea0153b4750d3df308757038 2003Author: Lasse Collin <lasse.collin@tukaani.org> 2004Date: 2024-05-12 16:47:17 +0300 2005 2006 xz: Clarify a comment 2007 2008 (cherry picked from commit 605094329b986244833c967c04963cacc41a868d) 2009 2010 src/xz/coder.c | 4 +++- 2011 1 file changed, 3 insertions(+), 1 deletion(-) 2012 2013commit 4ebfe11cd33439675f03e1e3725abf03d6f8251b 2014Author: Lasse Collin <lasse.collin@tukaani.org> 2015Date: 2024-05-12 16:28:25 +0300 2016 2017 xz: Use the info collected in parse_block_list() 2018 2019 This is slightly simpler and it avoids looping through 2020 the opt_block_list array. 2021 2022 (cherry picked from commit 8fac2577f2dbb9491afd8500f60d004c9071df3b) 2023 2024 src/xz/coder.c | 95 ++++++++++++++++++++++++---------------------------------- 2025 1 file changed, 39 insertions(+), 56 deletions(-) 2026 2027commit bfea6913618357a7034a1d79079bccb688262124 2028Author: Lasse Collin <lasse.collin@tukaani.org> 2029Date: 2024-05-12 15:48:45 +0300 2030 2031 xz: Remember the filter chains and the largest Block in parse_block_list() 2032 2033 (cherry picked from commit 81d350dab864b985b740742772f3b132d4c52914) 2034 2035 src/xz/args.c | 18 ++++++++++++++++++ 2036 src/xz/coder.c | 2 ++ 2037 src/xz/coder.h | 13 +++++++++++++ 2038 3 files changed, 33 insertions(+) 2039 2040commit d4e33e73922427a0f5277b91b239af538fd41c06 2041Author: Lasse Collin <lasse.collin@tukaani.org> 2042Date: 2024-05-12 15:38:48 +0300 2043 2044 xz: Update a comment and initialization of filters_used_mask 2045 2046 (cherry picked from commit 46ab56968f7dfdac187710a1223659d832fa1565) 2047 2048 src/xz/coder.c | 16 ++++++++-------- 2049 1 file changed, 8 insertions(+), 8 deletions(-) 2050 2051commit 3c130737c9bb4a5021bb14eb19e9ceae30ffef3a 2052Author: Lasse Collin <lasse.collin@tukaani.org> 2053Date: 2024-05-12 15:08:10 +0300 2054 2055 xz: parse_block_list: Edit integer type casting 2056 2057 (cherry picked from commit e89293a0baeb8663707c6b4a74fbb310ec698a8f) 2058 2059 src/xz/args.c | 5 ++--- 2060 1 file changed, 2 insertions(+), 3 deletions(-) 2061 2062commit 40c8513b4ee42b8c0fae9b2a229e078ac7e0f87a 2063Author: Lasse Collin <lasse.collin@tukaani.org> 2064Date: 2024-05-12 14:51:37 +0300 2065 2066 xz: Make filter_memusages a local variable 2067 2068 (cherry picked from commit 87011e40c168255cd2edea129ee68c901770603b) 2069 2070 src/xz/coder.c | 35 +++++++++++++++++++++-------------- 2071 1 file changed, 21 insertions(+), 14 deletions(-) 2072 2073commit cacaf25aa71cd1110cc049d037c11e4075602c35 2074Author: Lasse Collin <lasse.collin@tukaani.org> 2075Date: 2024-05-10 20:33:08 +0300 2076 2077 xz: Remove unused code and simplify 2078 2079 opt_mode == MODE_COMPRESS isn't possible when HAVE_ENCODERS isn't 2080 defined. Thus, when *encoding*, the message about *decoder* memory 2081 usage is possible to show only when both encoder and decoder have 2082 been built. 2083 2084 Since the message is shown only at V_DEBUG, skip the memusage 2085 calculation if verbosity level isn't high enough. 2086 2087 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 2088 (cherry picked from commit 347b412a9374e0456bef9da0d7d79174c0b6f1a5) 2089 2090 src/xz/coder.c | 16 ++++------------ 2091 1 file changed, 4 insertions(+), 12 deletions(-) 2092 2093commit 3495a6b291f49079485854bb185a52c29d06cd2f 2094Author: Lasse Collin <lasse.collin@tukaani.org> 2095Date: 2024-05-10 20:22:58 +0300 2096 2097 xz: Fix integer type from uint64_t to uint32_t 2098 2099 lzma_options_lzma.dict_size is uint32_t so use it here too. 2100 2101 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 2102 (cherry picked from commit 31358c057c9de9d6aba96bae112b2d17942de7cb) 2103 2104 src/xz/coder.c | 2 +- 2105 1 file changed, 1 insertion(+), 1 deletion(-) 2106 2107commit 2861d856deb557734f067c5c471d670f0b0c6684 2108Author: Lasse Collin <lasse.collin@tukaani.org> 2109Date: 2024-05-08 21:40:07 +0300 2110 2111 debug/translation.bash: Remove an outdated test command 2112 2113 Since 5.3.5beta, "xz --lzma2=mf=bt4,nice=2" works even though bt4 needs 2114 at least nice=4. It is rounded up internally by liblzma when needed. 2115 2116 Fixes: 5cd9f0df78cc4f8a7807bf6104adea13034fbb45 2117 (cherry picked from commit 3f71e0f3a118e1012526f94fd640a626d30cb599) 2118 2119 debug/translation.bash | 1 - 2120 1 file changed, 1 deletion(-) 2121 2122commit 54546babc3feb2786e541b80f9e7216b8f1bd543 2123Author: Lasse Collin <lasse.collin@tukaani.org> 2124Date: 2024-05-07 20:41:28 +0300 2125 2126 Fix the date of NEWS for 5.4.5 2127 2128 (cherry picked from commit b05a516830095a0e1937aeb31c937fb0400408b6) 2129 2130 NEWS | 2 +- 2131 1 file changed, 1 insertion(+), 1 deletion(-) 2132 2133commit a7e58d1fdb493d58854ac599347cf64da0cecca4 2134Author: Lasse Collin <lasse.collin@tukaani.org> 2135Date: 2024-05-07 16:21:15 +0300 2136 2137 Build: Update visibility.m4 from Gnulib 2138 2139 This fixes the syntax of the "serial" line and renames 2140 a temporary variable. 2141 2142 (cherry picked from commit 6d336aeb97b69c496ddc626af403f6f21c753658) 2143 2144 m4/visibility.m4 | 13 +++++++------ 2145 1 file changed, 7 insertions(+), 6 deletions(-) 2146 2147commit 07a9cda037042b262ba6c8c18fae4a5b3333d508 2148Author: Lasse Collin <lasse.collin@tukaani.org> 2149Date: 2024-05-07 15:05:21 +0300 2150 2151 po4a/update-po: Delete the *.po.authors files 2152 2153 These are temporary files that are needed only when running po4a. 2154 The top-level Makefile.am puts the whole po4a directory into 2155 distribution tarball (it's simpler) so deleting these temporary 2156 files is needed to prevent them from getting into tarballs. 2157 2158 (cherry picked from commit ab51e8ee610e2a893906859848f93d5cb0d5ba83) 2159 2160 po4a/update-po | 4 ++++ 2161 1 file changed, 4 insertions(+) 2162 2163commit 1b4e7dca243d8ef297a245b5ee3ce9cd1ca20f56 2164Author: Lasse Collin <lasse.collin@tukaani.org> 2165Date: 2024-05-07 13:12:17 +0300 2166 2167 xz: Edit comments and coding style 2168 2169 (cherry picked from commit e4780244a17420cc95d5498cd6e02ad10eac6e5f) 2170 2171 src/xz/coder.c | 25 ++++++++++++------------- 2172 1 file changed, 12 insertions(+), 13 deletions(-) 2173 2174commit 18683525a78e96ec6d7c2b4e841e94ad39be7096 2175Author: Lasse Collin <lasse.collin@tukaani.org> 2176Date: 2024-05-06 23:08:22 +0300 2177 2178 xz: Omit an incorrect comment 2179 2180 It likely was a leftover from a development version of the code. 2181 2182 Fixes: 183819bfd9efac8c184d9bf123325719b7eee30f 2183 (cherry picked from commit fe4d8b0c80eaeca3381be302eeb89aba871a7e7c) 2184 2185 src/xz/coder.c | 6 +----- 2186 1 file changed, 1 insertion(+), 5 deletions(-) 2187 2188commit 005f0398645b0342c9c1915d422743c77ec1d435 2189Author: Lasse Collin <lasse.collin@tukaani.org> 2190Date: 2024-05-06 23:04:31 +0300 2191 2192 xz: Add braces to a for-statement and to an if-statement 2193 2194 No functional changes. 2195 2196 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 2197 Fixes: 479fd58d60622331fcbe48fddf756927b9f80d9a 2198 (cherry picked from commit 9bef5b8d17dd5e009d6a6b2becc2dc535da53937) 2199 2200 src/xz/coder.c | 6 ++++-- 2201 1 file changed, 4 insertions(+), 2 deletions(-) 2202 2203commit 34be4e6aa62376314fde250ea4f142c18274272f 2204Author: Lasse Collin <lasse.collin@tukaani.org> 2205Date: 2024-05-06 23:00:09 +0300 2206 2207 liblzma: Omit an unneeded array from the x86 filter 2208 2209 Fixes: 6aa2a6deeba04808a0fe4461396e7fb70277f3d4 2210 (cherry picked from commit de06b9f0c0a3f72569829ecadbc9c0a3ef099f57) 2211 2212 src/liblzma/simple/x86.c | 5 +---- 2213 1 file changed, 1 insertion(+), 4 deletions(-) 2214 2215commit 79e329b771210c30ea317dd4d99e8968f3e6f9b2 2216Author: Lasse Collin <lasse.collin@tukaani.org> 2217Date: 2024-05-06 22:56:31 +0300 2218 2219 CMake: Add test_suffix.sh to the tests 2220 2221 (cherry picked from commit 7da488cb933fdf51cfc14cb5810beb0766224380) 2222 2223 tests/tests.cmake | 13 +++++++++++++ 2224 1 file changed, 13 insertions(+) 2225 2226commit 86f33bb90c6cfe6950f1d36c9e5dd7fdc9798124 2227Author: Lasse Collin <lasse.collin@tukaani.org> 2228Date: 2024-05-06 22:55:54 +0300 2229 2230 Test: Add CMake support to test_suffix.sh 2231 2232 It needs to find the xz executable from a different directory 2233 and work without config.h. 2234 2235 (cherry picked from commit a805594ed0b4cbf7b81aa28ff46a8ab3c83c6876) 2236 2237 tests/test_suffix.sh | 12 +++++++----- 2238 1 file changed, 7 insertions(+), 5 deletions(-) 2239 2240commit 1e243ab378e8f78ebb3af741fb38354954cf20f9 2241Author: Lasse Collin <lasse.collin@tukaani.org> 2242Date: 2024-05-06 20:45:34 +0300 2243 2244 Update INSTALL about MINIX 3 2245 2246 The latest stable is 3.3.0 and it's from 2014. 2247 Don't mention the older versions in INSTALL. 2248 3.3.0 ships with Clang already. 2249 2250 Testing with 3.4.0beta6 shows that tuklib_physmem 2251 works too so omit comments about that from INSTALL. 2252 Visibility warnigns weren't a problem either. 2253 2254 Thus it's enough to mention the need for --disable-threads 2255 as configure doesn't autodetect the lack of pthreads. 2256 2257 (cherry picked from commit 50e19489387774bab3c4a988397d0d9c7a142a46) 2258 2259 INSTALL | 20 +++++++------------- 2260 1 file changed, 7 insertions(+), 13 deletions(-) 2261 2262commit 8595b5ab3ba766eb6daed890bfe91a16fe329c2c 2263Author: Lasse Collin <lasse.collin@tukaani.org> 2264Date: 2024-05-02 23:00:16 +0300 2265 2266 Windows: Remove the "doc/api" line from README-Windows.txt 2267 2268 Fixes: 252aa1d67bc015eeba462803ab72edeb7744d864 2269 (cherry picked from commit 68d18aea1422a2b86b98b71d0b019233d84e01b0) 2270 2271 windows/README-Windows.txt | 2 -- 2272 1 file changed, 2 deletions(-) 2273 2274commit a3f163a4ad97189744107e964e4dea505fbcc252 2275Author: Lasse Collin <lasse.collin@tukaani.org> 2276Date: 2024-05-02 22:59:04 +0300 2277 2278 Build: Don't copy doc/api from source tree to distribution tarball 2279 2280 It was copied if it existed. This was intentional when autogen.sh 2281 still built liblzma API docs with Doxygen. 2282 2283 Fixes: d3a77ebc04bf1db8d52de2d9b0f07877bc4fd139 2284 (cherry picked from commit 8ede961374613aa302a13571d662cfaea1cf91f7) 2285 2286 Makefile.am | 5 ----- 2287 1 file changed, 5 deletions(-) 2288 2289commit cb0e847fe07099c1ef6d8076f6a46e17bc431acb 2290Author: Sam James <sam@gentoo.org> 2291Date: 2024-05-02 13:26:40 +0100 2292 2293 ci: add SPDX headers 2294 2295 I've checked over each of these and they're straightforward applications 2296 of the relevant Github Actions. 2297 2298 (cherry picked from commit 9a6761aa35ed84d30bd2fda2333a4fdf3f46ecdc) 2299 2300 .github/workflows/freebsd.yml | 2 ++ 2301 .github/workflows/netbsd.yml | 2 ++ 2302 .github/workflows/openbsd.yml | 2 ++ 2303 3 files changed, 6 insertions(+) 2304 2305commit c3c854dc759fe0c5549aa0a730be9e259243edb6 2306Author: Yaroslav Halchenko <debian@onerussian.com> 2307Date: 2024-03-29 14:37:24 -0400 2308 2309 codespell: Ignore the THANKS file and debbugs.gnu.org URL 2310 2311 This way "codespell -i 0" is silent. 2312 2313 This is the first commit from 2314 https://github.com/tukaani-project/xz/pull/93 2315 with trivial edits by Lasse Collin. 2316 2317 (cherry picked from commit 81efe6119f86e3274e512c9eca5ec22b2196c2b3) 2318 2319 .codespellrc | 6 +++++- 2320 1 file changed, 5 insertions(+), 1 deletion(-) 2321 2322commit 3216301aa20fcf9d5a7485e35a295d5c451d9658 2323Author: Lasse Collin <lasse.collin@tukaani.org> 2324Date: 2024-04-30 14:37:11 +0300 2325 2326 Add .gitattributes to clean up git-archive output 2327 2328 (cherry picked from commit 905bfc74fe2670fd9c39014803017ab53d325401) 2329 2330 .gitattributes | 7 +++++++ 2331 1 file changed, 7 insertions(+) 2332 2333commit f99e7c69ada9e0db0ee1ebbc38c8ce9390cd9788 2334Author: Lasse Collin <lasse.collin@tukaani.org> 2335Date: 2024-04-19 12:11:09 +0300 2336 2337 xzdec: Support Landlock ABI version 4 2338 2339 This was added to xz in 02e3505991233901575b7eabc06b2c6c62a96899 2340 but I forgot to do the same in xzdec. 2341 2342 The Landlock sandbox in xzdec could be stricter as now it's 2343 active only for the last file being decompressed. In xz, 2344 read-only sandbox is used for multi-file case. On the other hand, 2345 xz doesn't go to the strictest mode when processing the last file 2346 when more than one file was specified; xzdec does. 2347 2348 (cherry picked from commit 3334c71d3d4294a4f6569df3ba9bcf2443dfa501) 2349 2350 src/xzdec/xzdec.c | 18 ++++++++++++++---- 2351 1 file changed, 14 insertions(+), 4 deletions(-) 2352 2353commit bfe9be7a46cfd3b3069c15f7ba1432192bca1f5b 2354Author: Lasse Collin <lasse.collin@tukaani.org> 2355Date: 2024-04-30 22:22:45 +0300 2356 2357 liblzma: Fix incorrect function type error from sanitizer 2358 2359 Clang 17 with -fsanitize=address,undefined: 2360 2361 src/liblzma/common/filter_common.c:366:8: runtime error: 2362 call to function encoder_find through pointer to incorrect 2363 function type 'const lzma_filter_coder *(*)(unsigned long)' 2364 src/liblzma/common/filter_encoder.c:187: note: 2365 encoder_find defined here 2366 2367 Use a wrapper function to get the correct type neatly. 2368 This reduces the number of casts needed too. 2369 2370 This issue could be a problem with control flow integrity (CFI) 2371 methods that check the function type on indirect function calls. 2372 2373 Fixes: 3b34851de1eaf358cf9268922fa0eeed8278d680 2374 (cherry picked from commit 278563ef8f2b8d98d7f2c85e1a64ec1bc21d26d8) 2375 2376 src/liblzma/common/filter_decoder.c | 15 ++++++++++++--- 2377 src/liblzma/common/filter_encoder.c | 17 +++++++++++++---- 2378 2 files changed, 25 insertions(+), 7 deletions(-) 2379 2380commit 882eadc5b820b6b1495fc91ba3573ac2aa6c1df3 2381Author: Lasse Collin <lasse.collin@tukaani.org> 2382Date: 2024-04-30 21:41:11 +0300 2383 2384 xz: Avoid arithmetic on a null pointer 2385 2386 It's undefined behavior. The result wasn't ever used as it occurred 2387 in the last iteration of a loop. 2388 2389 Clang 17 with -fsanitize=address,undefined: 2390 2391 $ src/xz/xz --block-list=123 2392 src/xz/args.c:164:12: runtime error: applying non-zero offset 1 2393 to null pointer 2394 2395 Fixes: 88ccf47205d7f3aa314d358c72ef214f10f68b43 2396 Co-authored-by: Sam James <sam@gentoo.org> 2397 (cherry picked from commit 77c8f60547decefca8f2d0c905d9c708c38ee8ff) 2398 2399 src/xz/args.c | 8 +++++++- 2400 1 file changed, 7 insertions(+), 1 deletion(-) 2401 2402commit ec5458e1c9b2beb416781e81ad4ff22b0149b99d 2403Author: Lasse Collin <lasse.collin@tukaani.org> 2404Date: 2024-04-27 20:42:00 +0300 2405 2406 CMake: Support building liblzma API docs using Doxygen 2407 2408 This is disabled by default to match the default in Autotools. 2409 Use -DUSE_DOXYGEN=ON to enable Doxygen usage. 2410 2411 This uses the update-doxygen script, thus this is under if(UNIX) 2412 although Doxygen itself can run on Windows too. 2413 2414 (cherry picked from commit 64503cc2b76a388ced4ec5f68234a07f0dcddcd5) 2415 2416 CMakeLists.txt | 40 +++++++++++++++++++++++++++++++--------- 2417 1 file changed, 31 insertions(+), 9 deletions(-) 2418 2419commit 8c93ced56bcb23df723dab23b7477d580720f522 2420Author: Lasse Collin <lasse.collin@tukaani.org> 2421Date: 2024-04-20 23:36:39 +0300 2422 2423 CMake: List API headers in LIBLZMA_API_HEADERS variable 2424 2425 This way the same list will be usable in more than one location. 2426 2427 (cherry picked from commit 0a7f5a80d8532a1d8cfa0a902c9d1ad7651eca37) 2428 2429 CMakeLists.txt | 21 ++++++++++++--------- 2430 1 file changed, 12 insertions(+), 9 deletions(-) 2431 2432commit f7c9bab0372db357511e42c9c610a2cfe5fca9b1 2433Author: Lasse Collin <lasse.collin@tukaani.org> 2434Date: 2024-04-19 15:16:42 +0300 2435 2436 PACKAGERS: Document the optional Doxygen usage 2437 2438 Also add a note that packagers should check the licensing 2439 of the Doxygen output. 2440 2441 (cherry picked from commit 541406bee3f09e9813103c6406b10fc6ab2e0d30) 2442 2443 PACKAGERS | 19 ++++++++++--------- 2444 1 file changed, 10 insertions(+), 9 deletions(-) 2445 2446commit 28e7d130cb843e96d7e6b0358f8dd58bd1b2a275 2447Author: Lasse Collin <lasse.collin@tukaani.org> 2448Date: 2024-04-27 17:47:09 +0300 2449 2450 Build: Add --enable-doxygen to generate and install API docs 2451 2452 It requires Doxygen. This option is disabled by default. 2453 2454 (cherry picked from commit e21efdf96f39378fe417479f89e97046680406f5) 2455 2456 INSTALL | 6 ++++++ 2457 configure.ac | 10 +++++++++- 2458 src/liblzma/api/Makefile.am | 19 +++++++++++++++++++ 2459 3 files changed, 34 insertions(+), 1 deletion(-) 2460 2461commit cca7e6c05bc6cc51c0271c36856b7fe29f65c648 2462Author: Lasse Collin <lasse.collin@tukaani.org> 2463Date: 2024-04-19 15:15:17 +0300 2464 2465 Doxygen: update-doxygen: Support out-of-tree builds 2466 2467 Also, now $0 is used to refer to the script itself. 2468 2469 (cherry picked from commit 0ece09a575d7e542bda8825808ddd6cf7de8cc4b) 2470 2471 doxygen/update-doxygen | 110 ++++++++++++++++++++++++++++++------------------- 2472 1 file changed, 68 insertions(+), 42 deletions(-) 2473 2474commit 8090d3dc7f0eea4a3a61f4f6d46a0d0866e345fe 2475Author: Lasse Collin <lasse.collin@tukaani.org> 2476Date: 2024-04-28 21:08:00 +0300 2477 2478 Doxygen: Simplify Doxyfile and add SPDX license identifier 2479 2480 This omits all comments and a few non-default options that weren't 2481 needed. Now it contains no copyrighted content from Doxygen itself. 2482 2483 (cherry picked from commit 2c519f641f266fd897edf680827d9c905f411440) 2484 2485 doxygen/Doxyfile | 2698 +----------------------------------------------------- 2486 1 file changed, 25 insertions(+), 2673 deletions(-) 2487 2488commit 0721b8bfe558502669f06c97601fe59ad0d52541 2489Author: Lasse Collin <lasse.collin@tukaani.org> 2490Date: 2024-04-19 15:14:02 +0300 2491 2492 Doxygen: Don't strip JavaScript anymore 2493 2494 The stripping method worked well with Doxygen 1.8 and 1.9 but 2495 it doesn't work with Doxygen 1.10 anymore. Since we won't ship 2496 pre-generated liblzma API docs anymore, the extra bloat and 2497 extra license info of the JavaScript files won't affect the 2498 upstream source package anymore. 2499 2500 (cherry picked from commit bdba39a57530d11b88440df8024002be3d09e4a1) 2501 2502 doxygen/update-doxygen | 21 --------------------- 2503 1 file changed, 21 deletions(-) 2504 2505commit 1ddb40f6fd286c3c6ef510735112db1ac1b60936 2506Author: Lasse Collin <lasse.collin@tukaani.org> 2507Date: 2024-04-19 17:26:41 +0300 2508 2509 Build: Remove old Doxygen rules from top-level Makefile.am 2510 2511 (cherry picked from commit d3a77ebc04bf1db8d52de2d9b0f07877bc4fd139) 2512 2513 Makefile.am | 12 ------------ 2514 1 file changed, 12 deletions(-) 2515 2516commit 092af76234b1bc79380427456b3215aa0b80f339 2517Author: Lasse Collin <lasse.collin@tukaani.org> 2518Date: 2024-04-19 15:10:06 +0300 2519 2520 Update COPYING to match the autogen.sh and mydist changes 2521 2522 (cherry picked from commit fd7faa4c338a42a6a40e854b837d285ae2e8c609) 2523 2524 COPYING | 11 ----------- 2525 1 file changed, 11 deletions(-) 2526 2527commit 77bce9a0a250cfb20333ee0dca036b3193dd4941 2528Author: Lasse Collin <lasse.collin@tukaani.org> 2529Date: 2024-04-19 17:23:43 +0300 2530 2531 Build: Don't run update-doxygen as part of "make mydist" 2532 2533 (cherry picked from commit b2bc55d8a0a9f2f59bfd4302067300e650f6baa3) 2534 2535 Makefile.am | 1 - 2536 1 file changed, 1 deletion(-) 2537 2538commit 3a2fc62f59b2e8cc45f8d8fd9988b4305efe4bff 2539Author: Lasse Collin <lasse.collin@tukaani.org> 2540Date: 2024-04-19 15:09:48 +0300 2541 2542 autogen.sh: Don't generated Doxygen docs anymore 2543 2544 (cherry picked from commit e9be74f5b129fe8a5388d588e68b1b7f5168a310) 2545 2546 autogen.sh | 18 +++--------------- 2547 1 file changed, 3 insertions(+), 15 deletions(-) 2548 2549commit b04c16f9a5a8675a87783305568cadfa3f17d999 2550Author: Lasse Collin <lasse.collin@tukaani.org> 2551Date: 2024-04-19 17:41:36 +0300 2552 2553 windows/build.bash: Omit Doxygen docs from the package 2554 2555 They will be omitted from the source tarball and I don't want 2556 to make Doxygen a dependency of build.bash. 2557 2558 (cherry picked from commit 252aa1d67bc015eeba462803ab72edeb7744d864) 2559 2560 windows/build.bash | 4 ++-- 2561 1 file changed, 2 insertions(+), 2 deletions(-) 2562 2563commit d4dd3c8f6169adf50cad8fe6872e0f5fcb82475c 2564Author: Lasse Collin <lasse.collin@tukaani.org> 2565Date: 2024-04-19 14:14:47 +0300 2566 2567 README: Don't mention PDF man pages anymore 2568 2569 (cherry picked from commit 634095364d87444d62d8ec54c134c0cd4705f5d7) 2570 2571 README | 6 +++--- 2572 1 file changed, 3 insertions(+), 3 deletions(-) 2573 2574commit be90720d6cd7fbb1b170794445815f579b444a6f 2575Author: Lasse Collin <lasse.collin@tukaani.org> 2576Date: 2024-04-19 14:10:39 +0300 2577 2578 Build: Omit PDF man pages from the package 2579 2580 pdf-local rule was added to create the PDFs still with "make pdf". 2581 The install rules are missing but that likely doesn't matter at all. 2582 2583 (cherry picked from commit dc684bf76ea23574ee9d88382057381e04e6089a) 2584 2585 Makefile.am | 29 +++++++++++++++++++---------- 2586 1 file changed, 19 insertions(+), 10 deletions(-) 2587 2588commit f724552d0c1ae2e3aa693d80d8d0da962dfac4e8 2589Author: Lasse Collin <lasse.collin@tukaani.org> 2590Date: 2024-04-19 13:54:39 +0300 2591 2592 windows/build.bash: Don't copy PDF man pages to the package 2593 2594 (cherry picked from commit e3531ab4125cbd5c01ebd3200791350960547189) 2595 2596 windows/README-Windows.txt | 2 +- 2597 windows/build.bash | 2 +- 2598 2 files changed, 2 insertions(+), 2 deletions(-) 2599 2600commit 00e774819c6550a8eac219e9f6f083ab2b155505 2601Author: Lasse Collin <lasse.collin@tukaani.org> 2602Date: 2024-04-28 01:34:50 +0300 2603 2604 Tests: test_index: Fix failures when features are disabled 2605 2606 Fixes: cd88423e76d54eb72aea037364f3ebb21f122503 2607 (cherry picked from commit 710a4573ef2cbd19c66318c3b2d1388e418e26c7) 2608 2609 tests/test_index.c | 13 ++++++++----- 2610 1 file changed, 8 insertions(+), 5 deletions(-) 2611 2612commit 51133ad71eecc19bdb3ab287a0732fd9441753f4 2613Author: Lasse Collin <lasse.collin@tukaani.org> 2614Date: 2024-04-20 17:09:11 +0300 2615 2616 CMake: Keep the build working if the "tests" directory is missing 2617 2618 This moves the tests section as is from CMakeLists.txt into 2619 tests/tests.cmake. CMakeLists.txt now includes tests/tests.cmake 2620 if the latter file exists. 2621 2622 Now it's possible to delete the whole "tests" directory and 2623 building with CMake will still work normally, just without 2624 the tests. This way the tests are readily available for those 2625 who want them, and those who won't run the tests anyway have 2626 a straightforward way to ensure that nothing from the "tests" 2627 directory can affect the build process. 2628 2629 (cherry picked from commit aaff75c3486c4489ce88b0efb36b41cf138af7c3) 2630 2631 CMakeLists.txt | 76 ++--------------------------------------------- 2632 tests/Makefile.am | 1 + 2633 tests/tests.cmake | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2634 3 files changed, 92 insertions(+), 73 deletions(-) 2635 2636commit 85b5595b67f0081b2a900104ed7589de4bb75e12 2637Author: Lasse Collin <lasse.collin@tukaani.org> 2638Date: 2024-04-20 13:12:50 +0300 2639 2640 Tests: Remove x86 and SPARC BCJ tests 2641 2642 These are very old but the exact test file isn't easy to reproduce 2643 as it was compiled from a short C program (bcj_test.c) long ago. 2644 These tests weren't very good anyway, just a little better than nothing. 2645 2646 (cherry picked from commit a5f2aa5618fe9183706c9c514c3067985f6c338b) 2647 2648 tests/Makefile.am | 7 ---- 2649 tests/bcj_test.c | 64 --------------------------------- 2650 tests/compress_prepared_bcj_sparc | Bin 1240 -> 0 bytes 2651 tests/compress_prepared_bcj_x86 | Bin 1388 -> 0 bytes 2652 tests/files/README | 8 ----- 2653 tests/files/good-1-sparc-lzma2.xz | Bin 612 -> 0 bytes 2654 tests/files/good-1-x86-lzma2.xz | Bin 716 -> 0 bytes 2655 tests/test_compress_prepared_bcj_sparc | 4 --- 2656 tests/test_compress_prepared_bcj_x86 | 4 --- 2657 9 files changed, 87 deletions(-) 2658 2659commit d8228d1ea08155a17acaadd76ed95805d3b0a929 2660Author: Lasse Collin <lasse.collin@tukaani.org> 2661Date: 2024-04-27 18:30:40 +0300 2662 2663 Tests: test_index: Edit a misleading test 2664 2665 (cherry picked from commit d879686469c9c4bf2a7c0bb6420ebe4530fc8f07) 2666 2667 tests/test_index.c | 7 +++++-- 2668 1 file changed, 5 insertions(+), 2 deletions(-) 2669 2670commit 2358ef8238f166c49e66f438e7494d4d352eb113 2671Author: Lasse Collin <lasse.collin@tukaani.org> 2672Date: 2024-04-27 16:46:01 +0300 2673 2674 Tests: test_index: Use minimal values to test integer overflow 2675 2676 (cherry picked from commit 612005bbdb0dea9dc09e9e2e9cc16a15c1480acd) 2677 2678 tests/test_index.c | 4 ++-- 2679 1 file changed, 2 insertions(+), 2 deletions(-) 2680 2681commit 54f4a4162aae8796580489013583d6148be5a473 2682Author: Lasse Collin <lasse.collin@tukaani.org> 2683Date: 2024-04-27 15:13:39 +0300 2684 2685 Tests: test_index: Test lzma_index_buffer_decode() more 2686 2687 (cherry picked from commit 4ad88b2544c2aaf8de8f38af54587098cbe66c1d) 2688 2689 tests/test_index.c | 29 ++++++++++++++++++++++++++--- 2690 1 file changed, 26 insertions(+), 3 deletions(-) 2691 2692commit 85ab59a6b70db33f320a3ea7a854249cb693dea2 2693Author: Lasse Collin <lasse.collin@tukaani.org> 2694Date: 2024-04-27 15:08:29 +0300 2695 2696 Tests: test_index: Test that *i = NULL is done on LZMA_PROG_ERROR 2697 2698 On LZMA_DATA_ERROR from lzma_index_buffer_decode(), *i = NULL was 2699 already done but this adds a test for that case too. 2700 2701 (cherry picked from commit 575b11b0d291e66c5fce31ce7a72f11436d57c83) 2702 2703 tests/test_index.c | 31 +++++++++++++++++++++++++++---- 2704 1 file changed, 27 insertions(+), 4 deletions(-) 2705 2706commit fb42599e44dde417305c7d92fd782147ca923079 2707Author: Lasse Collin <lasse.collin@tukaani.org> 2708Date: 2024-04-27 15:01:25 +0300 2709 2710 Tests: test_index: Test lzma_index_buffer_encode() with empty output buf 2711 2712 (cherry picked from commit 2c970debdb285823f01f75e875561d893345ac2b) 2713 2714 tests/test_index.c | 3 +++ 2715 1 file changed, 3 insertions(+) 2716 2717commit 20cac20f63a96a39391f2d613bef0f7bd6553495 2718Author: Lasse Collin <lasse.collin@tukaani.org> 2719Date: 2024-04-27 14:59:55 +0300 2720 2721 Tests: test_index: Replace if-statements with tuktest assertions 2722 2723 (cherry picked from commit cd88423e76d54eb72aea037364f3ebb21f122503) 2724 2725 tests/test_index.c | 22 +++++++++------------- 2726 1 file changed, 9 insertions(+), 13 deletions(-) 2727 2728commit 91e3ea8735752db5d0373991e84607196070aeaa 2729Author: Lasse Collin <lasse.collin@tukaani.org> 2730Date: 2024-04-27 14:56:16 +0300 2731 2732 Tests: test_index: Make it clear that my_alloc() has no integer overflows 2733 2734 liblzma guarantees that the product of the allocation size arguments 2735 will fit in size_t. 2736 2737 Putting the pre-increment in the if-statement was clearly wrong 2738 although in practice it didn't matter here as the function is 2739 called only a couple of times. 2740 2741 (cherry picked from commit 7f865577a6224fbbb5f5ca52574b62ea8ac9bf51) 2742 2743 tests/test_index.c | 5 ++++- 2744 1 file changed, 4 insertions(+), 1 deletion(-) 2745 2746commit df1659a6c8367db69e82e2ea59ad5f959cf4e615 2747Author: Lasse Collin <lasse.collin@tukaani.org> 2748Date: 2024-04-27 14:51:52 +0300 2749 2750 Tests: test_index: Verify also iter.block.number_in_stream 2751 2752 (cherry picked from commit 12313a3b6596cdcf012e180597f84d231f8730d3) 2753 2754 tests/test_index.c | 2 ++ 2755 1 file changed, 2 insertions(+) 2756 2757commit e083e95dbfda73900109cca4c82c8713d0a1da21 2758Author: Lasse Collin <lasse.collin@tukaani.org> 2759Date: 2024-04-27 14:51:06 +0300 2760 2761 Tests: test_index: Check cases that aren't a multiple of 4 bytes 2762 2763 (cherry picked from commit ad2654010d9d641ce1601beeff00630027e6bcd4) 2764 2765 tests/test_index.c | 33 +++++++++++++++++++++++++-------- 2766 1 file changed, 25 insertions(+), 8 deletions(-) 2767 2768commit b0d3b86ecf1881d10e6614b64b0fcc6c16a3b08f 2769Author: Lasse Collin <lasse.collin@tukaani.org> 2770Date: 2024-04-27 14:40:25 +0300 2771 2772 Tests: test_index: Edit comments and white space 2773 2774 (cherry picked from commit 2524fcf2b68b662035437cee8edbe80067c0c240) 2775 2776 tests/test_index.c | 18 +++++++++++------- 2777 1 file changed, 11 insertions(+), 7 deletions(-) 2778 2779commit bae288ea6ffb976c36e2387c03d75ce84a8a1034 2780Author: Lasse Collin <lasse.collin@tukaani.org> 2781Date: 2024-04-27 14:33:38 +0300 2782 2783 liblzma: index_decoder: Fix missing initializations on LZMA_PROG_ERROR 2784 2785 If the arguments to lzma_index_decoder() or lzma_index_buffer_decode() 2786 were such that LZMA_PROG_ERROR was returned, the lzma_index **i 2787 argument wasn't touched even though the API docs say that *i = NULL 2788 is done if an error occurs. This obviously won't be done even now 2789 if i == NULL but otherwise it is best to do it due to the wording 2790 in the API docs. 2791 2792 In practice this matters very little: The problem can occur only 2793 if the functions are called with invalid arguments, that is, 2794 the calling application must already have a bug. 2795 2796 (cherry picked from commit 71eed2520e2eecae89bade9dceea16e56cfa2ea0) 2797 2798 src/liblzma/common/index_decoder.c | 11 +++++++++++ 2799 1 file changed, 11 insertions(+) 2800 2801commit f10cb93f335900a29e50f990b751996ef026b3a3 2802Author: Lasse Collin <lasse.collin@tukaani.org> 2803Date: 2024-04-26 18:25:18 +0300 2804 2805 CMake: Bump maximum policy version to 3.29 2806 2807 (cherry picked from commit 0478473953f50716a2bc37b619b1c7dc2682b1ad) 2808 2809 CMakeLists.txt | 2 +- 2810 1 file changed, 1 insertion(+), 1 deletion(-) 2811 2812commit 59055d70cdd3df091264ae9da793821bfd65314d 2813Author: Sam James <sam@gentoo.org> 2814Date: 2024-04-13 22:30:44 +0100 2815 2816 ci: add NetBSD 2817 2818 (cherry picked from commit a607e2b40d23f7d998dbaba76692aa30b4c3d9d3) 2819 2820 .github/workflows/netbsd.yml | 29 +++++++++++++++++++++++++++++ 2821 1 file changed, 29 insertions(+) 2822 2823commit 812c1f95f37751aaa1e020fc2360949a674842fd 2824Author: Sam James <sam@gentoo.org> 2825Date: 2024-04-13 23:49:26 +0100 2826 2827 ci: add FreeBSD 2828 2829 (cherry picked from commit 72c210336de26fb87a928160d025fa10a638d23b) 2830 2831 .github/workflows/freebsd.yml | 29 +++++++++++++++++++++++++++++ 2832 1 file changed, 29 insertions(+) 2833 2834commit d2a4f963c28b864aa179464f7827cc10c6e1365d 2835Author: Sam James <sam@gentoo.org> 2836Date: 2024-04-13 23:16:08 +0100 2837 2838 ci: add OpenBSD 2839 2840 (cherry picked from commit b526ec2dbfb5889845ea60548c4f5b1f97d84ab2) 2841 2842 .github/workflows/openbsd.yml | 31 +++++++++++++++++++++++++++++++ 2843 1 file changed, 31 insertions(+) 2844 2845commit 493bc57c33385bda5ad32d01ab73dcfe8f5e7ced 2846Author: Sam James <sam@gentoo.org> 2847Date: 2024-04-15 05:53:01 +0100 2848 2849 liblzma: outqueue: add header guard 2850 2851 Reported by github's codeql. 2852 2853 (cherry picked from commit c7ef767c49351743d8d011574abb9e200bf6b24f) 2854 2855 src/liblzma/common/outqueue.h | 5 +++++ 2856 1 file changed, 5 insertions(+) 2857 2858commit cede418d4f8e1fb4c8a30839fa5d3b14743e83d4 2859Author: Sam James <sam@gentoo.org> 2860Date: 2024-04-15 05:53:56 +0100 2861 2862 liblzma: easy_preset: add header guard 2863 2864 Reported by github's codeql. 2865 2866 (cherry picked from commit 55dcae3056d95cb2ddb8b560c12ba7596bc79f2c) 2867 2868 src/liblzma/common/easy_preset.h | 5 +++++ 2869 1 file changed, 5 insertions(+) 2870 2871commit 6e76a25df28b47407a201bf0381fa6d3c80cb0bb 2872Author: Lasse Collin <lasse.collin@tukaani.org> 2873Date: 2024-04-25 14:00:57 +0300 2874 2875 tuklib_integer: Rename bswapXX to byteswapXX 2876 2877 The __builtin_bswapXX from GCC and Clang are preferred when 2878 they are available. This can allow compilers to emit the x86 MOVBE 2879 instruction instead of doing a load + byteswap as two instructions 2880 (which would happen if the byteswapping is done in inline asm). 2881 2882 bswap16, bswap32, and bswap64 exist in system headers on *BSDs 2883 and Darwin. #defining bswap16 on NetBSD results in a warning about 2884 macro redefinition. It's safest to avoid this namespace conflict 2885 completely. 2886 2887 No OS supported by tuklib_integer.h uses byteswapXX names and 2888 a web search doesn't immediately find any obvious danger of 2889 namespace conflicts. So let's try these still-pretty-short names 2890 for the macros. 2891 2892 Thanks to Sam James for pointing out the compiler warning on 2893 NetBSD 10.0. 2894 2895 (cherry picked from commit 4ffc60f32397371769b7d6b5e3ed8626292d58df) 2896 2897 src/common/tuklib_integer.h | 47 ++++++++++++++++++++------------------ 2898 src/liblzma/check/crc32_fast.c | 4 ++-- 2899 src/liblzma/check/crc32_tablegen.c | 2 +- 2900 src/liblzma/check/crc64_fast.c | 4 ++-- 2901 src/liblzma/check/crc64_tablegen.c | 2 +- 2902 5 files changed, 31 insertions(+), 28 deletions(-) 2903 2904commit 0ca14871f306b97ce81bfe44c4a39b6b2af31bb3 2905Author: Lasse Collin <lasse.collin@tukaani.org> 2906Date: 2024-04-24 01:20:26 +0300 2907 2908 liblzma: API doc cleanups 2909 2910 (cherry picked from commit 08ab0966a75b501aa7c717622223f0c13a113c75) 2911 2912 src/liblzma/api/lzma/container.h | 2 +- 2913 src/liblzma/api/lzma/index.h | 6 +++--- 2914 src/liblzma/api/lzma/vli.h | 5 ++--- 2915 3 files changed, 6 insertions(+), 7 deletions(-) 2916 2917commit 94a462850bc8718f5dd5b30116bce2165b2403c2 2918Author: Lasse Collin <lasse.collin@tukaani.org> 2919Date: 2024-04-23 16:35:33 +0300 2920 2921 Tests: test_filter_str: Add a few assertions 2922 2923 (cherry picked from commit 3ac8a9bb4cccbee88350696dc9c645c48d77c989) 2924 2925 tests/test_filter_str.c | 4 ++++ 2926 1 file changed, 4 insertions(+) 2927 2928commit 72058ca22a7f3c9c67ed58be624f8302c6337cd7 2929Author: Lasse Collin <lasse.collin@tukaani.org> 2930Date: 2024-04-23 16:35:08 +0300 2931 2932 Tests: test_filter_str: Move one assertion and add a comment 2933 2934 (cherry picked from commit 26c69be80523b05c84dea86c47c4ddd9a10945d7) 2935 2936 tests/test_filter_str.c | 6 ++++-- 2937 1 file changed, 4 insertions(+), 2 deletions(-) 2938 2939commit c59ebbe1c6dd18b78a046aae3133702dd52c352e 2940Author: Lasse Collin <lasse.collin@tukaani.org> 2941Date: 2024-04-23 16:26:06 +0300 2942 2943 Tests: test_filter_str: Tweak comments and white space 2944 2945 (cherry picked from commit 4f6af853bc99904efb8b6c28a0af7b81a8476c1b) 2946 2947 tests/test_filter_str.c | 3 +++ 2948 1 file changed, 3 insertions(+) 2949 2950commit ceda860934b0272689d0722ceeb490cf9c559956 2951Author: Lasse Collin <lasse.collin@tukaani.org> 2952Date: 2024-04-23 16:25:22 +0300 2953 2954 Tests: test_filter_str: Add missing RISC-V case 2955 2956 Fixes: 89ea1a22f4ed3685b053b7260bc5acf6c75d1664 2957 (cherry picked from commit c92663aa1bd576e0615498a4189acf0df12e84b9) 2958 2959 tests/test_filter_str.c | 3 +++ 2960 1 file changed, 3 insertions(+) 2961 2962commit 2234b7cc472e62f3401216a71261579342fa2959 2963Author: Lasse Collin <lasse.collin@tukaani.org> 2964Date: 2024-04-22 22:23:32 +0300 2965 2966 Tests: test_filter_str: Test *error_pos more thoroughly 2967 2968 (cherry picked from commit b0366df1d7ed26268101f9303a001c91c0806dfc) 2969 2970 tests/test_filter_str.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++- 2971 1 file changed, 76 insertions(+), 1 deletion(-) 2972 2973commit 3ba3ef57f929670adb1f9c5e5207a81a29374237 2974Author: Lasse Collin <lasse.collin@tukaani.org> 2975Date: 2024-04-22 21:54:39 +0300 2976 2977 liblzma: lzma_str_to_filters: Set *error_pos on all errors 2978 2979 The API docs clearly say that if error_pos isn't NULL then *error 2980 is always set on any error. However, it wasn't touched if str == NULL 2981 or filters == NULL or unsupported flags were specified. 2982 2983 Fixes: cedeeca2ea6ada5b0411b2ae10d7a859e837f203 2984 (cherry picked from commit 70d12dd069bb9bb0d6bb1c8fafc4e6f77780263d) 2985 2986 src/liblzma/common/string_conversion.c | 6 ++++++ 2987 1 file changed, 6 insertions(+) 2988 2989commit 57ad820e15381344a812c78ce9b67a77a60b9cf3 2990Author: Lasse Collin <lasse.collin@tukaani.org> 2991Date: 2024-04-22 20:31:25 +0300 2992 2993 liblzma: Clean up white space 2994 2995 (cherry picked from commit ed8e552395701fbf046027cebc8be4a6755b263f) 2996 2997 src/liblzma/lz/lz_encoder.h | 2 +- 2998 1 file changed, 1 insertion(+), 1 deletion(-) 2999 3000commit ba0b5bfe7cb3cdbd9a4e3c268e10c304cb834e8a 3001Author: Lasse Collin <lasse.collin@tukaani.org> 3002Date: 2024-04-22 18:35:19 +0300 3003 3004 Tests: test_filter_flags: Edit comments and style 3005 3006 (cherry picked from commit 2f06920f20b1ad63b7953dc09569e1d424998849) 3007 3008 tests/test_filter_flags.c | 13 +++++++++---- 3009 1 file changed, 9 insertions(+), 4 deletions(-) 3010 3011commit d2ed6759596185ac6a9c69ea713c27cd4bd1d9ba 3012Author: Lasse Collin <lasse.collin@tukaani.org> 3013Date: 2024-04-22 16:39:44 +0300 3014 3015 Tests: Fix C99/C11 compatibility when features are disabled 3016 3017 The array could become empty and then the initializer would be 3018 simply {} which is allowed only in GNU-C and C23. 3019 3020 (cherry picked from commit b101e1d1dbc81577c0c9aa0cb89cf2e46a15eb82) 3021 3022 tests/test_filter_flags.c | 18 ++++++++---------- 3023 1 file changed, 8 insertions(+), 10 deletions(-) 3024 3025commit 9a70e93fef3fd5943484e56f1881a7c6e3296027 3026Author: Lasse Collin <lasse.collin@tukaani.org> 3027Date: 2024-04-21 20:32:16 +0300 3028 3029 DOS: Omit useless defines from config.h 3030 3031 (cherry picked from commit f8f3a220ac8afcb8cb2812917d3b77e00c2eab0d) 3032 3033 dos/config.h | 12 ------------ 3034 1 file changed, 12 deletions(-) 3035 3036commit dc4740f720e08bdd496aa2736db3b7aea6dd3d1e 3037Author: Lasse Collin <lasse.collin@tukaani.org> 3038Date: 2024-04-21 20:27:50 +0300 3039 3040 Build: Omit useless checks for fcntl.h, limits.h, and sys/time.h 3041 3042 (cherry picked from commit fc1921b04b8840caaa777c2bd5340d41b259da20) 3043 3044 configure.ac | 6 ------ 3045 1 file changed, 6 deletions(-) 3046 3047commit 6e210d5766b25d36729152a13c5889bb0605a1e3 3048Author: Lasse Collin <lasse.collin@tukaani.org> 3049Date: 2024-04-19 22:04:21 +0300 3050 3051 liblzma: Silence a warning from Coverity static analysis 3052 3053 It is logical why it cannot know for sure that the value has 3054 to be at most 4 if it is less than 16. 3055 3056 The x86 filter is based on a very old LZMA SDK version. Newer 3057 ones have quite a different implementation for the same filter. 3058 3059 Thanks to Sam James. 3060 3061 (cherry picked from commit 6aa2a6deeba04808a0fe4461396e7fb70277f3d4) 3062 3063 src/liblzma/simple/x86.c | 12 +++++------- 3064 1 file changed, 5 insertions(+), 7 deletions(-) 3065 3066commit 4019b012f29008ea6545aba6fe6c141a2d920ae2 3067Author: Lasse Collin <lasse.collin@tukaani.org> 3068Date: 2024-04-19 23:18:19 +0300 3069 3070 Update .gitignore 3071 3072 (cherry picked from commit e89d3e83b4496d0b5410870634970c0aa9721d59) 3073 3074 .gitignore | 21 ++++++++------------- 3075 1 file changed, 8 insertions(+), 13 deletions(-) 3076 3077commit 09a0311a1e8cdefbcfab9e490cdd41c97a459d24 3078Author: Lasse Collin <lasse.collin@tukaani.org> 3079Date: 2024-04-19 20:53:24 +0300 3080 3081 Tests: test_lzip_decoder: Tweak coding style and comments 3082 3083 (cherry picked from commit 86fc4ee859709da0ff9617a1490f13ddac0a109b) 3084 3085 tests/test_lzip_decoder.c | 58 +++++++++++++++++++++++------------------------ 3086 1 file changed, 28 insertions(+), 30 deletions(-) 3087 3088commit 3117336a0291309ddd2a54d2966a589f9f806850 3089Author: Lasse Collin <lasse.collin@tukaani.org> 3090Date: 2024-04-19 20:51:36 +0300 3091 3092 Tests: test_lzip_decoder: Remove redundant initializations 3093 3094 (cherry picked from commit 38be573a279bd7b608ee7d8509ec10884e6fb0d5) 3095 3096 tests/test_lzip_decoder.c | 6 ++---- 3097 1 file changed, 2 insertions(+), 4 deletions(-) 3098 3099commit f78081eb12c804ec4f5a3dc569b859646b16e9e5 3100Author: Lasse Collin <lasse.collin@tukaani.org> 3101Date: 2024-04-19 20:47:24 +0300 3102 3103 Tests: test_lzip_decoder: Remove unneeded tuktest_malloc() calls 3104 3105 (cherry picked from commit d7e4bc53eacfab9f3de95d8252bdfdc9419079c9) 3106 3107 tests/test_lzip_decoder.c | 12 ++---------- 3108 1 file changed, 2 insertions(+), 10 deletions(-) 3109 3110commit 7413383e4280065b79ca70abe4d8ebc78055b35a 3111Author: Lasse Collin <lasse.collin@tukaani.org> 3112Date: 2024-04-15 20:35:07 +0300 3113 3114 xz: Fix white space error. 3115 3116 Thanks to xx on #tukaani. 3117 3118 (cherry picked from commit eeca8f7c5baf1ad69606bb734d5001763466d58f) 3119 3120 src/xz/args.c | 2 +- 3121 1 file changed, 1 insertion(+), 1 deletion(-) 3122 3123commit eed2f26c0edb6e31a50d48bab4ff619778690a1e 3124Author: Sam James <sam@gentoo.org> 3125Date: 2024-04-11 23:01:44 +0100 3126 3127 xz: add missing noreturn for message_filters_help 3128 3129 Fixes: a165d7df1964121eb9df715e6f836a31c865beef 3130 (cherry picked from commit 462ca9409940a19f743daee6b3bcc611277d0007) 3131 3132 src/xz/message.h | 1 + 3133 1 file changed, 1 insertion(+) 3134 3135commit 2633d8df616405bd54fd748d7bf887ebc4505b88 3136Author: Sam James <sam@gentoo.org> 3137Date: 2024-04-11 19:34:04 +0100 3138 3139 xz: signals: suppress -Wsign-conversion on macOS 3140 3141 On macOS, we get: 3142 ``` 3143 signals.c: In function 'signals_init': 3144 signals.c:76:17: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 3145 76 | sigaddset(&hooked_signals, sigs[i]); 3146 | ^~~~~~~~~ 3147 signals.c:81:17: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 3148 81 | sigaddset(&hooked_signals, message_progress_sigs[i]); 3149 | ^~~~~~~~~ 3150 signals.c:86:9: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 3151 86 | sigaddset(&hooked_signals, SIGTSTP); 3152 | ^~~~~~~~~ 3153 ``` 3154 3155 We use `int` for `hooked_signals` but we can't just cast to whatever 3156 `sigset_t` is because `sigset_t` is an opaque type. It's an unsigned int 3157 on macOS. On macOS, `sigaddset` is implemented as a macro. 3158 3159 Just suppress -Wsign-conversion for `signals_init` for macOS given 3160 there's no real nice way of fixing this. 3161 3162 (cherry picked from commit 863f13d2828b99b0539ce73f9cf85bde32358034) 3163 3164 src/xz/signals.c | 7 +++++++ 3165 1 file changed, 7 insertions(+) 3166 3167commit 50fb269c7a9cf62a9f3fe08859e2aa4348b600a7 3168Author: Lasse Collin <lasse.collin@tukaani.org> 3169Date: 2024-04-13 22:19:40 +0300 3170 3171 Tests: test_microlzma: Add a "FIXME?" about LZMA_FINISH handling 3172 3173 (cherry picked from commit fcbd0d199933a69713cb293cbd7409a757d854cd) 3174 3175 tests/test_microlzma.c | 8 ++++++++ 3176 1 file changed, 8 insertions(+) 3177 3178commit 3e2ff2d38c54c8fc7ce15aaf91185dc105d9c92c 3179Author: Lasse Collin <lasse.collin@tukaani.org> 3180Date: 2024-04-13 18:05:31 +0300 3181 3182 Tests: test_microlzma: Tweak comments, coding style, and minor details 3183 3184 A few lines were reordered, a few ARRAY_SIZE were changed to sizeof, 3185 and a few uint32_t were changed to size_t. No real functional changes 3186 were intended. 3187 3188 (cherry picked from commit 0fe2dfa68355d2b165544b2bc8babf77dcc2039e) 3189 3190 tests/test_microlzma.c | 149 +++++++++++++++++++++++++++---------------------- 3191 1 file changed, 83 insertions(+), 66 deletions(-) 3192 3193commit ebc8b8de19d641c37ab7959a224bcd0ff4c0833f 3194Author: Ryan Carsten Schmidt <git@ryandesign.com> 3195Date: 2024-04-12 19:31:13 -0500 3196 3197 CI: Use only the active CPUs on macOS 3198 3199 hw.ncpu counts all CPUs including inactive ones. hw.activecpu counts 3200 only the active CPUs. 3201 3202 (cherry picked from commit 97f0ee0f1f903f4e7c4ea23e9b89d687025d2992) 3203 3204 build-aux/ci_build.bash | 2 +- 3205 1 file changed, 1 insertion(+), 1 deletion(-) 3206 3207commit 1e63f7d53648beb6dd5acb5771850d7c4bc30477 3208Author: Sam James <sam@gentoo.org> 3209Date: 2024-04-10 18:33:55 +0100 3210 3211 ci: rename ci_build.sh -> ci_build.bash 3212 3213 We discussed the name and it's less cognitive load to just call it '.bash' 3214 so you don't have an immediate question about if bashisms are OK. 3215 3216 (cherry picked from commit 73f629e321b74f68c9954728fa4f19261afccf46) 3217 3218 .github/workflows/ci.yml | 52 ++++++++++++++++---------------- 3219 .github/workflows/windows-ci.yml | 20 ++++++------ 3220 build-aux/{ci_build.sh => ci_build.bash} | 0 3221 3 files changed, 36 insertions(+), 36 deletions(-) 3222 3223commit aea54a4724414466a20afd7493156d40d0a2741c 3224Author: Sam James <sam@gentoo.org> 3225Date: 2024-04-10 17:42:23 +0100 3226 3227 ci: build in parallel by default 3228 3229 (cherry picked from commit 8709407a9ef8e7e8aec117879400e4dd3e227ada) 3230 3231 build-aux/ci_build.sh | 2 ++ 3232 1 file changed, 2 insertions(+) 3233 3234commit 4381fcf00b2fabb6dcc9fd5cf35d520feb9e775a 3235Author: Sam James <sam@gentoo.org> 3236Date: 2024-04-10 15:41:08 +0100 3237 3238 ci: default to -O2 3239 3240 We need this for when we're passing sanitizer flags or -gdwarf-4 for Clang 3241 with Valgrind. Just always start with -O2 if CFLAGS isn't set in the 3242 environment and append what was passed on the command line. 3243 3244 (cherry picked from commit 65bf7e0a1ca6386f17608e8afb84ac470c18d23f) 3245 3246 build-aux/ci_build.sh | 3 ++- 3247 1 file changed, 2 insertions(+), 1 deletion(-) 3248 3249commit 752ba5ed99ec754bafbdc4d87a2876cb2566ecc4 3250Author: Sam James <sam@gentoo.org> 3251Date: 2024-04-10 15:17:47 +0100 3252 3253 ci: make automake's test runner verbose on failures 3254 3255 This is a lot easier to work with than the save-logs thing the action 3256 tries to do... 3257 3258 (cherry picked from commit bc899f9e0700ad153bd65f4804c4de7515c8a847) 3259 3260 build-aux/ci_build.sh | 2 +- 3261 1 file changed, 1 insertion(+), 1 deletion(-) 3262 3263commit cc21af171599ffe0419fc32a30edd3ef7d479865 3264Author: Sam James <sam@gentoo.org> 3265Date: 2024-04-10 12:38:51 +0100 3266 3267 ci: make UBSAN abort on errors 3268 3269 Unfortunately, UBSAN doesn't do this by default. See also the change 3270 I made in Meson for this in October [0]. 3271 3272 [0] https://github.com/mesonbuild/meson/commit/7b7d2e060b447de9c2642848847370a58711ac1c 3273 3274 (cherry picked from commit b5e3470442531717b2457b40ab412740296af1bc) 3275 3276 .github/workflows/ci.yml | 1 + 3277 1 file changed, 1 insertion(+) 3278 3279commit 2d2d5f14b392cd1aeddab7ce34fd50ba5422e5b5 3280Author: Sam James <sam@gentoo.org> 3281Date: 2024-04-10 11:43:10 +0100 3282 3283 ci: test Valgrind 3284 3285 Using `--trace-children=yes` has a trade-off here, as it makes 3286 `test_scripts.sh` pretty slow when calling various non-xz utilities. 3287 3288 But I also feel like it's not useless to have Valgrind used there and it's 3289 not easy to exclude Valgrind just for that one test... 3290 3291 I did consider using AX_VALGRIND_CHECK [0][1] but I couldn't get it working 3292 immediately with some conditionally-built tests and I wondered if it was 3293 worth spending time on at least while we're debating xz's future build 3294 system situation. 3295 3296 [0] https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html 3297 [1] https://tecnocode.co.uk/2014/12/23/automatically-valgrinding-code-with-ax_valgrind_check/ 3298 3299 (cherry picked from commit 6c095a98fbec70b790253a663173ecdb669108c4) 3300 3301 .github/workflows/ci.yml | 11 ++++++++++- 3302 build-aux/ci_build.sh | 8 +++++--- 3303 2 files changed, 15 insertions(+), 4 deletions(-) 3304 3305commit 5d20a612051fac3ca6d99abe3cd7e0e3370e5b67 3306Author: Lasse Collin <lasse.collin@tukaani.org> 3307Date: 2024-04-10 23:20:02 +0300 3308 3309 liblzma: CRC: Simplify table omission macros 3310 3311 A macro is useful to prevent a single #if directive from 3312 getting too ugly but only one macro is needed for all archs. 3313 3314 (cherry picked from commit 6286c1900c2d2ca33d9b1b397122c7bcdb9a4d59) 3315 3316 src/liblzma/check/crc32_table.c | 10 ++++------ 3317 src/liblzma/check/crc64_table.c | 4 ++-- 3318 src/liblzma/check/crc_common.h | 5 +++-- 3319 3 files changed, 9 insertions(+), 10 deletions(-) 3320 3321commit 2a80827e23169c624560ac89714bf5084cbead43 3322Author: Lasse Collin <lasse.collin@tukaani.org> 3323Date: 2024-04-10 23:09:40 +0300 3324 3325 liblzma: ARM64 CRC: Fix omission of CRC32 table 3326 3327 The macro name had an odd typo so the table wasn't omitted 3328 when it should have. 3329 3330 Fixes: 1940f0ec28f08c0ac72c1413d9706fb82eabe6ad 3331 (cherry picked from commit 45da936c879acf4f053a3055665bf1b10ded4462) 3332 3333 src/liblzma/check/crc32_table.c | 2 +- 3334 1 file changed, 1 insertion(+), 1 deletion(-) 3335 3336commit a54117377151356c1e2494ba1febc245cb71b51c 3337Author: Lasse Collin <lasse.collin@tukaani.org> 3338Date: 2024-04-10 22:21:51 +0300 3339 3340 Build: If ARM64 feature detection func is found, stop looking for others 3341 3342 This can speed up configure a tiny bit. 3343 3344 Fixes: c5f6d79cc9515a7f22d7ea4860c6cc394b295732 3345 (cherry picked from commit 308a9af85400b0e2019f0f012c8354e831d06d65) 3346 3347 configure.ac | 2 +- 3348 1 file changed, 1 insertion(+), 1 deletion(-) 3349 3350commit 9223ad6e78a666cc9f9aba135d1755fec184a24a 3351Author: Lasse Collin <lasse.collin@tukaani.org> 3352Date: 2024-04-10 22:04:27 +0300 3353 3354 liblzma: ARM64 CRC32: Change style of the macOS code to match FreeBSD 3355 3356 I didn't test this but it shouldn't change any functionality. 3357 3358 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 3359 (cherry picked from commit fc43cecd32bf9d5f8caa599206b15c9569af1eb6) 3360 3361 src/liblzma/check/crc32_arm64.h | 7 ++++--- 3362 1 file changed, 4 insertions(+), 3 deletions(-) 3363 3364commit 32ceb2c36a0e450037bbe906c2a1ea42607b9d21 3365Author: Lasse Collin <lasse.collin@tukaani.org> 3366Date: 2024-04-10 21:59:27 +0300 3367 3368 liblzma: ARM64 CRC32: Add error checking to FreeBSD-specific code 3369 3370 Also add parenthesis to the return statement. 3371 3372 I didn't test this. 3373 3374 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 3375 (cherry picked from commit 1024cd4cd966b998fedec51e385e9ee9a49b3c57) 3376 3377 src/liblzma/check/crc32_arm64.h | 6 ++++-- 3378 1 file changed, 4 insertions(+), 2 deletions(-) 3379 3380commit 42915101e914dba353c236925bc1d5e4826d3f7a 3381Author: Lasse Collin <lasse.collin@tukaani.org> 3382Date: 2024-04-10 21:56:33 +0300 3383 3384 liblzma: ARM64 CRC32: Use negation instead of subtracting from 8 3385 3386 Subtracting from 0 is negation, this just keeps warnings away. 3387 3388 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 3389 (cherry picked from commit 2337f7021c860b026e3e849e60a9ae8d09ec0ea0) 3390 3391 src/liblzma/check/crc32_arm64.h | 2 +- 3392 1 file changed, 1 insertion(+), 1 deletion(-) 3393 3394commit 42a9482b48f0171852fbaddbdc729a56f2daa547 3395Author: Lasse Collin <lasse.collin@tukaani.org> 3396Date: 2024-04-10 21:55:10 +0300 3397 3398 liblzma: ARM64 CRC32: Tweak coding style and comments 3399 3400 (cherry picked from commit d8fffd01aa1a3c18e437a222abd34699e23ff5e7) 3401 3402 src/liblzma/check/crc32_arm64.h | 10 +++++----- 3403 1 file changed, 5 insertions(+), 5 deletions(-) 3404 3405commit 38a3ec5a7e2ddeee3686be64b037aa1377f31fd1 3406Author: Lasse Collin <lasse.collin@tukaani.org> 3407Date: 2024-04-09 17:47:01 +0300 3408 3409 CI: Remove ifunc support. 3410 3411 (cherry picked from commit 986865ea2f9d1f8dbef4a130926df106b0f6d41a) 3412 3413 .github/workflows/ci.yml | 13 +++---------- 3414 build-aux/ci_build.sh | 5 +---- 3415 2 files changed, 4 insertions(+), 14 deletions(-) 3416 3417commit 34d1252f093944ff350a88a6196539f95902ad41 3418Author: Lasse Collin <lasse.collin@tukaani.org> 3419Date: 2024-04-09 17:43:16 +0300 3420 3421 liblzma: Remove ifunc support. 3422 3423 This is *NOT* done for security reasons even though the backdoor 3424 relied on the ifunc code. Instead, the reason is that in this 3425 project ifunc provides little benefits but it's quite a bit of 3426 extra code to support it. The only case where ifunc *might* matter 3427 for performance is if the CRC functions are used directly by an 3428 application. In normal compression use it's completely irrelevant. 3429 3430 (cherry picked from commit 689ae2427342a2ea1206eb5ca08301baf410e7e0) 3431 3432 CMakeLists.txt | 79 --------------------------------------- 3433 INSTALL | 8 ---- 3434 configure.ac | 79 --------------------------------------- 3435 src/liblzma/check/crc32_fast.c | 48 +++--------------------- 3436 src/liblzma/check/crc64_fast.c | 21 ----------- 3437 src/liblzma/check/crc_common.h | 9 +---- 3438 src/liblzma/check/crc_x86_clmul.h | 11 +----- 3439 7 files changed, 8 insertions(+), 247 deletions(-) 3440 3441commit a594b39685051cd1ec866360bc4dd6c22f301bb4 3442Author: Lasse Collin <lasse.collin@tukaani.org> 3443Date: 2024-04-08 22:04:41 +0300 3444 3445 tests/files/README: Update the main heading. 3446 3447 (cherry picked from commit 6b4c859059a7eb9b0547590c081668e14ecf8af6) 3448 3449 tests/files/README | 4 ++-- 3450 1 file changed, 2 insertions(+), 2 deletions(-) 3451 3452commit fa76e3ef597ee2e9d150461a42d270a386204042 3453Author: Lasse Collin <lasse.collin@tukaani.org> 3454Date: 2024-04-08 22:02:45 +0300 3455 3456 tests/files/README: Explain how to recreate the ARM64 test files. 3457 3458 (cherry picked from commit 2a851e06b891ce894f918faff32a6cca6fdecee6) 3459 3460 tests/files/README | 15 ++++++++++++++- 3461 1 file changed, 14 insertions(+), 1 deletion(-) 3462 3463commit 112fa0aba6be30968811c9131f1b995cf9e92e75 3464Author: Lasse Collin <lasse.collin@tukaani.org> 3465Date: 2024-04-08 21:51:55 +0300 3466 3467 debug: Add generator for the ARM64 test file data. 3468 3469 (cherry picked from commit 3d09b721b94e18fe1f853a04799697f5de10b291) 3470 3471 debug/Makefile.am | 3 +- 3472 debug/testfilegen-arm64.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++ 3473 2 files changed, 118 insertions(+), 1 deletion(-) 3474 3475commit 1a1f3d0323d5991a3238566e8f517d5116358b5c 3476Author: Lasse Collin <lasse.collin@tukaani.org> 3477Date: 2024-04-08 21:19:38 +0300 3478 3479 xz man page: Use .ft CR instead of CW to silence warnings from groff. 3480 3481 (cherry picked from commit 31ef676567c9d6fcc4ec9fc833c312f7a7c21c48) 3482 3483 src/xz/xz.1 | 32 ++++++++++++++++---------------- 3484 1 file changed, 16 insertions(+), 16 deletions(-) 3485 3486commit 9f9203f574f895c40a86a83c45c6bb79c25bb5d2 3487Author: Lasse Collin <lasse.collin@tukaani.org> 3488Date: 2024-04-08 19:28:35 +0300 3489 3490 Fix NEWS for 5.6.0 and 5.6.1. 3491 3492 (cherry picked from commit 780cbf29d5a88db2b546e9b7b019c4c33ca72685) 3493 3494 NEWS | 6 ++++++ 3495 1 file changed, 6 insertions(+) 3496 3497commit 12876b33c79e36d7e51e8ba6ab7162bd2129cb5b 3498Author: Lasse Collin <lasse.collin@tukaani.org> 3499Date: 2024-04-08 19:22:26 +0300 3500 3501 Remove the XZ logo. 3502 3503 (cherry picked from commit bfd0c7c478e93a1911b845459549ff94587b6ea2) 3504 3505 COPYING | 5 - 3506 COPYING.CC-BY-SA-4.0 | 427 --------------------------------------------------- 3507 Makefile.am | 2 - 3508 README | 2 - 3509 doc/xz-logo.png | Bin 6771 -> 0 bytes 3510 doxygen/Doxyfile | 6 +- 3511 doxygen/footer.html | 13 -- 3512 7 files changed, 3 insertions(+), 452 deletions(-) 3513 3514commit 879295d91f06c241fd8a8fc1ca95776dbeb45f93 3515Author: Lasse Collin <lasse.collin@tukaani.org> 3516Date: 2024-04-08 18:27:39 +0300 3517 3518 Update maintainer and author info. 3519 3520 The other maintainer suddenly disappeared. 3521 3522 (cherry picked from commit 77a294d98a9d2d48f7e4ac273711518bf689f5c4) 3523 3524 AUTHORS | 9 +++++++-- 3525 README | 10 +++------- 3526 THANKS | 1 - 3527 src/liblzma/api/lzma.h | 2 +- 3528 4 files changed, 11 insertions(+), 11 deletions(-) 3529 3530commit 859617d30d81317236e004b323fed0883f932dcf 3531Author: Lasse Collin <lasse.collin@tukaani.org> 3532Date: 2024-04-08 18:05:32 +0300 3533 3534 Docs: Update .xz file format specification to 1.2.1. 3535 3536 This only reverts the XZ URL changes. 3537 3538 (cherry picked from commit 8dd03d4484ccf80022722a16d0ed9b37f2b58072) 3539 3540 doc/xz-file-format.txt | 12 ++++++++---- 3541 1 file changed, 8 insertions(+), 4 deletions(-) 3542 3543commit eeb74fba1f6ea334a519015938b4a26c6ba5d4eb 3544Author: Lasse Collin <lasse.collin@tukaani.org> 3545Date: 2024-04-08 17:33:56 +0300 3546 3547 Update website URLs back to tukaani.org. 3548 3549 The XZ projects were moved back to their original URLs. 3550 3551 (cherry picked from commit 17aa2e1a796d3f758802df29afc89dcf335db567) 3552 3553 CMakeLists.txt | 2 +- 3554 COPYING | 3 +-- 3555 README | 4 ++-- 3556 configure.ac | 2 +- 3557 doc/faq.txt | 2 +- 3558 doc/lzma-file-format.txt | 12 ++++++------ 3559 dos/config.h | 2 +- 3560 src/liblzma/api/lzma.h | 2 +- 3561 src/xz/xz.1 | 6 +++--- 3562 src/xzdec/xzdec.1 | 4 ++-- 3563 windows/README-Windows.txt | 2 +- 3564 11 files changed, 20 insertions(+), 21 deletions(-) 3565 3566commit a7b9cd70004bfc1abadc7e865dfce765f7b8b59d 3567Author: Lasse Collin <lasse.collin@tukaani.org> 3568Date: 2024-04-08 17:07:08 +0300 3569 3570 xzdec: Tweak coding style and comments. 3571 3572 (cherry picked from commit 2739db981023373a2ddabc7b456c7e658bb4f582) 3573 3574 src/xzdec/xzdec.c | 32 +++++++++++++++++++++----------- 3575 1 file changed, 21 insertions(+), 11 deletions(-) 3576 3577commit ebe9d6d8cb27168706078009b3f64da8fde63833 3578Author: Lasse Collin <lasse.collin@tukaani.org> 3579Date: 2024-04-08 15:53:46 +0300 3580 3581 tests/ossfuzz: Tiny fix to a comment. 3582 3583 (cherry picked from commit 408b6adb2a07d07c6535f859571cca38837caaf3) 3584 3585 tests/ossfuzz/fuzz_decode_stream.c | 2 +- 3586 1 file changed, 1 insertion(+), 1 deletion(-) 3587 3588commit 78ab47d65d916207233abbcdb0ccfd6efb946c05 3589Author: Lasse Collin <lasse.collin@tukaani.org> 3590Date: 2024-03-30 14:36:28 +0200 3591 3592 CMake: Fix sabotaged Landlock sandbox check. 3593 3594 It never enabled it. 3595 3596 (cherry picked from commit f9cf4c05edd14dedfe63833f8ccbe41b55823b00) 3597 3598 CMakeLists.txt | 2 +- 3599 1 file changed, 1 insertion(+), 1 deletion(-) 3600 3601commit 5f178c364c3b5c6fe87099b7624d5c76995ff8e6 3602Author: Lasse Collin <lasse.collin@tukaani.org> 3603Date: 2024-05-22 14:08:33 +0300 3604 3605 Delete SECURITY.md from v5.6 3606 3607 It's too easily out of date in the stable branches. 3608 It's not included in the release packages anyway. 3609 3610 .github/SECURITY.md | 29 ----------------------------- 3611 1 file changed, 29 deletions(-) 3612 3613commit b3a756188004a16de5956c368e3b0efd1a9bccb0 3614Author: Lasse Collin <lasse.collin@tukaani.org> 3615Date: 2024-03-22 17:46:30 +0200 3616 3617 liblzma: memcmplen.h: Add a comment why subtraction is used. 3618 3619 (cherry picked from commit 0b99783d63f27606936bb79a16c52d0d70c0b56f) 3620 3621 src/liblzma/common/memcmplen.h | 13 +++++++++++++ 3622 1 file changed, 13 insertions(+) 3623 3624commit 94939a145f362ff8b09fb37fc72901743f7f5cb2 3625Author: Lasse Collin <lasse.collin@tukaani.org> 3626Date: 2024-03-15 17:43:39 +0200 3627 3628 INSTALL: Document arguments of --enable-symbol-versions. 3629 3630 (cherry picked from commit 8a25ba024d55610c448c6e4f1400a00bae51b493) 3631 3632 INSTALL | 43 +++++++++++++++++++++++++++++++++++++++---- 3633 1 file changed, 39 insertions(+), 4 deletions(-) 3634 3635commit fa14c8aaf0d0266b7e0c3b7c766159299c1a0f18 3636Author: Lasse Collin <lasse.collin@tukaani.org> 3637Date: 2024-03-15 17:15:50 +0200 3638 3639 Build: Use only the generic symbol versioning with NVIDIA HPC Compiler. 3640 3641 This does the previous commit with CMake. 3642 3643 AC_EGREP_CPP uses AC_REQUIRE so the outermost if-commands must 3644 be changed to AS_IF to ensure that things wont break some day. 3645 See 5a5bd7f871818029d5ccbe189f087f591258c294. 3646 3647 (cherry picked from commit 49324b711f9d42b3543bf2f3ae598eaa03360bd5) 3648 3649 configure.ac | 18 +++++++++++++----- 3650 1 file changed, 13 insertions(+), 5 deletions(-) 3651 3652commit 73baa8d99b51c7623ed95afe6411302d9ff56864 3653Author: Lasse Collin <lasse.collin@tukaani.org> 3654Date: 2024-03-15 16:36:35 +0200 3655 3656 CMake: Use only the generic symbol versioning with NVIDIA HPC Compiler. 3657 3658 It doesn't support the __symver__ attribute or __asm__(".symver ..."). 3659 The generic symbol versioning can still be used since it only needs 3660 linker support. 3661 3662 (cherry picked from commit c273123ed0ebaebf49994057a7fe98aae7f42c40) 3663 3664 CMakeLists.txt | 7 ++++++- 3665 1 file changed, 6 insertions(+), 1 deletion(-) 3666 3667commit 886633f42376f4648d931917733c8a59fb2e1f6c 3668Author: Lasse Collin <lasse.collin@tukaani.org> 3669Date: 2024-03-13 21:38:24 +0200 3670 3671 Update THANKS. 3672 3673 (cherry picked from commit df7f487648d18a3992386a59b8a061edca862d17) 3674 3675 THANKS | 1 + 3676 1 file changed, 1 insertion(+) 3677 3678commit 760f622f0d73632df2347aaca7ac7ff5761e98b6 3679Author: Lasse Collin <lasse.collin@tukaani.org> 3680Date: 2024-03-13 21:30:18 +0200 3681 3682 liblzma: Minor comment edits. 3683 3684 (cherry picked from commit 3217b82b3ec023bf8338249134a076bea0ea30ec) 3685 3686 src/liblzma/common/string_conversion.c | 4 ++-- 3687 src/liblzma/delta/delta_decoder.c | 2 ++ 3688 2 files changed, 4 insertions(+), 2 deletions(-) 3689 3690commit 403b4c78b81f67bc3787542f55f555407253316c 3691Author: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> 3692Date: 2024-03-13 13:07:13 +0100 3693 3694 liblzma: Fix building with NVHPC (NVIDIA HPC SDK). 3695 3696 NVHPC compiler has several issues that make it impossible to 3697 build liblzma: 3698 - the compiler cannot handle unions that contain pointers that 3699 are not the first members; 3700 - the compiler cannot handle the assembler code in range_decoder.h 3701 (LZMA_RANGE_DECODER_CONFIG has to be set to zero); 3702 - the compiler fails to produce valid code for delta_decode if the 3703 vectorization is enabled, which results in failed tests. 3704 3705 This introduces NVHPC-specific workarounds that address the issues. 3706 3707 (cherry picked from commit 096bc0e3f8fb4bfc4d2f3f64a7f219401ffb4c31) 3708 3709 src/liblzma/common/string_conversion.c | 6 ++++-- 3710 src/liblzma/delta/delta_decoder.c | 3 +++ 3711 src/liblzma/rangecoder/range_decoder.h | 1 + 3712 3 files changed, 8 insertions(+), 2 deletions(-) 3713 3714commit 1888fb49f629340758e98e69d5aa328f6f73c5e1 3715Author: Lasse Collin <lasse.collin@tukaani.org> 3716Date: 2024-03-13 21:17:10 +0200 3717 3718 CMake: Disable symbol versioning on non-glibc Linux. 3719 3720 This better matches what configure.ac does. For example, musl has 3721 only basic symbol versioning support: 3722 3723 https://wiki.musl-libc.org/functional-differences-from-glibc.html#Symbol_versioning 3724 3725 configure.ac tries to enable symbol versioning only with glibc 3726 so now CMake does the same. 3727 3728 (cherry picked from commit 2ad7fad67080e88fa7fc191f9d613d8b7add9c62) 3729 3730 CMakeLists.txt | 22 ++++++++++++++++++++-- 3731 1 file changed, 20 insertions(+), 2 deletions(-) 3732 3733commit 4b3c84e8eebbcf712fc2396dbb8117cce2d72464 3734Author: Lasse Collin <lasse.collin@tukaani.org> 3735Date: 2024-03-13 20:32:46 +0200 3736 3737 CMake: Make symbol versioning configurable. 3738 3739 (cherry picked from commit 82f0c0d39eb2c026b1d96ee706f70ace868d4ed4) 3740 3741 CMakeLists.txt | 62 +++++++++++++++++++++++++++++++++++++++------------------- 3742 1 file changed, 42 insertions(+), 20 deletions(-) 3743 3744commit 69d1e20208eb9bd1f4f1c8ee4e49cc82d681a877 3745Author: Lasse Collin <lasse.collin@tukaani.org> 3746Date: 2024-03-13 19:47:36 +0200 3747 3748 Build: Style tweaks to configure.ac. 3749 3750 The AC_MSG_ERROR line is overlong anyway as are a few other 3751 AC_MSG_ERROR lines already. 3752 3753 (cherry picked from commit 45d33bfc45e4295b8ad743bc2ae61cc724f98076) 3754 3755 configure.ac | 16 +++++++++------- 3756 1 file changed, 9 insertions(+), 7 deletions(-) 3757 3758commit 051d6b5c85a874c78249693865fd751088f403a2 3759Author: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> 3760Date: 2024-03-12 20:03:49 +0100 3761 3762 Build: Let the users override the symbol versioning variant. 3763 3764 There are cases when the users want to decide themselves whether 3765 they want to have the generic (even on GNU/Linux) or the linux 3766 (even if we do not recommend that) symbol versioning variant. 3767 The former might be needed to circumvent compiler issues (i.e. 3768 the compiler does not support all features that are required 3769 for the linux versioning), the latter might help in overriding 3770 the assumptions made in the configure script. 3771 3772 (cherry picked from commit f56ed6fac6619b56b005878d3b5210e2f0d721c0) 3773 3774 configure.ac | 91 +++++++++++++++++++++++++++++++++--------------------------- 3775 1 file changed, 50 insertions(+), 41 deletions(-) 3776 3777commit 95dcea4b5df0b180af461e4584d2bcf7725e3aef 3778Author: Lasse Collin <lasse.collin@tukaani.org> 3779Date: 2024-04-09 18:22:16 +0300 3780 3781 Update THANKS. 3782 3783 THANKS | 1 + 3784 1 file changed, 1 insertion(+) 3785 3786commit 1107712e372f7593ad729764c0c2644d0e4aa675 3787Author: Lasse Collin <lasse.collin@tukaani.org> 3788Date: 2024-04-08 15:32:58 +0300 3789 3790 Remove the backdoor found in 5.6.0 and 5.6.1 (CVE-2024-3094). 3791 3792 While the backdoor was inactive (and thus harmless) without inserting 3793 a small trigger code into the build system when the source package was 3794 created, it's good to remove this anyway: 3795 3796 - The executable payloads were embedded as binary blobs in 3797 the test files. This was a blatant violation of the 3798 Debian Free Software Guidelines. 3799 3800 - On machines that see lots bots poking at the SSH port, the backdoor 3801 noticeably increased CPU load, resulting in degraded user experience 3802 and thus overwhelmingly negative user feedback. 3803 3804 - The maintainer who added the backdoor has disappeared. 3805 3806 - Backdoors are bad for security. 3807 3808 This reverts the following without making any other changes: 3809 3810 6e636819 Tests: Update two test files. 3811 a3a29bbd Tests: Test --single-stream can decompress bad-3-corrupt_lzma2.xz. 3812 0b4ccc91 Tests: Update RISC-V test files. 3813 8c9b8b20 liblzma: Fix typos in crc32_fast.c and crc64_fast.c. 3814 82ecc538 liblzma: Fix false Valgrind error report with GCC. 3815 cf44e4b7 Tests: Add a few test files. 3816 3060e107 Tests: Use smaller dictionary size in RISC-V test files. 3817 e2870db5 Tests: Add two RISC-V Filter test files. 3818 3819 The RISC-V test files also have real content that tests the filter 3820 but the real content would fit into much smaller files. A generator 3821 program would need to be available as well. 3822 3823 Thanks to Andres Freund for finding and reporting it and making 3824 it public quickly so others could act without a delay. 3825 See: https://www.openwall.com/lists/oss-security/2024/03/29/4 3826 3827 src/liblzma/check/crc32_fast.c | 7 +++++-- 3828 src/liblzma/check/crc64_fast.c | 4 +++- 3829 src/liblzma/check/crc_common.h | 25 ------------------------- 3830 tests/files/README | 27 --------------------------- 3831 tests/files/bad-3-corrupt_lzma2.xz | Bin 512 -> 0 bytes 3832 tests/files/bad-dict_size.lzma | Bin 41 -> 0 bytes 3833 tests/files/good-1-riscv-lzma2-1.xz | Bin 7424 -> 0 bytes 3834 tests/files/good-1-riscv-lzma2-2.xz | Bin 7432 -> 0 bytes 3835 tests/files/good-2cat.xz | Bin 136 -> 0 bytes 3836 tests/files/good-large_compressed.lzma | Bin 35421 -> 0 bytes 3837 tests/files/good-small_compressed.lzma | Bin 258 -> 0 bytes 3838 tests/test_files.sh | 11 ----------- 3839 12 files changed, 8 insertions(+), 66 deletions(-) 3840 3841commit fd1b975b7851e081ed6e5cf63df946cd5cbdbb94 3842Author: Jia Tan <jiat0218@gmail.com> 3843Date: 2024-03-09 11:42:50 +0800 3844 3845 Bump version and soname for 5.6.1. 3846 3847 src/liblzma/Makefile.am | 2 +- 3848 src/liblzma/api/lzma/version.h | 2 +- 3849 2 files changed, 2 insertions(+), 2 deletions(-) 3850 3851commit a2cda572498e96163fe4e2bde096d5dd7b814668 3852Author: Jia Tan <jiat0218@gmail.com> 3853Date: 2024-03-09 11:27:27 +0800 3854 3855 Add NEWS for 5.6.1 3856 3857 NEWS | 26 ++++++++++++++++++++++++++ 3858 1 file changed, 26 insertions(+) 3859 3860commit 8583c6021124e388bce044a09f00ebabfd6165a7 3861Author: Jia Tan <jiat0218@gmail.com> 3862Date: 2024-03-09 10:43:20 +0800 3863 3864 Translations: Add missing --riscv option to man page translations. 3865 3866 po4a/de.po | 702 +++++++++++++++++++++++++++++----------------------------- 3867 po4a/fr.po | 549 ++++++++++++++++++++++----------------------- 3868 po4a/ko.po | 702 +++++++++++++++++++++++++++++----------------------------- 3869 po4a/pt_BR.po | 641 +++++++++++++++++++++++++++-------------------------- 3870 po4a/ro.po | 702 +++++++++++++++++++++++++++++----------------------------- 3871 po4a/uk.po | 702 +++++++++++++++++++++++++++++----------------------------- 3872 6 files changed, 2024 insertions(+), 1974 deletions(-) 3873 3874commit 74b138d2a6529f2c07729d7c77b1725a8e8b16f1 3875Author: Jia Tan <jiat0218@gmail.com> 3876Date: 2024-03-09 10:18:29 +0800 3877 3878 Tests: Update two test files. 3879 3880 The original files were generated with random local to my machine. 3881 To better reproduce these files in the future, a constant seed was used 3882 to recreate these files. 3883 3884 tests/files/bad-3-corrupt_lzma2.xz | Bin 484 -> 512 bytes 3885 tests/files/good-large_compressed.lzma | Bin 35430 -> 35421 bytes 3886 2 files changed, 0 insertions(+), 0 deletions(-) 3887 3888commit 3ec6dfd656bdd40ede2a5f11e6be338988e38be4 3889Author: Jia Tan <jiat0218@gmail.com> 3890Date: 2024-03-09 10:08:32 +0800 3891 3892 Tests: Test --single-stream can decompress bad-3-corrupt_lzma2.xz. 3893 3894 The first stream in this file is valid, so this tests that xz properly 3895 stops after decompressing it. 3896 3897 tests/test_files.sh | 11 +++++++++++ 3898 1 file changed, 11 insertions(+) 3899 3900commit a67dcce6109c2f932a0a86abb0d7a95d3c31fb3e 3901Author: Jia Tan <jiat0218@gmail.com> 3902Date: 2024-03-09 10:05:32 +0800 3903 3904 Tests: Update RISC-V test files. 3905 3906 This increases code coverage and tests for possible shifting bugs. 3907 3908 tests/files/good-1-riscv-lzma2-1.xz | Bin 7512 -> 7424 bytes 3909 tests/files/good-1-riscv-lzma2-2.xz | Bin 7512 -> 7432 bytes 3910 2 files changed, 0 insertions(+), 0 deletions(-) 3911 3912commit 058337b0f1da9f166049ecc972fa5c499c1af08c 3913Author: Jia Tan <jiat0218@gmail.com> 3914Date: 2024-03-09 09:52:32 +0800 3915 3916 liblzma: Fix typos in crc32_fast.c and crc64_fast.c. 3917 3918 src/liblzma/check/crc32_fast.c | 4 ++-- 3919 src/liblzma/check/crc64_fast.c | 3 +-- 3920 2 files changed, 3 insertions(+), 4 deletions(-) 3921 3922commit cd5de9c1bbab3dd41b34b37a89c193fb6ff51ca5 3923Author: Jia Tan <jiat0218@gmail.com> 3924Date: 2024-03-09 09:49:55 +0800 3925 3926 Tests: Replace HAVE_MICROLZMA usage in CMake and Autotools builds. 3927 3928 This reverts commit adaacafde6661496ca2814b1e94a3ba5186428cb. 3929 3930 CMakeLists.txt | 15 ++++++++++----- 3931 configure.ac | 9 ++------- 3932 tests/Makefile.am | 9 ++++++--- 3933 tests/test_microlzma.c | 12 ++++-------- 3934 4 files changed, 22 insertions(+), 23 deletions(-) 3935 3936commit 651a1545c8b6150051a0b44857136efd419afc6f 3937Author: Jia Tan <jiat0218@gmail.com> 3938Date: 2024-03-09 09:20:57 +0800 3939 3940 liblzma: Fix false Valgrind error report with GCC. 3941 3942 With GCC and a certain combination of flags, Valgrind will falsely 3943 trigger an invalid write. This appears to be due to the omission of 3944 instructions to properly save, set up, and restore the frame pointer. 3945 3946 The IFUNC resolver is a leaf function since it only calls a function 3947 that is inlined. So sometimes GCC omits the frame pointer instructions 3948 in the resolver unless this optimization is explictly disabled. 3949 3950 This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2267598. 3951 3952 src/liblzma/check/crc32_fast.c | 9 +++------ 3953 src/liblzma/check/crc64_fast.c | 7 +++---- 3954 src/liblzma/check/crc_common.h | 25 +++++++++++++++++++++++++ 3955 3 files changed, 31 insertions(+), 10 deletions(-) 3956 3957commit 6e97b299f1b22e366ec42ba5dc5b9d0746e87b84 3958Author: Lasse Collin <lasse.collin@tukaani.org> 3959Date: 2024-03-05 23:21:26 +0200 3960 3961 liblzma: Fix a typo in a comment in the RISC-V filter. 3962 3963 src/liblzma/simple/riscv.c | 2 +- 3964 1 file changed, 1 insertion(+), 1 deletion(-) 3965 3966commit 4e1c97052b5f14f4d6dda99d12cbbd01e66e3712 3967Author: Jia Tan <jiat0218@gmail.com> 3968Date: 2024-03-05 00:34:46 +0800 3969 3970 liblzma: Use attribute no_profile_instrument_function with ifunc. 3971 3972 Thanks to Sam James for determining this was the attribute needed to 3973 workaround the GCC bug and for his version of the patch in Gentoo. 3974 3975 src/liblzma/check/crc32_fast.c | 5 +++++ 3976 src/liblzma/check/crc64_fast.c | 3 +++ 3977 2 files changed, 8 insertions(+) 3978 3979commit ed957d39426695e948b06de0ed952a2fbbe84bd1 3980Author: Jia Tan <jiat0218@gmail.com> 3981Date: 2024-03-05 00:27:31 +0800 3982 3983 Build: Require attribute no_profile_instrument_function for ifunc usage. 3984 3985 Using __attribute__((__no_profile_instrument_function__)) on the ifunc 3986 resolver works around a bug in GCC -fprofile-generate: 3987 it adds profiling code even to ifunc resolvers which can make 3988 the ifunc resolver crash at program startup. This attribute 3989 was not introduced until GCC 7 and Clang 13, so ifunc won't 3990 be used with prior versions of these compilers. 3991 3992 This bug was brought to our attention by: 3993 3994 https://bugs.gentoo.org/925415 3995 3996 And was reported to upstream GCC by: 3997 3998 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=11411 3999 4000 CMakeLists.txt | 7 +++++++ 4001 configure.ac | 7 +++++++ 4002 2 files changed, 14 insertions(+) 4003 4004commit e98ddaf85a1a8fb3cc863637f83356cc9db31e13 4005Author: Lasse Collin <lasse.collin@tukaani.org> 4006Date: 2024-03-04 19:23:18 +0200 4007 4008 liblzma: Fix a comment in the RISC-V filter. 4009 4010 src/liblzma/simple/riscv.c | 4 ++-- 4011 1 file changed, 2 insertions(+), 2 deletions(-) 4012 4013commit 319cec142f67fe294e0486402f1569f223d9a83d 4014Author: Lasse Collin <lasse.collin@tukaani.org> 4015Date: 2024-02-29 16:35:52 +0200 4016 4017 CMake: Warn if translated man pages are missing. 4018 4019 CMakeLists.txt | 9 +++++++++ 4020 1 file changed, 9 insertions(+) 4021 4022commit 46c3e113d8eeb1a731a60829fa7f5d1b519f7f26 4023Author: Lasse Collin <lasse.collin@tukaani.org> 4024Date: 2024-02-29 16:35:52 +0200 4025 4026 CMake: Warn if gettext tools and pre-created .gmo files are missing. 4027 4028 It's only done with CMake >= 3.20 and if library support 4029 for translation was already found. 4030 4031 Sort of fixes: https://github.com/tukaani-project/xz/issues/82 4032 4033 CMakeLists.txt | 25 +++++++++++++++++++++++++ 4034 1 file changed, 25 insertions(+) 4035 4036commit 86bec8334bb1dcb6d9293a11cdccd895b17f364b 4037Author: Lasse Collin <lasse.collin@tukaani.org> 4038Date: 2024-02-28 18:26:25 +0200 4039 4040 xz: Add comments. 4041 4042 src/xz/coder.c | 10 ++++++++++ 4043 1 file changed, 10 insertions(+) 4044 4045commit 5c91b454c24e043ca8f2cc7d2b09bd091dafe655 4046Author: Jia Tan <jiat0218@gmail.com> 4047Date: 2024-02-27 23:42:41 +0800 4048 4049 xz: Change logging level for thread reduction to highest verbosity only. 4050 4051 Now that multi threaded encoding is the default, users do not need to 4052 see a warning message everytime the number of threads is reduced. On 4053 some machines, this could happen very often. It is not unreasonable for 4054 users to need to set double verbose mode to see this kind of 4055 information. 4056 4057 To see these warning messages -vv or --verbose --verbose must be passed 4058 to set xz into the highest possible verbosity mode. 4059 4060 These warnings had caused automated testing frameworks to fail when they 4061 expected no output to stderr. 4062 4063 Thanks to Sebastian Andrzej Siewior for reporting this and for the 4064 initial version of the patch. 4065 4066 src/xz/coder.c | 4 ++-- 4067 1 file changed, 2 insertions(+), 2 deletions(-) 4068 4069commit d0e57b2f159f8fd03a9a89f2f593a768d0487898 4070Author: Lasse Collin <lasse.collin@tukaani.org> 4071Date: 2024-02-26 23:06:13 +0200 4072 4073 Fix sorting in THANKS. 4074 4075 THANKS | 4 ++-- 4076 1 file changed, 2 insertions(+), 2 deletions(-) 4077 4078commit d416be55ac02af1144fed455fb18b710147bb490 4079Author: Jia Tan <jiat0218@gmail.com> 4080Date: 2024-02-26 23:39:29 +0800 4081 4082 Update THANKS. 4083 4084 THANKS | 1 + 4085 1 file changed, 1 insertion(+) 4086 4087commit f06b33edd2aeabdb11836a2bf0b681768dad29d3 4088Author: Chien Wong <m@xv97.com> 4089Date: 2024-02-25 21:38:13 +0800 4090 4091 xz: Add missing RISC-V on the filter list in the man page 4092 4093 Signed-off-by: Chien Wong <m@xv97.com> 4094 4095 src/xz/xz.1 | 4 +++- 4096 1 file changed, 3 insertions(+), 1 deletion(-) 4097 4098commit a100f9111c8cc7f5b5f0e4a5e8af3de7161c7975 4099Author: Jia Tan <jiat0218@gmail.com> 4100Date: 2024-02-26 23:02:06 +0800 4101 4102 Build: Fix Linux Landlock feature test in Autotools and CMake builds. 4103 4104 The previous Linux Landlock feature test assumed that having the 4105 linux/landlock.h header file was enough. The new feature tests also 4106 requires that prctl() and the required Landlock system calls are 4107 supported. 4108 4109 CMakeLists.txt | 25 ++++++++++++++++++++++--- 4110 configure.ac | 27 ++++++++++++++++++++++++++- 4111 src/xz/sandbox.c | 2 +- 4112 src/xz/sandbox.h | 2 +- 4113 src/xzdec/xzdec.c | 8 ++++---- 4114 5 files changed, 54 insertions(+), 10 deletions(-) 4115 4116commit d85efdc8911e6e8964ec920af44c8a6fe0a4c3c2 4117Author: Jia Tan <jiat0218@gmail.com> 4118Date: 2024-02-26 20:06:10 +0800 4119 4120 Tests: Add test_microlzma to .gitignore and CMakeLists.txt. 4121 4122 .gitignore | 1 + 4123 CMakeLists.txt | 1 + 4124 2 files changed, 2 insertions(+) 4125 4126commit 42ee4256739779005a7f921946c8a8e483d1f2ed 4127Author: Jia Tan <jiat0218@gmail.com> 4128Date: 2024-02-26 19:56:25 +0800 4129 4130 Tests: Correct license header in test_microlzma.c. 4131 4132 tests/test_microlzma.c | 5 ++--- 4133 1 file changed, 2 insertions(+), 3 deletions(-) 4134 4135commit c83349dfd9cf9c495005b6d30e2fd34a9cafc18a 4136Author: Jia Tan <jiat0218@gmail.com> 4137Date: 2024-02-25 21:41:55 +0800 4138 4139 Fix typos in NEWS and CMakeLists. 4140 4141 CMakeLists.txt | 2 +- 4142 NEWS | 2 +- 4143 2 files changed, 2 insertions(+), 2 deletions(-) 4144 4145commit 2d7d862e3ffa8cec4fd3fdffcd84e984a17aa429 4146Author: Jia Tan <jiat0218@gmail.com> 4147Date: 2024-02-24 15:55:08 +0800 4148 4149 Bump version and soname for 5.6.0. 4150 4151 src/liblzma/Makefile.am | 2 +- 4152 src/liblzma/api/lzma/version.h | 6 +++--- 4153 src/liblzma/liblzma_generic.map | 2 +- 4154 src/liblzma/liblzma_linux.map | 2 +- 4155 4 files changed, 6 insertions(+), 6 deletions(-) 4156 4157commit a18fb1edef0d0aac12a09eed05e9c448c777af7b 4158Author: Jia Tan <jiat0218@gmail.com> 4159Date: 2024-02-24 15:50:36 +0800 4160 4161 Add NEWS for 5.6.0. 4162 4163 NEWS | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4164 1 file changed, 143 insertions(+) 4165 4166commit 24355c5280bc95e3d594432d60bb8432aa6af173 4167Author: Jia Tan <jiat0218@gmail.com> 4168Date: 2024-02-22 22:27:01 +0800 4169 4170 Translations: Remove obsolete and fuzzy matches from some translations. 4171 4172 The French and Brazilian Portuguese man page translations have not been 4173 updated since the switch from public domain to 0BSD. The old GPLv2 4174 strings have now been removed from these files. 4175 4176 po4a/fr.po | 4702 +++++++++++++++++++++++++++++++++++++---------------- 4177 po4a/pt_BR.po | 4987 ++++++++++++++++++++++++++++++++++++++++----------------- 4178 2 files changed, 6832 insertions(+), 2857 deletions(-) 4179 4180commit 02ca4a7d7b703e2ec63e00b70feec825e919dbc1 4181Author: Jia Tan <jiat0218@gmail.com> 4182Date: 2024-02-21 00:31:54 +0800 4183 4184 Translations: Patch man pages to avoid fuzzy matches. 4185 4186 This will be fixed in the next round of translations, but this avoids 4187 having a fuzzy match or not fixing the English version. 4188 4189 po4a/de.po | 2 +- 4190 po4a/ko.po | 2 +- 4191 po4a/ro.po | 2 +- 4192 po4a/uk.po | 2 +- 4193 4 files changed, 4 insertions(+), 4 deletions(-) 4194 4195commit 898aad9fc711e03452d24d9e2c5b7f77a6f9ce64 4196Author: Jia Tan <jiat0218@gmail.com> 4197Date: 2024-02-21 00:30:43 +0800 4198 4199 xzmore: Fix typo in xzmore.1. 4200 4201 Thanks to Yuri Chornoivan. 4202 4203 src/scripts/xzmore.1 | 2 +- 4204 1 file changed, 1 insertion(+), 1 deletion(-) 4205 4206commit 5631aa206c8d16b4eeab85a46b8b698f4fc4cdba 4207Author: Jia Tan <jiat0218@gmail.com> 4208Date: 2024-02-24 12:12:16 +0800 4209 4210 Translations: Update the Vietnamese translation. 4211 4212 po/vi.po | 505 ++++++++++++++++++++++++++++++++++++++------------------------- 4213 1 file changed, 309 insertions(+), 196 deletions(-) 4214 4215commit a65fd7ce9d6228e87faf61dc56a35984d0088248 4216Author: Jia Tan <jiat0218@gmail.com> 4217Date: 2024-02-24 12:06:40 +0800 4218 4219 Translations: Update the Esperanto translation. 4220 4221 po/eo.po | 502 ++++++++++++++++++++++++++++++++++++++------------------------- 4222 1 file changed, 306 insertions(+), 196 deletions(-) 4223 4224commit cf44e4b7f5dfdbf8c78aef377c10f71e274f63c0 4225Author: Jia Tan <jiat0218@gmail.com> 4226Date: 2024-02-23 23:09:59 +0800 4227 4228 Tests: Add a few test files. 4229 4230 tests/files/README | 19 +++++++++++++++++++ 4231 tests/files/bad-3-corrupt_lzma2.xz | Bin 0 -> 484 bytes 4232 tests/files/bad-dict_size.lzma | Bin 0 -> 41 bytes 4233 tests/files/good-2cat.xz | Bin 0 -> 136 bytes 4234 tests/files/good-large_compressed.lzma | Bin 0 -> 35430 bytes 4235 tests/files/good-small_compressed.lzma | Bin 0 -> 258 bytes 4236 6 files changed, 19 insertions(+) 4237 4238commit 39f4a1a86ad80b2d064b812cee42668e6c8b8c73 4239Author: Jia Tan <jiat0218@gmail.com> 4240Date: 2024-02-23 20:58:36 +0800 4241 4242 Tests: Add MicroLZMA test. 4243 4244 tests/Makefile.am | 4 +- 4245 tests/test_microlzma.c | 548 +++++++++++++++++++++++++++++++++++++++++++++++++ 4246 2 files changed, 551 insertions(+), 1 deletion(-) 4247 4248commit adaacafde6661496ca2814b1e94a3ba5186428cb 4249Author: Jia Tan <jiat0218@gmail.com> 4250Date: 2024-02-23 20:57:59 +0800 4251 4252 Build: Define HAVE_MICROLZMA when it is configured. 4253 4254 CMakeLists.txt | 4 ++++ 4255 configure.ac | 9 +++++++-- 4256 2 files changed, 11 insertions(+), 2 deletions(-) 4257 4258commit eea78216d27182ca917bf00e02feaab058a4d21e 4259Author: Jia Tan <jiat0218@gmail.com> 4260Date: 2024-02-23 20:27:15 +0800 4261 4262 xz: Fix Capsicum sandbox compile error. 4263 4264 user_abort_pipe[] was still being used instead of the parameters. 4265 4266 src/xz/sandbox.c | 4 ++-- 4267 1 file changed, 2 insertions(+), 2 deletions(-) 4268 4269commit 32b0a3ce19224f9074d01a4ffbc1655b05fcb82d 4270Author: Jia Tan <jiat0218@gmail.com> 4271Date: 2024-02-23 16:12:32 +0800 4272 4273 Build: Fix ARM64 CRC32 instruction feature test. 4274 4275 Old versions of Clang reported the unsupported function attribute and 4276 __crc32d() function as warnings instead of errors, so the feature test 4277 passed when it shouldn't have, causing a compile error at build time. 4278 -Werror was added to this feature test to fix this. The change is not 4279 needed for CMake because check_c_source_compiles() also performs 4280 linking and the error is caught then. 4281 4282 Thanks to Sebastian Andrzej Siewior for reporting this. 4283 4284 configure.ac | 10 ++++++++++ 4285 1 file changed, 10 insertions(+) 4286 4287commit 4c81c9611f8b2e1ad65eb7fa166afc570c58607e 4288Author: Lasse Collin <lasse.collin@tukaani.org> 4289Date: 2024-02-22 19:16:35 +0200 4290 4291 CMake: Add LOCALEDIR to the windres workaround. 4292 4293 LOCALEDIR may contain spaces like in "C:\Program Files". 4294 4295 CMakeLists.txt | 16 +++++++++++----- 4296 1 file changed, 11 insertions(+), 5 deletions(-) 4297 4298commit de4337fd89ca7db5feb97b5c40143404f6e22986 4299Author: Lasse Collin <lasse.collin@tukaani.org> 4300Date: 2024-02-22 15:18:25 +0200 4301 4302 xz: Landlock: Fix error message if input file is a directory. 4303 4304 If xz is given a directory, it should look like this: 4305 4306 $ xz /usr/bin 4307 xz: /usr/bin: Is a directory, skipping 4308 4309 The Landlock rules didn't allow opening directories for reading: 4310 4311 $ xz /usr/bin 4312 xz: /usr/bin: Permission denied 4313 4314 The simplest fix was to allow opening directories for reading. 4315 While it's a bit silly to allow it solely for the error message, 4316 it shouldn't make the sandbox significantly weaker. 4317 4318 The single-file use case (like when called from GNU tar) is 4319 still as strict as possible: all Landlock restrictions are 4320 enabled before (de)compression starts. 4321 4322 src/xz/sandbox.c | 15 ++++++++++++++- 4323 1 file changed, 14 insertions(+), 1 deletion(-) 4324 4325commit 120da10ae139ea52ca4275452adf8eda02d07cc8 4326Author: Lasse Collin <lasse.collin@tukaani.org> 4327Date: 2024-02-22 14:41:29 +0200 4328 4329 liblzma: Disable branchless C version in range decoder. 4330 4331 Thanks to Sebastian Andrzej Siewior and Sam James for 4332 benchmarking on various systems. 4333 4334 src/liblzma/rangecoder/range_decoder.h | 13 ++++++++++--- 4335 1 file changed, 10 insertions(+), 3 deletions(-) 4336 4337commit 00440f52be9ac2c7438c7b0cb1082f12399632c6 4338Author: Lasse Collin <lasse.collin@tukaani.org> 4339Date: 2024-02-21 17:41:32 +0200 4340 4341 INSTALL: Clarify that --disable-assembler affects only 32-bit x86. 4342 4343 INSTALL | 18 +++++++++--------- 4344 1 file changed, 9 insertions(+), 9 deletions(-) 4345 4346commit 11405be84ea294497e12d03d7219f607063f4a00 4347Author: Lasse Collin <lasse.collin@tukaani.org> 4348Date: 2024-02-19 18:41:37 +0200 4349 4350 Windows: build.bash: Include COPYING.0BSD in the package. 4351 4352 windows/build.bash | 2 +- 4353 1 file changed, 1 insertion(+), 1 deletion(-) 4354 4355commit c27cf64e3e27f4968431d65be7098a12a3a80d30 4356Author: Lasse Collin <lasse.collin@tukaani.org> 4357Date: 2024-02-18 17:59:46 +0200 4358 4359 Windows: build.bash: include liblzma-crt-mixing.txt in the package. 4360 4361 windows/build.bash | 6 ++++-- 4362 1 file changed, 4 insertions(+), 2 deletions(-) 4363 4364commit 8d38941baed05de4ff7cc775de14833108f62184 4365Author: Lasse Collin <lasse.collin@tukaani.org> 4366Date: 2024-02-18 17:17:43 +0200 4367 4368 Windows: Major update to Windows build instructions. 4369 4370 INSTALL | 68 ++++----- 4371 windows/INSTALL-MSVC.txt | 23 +-- 4372 windows/INSTALL-MinGW-w64_with_Autotools.txt | 49 +++++++ 4373 windows/INSTALL-MinGW-w64_with_CMake.txt | 203 +++++++++++++++++++++++++++ 4374 windows/INSTALL-MinGW.txt | 138 ------------------ 4375 windows/README-Windows.txt | 2 + 4376 windows/build-with-cmake.bat | 35 +++++ 4377 windows/liblzma-crt-mixing.txt | 70 +++++++++ 4378 8 files changed, 404 insertions(+), 184 deletions(-) 4379 4380commit 4b5b0d352348ff510ffb50a3b5b71788857d37a1 4381Author: Lasse Collin <lasse.collin@tukaani.org> 4382Date: 2024-02-18 15:15:04 +0200 4383 4384 Windows: Update windows/README-Windows.txt. 4385 4386 It's for binary packages built with windows/build.bash. 4387 4388 windows/README-Windows.txt | 104 ++++++++++++++++++--------------------------- 4389 1 file changed, 41 insertions(+), 63 deletions(-) 4390 4391commit 1ee716f74085223c8fbcae1d5a384e6bf53c0f6a 4392Author: Lasse Collin <lasse.collin@tukaani.org> 4393Date: 2024-02-18 15:15:04 +0200 4394 4395 Windows: Update windows/build.bash. 4396 4397 Support for the old MinGW was dropped. Only MinGW-w64 with GCC 4398 is supported now. 4399 4400 The script now supports also cross-compilation from GNU/Linux 4401 (tests are not run). MSYS2 and also the old MSYS 1.0.11 work 4402 for building on Windows. The i686 and x86_64 toolchains must 4403 be in PATH to build both 32-bit and 64-bit versions. 4404 4405 Parallel builds are done if "nproc" from GNU coreutils is available. 4406 4407 MinGW-w64 runtime copyright information file was renamed from 4408 COPYING-Windows.txt to COPYING.MinGW-w64-runtime.txt which 4409 is the filename used by MinGW-w64 itself. Its existence 4410 is now mandatory, it's checked at the beginning of the script. 4411 4412 The file TODO is no longer copied to the package. 4413 4414 windows/build.bash | 191 +++++++++++++++++++++++++++++++---------------------- 4415 1 file changed, 112 insertions(+), 79 deletions(-) 4416 4417commit 60462e42609a1d961868a1d1ebecc713c6d27e2e 4418Author: Jia Tan <jiat0218@gmail.com> 4419Date: 2024-02-20 23:32:22 +0800 4420 4421 Translations: Update the Romanian man page translations. 4422 4423 po4a/ro.po | 1715 +++++++++++++++++++++++++++++++----------------------------- 4424 1 file changed, 875 insertions(+), 840 deletions(-) 4425 4426commit 10d733e5b8929c642e00891cfa9ead9c2cdd2e05 4427Author: Jia Tan <jiat0218@gmail.com> 4428Date: 2024-02-20 23:30:25 +0800 4429 4430 Translations: Update the Korean man page translations. 4431 4432 po4a/ko.po | 6 +++--- 4433 1 file changed, 3 insertions(+), 3 deletions(-) 4434 4435commit 797a34b72ac6baff237d7a546fa941d8f78f2f62 4436Author: Jia Tan <jiat0218@gmail.com> 4437Date: 2024-02-20 21:03:53 +0800 4438 4439 Translations: Update the Spanish translation. 4440 4441 po/es.po | 6 +++--- 4442 1 file changed, 3 insertions(+), 3 deletions(-) 4443 4444commit 5c3751d019f023e091df9a653e2bb1f6ea8b0d49 4445Author: Jia Tan <jiat0218@gmail.com> 4446Date: 2024-02-20 20:18:07 +0800 4447 4448 Translations: Update the Romanian translation. 4449 4450 po/ro.po | 470 ++++++++++++++++++++++++++++++--------------------------------- 4451 1 file changed, 227 insertions(+), 243 deletions(-) 4452 4453commit e2d31154ecc750935436e8b62c6b073b2cfa84e3 4454Author: Jia Tan <jiat0218@gmail.com> 4455Date: 2024-02-20 20:15:50 +0800 4456 4457 Translations: Update the Croatian translation. 4458 4459 po/hr.po | 648 ++++++++++++++++++++++++++++++++++----------------------------- 4460 1 file changed, 355 insertions(+), 293 deletions(-) 4461 4462commit 704500f994d5ac271bfcfd592275c5a7da4dc8d2 4463Author: Jia Tan <jiat0218@gmail.com> 4464Date: 2024-02-20 20:05:44 +0800 4465 4466 Translations: Update the German man page translations. 4467 4468 po4a/de.po | 1696 +++++++++++++++++++++++++++++++----------------------------- 4469 1 file changed, 873 insertions(+), 823 deletions(-) 4470 4471commit 1cfd3dca3fef321b06db73c3c9e13f347c2e2f5f 4472Author: Jia Tan <jiat0218@gmail.com> 4473Date: 2024-02-20 19:58:25 +0800 4474 4475 Translations: Update the German translation. 4476 4477 po/de.po | 427 +++++++++++++++++++++++++++++++++------------------------------ 4478 1 file changed, 225 insertions(+), 202 deletions(-) 4479 4480commit 28b9b3f16cc7c6e5b42e691994569c17f4561c9a 4481Author: Jia Tan <jiat0218@gmail.com> 4482Date: 2024-02-20 19:56:52 +0800 4483 4484 Translations: Update the Hungarian translation. 4485 4486 po/hu.po | 556 ++++++++++++++++++++++++++++++++++++++------------------------- 4487 1 file changed, 338 insertions(+), 218 deletions(-) 4488 4489commit 00b06cd0af6ad2ee93d3006bf80417db060c2b04 4490Author: Lasse Collin <lasse.collin@tukaani.org> 4491Date: 2024-02-19 16:48:05 +0200 4492 4493 CMake: Fix building of lzmainfo when translations are enabled. 4494 4495 CMakeLists.txt | 2 ++ 4496 1 file changed, 2 insertions(+) 4497 4498commit b0d1422b6037bfea6f6723683bd82a8e6d77026c 4499Author: Lasse Collin <lasse.collin@tukaani.org> 4500Date: 2024-02-19 13:38:42 +0200 4501 4502 CMake: Don't assume that -fvisibility=hidden is supported outside Windows. 4503 4504 The original code was good enough for supporting GNU/Linux 4505 and a few others but it wasn't very portable. 4506 4507 CMake doesn't support Solaris Studio's -xldscope=hidden. 4508 If it ever does, things should still work with this commit 4509 as Solaris Studio supports not only its own __global but also 4510 the GNU C __attribute__((visibility("default"))). Support for the 4511 attribute was added in 2007 to Sun Studio 12 compiler version 5.9. 4512 4513 CMakeLists.txt | 26 ++++++++++++++++++++++---- 4514 1 file changed, 22 insertions(+), 4 deletions(-) 4515 4516commit 2ced9d34bef4dce52ecbbf84d0903ab0aae1442c 4517Author: Lasse Collin <lasse.collin@tukaani.org> 4518Date: 2024-02-19 12:20:59 +0200 4519 4520 CMake: Revise the component splitting. 4521 4522 CMakeLists.txt | 57 +++++++++++++++++++++++++++++++-------------------------- 4523 1 file changed, 31 insertions(+), 26 deletions(-) 4524 4525commit 426bdc709c169d39b31dec410016779de117ef69 4526Author: Lasse Collin <lasse.collin@tukaani.org> 4527Date: 2024-02-17 21:45:07 +0200 4528 4529 CMake: Update the main comment and document CMAKE_BUILD_TYPE=Release. 4530 4531 CMakeLists.txt | 79 ++++++++++++++++++++++++++++++++++++++++++++++------------ 4532 1 file changed, 63 insertions(+), 16 deletions(-) 4533 4534commit 4430e075f7ccfc47972d6ca0aa1c3779fc265e10 4535Author: Lasse Collin <lasse.collin@tukaani.org> 4536Date: 2024-02-17 21:27:48 +0200 4537 4538 CMake: Use -O2 instead of -O3 in CMAKE_BUILD_TYPE=Release. 4539 4540 -O3 doesn't seem useful for speed but it makes the code bigger. 4541 CMake makes is difficult for users to simply override the 4542 optimization level: CFLAGS / CMAKE_C_FLAGS aren't helpful because 4543 they go before CMAKE_C_FLAGS_RELEASE. Of course, users can override 4544 CMAKE_C_FLAGS_RELEASE directly but then they have to remember to 4545 add also -DNDEBUG to disable assertions. 4546 4547 This commit changes -O3 to -O2 in CMAKE_C_FLAGS_RELEASE if and only if 4548 CMAKE_C_FLAGS_RELEASE cache variable doesn't already exist. So if 4549 a custom value is passed on the command line (or reconfiguring an 4550 already-configured build), the cache variable won't be modified. 4551 4552 CMakeLists.txt | 19 +++++++++++++++++++ 4553 1 file changed, 19 insertions(+) 4554 4555commit 025eb6d7879e4c4e8cb29716b371e0f4c1aea660 4556Author: Lasse Collin <lasse.collin@tukaani.org> 4557Date: 2024-02-18 14:59:52 +0200 4558 4559 CMake: Handle symbol versioning on MicroBlaze specially. 4560 4561 This is to match configure.ac. 4562 4563 CMakeLists.txt | 23 +++++++++++++++++++---- 4564 1 file changed, 19 insertions(+), 4 deletions(-) 4565 4566commit 2edd1a35b2507d1ce68b52dbaebe23c4850a74ce 4567Author: Lasse Collin <lasse.collin@tukaani.org> 4568Date: 2024-02-17 22:18:12 +0200 4569 4570 CMake: Keep build working even if lib/*.[ch] are removed. 4571 4572 CMakeLists.txt | 7 ++++++- 4573 1 file changed, 6 insertions(+), 1 deletion(-) 4574 4575commit d753e2ce4715552884afadc4ed6fbf8ccca6efac 4576Author: Lasse Collin <lasse.collin@tukaani.org> 4577Date: 2024-02-17 18:10:40 +0200 4578 4579 CMake: Install documentation. 4580 4581 CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 4582 1 file changed, 32 insertions(+) 4583 4584commit 7a0405bea9cb0df9318b70f779f82b2c473e98ac 4585Author: Lasse Collin <lasse.collin@tukaani.org> 4586Date: 2024-02-17 15:35:35 +0200 4587 4588 CMake: Bump maximum policy version to 3.28. 4589 4590 CMP0154 doesn't affect us since we don't use FILE_SET. 4591 4592 CMakeLists.txt | 2 +- 4593 1 file changed, 1 insertion(+), 1 deletion(-) 4594 4595commit c2264ffbe3892d28930b89b0123efc369cabc143 4596Author: Lasse Collin <lasse.collin@tukaani.org> 4597Date: 2024-02-17 15:35:35 +0200 4598 4599 CMake: Build lzmainfo. 4600 4601 CMakeLists.txt | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 4602 1 file changed, 54 insertions(+) 4603 4604commit 998d0b29536094a89cf385a3b894e157db1ccefe 4605Author: Lasse Collin <lasse.collin@tukaani.org> 4606Date: 2024-02-17 15:35:35 +0200 4607 4608 CMake: Build lzmadec. 4609 4610 CMakeLists.txt | 76 ++++++++++++++++++++++++++++++++-------------------------- 4611 1 file changed, 42 insertions(+), 34 deletions(-) 4612 4613commit 74e8bc7417a0f37ca7ed5ee0127d33c69b3100b9 4614Author: Lasse Collin <lasse.collin@tukaani.org> 4615Date: 2024-02-17 15:35:35 +0200 4616 4617 CMake: Add test_scripts.sh to the tests. 4618 4619 In contrast to Automake, skipping of this test when decoders 4620 are disabled is handled at CMake side instead of test_scripts.sh 4621 because CMake-build doesn't create config.h. 4622 4623 CMakeLists.txt | 14 ++++++++++++++ 4624 tests/test_scripts.sh | 13 ++++++++----- 4625 2 files changed, 22 insertions(+), 5 deletions(-) 4626 4627commit 4808f238a731befcd46c2117c62a1caaf4403989 4628Author: Lasse Collin <lasse.collin@tukaani.org> 4629Date: 2024-02-17 15:35:35 +0200 4630 4631 CMake: Install scripts. 4632 4633 Compared to the Autotools-based build, this has simpler handling 4634 for the shell (@POSIX_SHELL@) and extra PATH entry for the scripts 4635 (configure has --enable-path-for-scripts=PREFIX). The simpler 4636 metho should be enough for non-ancient systems and Solaris. 4637 4638 CMakeLists.txt | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 4639 1 file changed, 82 insertions(+), 1 deletion(-) 4640 4641commit 3462362ebd94d835c664e94ad8f414cfe7590ca7 4642Author: Lasse Collin <lasse.collin@tukaani.org> 4643Date: 2024-02-17 15:35:35 +0200 4644 4645 Scripts: Use @PACKAGE_VERSION@ instead of @VERSION@. 4646 4647 PACKAGE_VERSION was already used in liblzma.pc.in. 4648 This way only one version @foo@ is used. 4649 4650 src/scripts/xzdiff.in | 2 +- 4651 src/scripts/xzgrep.in | 2 +- 4652 src/scripts/xzless.in | 2 +- 4653 src/scripts/xzmore.in | 2 +- 4654 4 files changed, 4 insertions(+), 4 deletions(-) 4655 4656commit 67610c245ba6c68cf65991693bab9312b7dc987b 4657Author: Lasse Collin <lasse.collin@tukaani.org> 4658Date: 2024-02-17 15:35:35 +0200 4659 4660 CMake: Simplify symlink creation and install translated man pages. 4661 4662 It helps that cmake_install.cmake doesn't parallelize installation 4663 so symlinks can be created so that the target is always known to 4664 exist (a requirement on Windows in some cases). 4665 4666 This bumps the minimum CMake version from 3.13 to 3.14 to use 4667 file(CREATE_LINK ...). It could be made to work on 3.13 by 4668 calling "cmake -E create_symlink" but it's uglier code and 4669 slower in "make install". 3.14 should be a reasonable version 4670 to require nowadays, especially since the Autotools build 4671 is still the primary build system for most OSes. 4672 4673 CMakeLists.txt | 195 +++++++++++++++++++++++++++++---------------------------- 4674 1 file changed, 98 insertions(+), 97 deletions(-) 4675 4676commit 50cc1d8a5a8154428bf240c7e4972e32b17d99bf 4677Author: Lasse Collin <lasse.collin@tukaani.org> 4678Date: 2024-02-17 15:35:35 +0200 4679 4680 CMake: Add support for building and installing xz with translations. 4681 4682 If gettext tools are available, the .po files listed in po/LINGUAS 4683 are converted using msgfmt. This allows building with translations 4684 directly from xz.git without Autotools. 4685 4686 If gettext tools aren't available, the Autotools-created .gmo files 4687 in the "po" directory will be used. This allows CMake-based build 4688 to use translations from Autotools-generated tarball. 4689 4690 If translation support is found (Intl_FOUND) but both the 4691 gettext tools and the pre-generated .gmo files are missing, 4692 then "make" will fail. 4693 4694 CMakeLists.txt | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 4695 1 file changed, 66 insertions(+), 2 deletions(-) 4696 4697commit 746c471643009947f94a3494a1148f74c7381b56 4698Author: Lasse Collin <lasse.collin@tukaani.org> 4699Date: 2024-02-19 11:58:33 +0200 4700 4701 liblzma: Remove commented-out code. 4702 4703 src/liblzma/rangecoder/range_decoder.h | 3 --- 4704 1 file changed, 3 deletions(-) 4705 4706commit 4ce300ce0884c6e552de2af9ae8050b47b01f0e7 4707Author: Lasse Collin <lasse.collin@tukaani.org> 4708Date: 2024-02-17 23:07:35 +0200 4709 4710 xz: Delete old commented-out code. 4711 4712 src/xz/message.c | 19 ------------------- 4713 1 file changed, 19 deletions(-) 4714 4715commit cae9a5e0bf422e6c5e64180805904f7ed02dc3aa 4716Author: Lasse Collin <lasse.collin@tukaani.org> 4717Date: 2024-02-17 23:07:35 +0200 4718 4719 xz: Use stricter pledge(2) and Landlock sandbox. 4720 4721 This makes these sandboxing methods stricter when no files are 4722 created or deleted. That is, it's a middle ground between the 4723 initial sandbox and the strictest single-file-to-stdout sandbox: 4724 this allows opening files for reading but output has to go to stdout. 4725 4726 src/xz/main.c | 46 +++++++++++++++++++++++++++++++++------------- 4727 src/xz/sandbox.c | 32 ++++++++++++++++++++++++++++++++ 4728 src/xz/sandbox.h | 4 ++++ 4729 3 files changed, 69 insertions(+), 13 deletions(-) 4730 4731commit 02e3505991233901575b7eabc06b2c6c62a96899 4732Author: Lasse Collin <lasse.collin@tukaani.org> 4733Date: 2024-02-17 23:07:35 +0200 4734 4735 xz: Support Landlock ABI version 4. 4736 4737 Linux 6.7 added support for ABI version 4 which restricts 4738 TCP connections which xz won't need and thus those can be 4739 forbidden now. Since the ABI version is handled at runtime, 4740 supporting version 4 won't cause any compatibility issues. 4741 4742 Note that new enough kernel headers are required to get 4743 version 4 support enabled at build time. 4744 4745 src/xz/sandbox.c | 25 ++++++++++++++++++++----- 4746 1 file changed, 20 insertions(+), 5 deletions(-) 4747 4748commit 374868d81d473ab56556a1cfd6b1b36a1fab348b 4749Author: Lasse Collin <lasse.collin@tukaani.org> 4750Date: 2024-02-17 23:07:35 +0200 4751 4752 xz: Move sandboxing code to sandbox.c and improve Landlock sandbox. 4753 4754 Landlock is now always used just like pledge(2) is: first in more 4755 permissive mode and later (under certain common conditions) in 4756 a strict mode that doesn't allow opening more files. 4757 4758 I put pledge(2) first in sandbox.c because it's the simplest API 4759 to use and still somewhat fine-grained for basic applications. 4760 So it's the simplest thing to understand for anyone reading sandbox.c. 4761 4762 CMakeLists.txt | 2 + 4763 src/xz/Makefile.am | 2 + 4764 src/xz/file_io.c | 170 +----------------------------- 4765 src/xz/file_io.h | 6 -- 4766 src/xz/main.c | 50 +++------ 4767 src/xz/private.h | 6 +- 4768 src/xz/sandbox.c | 295 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 4769 src/xz/sandbox.h | 39 +++++++ 4770 8 files changed, 357 insertions(+), 213 deletions(-) 4771 4772commit 7312dfbb02197c7f990c7a3cefd027a9387d1473 4773Author: Lasse Collin <lasse.collin@tukaani.org> 4774Date: 2024-02-17 23:07:35 +0200 4775 4776 xz: Tweak comments. 4777 4778 src/xz/main.c | 4 +++- 4779 1 file changed, 3 insertions(+), 1 deletion(-) 4780 4781commit c701a5909ad9882469fbab4fab5d2d5556d3ba78 4782Author: Lasse Collin <lasse.collin@tukaani.org> 4783Date: 2024-02-17 23:07:35 +0200 4784 4785 xz: Fix message_init() description. 4786 4787 Also explicitly initialize progress_automatic to make it clear 4788 that it can be read before message_init() sets it. Static variable 4789 was initialized to false by default already so this is only for 4790 clarity. 4791 4792 src/xz/main.c | 3 ++- 4793 src/xz/message.c | 2 +- 4794 src/xz/message.h | 5 ++++- 4795 3 files changed, 7 insertions(+), 3 deletions(-) 4796 4797commit 9466306719f3b76e92fac4e55fbfd89ec92295fa 4798Author: Lasse Collin <lasse.collin@tukaani.org> 4799Date: 2024-02-17 19:35:47 +0200 4800 4801 Build: Makefile.am: Sort EXTRA_DIST. 4802 4803 Dirs first, then files in case-sensitive ASCII order. 4804 4805 Makefile.am | 14 +++++++------- 4806 1 file changed, 7 insertions(+), 7 deletions(-) 4807 4808commit f3440e78c9517db75bfa52e1a378fad60b073bbe 4809Author: Lasse Collin <lasse.collin@tukaani.org> 4810Date: 2024-02-17 19:25:05 +0200 4811 4812 Build: Don't install TODO. 4813 4814 Makefile.am | 2 +- 4815 1 file changed, 1 insertion(+), 1 deletion(-) 4816 4817commit a7a3b62e2ab03c82b2bd5c78da1d1fb8b8490381 4818Author: Jia Tan <jiat0218@gmail.com> 4819Date: 2024-02-18 01:09:11 +0800 4820 4821 Translations: Update the Korean man page translations. 4822 4823 po4a/ko.po | 1707 +++++++++++++++++++++++++++++++----------------------------- 4824 1 file changed, 871 insertions(+), 836 deletions(-) 4825 4826commit 9b315db2d5e74700f3dc0755eb86c27947c0b393 4827Author: Jia Tan <jiat0218@gmail.com> 4828Date: 2024-02-18 01:08:32 +0800 4829 4830 Translations: Update the Korean translation. 4831 4832 po/ko.po | 423 +++++++++++++++++++++++++++++++++------------------------------ 4833 1 file changed, 223 insertions(+), 200 deletions(-) 4834 4835commit 56246607dff177b0410d140fcca4a42c865723dc 4836Author: Lasse Collin <lasse.collin@tukaani.org> 4837Date: 2024-02-17 16:23:14 +0200 4838 4839 Build: Install translated lzmainfo man pages. 4840 4841 All other translated man pages were being installed but 4842 lzmainfo had been forgotten. 4843 4844 src/lzmainfo/Makefile.am | 26 ++++++++++++++++++++++++++ 4845 1 file changed, 26 insertions(+) 4846 4847commit f1d6b88aefcced538403c5c2606ba57065b16e70 4848Author: Lasse Collin <lasse.collin@tukaani.org> 4849Date: 2024-02-17 16:01:32 +0200 4850 4851 liblzma: Avoid implementation-defined behavior in the RISC-V filter. 4852 4853 GCC docs promise that it works and a few other compilers do 4854 too. Clang/LLVM is documented source code only but unsurprisingly 4855 it behaves the same as others on x86-64 at least. But the 4856 certainly-portable way is good enough here so use that. 4857 4858 src/liblzma/simple/riscv.c | 30 ++++++++++++++++++++++-------- 4859 1 file changed, 22 insertions(+), 8 deletions(-) 4860 4861commit 843ddc5f617b91ae132d6bab0f2f2d9c9fcd214a 4862Author: Lasse Collin <lasse.collin@tukaani.org> 4863Date: 2024-02-17 15:48:28 +0200 4864 4865 liblzma: Wrap a line exceeding 80 chars. 4866 4867 src/liblzma/rangecoder/range_decoder.h | 3 ++- 4868 1 file changed, 2 insertions(+), 1 deletion(-) 4869 4870commit e9053c907250c70d98b319d95fa54cb94fc76869 4871Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> 4872Date: 2024-02-16 21:50:15 +0100 4873 4874 liblzma/rangecoder: Exclude x32 from the x86-64 optimisation. 4875 4876 The x32 port has a x86-64 ABI in term of all registers but uses only 4877 32bit pointer like x86-32. The assembly optimisation fails to compile on 4878 x32. Given the state of x32 I suggest to exclude it from the 4879 optimisation rather than trying to fix it. 4880 4881 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> 4882 4883 src/liblzma/rangecoder/range_decoder.h | 2 +- 4884 1 file changed, 1 insertion(+), 1 deletion(-) 4885 4886commit 3d198fb13b87f8803442e5799d465f7434a70555 4887Author: Jia Tan <jiat0218@gmail.com> 4888Date: 2024-02-17 21:05:07 +0800 4889 4890 Translations: Update the Spanish translation. 4891 4892 po/es.po | 427 +++++++++++++++++++++++++++++++++------------------------------ 4893 1 file changed, 226 insertions(+), 201 deletions(-) 4894 4895commit cf278bfe60a25b54b3786f06503bc61272970820 4896Author: Jia Tan <jiat0218@gmail.com> 4897Date: 2024-02-17 20:43:29 +0800 4898 4899 Translations: Update the Swedish translation. 4900 4901 po/sv.po | 434 +++++++++++++++++++++++++++++++++------------------------------ 4902 1 file changed, 230 insertions(+), 204 deletions(-) 4903 4904commit b0f1a41be50560cc6cb528e8e96b02b2067c52c2 4905Author: Jia Tan <jiat0218@gmail.com> 4906Date: 2024-02-17 20:41:38 +0800 4907 4908 Translations: Update the Polish translation. 4909 4910 po/pl.po | 424 +++++++++++++++++++++++++++++++++------------------------------ 4911 1 file changed, 224 insertions(+), 200 deletions(-) 4912 4913commit d74ed48b30c631b6a4c7e7858b06828293bf8520 4914Author: Jia Tan <jiat0218@gmail.com> 4915Date: 2024-02-17 20:41:02 +0800 4916 4917 Translations: Update the Ukrainian translation. 4918 4919 po/uk.po | 2 +- 4920 1 file changed, 1 insertion(+), 1 deletion(-) 4921 4922commit 711e22d5c5f3bac39ac904efb3ede874a66e2045 4923Author: Lasse Collin <lasse.collin@tukaani.org> 4924Date: 2024-02-16 17:53:34 +0200 4925 4926 Translations: Use the same sentence in xz.pot-header that the TP uses. 4927 4928 po/xz.pot-header | 2 +- 4929 1 file changed, 1 insertion(+), 1 deletion(-) 4930 4931commit fb5f6aaf18584672d0fee5dbe41fd30fc6bf5422 4932Author: Jia Tan <jiat0218@gmail.com> 4933Date: 2024-02-16 22:53:46 +0800 4934 4935 Fix typos discovered by codespell. 4936 4937 AUTHORS | 2 +- 4938 NEWS | 2 +- 4939 src/liblzma/rangecoder/range_decoder.h | 4 ++-- 4940 3 files changed, 4 insertions(+), 4 deletions(-) 4941 4942commit c64723bbb094e29b4edd98f6fcce866e1b569b42 4943Author: Jia Tan <jiat0218@gmail.com> 4944Date: 2024-02-16 22:52:41 +0800 4945 4946 Translations: Update the Ukrainian man page translations. 4947 4948 po4a/uk.po | 1710 +++++++++++++++++++++++++++++++----------------------------- 4949 1 file changed, 873 insertions(+), 837 deletions(-) 4950 4951commit 2895195ed0f68b245c7bd568c126ba6e685fa1d6 4952Author: Jia Tan <jiat0218@gmail.com> 4953Date: 2024-02-16 22:51:04 +0800 4954 4955 Translations: Update the Ukrainian translation. 4956 4957 po/uk.po | 466 ++++++++++++++++++++++++++++++--------------------------------- 4958 1 file changed, 225 insertions(+), 241 deletions(-) 4959 4960commit 4c20781f4c8f04879b64d631a4f44b4909147bde 4961Author: Lasse Collin <lasse.collin@tukaani.org> 4962Date: 2024-02-15 22:32:52 +0200 4963 4964 Translations: Omit the generic copyright line from man page headers. 4965 4966 po4a/update-po | 1 + 4967 1 file changed, 1 insertion(+) 4968 4969commit 4323bc3e0c1e1d2037d5e670a3bf6633e8a3031e 4970Author: Jia Tan <jiat0218@gmail.com> 4971Date: 2024-02-15 22:26:43 +0800 4972 4973 Update m4/.gitignore. 4974 4975 m4/.gitignore | 1 + 4976 1 file changed, 1 insertion(+) 4977 4978commit 5394a1665b7a108a54cb8b4ef3ebe59d3dbcca3a 4979Author: Lasse Collin <lasse.collin@tukaani.org> 4980Date: 2024-02-14 21:11:49 +0200 4981 4982 Tests: tuktest.h: Treat Clang separately from GCC. 4983 4984 Don't assume that Clang defines __GNUC__ as the extensions 4985 are available in clang-cl as well (and possibly in some other 4986 Clang variants?). 4987 4988 tests/tuktest.h | 6 +++--- 4989 1 file changed, 3 insertions(+), 3 deletions(-) 4990 4991commit cce7330b9f23485a0879422e0c3395a7065439ac 4992Author: Lasse Collin <lasse.collin@tukaani.org> 4993Date: 2024-02-14 21:11:03 +0200 4994 4995 Tests: tuktest.h: Add a missing word to a comment. 4996 4997 tests/tuktest.h | 4 ++-- 4998 1 file changed, 2 insertions(+), 2 deletions(-) 4999 5000commit 5dd8fc9452a3373cedc27379067ce638f992c741 5001Author: Lasse Collin <lasse.collin@tukaani.org> 5002Date: 2024-02-14 21:10:10 +0200 5003 5004 Tests: tuktest.h: Fix the comment about STest. 5005 5006 tests/tuktest.h | 3 ++- 5007 1 file changed, 2 insertions(+), 1 deletion(-) 5008 5009commit 6f1790254a03c5edf0f2976f773220f070450acd 5010Author: Jia Tan <jiat0218@gmail.com> 5011Date: 2024-02-15 01:53:40 +0800 5012 5013 Bump version for 5.5.2beta. 5014 5015 src/liblzma/api/lzma/version.h | 4 ++-- 5016 src/liblzma/liblzma_generic.map | 2 +- 5017 src/liblzma/liblzma_linux.map | 2 +- 5018 3 files changed, 4 insertions(+), 4 deletions(-) 5019 5020commit 924fdeedf48113fb1e0646d86bd89a356d21a055 5021Author: Lasse Collin <lasse.collin@tukaani.org> 5022Date: 2024-02-14 19:46:11 +0200 5023 5024 liblzma: Fix validate_map.sh. 5025 5026 Adding the SPDX license identifier changed the line numbers. 5027 5028 src/liblzma/validate_map.sh | 2 +- 5029 1 file changed, 1 insertion(+), 1 deletion(-) 5030 5031commit 22140a2df6161b0110e6b4afa5ea0a07c5b60b01 5032Author: Lasse Collin <lasse.collin@tukaani.org> 5033Date: 2024-02-14 19:38:34 +0200 5034 5035 Build: Start the generated ChangeLog from around 5.4.0 instead of 5.2.0. 5036 5037 Makefile.am | 2 +- 5038 1 file changed, 1 insertion(+), 1 deletion(-) 5039 5040commit 0b8cefa136c21d403a01b78517f4decb50172bdb 5041Author: Lasse Collin <lasse.collin@tukaani.org> 5042Date: 2024-02-14 19:27:46 +0200 5043 5044 Fixed NEWS for 5.5.2beta. 5045 5046 NEWS | 8 ++++++-- 5047 1 file changed, 6 insertions(+), 2 deletions(-) 5048 5049commit a4557bad96361d93ea171ed859ac5a696fca824f 5050Author: Lasse Collin <lasse.collin@tukaani.org> 5051Date: 2024-02-14 19:21:45 +0200 5052 5053 liblzma: Silence warnings in --enable-small build. 5054 5055 src/liblzma/lzma/lzma_decoder.c | 2 ++ 5056 src/liblzma/rangecoder/range_decoder.h | 1 + 5057 2 files changed, 3 insertions(+) 5058 5059commit 38edf473236d00b3e100dc4c4f0bf43a4993fed2 5060Author: Lasse Collin <lasse.collin@tukaani.org> 5061Date: 2024-02-14 19:15:58 +0200 5062 5063 Build: Install COPYING.0BSD as part of docs. 5064 5065 Makefile.am | 1 + 5066 1 file changed, 1 insertion(+) 5067 5068commit b74e10bd839bcdc239afb5300ffaee195f34c217 5069Author: Lasse Collin <lasse.collin@tukaani.org> 5070Date: 2024-02-14 19:14:05 +0200 5071 5072 Docs: List COPYING.0BSD in README. 5073 5074 README | 1 + 5075 1 file changed, 1 insertion(+) 5076 5077commit dfdb60ffe933a1f1497d300dbb4513ed17ec6f0e 5078Author: Lasse Collin <lasse.collin@tukaani.org> 5079Date: 2024-02-14 19:11:48 +0200 5080 5081 Docs: Include doc/examples/11_file_info.c in tarballs. 5082 5083 It was added in 2017 in c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd 5084 but it never got into any release tarballs because it was 5085 forgotten to be added to Makefile.am. 5086 5087 Makefile.am | 1 + 5088 1 file changed, 1 insertion(+) 5089 5090commit 160b6862646d95dfdbd73ab7f1031ede0f54992d 5091Author: Lasse Collin <lasse.collin@tukaani.org> 5092Date: 2024-02-14 19:05:58 +0200 5093 5094 liblzma: Silence a warning. 5095 5096 src/liblzma/rangecoder/range_decoder.h | 2 +- 5097 1 file changed, 1 insertion(+), 1 deletion(-) 5098 5099commit eeedd4d0925ea417add04ceb42a6c0829244b50c 5100Author: Lasse Collin <lasse.collin@tukaani.org> 5101Date: 2024-02-14 18:32:27 +0200 5102 5103 Add NEWS for 5.5.2beta. 5104 5105 NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5106 1 file changed, 60 insertions(+) 5107 5108commit 8af7db854f903068d72a9a0d21103cb0c5027fa8 5109Author: Lasse Collin <lasse.collin@tukaani.org> 5110Date: 2024-02-13 14:32:47 +0200 5111 5112 xz: Mention lzmainfo if trying to use 'lzma --list'. 5113 5114 This kind of fixes the problem reported here: 5115 https://bugs.launchpad.net/ubuntu/+source/xz-utils/+bug/1291020 5116 5117 src/xz/list.c | 16 ++++++++++++++-- 5118 1 file changed, 14 insertions(+), 2 deletions(-) 5119 5120commit 0668907ff736e4cd16738c10d39a2bc9e851aefb 5121Author: Lasse Collin <lasse.collin@tukaani.org> 5122Date: 2024-02-14 14:58:36 +0200 5123 5124 liblzma: Add comments. 5125 5126 src/liblzma/lzma/lzma_decoder.c | 9 +++++++++ 5127 src/liblzma/rangecoder/range_decoder.h | 11 +++++++++-- 5128 2 files changed, 18 insertions(+), 2 deletions(-) 5129 5130commit 109f1913d4824c8214d5bbd38ebebf62c37572da 5131Author: Lasse Collin <lasse.collin@tukaani.org> 5132Date: 2024-02-13 17:00:17 +0200 5133 5134 Scripts: Add lz4 support to xzgrep and xzdiff. 5135 5136 src/scripts/xzdiff.1 | 8 +++++--- 5137 src/scripts/xzdiff.in | 14 +++++++++----- 5138 src/scripts/xzgrep.1 | 6 ++++-- 5139 src/scripts/xzgrep.in | 1 + 5140 4 files changed, 19 insertions(+), 10 deletions(-) 5141 5142commit de55485cb23af56c5adbe3239b935c957ff8ac4f 5143Author: Lasse Collin <lasse.collin@tukaani.org> 5144Date: 2024-02-13 14:05:13 +0200 5145 5146 liblzma: Choose the range decoder variants using a bitmask macro. 5147 5148 src/liblzma/rangecoder/range_decoder.h | 64 ++++++++++++++++++++++++++++------ 5149 1 file changed, 53 insertions(+), 11 deletions(-) 5150 5151commit 0709c2b2d7c1d8f437b003f691880fd7810e5be5 5152Author: Lasse Collin <lasse.collin@tukaani.org> 5153Date: 2024-02-13 11:38:10 +0200 5154 5155 xz: Fix outdated threading related info on the man page. 5156 5157 src/xz/xz.1 | 22 ++++++++++++++-------- 5158 1 file changed, 14 insertions(+), 8 deletions(-) 5159 5160commit 3182a330c1512cc1f5c87b5c5a272578e60a5158 5161Author: Lasse Collin <lasse.collin@tukaani.org> 5162Date: 2024-02-12 17:09:10 +0200 5163 5164 liblzma: Range decoder: Add x86-64 inline assembly. 5165 5166 It's compatible with GCC and Clang. 5167 5168 src/liblzma/rangecoder/range_decoder.h | 491 +++++++++++++++++++++++++++++++++ 5169 1 file changed, 491 insertions(+) 5170 5171commit cba2edc991dffba7cd4891dbc1bd26cb950cf053 5172Author: Lasse Collin <lasse.collin@tukaani.org> 5173Date: 2024-02-12 17:09:10 +0200 5174 5175 liblzma: Range decoder: Add branchless C code. 5176 5177 It's used only for basic bittrees and fixed-size reverse bittree 5178 because those showed a clear benefit on x86-64 with GCC and Clang. 5179 The other methods were more mixed and thus are commented out but 5180 they should be tested on other archs. 5181 5182 src/liblzma/rangecoder/range_decoder.h | 76 ++++++++++++++++++++++++++++++++++ 5183 1 file changed, 76 insertions(+) 5184 5185commit e290a72d6dee71faf3a90c9678b2f730083666a7 5186Author: Lasse Collin <lasse.collin@tukaani.org> 5187Date: 2024-02-12 17:09:10 +0200 5188 5189 liblzma: Clarify a comment. 5190 5191 src/liblzma/lzma/lzma_decoder.c | 9 ++++++--- 5192 1 file changed, 6 insertions(+), 3 deletions(-) 5193 5194commit 5e04706b91ca90d6befd4da24a588a55e631d4a9 5195Author: Lasse Collin <lasse.collin@tukaani.org> 5196Date: 2024-02-12 17:09:10 +0200 5197 5198 liblzma: LZMA decoder: Optimize loop comparison. 5199 5200 But now it needs one more local variable. 5201 5202 src/liblzma/lzma/lzma_decoder.c | 5 ++--- 5203 src/liblzma/rangecoder/range_decoder.h | 10 +++++++++- 5204 2 files changed, 11 insertions(+), 4 deletions(-) 5205 5206commit 88276f9f2cb4871c7eb86952d93d07c1cf6caa66 5207Author: Lasse Collin <lasse.collin@tukaani.org> 5208Date: 2024-02-12 17:09:10 +0200 5209 5210 liblzma: Optimize literal_subcoder() macro slightly. 5211 5212 src/liblzma/lzma/lzma_common.h | 22 ++++++++++++---------- 5213 src/liblzma/lzma/lzma_decoder.c | 12 ++++++------ 5214 src/liblzma/lzma/lzma_encoder.c | 6 +++--- 5215 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 +- 5216 src/liblzma/lzma/lzma_encoder_private.h | 4 ++-- 5217 5 files changed, 24 insertions(+), 22 deletions(-) 5218 5219commit 5938f6de4d8ec9656776cd69e78ddfd6c3ad84e5 5220Author: Lasse Collin <lasse.collin@tukaani.org> 5221Date: 2024-02-12 17:09:10 +0200 5222 5223 liblzma: LZ decoder: Add unlikely(). 5224 5225 src/liblzma/lz/lz_decoder.h | 2 +- 5226 1 file changed, 1 insertion(+), 1 deletion(-) 5227 5228commit 9c252e3ed086c6b72590b2531586c42596d4a9d9 5229Author: Lasse Collin <lasse.collin@tukaani.org> 5230Date: 2024-02-12 17:09:10 +0200 5231 5232 liblzma: LZ decoder: Remove a useless unlikely(). 5233 5234 src/liblzma/lz/lz_decoder.h | 2 +- 5235 1 file changed, 1 insertion(+), 1 deletion(-) 5236 5237commit f3872a59475456c5d365cad9f1c5be514cfa54b5 5238Author: Lasse Collin <lasse.collin@tukaani.org> 5239Date: 2024-02-12 17:09:10 +0200 5240 5241 liblzma: Optimize LZ decoder slightly. 5242 5243 Now extra buffer space is reserved so that repeating bytes for 5244 any single match will never need to copy from two places (both 5245 the beginning and the end of the buffer). This simplifies 5246 dict_repeat() and helps a little with speed. 5247 5248 This seems to reduce .lzma decompression time about 2 %, so 5249 with .xz and CRC it could be slightly less. The small things 5250 add up still. 5251 5252 src/liblzma/lz/lz_decoder.c | 43 ++++++++++++----- 5253 src/liblzma/lz/lz_decoder.h | 101 +++++++++++++++++++++------------------- 5254 src/liblzma/lzma/lzma_decoder.c | 4 +- 5255 3 files changed, 88 insertions(+), 60 deletions(-) 5256 5257commit eb518446e578acf079abae5f1ce28db7b6e59bc1 5258Author: Lasse Collin <lasse.collin@tukaani.org> 5259Date: 2024-02-12 17:09:10 +0200 5260 5261 liblzma: LZMA decoder: Get rid of next_state[]. 5262 5263 It's not completely obvious if this is better in the decoder. 5264 It should be good if compiler can avoid creating a branch 5265 (like using CMOV on x86). 5266 5267 This also makes lzma_encoder.c use the new macros. 5268 5269 src/liblzma/lzma/lzma_common.h | 14 ++++++++++++++ 5270 src/liblzma/lzma/lzma_decoder.c | 30 ++++++++---------------------- 5271 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 5272 3 files changed, 24 insertions(+), 24 deletions(-) 5273 5274commit e0c0ee475c0800c08291ae45e0d66aa00d5ce604 5275Author: Lasse Collin <lasse.collin@tukaani.org> 5276Date: 2024-02-12 17:09:10 +0200 5277 5278 liblzma: LZMA decoder improvements. 5279 5280 This adds macros for bittree decoding which prepares the code 5281 for alternative C versions and inline assembly. 5282 5283 src/liblzma/lzma/lzma_decoder.c | 264 ++++++++++----------------------- 5284 src/liblzma/rangecoder/range_common.h | 4 + 5285 src/liblzma/rangecoder/range_decoder.h | 142 ++++++++++++++++-- 5286 3 files changed, 210 insertions(+), 200 deletions(-) 5287 5288commit de5c5e417645ad8906ef914bc059d08c1462fc29 5289Author: Jia Tan <jiat0218@gmail.com> 5290Date: 2024-02-12 17:09:10 +0200 5291 5292 liblzma: Creates Non-resumable and Resumable modes for lzma_decoder. 5293 5294 The new decoder resumes the first decoder loop in the Resumable mode. 5295 Then, the code executes in Non-resumable mode until it detects that it 5296 cannot guarantee to have enough input/output to decode another symbol. 5297 5298 The Resumable mode is how the decoder has always worked. Before decoding 5299 every input bit, it checks if there is enough space and will save its 5300 location to be resumed later. When the decoder has more input/output, 5301 it jumps back to the correct sequence in the Resumable mode code. 5302 5303 When the input/output buffers are large, the Resumable mode is much 5304 slower than the Non-resumable because it has more branches and is harder 5305 for the compiler to optimize since it is in a large switch block. 5306 5307 Early benchmarking shows significant time improvement (8-10% on gcc and 5308 clang x86) by using the Non-resumable code as much as possible. 5309 5310 src/liblzma/lz/lz_decoder.h | 14 +- 5311 src/liblzma/lzma/lzma_decoder.c | 720 ++++++++++++++++++++++++++++------------ 5312 2 files changed, 521 insertions(+), 213 deletions(-) 5313 5314commit e446ab7a18abfde18f8d1cf02a914df72b1370e3 5315Author: Jia Tan <jiat0218@gmail.com> 5316Date: 2024-02-12 17:09:10 +0200 5317 5318 liblzma: Creates separate "safe" range decoder mode. 5319 5320 The new "safe" range decoder mode is the same as old range decoder, but 5321 now the default behavior of the range decoder will not check if there is 5322 enough input or output to complete the operation. When the buffers are 5323 close to fully consumed, the "safe" operations must be used instead. This 5324 will improve speed because it will reduce the number of branches needed 5325 for most of the range decoder operations. 5326 5327 src/liblzma/lzma/lzma_decoder.c | 108 ++++++++------------------------- 5328 src/liblzma/rangecoder/range_decoder.h | 77 +++++++++++++++++------ 5329 2 files changed, 82 insertions(+), 103 deletions(-) 5330 5331commit 7f6d9ca329ff3e01d4b0be7366eb4f5c93da41b9 5332Author: Lasse Collin <lasse.collin@tukaani.org> 5333Date: 2024-02-12 17:09:10 +0200 5334 5335 doxygen/footer.html: Add missing closing tags and don't open a new tab. 5336 5337 The footer template from Doxygen has the closing </body> </html> 5338 as Doxygen doesn't add them otherwise. 5339 5340 target="_blank" was omitted as it's not useful here but 5341 it can be slightly annoying as one cannot just go back 5342 in the browser history. 5343 5344 Since the footer links to the license file in the same 5345 directory and not to CC website, the rel attributes 5346 can be omitted. 5347 5348 doxygen/footer.html | 6 ++++-- 5349 1 file changed, 4 insertions(+), 2 deletions(-) 5350 5351commit 26d1527d34d52b0f5d632d4fb636fb33d0867e92 5352Author: Lasse Collin <lasse.collin@tukaani.org> 5353Date: 2024-02-13 13:19:10 +0200 5354 5355 Tweak the expressions in AUTHORS. 5356 5357 AUTHORS | 31 +++++++++++++++++++++++-------- 5358 1 file changed, 23 insertions(+), 8 deletions(-) 5359 5360commit d231d56580175fa040fdd3c6207a58243ce6217b 5361Author: Lasse Collin <lasse.collin@tukaani.org> 5362Date: 2024-02-13 13:07:33 +0200 5363 5364 Translations: Add the man page translators into man page header comment. 5365 5366 It looked odd to only have the original English authors listed 5367 in the header comments of the translated files. 5368 5369 po4a/.gitignore | 1 + 5370 po4a/po4a.conf | 14 +++++++------- 5371 po4a/update-po | 18 ++++++++++++++++++ 5372 3 files changed, 26 insertions(+), 7 deletions(-) 5373 5374commit 6d35fcb936474fca1acaebfd9502c097b6fde88e 5375Author: Lasse Collin <lasse.collin@tukaani.org> 5376Date: 2024-02-12 17:09:10 +0200 5377 5378 Translations: Translate also messages of lzmainfo. 5379 5380 lzmainfo has had translation support since 2009 at least but 5381 it was never added to po/POTFILES.in so the messages weren't 5382 translated. It's a very rarely needed tool so it's not too bad. 5383 5384 This also adds src/xz/mytime.c to po/POTFILES.in although there 5385 are no translatable strings. It's simpler this way so that it 5386 won't be forgotten if strings were ever added to that file. 5387 5388 po/POTFILES.in | 2 ++ 5389 1 file changed, 2 insertions(+) 5390 5391commit a9f369dd54b05f9ac4e00ead9d765d04fc259868 5392Author: Lasse Collin <lasse.collin@tukaani.org> 5393Date: 2024-02-12 17:09:10 +0200 5394 5395 Translations: Add custom .pot header with SPDX license identifier. 5396 5397 The same is used for both po/xz.pot and po4a/xz-man.pot. 5398 5399 Makefile.am | 1 + 5400 po/xz.pot-header | 7 +++++++ 5401 po4a/update-po | 8 ++++++++ 5402 3 files changed, 16 insertions(+) 5403 5404commit 469cd6653bb96e83c5cf1031c204d34566b15f44 5405Author: Lasse Collin <lasse.collin@tukaani.org> 5406Date: 2024-02-12 17:09:10 +0200 5407 5408 Translations: po4a/update-po: Add copyright notice to xz-man.pot. 5409 5410 All man pages are under 0BSD now so this is simple now. 5411 5412 po4a/update-po | 2 +- 5413 1 file changed, 1 insertion(+), 1 deletion(-) 5414 5415commit 28ce45e38fbed4b5f54f2013e38dab47d22bf699 5416Author: Lasse Collin <lasse.collin@tukaani.org> 5417Date: 2024-02-12 17:09:10 +0200 5418 5419 Update COPYING about the man pages of the scripts. 5420 5421 COPYING | 6 +++--- 5422 1 file changed, 3 insertions(+), 3 deletions(-) 5423 5424commit e48287bf51afd5184ea74de1dcade9e153f873f7 5425Author: Lasse Collin <lasse.collin@tukaani.org> 5426Date: 2024-02-12 17:09:10 +0200 5427 5428 xzdiff, xzgrep, and xzmore: Rewrite the man pages. 5429 5430 The main reason is a kind of silly one: 5431 5432 xz-man.pot contains strings from all man pages in XZ Utils. 5433 The man pages of xzdiff, xzgrep, and xzmore were under GPLv2 5434 and the rest under 0BSD. Thus xz-man.pot contained strings 5435 under two licences. po4a creates the translated man pages 5436 from the combined 0BSD+GPLv2 xz-man.pot. 5437 5438 I haven't liked this mixing in xz-man.pot but the 5439 Translation Project requires that all man pages must be 5440 in the same .pot file. So a separate xz-man-gpl.pot 5441 wasn't an option. 5442 5443 Since these man pages are short, rewriting them was quick enough. 5444 Now xz-man.pot is entirely under 0BSD and marking the per-file 5445 licenses is simpler. 5446 5447 As a bonus, some wording hopefully is now slightly better 5448 although it's perhaps a matter of taste. 5449 5450 NOTE: In xzgrep.1, the EXIT STATUS section was written by me 5451 in the commit d796b6d7fdb8b7238b277056cf9146cce25db604 so that's 5452 why that section could be taken as is from the old xzgrep.1. 5453 5454 src/scripts/xzdiff.1 | 94 ++++++++++++++++++++++++----------------- 5455 src/scripts/xzgrep.1 | 116 ++++++++++++++++++++++++++++++++------------------- 5456 src/scripts/xzmore.1 | 79 ++++++++++++++++++++--------------- 5457 3 files changed, 173 insertions(+), 116 deletions(-) 5458 5459commit 3e551b111b8ae8150f1a1040364dbafc034f22be 5460Author: Lasse Collin <lasse.collin@tukaani.org> 5461Date: 2024-02-12 17:09:10 +0200 5462 5463 xzless: Update man page slightly. 5464 5465 The xz tool can decompress three file formats and xzless 5466 has always supported uncompressed files too. 5467 5468 src/scripts/xzless.1 | 8 ++++---- 5469 1 file changed, 4 insertions(+), 4 deletions(-) 5470 5471commit 40f36da2262d13d6e1ba8449caa855512ae626d7 5472Author: Lasse Collin <lasse.collin@tukaani.org> 5473Date: 2024-02-12 17:09:10 +0200 5474 5475 Translations: Change po/Makevars to add a copyright notice to po/xz.pot. 5476 5477 po/Makevars | 4 ++-- 5478 1 file changed, 2 insertions(+), 2 deletions(-) 5479 5480commit 24192854e2ea5c06997431a98bda3c36c5da1497 5481Author: Lasse Collin <lasse.collin@tukaani.org> 5482Date: 2024-02-12 17:09:10 +0200 5483 5484 Translations: Update po/Makevars to use the template from gettext 0.22.4. 5485 5486 Also add SPDX license identifier now that there is a known license. 5487 5488 po/Makevars | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 5489 1 file changed, 46 insertions(+), 5 deletions(-) 5490 5491commit b94154957370116480b43bcabca25fc52deb9853 5492Author: Lasse Collin <lasse.collin@tukaani.org> 5493Date: 2024-02-12 17:09:10 +0200 5494 5495 liblzma: Include the SPDX license identifier 0BSD to generated files. 5496 5497 Perhaps the generated files aren't even copyrightable but 5498 using the same license for them as for the rest of the liblzma 5499 keeps things more consistent for tools that look for license info. 5500 5501 src/liblzma/check/crc32_table_be.h | 4 +++- 5502 src/liblzma/check/crc32_table_le.h | 4 +++- 5503 src/liblzma/check/crc32_tablegen.c | 16 ++++++++++------ 5504 src/liblzma/check/crc64_table_be.h | 4 +++- 5505 src/liblzma/check/crc64_table_le.h | 4 +++- 5506 src/liblzma/check/crc64_tablegen.c | 8 +++++--- 5507 src/liblzma/lz/lz_encoder_hash_table.h | 4 +++- 5508 src/liblzma/lzma/fastpos_table.c | 4 +++- 5509 src/liblzma/lzma/fastpos_tablegen.c | 12 +++++++----- 5510 src/liblzma/rangecoder/price_table.c | 4 +++- 5511 src/liblzma/rangecoder/price_tablegen.c | 12 +++++++----- 5512 11 files changed, 50 insertions(+), 26 deletions(-) 5513 5514commit 8e4ec794836bc1701d8c9bd5e347b8ce8cc5bbb4 5515Author: Lasse Collin <lasse.collin@tukaani.org> 5516Date: 2024-02-12 17:09:10 +0200 5517 5518 liblzma: Fix compilation of price_tablegen.c. 5519 5520 It is built and run only manually so this didn't matter 5521 unless one wanted to regenerate the price_table.c. 5522 5523 src/liblzma/rangecoder/price_tablegen.c | 5 +++++ 5524 src/liblzma/rangecoder/range_common.h | 5 ++++- 5525 2 files changed, 9 insertions(+), 1 deletion(-) 5526 5527commit e99bff3ffbcdf2634fd5bd13887627ec7dbfecaf 5528Author: Lasse Collin <lasse.collin@tukaani.org> 5529Date: 2024-02-12 17:09:10 +0200 5530 5531 Add SPDX license identifiers to GPL, LGPL, and FSFULLR files. 5532 5533 extra/scanlzma/scanlzma.c | 2 ++ 5534 lib/Makefile.am | 2 ++ 5535 lib/getopt-cdefs.h | 2 ++ 5536 lib/getopt-core.h | 2 ++ 5537 lib/getopt-ext.h | 2 ++ 5538 lib/getopt-pfx-core.h | 2 ++ 5539 lib/getopt-pfx-ext.h | 2 ++ 5540 lib/getopt.c | 2 ++ 5541 lib/getopt.in.h | 2 ++ 5542 lib/getopt1.c | 2 ++ 5543 lib/getopt_int.h | 2 ++ 5544 m4/ax_pthread.m4 | 2 ++ 5545 m4/getopt.m4 | 2 ++ 5546 m4/posix-shell.m4 | 2 ++ 5547 m4/visibility.m4 | 2 ++ 5548 src/scripts/xzdiff.1 | 3 +-- 5549 src/scripts/xzdiff.in | 1 + 5550 src/scripts/xzgrep.1 | 3 +-- 5551 src/scripts/xzgrep.in | 1 + 5552 src/scripts/xzless.in | 1 + 5553 src/scripts/xzmore.1 | 3 +-- 5554 src/scripts/xzmore.in | 1 + 5555 22 files changed, 37 insertions(+), 6 deletions(-) 5556 5557commit 22af94128b89a131f5e58ae69bee5e50227c15da 5558Author: Lasse Collin <lasse.collin@tukaani.org> 5559Date: 2024-02-12 17:09:10 +0200 5560 5561 Add SPDX license identifier into 0BSD source code files. 5562 5563 .github/workflows/ci.yml | 2 ++ 5564 .github/workflows/windows-ci.yml | 2 ++ 5565 CMakeLists.txt | 2 ++ 5566 Makefile.am | 3 +-- 5567 autogen.sh | 1 + 5568 build-aux/ci_build.sh | 3 ++- 5569 build-aux/manconv.sh | 3 ++- 5570 build-aux/version.sh | 3 ++- 5571 cmake/remove-ordinals.cmake | 2 ++ 5572 cmake/tuklib_common.cmake | 4 ++++ 5573 cmake/tuklib_cpucores.cmake | 4 ++++ 5574 cmake/tuklib_integer.cmake | 4 ++++ 5575 cmake/tuklib_large_file_support.cmake | 4 ++++ 5576 cmake/tuklib_mbstr.cmake | 4 ++++ 5577 cmake/tuklib_physmem.cmake | 4 ++++ 5578 cmake/tuklib_progname.cmake | 4 ++++ 5579 configure.ac | 4 +++- 5580 debug/Makefile.am | 3 +-- 5581 debug/crc32.c | 2 ++ 5582 debug/full_flush.c | 2 ++ 5583 debug/hex2bin.c | 2 ++ 5584 debug/known_sizes.c | 2 ++ 5585 debug/memusage.c | 2 ++ 5586 debug/repeat.c | 2 ++ 5587 debug/sync_flush.c | 2 ++ 5588 debug/translation.bash | 1 + 5589 doc/examples/01_compress_easy.c | 2 ++ 5590 doc/examples/02_decompress.c | 2 ++ 5591 doc/examples/03_compress_custom.c | 2 ++ 5592 doc/examples/04_compress_easy_mt.c | 2 ++ 5593 doc/examples/11_file_info.c | 2 ++ 5594 doc/examples/Makefile | 3 +-- 5595 dos/Makefile | 2 ++ 5596 dos/config.h | 2 ++ 5597 doxygen/update-doxygen | 3 ++- 5598 extra/7z2lzma/7z2lzma.bash | 3 ++- 5599 m4/tuklib_common.m4 | 8 ++++++-- 5600 m4/tuklib_cpucores.m4 | 8 ++++++-- 5601 m4/tuklib_integer.m4 | 8 ++++++-- 5602 m4/tuklib_mbstr.m4 | 8 ++++++-- 5603 m4/tuklib_physmem.m4 | 8 ++++++-- 5604 m4/tuklib_progname.m4 | 8 ++++++-- 5605 po/POTFILES.in | 2 ++ 5606 po4a/po4a.conf | 2 ++ 5607 po4a/update-po | 3 ++- 5608 src/Makefile.am | 3 +-- 5609 src/common/common_w32res.rc | 2 ++ 5610 src/common/mythread.h | 2 ++ 5611 src/common/sysdefs.h | 2 ++ 5612 src/common/tuklib_common.h | 2 ++ 5613 src/common/tuklib_config.h | 2 ++ 5614 src/common/tuklib_cpucores.c | 2 ++ 5615 src/common/tuklib_cpucores.h | 2 ++ 5616 src/common/tuklib_exit.c | 2 ++ 5617 src/common/tuklib_exit.h | 2 ++ 5618 src/common/tuklib_gettext.h | 2 ++ 5619 src/common/tuklib_integer.h | 2 ++ 5620 src/common/tuklib_mbstr.h | 2 ++ 5621 src/common/tuklib_mbstr_fw.c | 2 ++ 5622 src/common/tuklib_mbstr_width.c | 2 ++ 5623 src/common/tuklib_open_stdxxx.c | 2 ++ 5624 src/common/tuklib_open_stdxxx.h | 2 ++ 5625 src/common/tuklib_physmem.c | 2 ++ 5626 src/common/tuklib_physmem.h | 2 ++ 5627 src/common/tuklib_progname.c | 2 ++ 5628 src/common/tuklib_progname.h | 2 ++ 5629 src/liblzma/Makefile.am | 3 +-- 5630 src/liblzma/api/Makefile.am | 3 +-- 5631 src/liblzma/api/lzma.h | 2 ++ 5632 src/liblzma/api/lzma/base.h | 2 ++ 5633 src/liblzma/api/lzma/bcj.h | 2 ++ 5634 src/liblzma/api/lzma/block.h | 2 ++ 5635 src/liblzma/api/lzma/check.h | 2 ++ 5636 src/liblzma/api/lzma/container.h | 2 ++ 5637 src/liblzma/api/lzma/delta.h | 2 ++ 5638 src/liblzma/api/lzma/filter.h | 2 ++ 5639 src/liblzma/api/lzma/hardware.h | 2 ++ 5640 src/liblzma/api/lzma/index.h | 2 ++ 5641 src/liblzma/api/lzma/index_hash.h | 2 ++ 5642 src/liblzma/api/lzma/lzma12.h | 2 ++ 5643 src/liblzma/api/lzma/stream_flags.h | 2 ++ 5644 src/liblzma/api/lzma/version.h | 2 ++ 5645 src/liblzma/api/lzma/vli.h | 2 ++ 5646 src/liblzma/check/Makefile.inc | 4 ++-- 5647 src/liblzma/check/check.c | 2 ++ 5648 src/liblzma/check/check.h | 2 ++ 5649 src/liblzma/check/crc32_arm64.h | 2 ++ 5650 src/liblzma/check/crc32_fast.c | 2 ++ 5651 src/liblzma/check/crc32_small.c | 2 ++ 5652 src/liblzma/check/crc32_table.c | 2 ++ 5653 src/liblzma/check/crc32_tablegen.c | 2 ++ 5654 src/liblzma/check/crc32_x86.S | 2 ++ 5655 src/liblzma/check/crc64_fast.c | 2 ++ 5656 src/liblzma/check/crc64_small.c | 2 ++ 5657 src/liblzma/check/crc64_table.c | 2 ++ 5658 src/liblzma/check/crc64_tablegen.c | 2 ++ 5659 src/liblzma/check/crc64_x86.S | 2 ++ 5660 src/liblzma/check/crc_common.h | 2 ++ 5661 src/liblzma/check/crc_x86_clmul.h | 2 ++ 5662 src/liblzma/check/sha256.c | 2 ++ 5663 src/liblzma/common/Makefile.inc | 3 +-- 5664 src/liblzma/common/alone_decoder.c | 2 ++ 5665 src/liblzma/common/alone_decoder.h | 2 ++ 5666 src/liblzma/common/alone_encoder.c | 2 ++ 5667 src/liblzma/common/auto_decoder.c | 2 ++ 5668 src/liblzma/common/block_buffer_decoder.c | 2 ++ 5669 src/liblzma/common/block_buffer_encoder.c | 2 ++ 5670 src/liblzma/common/block_buffer_encoder.h | 2 ++ 5671 src/liblzma/common/block_decoder.c | 2 ++ 5672 src/liblzma/common/block_decoder.h | 2 ++ 5673 src/liblzma/common/block_encoder.c | 2 ++ 5674 src/liblzma/common/block_encoder.h | 2 ++ 5675 src/liblzma/common/block_header_decoder.c | 2 ++ 5676 src/liblzma/common/block_header_encoder.c | 2 ++ 5677 src/liblzma/common/block_util.c | 2 ++ 5678 src/liblzma/common/common.c | 2 ++ 5679 src/liblzma/common/common.h | 2 ++ 5680 src/liblzma/common/easy_buffer_encoder.c | 2 ++ 5681 src/liblzma/common/easy_decoder_memusage.c | 2 ++ 5682 src/liblzma/common/easy_encoder.c | 2 ++ 5683 src/liblzma/common/easy_encoder_memusage.c | 2 ++ 5684 src/liblzma/common/easy_preset.c | 2 ++ 5685 src/liblzma/common/easy_preset.h | 2 ++ 5686 src/liblzma/common/file_info.c | 2 ++ 5687 src/liblzma/common/filter_buffer_decoder.c | 2 ++ 5688 src/liblzma/common/filter_buffer_encoder.c | 2 ++ 5689 src/liblzma/common/filter_common.c | 2 ++ 5690 src/liblzma/common/filter_common.h | 2 ++ 5691 src/liblzma/common/filter_decoder.c | 2 ++ 5692 src/liblzma/common/filter_decoder.h | 2 ++ 5693 src/liblzma/common/filter_encoder.c | 2 ++ 5694 src/liblzma/common/filter_encoder.h | 2 ++ 5695 src/liblzma/common/filter_flags_decoder.c | 2 ++ 5696 src/liblzma/common/filter_flags_encoder.c | 2 ++ 5697 src/liblzma/common/hardware_cputhreads.c | 2 ++ 5698 src/liblzma/common/hardware_physmem.c | 2 ++ 5699 src/liblzma/common/index.c | 2 ++ 5700 src/liblzma/common/index.h | 2 ++ 5701 src/liblzma/common/index_decoder.c | 2 ++ 5702 src/liblzma/common/index_decoder.h | 2 ++ 5703 src/liblzma/common/index_encoder.c | 2 ++ 5704 src/liblzma/common/index_encoder.h | 2 ++ 5705 src/liblzma/common/index_hash.c | 2 ++ 5706 src/liblzma/common/lzip_decoder.c | 2 ++ 5707 src/liblzma/common/lzip_decoder.h | 2 ++ 5708 src/liblzma/common/memcmplen.h | 2 ++ 5709 src/liblzma/common/microlzma_decoder.c | 2 ++ 5710 src/liblzma/common/microlzma_encoder.c | 2 ++ 5711 src/liblzma/common/outqueue.c | 2 ++ 5712 src/liblzma/common/outqueue.h | 2 ++ 5713 src/liblzma/common/stream_buffer_decoder.c | 2 ++ 5714 src/liblzma/common/stream_buffer_encoder.c | 2 ++ 5715 src/liblzma/common/stream_decoder.c | 2 ++ 5716 src/liblzma/common/stream_decoder.h | 2 ++ 5717 src/liblzma/common/stream_decoder_mt.c | 2 ++ 5718 src/liblzma/common/stream_encoder.c | 2 ++ 5719 src/liblzma/common/stream_encoder_mt.c | 2 ++ 5720 src/liblzma/common/stream_flags_common.c | 2 ++ 5721 src/liblzma/common/stream_flags_common.h | 2 ++ 5722 src/liblzma/common/stream_flags_decoder.c | 2 ++ 5723 src/liblzma/common/stream_flags_encoder.c | 2 ++ 5724 src/liblzma/common/string_conversion.c | 2 ++ 5725 src/liblzma/common/vli_decoder.c | 2 ++ 5726 src/liblzma/common/vli_encoder.c | 2 ++ 5727 src/liblzma/common/vli_size.c | 2 ++ 5728 src/liblzma/delta/Makefile.inc | 3 +-- 5729 src/liblzma/delta/delta_common.c | 2 ++ 5730 src/liblzma/delta/delta_common.h | 2 ++ 5731 src/liblzma/delta/delta_decoder.c | 2 ++ 5732 src/liblzma/delta/delta_decoder.h | 2 ++ 5733 src/liblzma/delta/delta_encoder.c | 2 ++ 5734 src/liblzma/delta/delta_encoder.h | 2 ++ 5735 src/liblzma/delta/delta_private.h | 2 ++ 5736 src/liblzma/liblzma.pc.in | 3 +-- 5737 src/liblzma/liblzma_generic.map | 2 ++ 5738 src/liblzma/liblzma_linux.map | 2 ++ 5739 src/liblzma/liblzma_w32res.rc | 2 ++ 5740 src/liblzma/lz/Makefile.inc | 3 +-- 5741 src/liblzma/lz/lz_decoder.c | 2 ++ 5742 src/liblzma/lz/lz_decoder.h | 2 ++ 5743 src/liblzma/lz/lz_encoder.c | 2 ++ 5744 src/liblzma/lz/lz_encoder.h | 2 ++ 5745 src/liblzma/lz/lz_encoder_hash.h | 2 ++ 5746 src/liblzma/lz/lz_encoder_mf.c | 2 ++ 5747 src/liblzma/lzma/Makefile.inc | 3 +-- 5748 src/liblzma/lzma/fastpos.h | 2 ++ 5749 src/liblzma/lzma/fastpos_tablegen.c | 2 ++ 5750 src/liblzma/lzma/lzma2_decoder.c | 2 ++ 5751 src/liblzma/lzma/lzma2_decoder.h | 2 ++ 5752 src/liblzma/lzma/lzma2_encoder.c | 2 ++ 5753 src/liblzma/lzma/lzma2_encoder.h | 2 ++ 5754 src/liblzma/lzma/lzma_common.h | 2 ++ 5755 src/liblzma/lzma/lzma_decoder.c | 2 ++ 5756 src/liblzma/lzma/lzma_decoder.h | 2 ++ 5757 src/liblzma/lzma/lzma_encoder.c | 2 ++ 5758 src/liblzma/lzma/lzma_encoder.h | 2 ++ 5759 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 ++ 5760 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 ++ 5761 src/liblzma/lzma/lzma_encoder_presets.c | 2 ++ 5762 src/liblzma/lzma/lzma_encoder_private.h | 2 ++ 5763 src/liblzma/rangecoder/Makefile.inc | 3 +-- 5764 src/liblzma/rangecoder/price.h | 2 ++ 5765 src/liblzma/rangecoder/price_tablegen.c | 2 ++ 5766 src/liblzma/rangecoder/range_common.h | 2 ++ 5767 src/liblzma/rangecoder/range_decoder.h | 2 ++ 5768 src/liblzma/rangecoder/range_encoder.h | 2 ++ 5769 src/liblzma/simple/Makefile.inc | 3 +-- 5770 src/liblzma/simple/arm.c | 2 ++ 5771 src/liblzma/simple/arm64.c | 2 ++ 5772 src/liblzma/simple/armthumb.c | 2 ++ 5773 src/liblzma/simple/ia64.c | 2 ++ 5774 src/liblzma/simple/powerpc.c | 2 ++ 5775 src/liblzma/simple/riscv.c | 2 ++ 5776 src/liblzma/simple/simple_coder.c | 2 ++ 5777 src/liblzma/simple/simple_coder.h | 2 ++ 5778 src/liblzma/simple/simple_decoder.c | 2 ++ 5779 src/liblzma/simple/simple_decoder.h | 2 ++ 5780 src/liblzma/simple/simple_encoder.c | 2 ++ 5781 src/liblzma/simple/simple_encoder.h | 2 ++ 5782 src/liblzma/simple/simple_private.h | 2 ++ 5783 src/liblzma/simple/sparc.c | 2 ++ 5784 src/liblzma/simple/x86.c | 2 ++ 5785 src/liblzma/validate_map.sh | 1 + 5786 src/lzmainfo/Makefile.am | 3 +-- 5787 src/lzmainfo/lzmainfo.c | 2 ++ 5788 src/lzmainfo/lzmainfo_w32res.rc | 2 ++ 5789 src/scripts/Makefile.am | 3 +-- 5790 src/xz/Makefile.am | 3 +-- 5791 src/xz/args.c | 2 ++ 5792 src/xz/args.h | 2 ++ 5793 src/xz/coder.c | 2 ++ 5794 src/xz/coder.h | 2 ++ 5795 src/xz/file_io.c | 2 ++ 5796 src/xz/file_io.h | 2 ++ 5797 src/xz/hardware.c | 2 ++ 5798 src/xz/hardware.h | 2 ++ 5799 src/xz/list.c | 2 ++ 5800 src/xz/list.h | 2 ++ 5801 src/xz/main.c | 2 ++ 5802 src/xz/main.h | 2 ++ 5803 src/xz/message.c | 2 ++ 5804 src/xz/message.h | 2 ++ 5805 src/xz/mytime.c | 2 ++ 5806 src/xz/mytime.h | 2 ++ 5807 src/xz/options.c | 2 ++ 5808 src/xz/options.h | 2 ++ 5809 src/xz/private.h | 2 ++ 5810 src/xz/signals.c | 2 ++ 5811 src/xz/signals.h | 2 ++ 5812 src/xz/suffix.c | 2 ++ 5813 src/xz/suffix.h | 2 ++ 5814 src/xz/util.c | 2 ++ 5815 src/xz/util.h | 2 ++ 5816 src/xz/xz_w32res.rc | 2 ++ 5817 src/xzdec/Makefile.am | 3 +-- 5818 src/xzdec/lzmadec_w32res.rc | 2 ++ 5819 src/xzdec/xzdec.c | 2 ++ 5820 src/xzdec/xzdec_w32res.rc | 2 ++ 5821 tests/Makefile.am | 3 +-- 5822 tests/bcj_test.c | 2 ++ 5823 tests/code_coverage.sh | 1 + 5824 tests/create_compress_files.c | 2 ++ 5825 tests/ossfuzz/fuzz_common.h | 2 ++ 5826 tests/ossfuzz/fuzz_decode_alone.c | 2 ++ 5827 tests/ossfuzz/fuzz_decode_stream.c | 2 ++ 5828 tests/ossfuzz/fuzz_encode_stream.c | 2 ++ 5829 tests/test_bcj_exact_size.c | 2 ++ 5830 tests/test_block_header.c | 2 ++ 5831 tests/test_check.c | 2 ++ 5832 tests/test_compress.sh | 1 + 5833 tests/test_compress_generated_abc | 1 + 5834 tests/test_compress_generated_random | 1 + 5835 tests/test_compress_generated_text | 1 + 5836 tests/test_compress_prepared_bcj_sparc | 1 + 5837 tests/test_compress_prepared_bcj_x86 | 1 + 5838 tests/test_files.sh | 1 + 5839 tests/test_filter_flags.c | 2 ++ 5840 tests/test_filter_str.c | 2 ++ 5841 tests/test_hardware.c | 2 ++ 5842 tests/test_index.c | 2 ++ 5843 tests/test_index_hash.c | 2 ++ 5844 tests/test_lzip_decoder.c | 2 ++ 5845 tests/test_memlimit.c | 2 ++ 5846 tests/test_scripts.sh | 1 + 5847 tests/test_stream_flags.c | 2 ++ 5848 tests/test_suffix.sh | 1 + 5849 tests/test_vli.c | 2 ++ 5850 tests/tests.h | 2 ++ 5851 tests/tuktest.h | 2 ++ 5852 windows/build.bash | 3 ++- 5853 290 files changed, 588 insertions(+), 58 deletions(-) 5854 5855commit 23de53421ea258cde6a3c33a038b1e9d08f771d1 5856Author: Lasse Collin <lasse.collin@tukaani.org> 5857Date: 2024-02-12 23:25:54 +0200 5858 5859 liblzma: Sync the AUTHORS fix about SHA-256 to lzma.h. 5860 5861 src/liblzma/api/lzma.h | 10 ++++------ 5862 1 file changed, 4 insertions(+), 6 deletions(-) 5863 5864commit 689e0228baeb95232430e90d628379db89583d71 5865Author: Lasse Collin <lasse.collin@tukaani.org> 5866Date: 2024-02-12 17:09:10 +0200 5867 5868 Change most public domain parts to 0BSD. 5869 5870 Translations and doc/xz-file-format.txt and doc/lzma-file-format.txt 5871 were not touched. 5872 5873 COPYING.0BSD was added. 5874 5875 .github/workflows/ci.yml | 3 - 5876 .github/workflows/windows-ci.yml | 3 - 5877 CMakeLists.txt | 3 - 5878 COPYING | 112 ++++++++++++++----------- 5879 COPYING.0BSD | 11 +++ 5880 Makefile.am | 3 - 5881 PACKAGERS | 11 +-- 5882 autogen.sh | 3 - 5883 build-aux/ci_build.sh | 3 - 5884 build-aux/manconv.sh | 3 - 5885 build-aux/version.sh | 3 - 5886 cmake/remove-ordinals.cmake | 3 - 5887 cmake/tuklib_common.cmake | 3 - 5888 cmake/tuklib_cpucores.cmake | 3 - 5889 cmake/tuklib_integer.cmake | 3 - 5890 cmake/tuklib_large_file_support.cmake | 3 - 5891 cmake/tuklib_mbstr.cmake | 3 - 5892 cmake/tuklib_physmem.cmake | 3 - 5893 cmake/tuklib_progname.cmake | 3 - 5894 configure.ac | 3 - 5895 debug/Makefile.am | 3 - 5896 debug/crc32.c | 3 - 5897 debug/full_flush.c | 3 - 5898 debug/hex2bin.c | 3 - 5899 debug/known_sizes.c | 3 - 5900 debug/memusage.c | 3 - 5901 debug/repeat.c | 3 - 5902 debug/sync_flush.c | 3 - 5903 debug/translation.bash | 3 - 5904 doc/examples/01_compress_easy.c | 3 - 5905 doc/examples/02_decompress.c | 3 - 5906 doc/examples/03_compress_custom.c | 3 - 5907 doc/examples/04_compress_easy_mt.c | 3 - 5908 doc/examples/11_file_info.c | 3 - 5909 doc/examples/Makefile | 3 - 5910 dos/Makefile | 3 - 5911 doxygen/update-doxygen | 3 - 5912 extra/7z2lzma/7z2lzma.bash | 3 - 5913 m4/tuklib_common.m4 | 3 - 5914 m4/tuklib_cpucores.m4 | 3 - 5915 m4/tuklib_integer.m4 | 3 - 5916 m4/tuklib_mbstr.m4 | 3 - 5917 m4/tuklib_physmem.m4 | 3 - 5918 m4/tuklib_progname.m4 | 3 - 5919 po4a/update-po | 3 - 5920 src/Makefile.am | 3 - 5921 src/common/common_w32res.rc | 3 - 5922 src/common/mythread.h | 3 - 5923 src/common/sysdefs.h | 3 - 5924 src/common/tuklib_common.h | 3 - 5925 src/common/tuklib_cpucores.c | 3 - 5926 src/common/tuklib_cpucores.h | 3 - 5927 src/common/tuklib_exit.c | 3 - 5928 src/common/tuklib_exit.h | 3 - 5929 src/common/tuklib_gettext.h | 3 - 5930 src/common/tuklib_integer.h | 3 - 5931 src/common/tuklib_mbstr.h | 3 - 5932 src/common/tuklib_mbstr_fw.c | 3 - 5933 src/common/tuklib_mbstr_width.c | 3 - 5934 src/common/tuklib_open_stdxxx.c | 3 - 5935 src/common/tuklib_open_stdxxx.h | 3 - 5936 src/common/tuklib_physmem.c | 3 - 5937 src/common/tuklib_physmem.h | 3 - 5938 src/common/tuklib_progname.c | 3 - 5939 src/common/tuklib_progname.h | 3 - 5940 src/liblzma/Makefile.am | 3 - 5941 src/liblzma/api/Makefile.am | 3 - 5942 src/liblzma/api/lzma.h | 13 ++- 5943 src/liblzma/api/lzma/base.h | 3 - 5944 src/liblzma/api/lzma/bcj.h | 3 - 5945 src/liblzma/api/lzma/block.h | 3 - 5946 src/liblzma/api/lzma/check.h | 3 - 5947 src/liblzma/api/lzma/container.h | 3 - 5948 src/liblzma/api/lzma/delta.h | 3 - 5949 src/liblzma/api/lzma/filter.h | 3 - 5950 src/liblzma/api/lzma/hardware.h | 3 - 5951 src/liblzma/api/lzma/index.h | 3 - 5952 src/liblzma/api/lzma/index_hash.h | 3 - 5953 src/liblzma/api/lzma/lzma12.h | 3 - 5954 src/liblzma/api/lzma/stream_flags.h | 3 - 5955 src/liblzma/api/lzma/version.h | 3 - 5956 src/liblzma/api/lzma/vli.h | 3 - 5957 src/liblzma/check/Makefile.inc | 3 - 5958 src/liblzma/check/check.c | 3 - 5959 src/liblzma/check/check.h | 3 - 5960 src/liblzma/check/crc32_arm64.h | 3 - 5961 src/liblzma/check/crc32_fast.c | 3 - 5962 src/liblzma/check/crc32_small.c | 3 - 5963 src/liblzma/check/crc32_table.c | 3 - 5964 src/liblzma/check/crc32_tablegen.c | 3 - 5965 src/liblzma/check/crc32_x86.S | 3 - 5966 src/liblzma/check/crc64_fast.c | 3 - 5967 src/liblzma/check/crc64_small.c | 3 - 5968 src/liblzma/check/crc64_table.c | 3 - 5969 src/liblzma/check/crc64_tablegen.c | 3 - 5970 src/liblzma/check/crc64_x86.S | 3 - 5971 src/liblzma/check/crc_common.h | 3 - 5972 src/liblzma/check/crc_x86_clmul.h | 3 - 5973 src/liblzma/check/sha256.c | 3 - 5974 src/liblzma/common/Makefile.inc | 3 - 5975 src/liblzma/common/alone_decoder.c | 3 - 5976 src/liblzma/common/alone_decoder.h | 3 - 5977 src/liblzma/common/alone_encoder.c | 3 - 5978 src/liblzma/common/auto_decoder.c | 3 - 5979 src/liblzma/common/block_buffer_decoder.c | 3 - 5980 src/liblzma/common/block_buffer_encoder.c | 3 - 5981 src/liblzma/common/block_buffer_encoder.h | 3 - 5982 src/liblzma/common/block_decoder.c | 3 - 5983 src/liblzma/common/block_decoder.h | 3 - 5984 src/liblzma/common/block_encoder.c | 3 - 5985 src/liblzma/common/block_encoder.h | 3 - 5986 src/liblzma/common/block_header_decoder.c | 3 - 5987 src/liblzma/common/block_header_encoder.c | 3 - 5988 src/liblzma/common/block_util.c | 3 - 5989 src/liblzma/common/common.c | 3 - 5990 src/liblzma/common/common.h | 3 - 5991 src/liblzma/common/easy_buffer_encoder.c | 3 - 5992 src/liblzma/common/easy_decoder_memusage.c | 3 - 5993 src/liblzma/common/easy_encoder.c | 3 - 5994 src/liblzma/common/easy_encoder_memusage.c | 3 - 5995 src/liblzma/common/easy_preset.c | 3 - 5996 src/liblzma/common/easy_preset.h | 3 - 5997 src/liblzma/common/file_info.c | 3 - 5998 src/liblzma/common/filter_buffer_decoder.c | 3 - 5999 src/liblzma/common/filter_buffer_encoder.c | 3 - 6000 src/liblzma/common/filter_common.c | 3 - 6001 src/liblzma/common/filter_common.h | 3 - 6002 src/liblzma/common/filter_decoder.c | 3 - 6003 src/liblzma/common/filter_decoder.h | 3 - 6004 src/liblzma/common/filter_encoder.c | 3 - 6005 src/liblzma/common/filter_encoder.h | 3 - 6006 src/liblzma/common/filter_flags_decoder.c | 3 - 6007 src/liblzma/common/filter_flags_encoder.c | 3 - 6008 src/liblzma/common/hardware_cputhreads.c | 3 - 6009 src/liblzma/common/hardware_physmem.c | 3 - 6010 src/liblzma/common/index.c | 3 - 6011 src/liblzma/common/index.h | 3 - 6012 src/liblzma/common/index_decoder.c | 3 - 6013 src/liblzma/common/index_decoder.h | 3 - 6014 src/liblzma/common/index_encoder.c | 3 - 6015 src/liblzma/common/index_encoder.h | 3 - 6016 src/liblzma/common/index_hash.c | 3 - 6017 src/liblzma/common/lzip_decoder.c | 3 - 6018 src/liblzma/common/lzip_decoder.h | 3 - 6019 src/liblzma/common/memcmplen.h | 3 - 6020 src/liblzma/common/microlzma_decoder.c | 3 - 6021 src/liblzma/common/microlzma_encoder.c | 3 - 6022 src/liblzma/common/outqueue.c | 3 - 6023 src/liblzma/common/outqueue.h | 3 - 6024 src/liblzma/common/stream_buffer_decoder.c | 3 - 6025 src/liblzma/common/stream_buffer_encoder.c | 3 - 6026 src/liblzma/common/stream_decoder.c | 3 - 6027 src/liblzma/common/stream_decoder.h | 3 - 6028 src/liblzma/common/stream_decoder_mt.c | 3 - 6029 src/liblzma/common/stream_encoder.c | 3 - 6030 src/liblzma/common/stream_encoder_mt.c | 3 - 6031 src/liblzma/common/stream_flags_common.c | 3 - 6032 src/liblzma/common/stream_flags_common.h | 3 - 6033 src/liblzma/common/stream_flags_decoder.c | 3 - 6034 src/liblzma/common/stream_flags_encoder.c | 3 - 6035 src/liblzma/common/string_conversion.c | 3 - 6036 src/liblzma/common/vli_decoder.c | 3 - 6037 src/liblzma/common/vli_encoder.c | 3 - 6038 src/liblzma/common/vli_size.c | 3 - 6039 src/liblzma/delta/Makefile.inc | 3 - 6040 src/liblzma/delta/delta_common.c | 3 - 6041 src/liblzma/delta/delta_common.h | 3 - 6042 src/liblzma/delta/delta_decoder.c | 3 - 6043 src/liblzma/delta/delta_decoder.h | 3 - 6044 src/liblzma/delta/delta_encoder.c | 3 - 6045 src/liblzma/delta/delta_encoder.h | 3 - 6046 src/liblzma/delta/delta_private.h | 3 - 6047 src/liblzma/liblzma.pc.in | 3 - 6048 src/liblzma/liblzma_w32res.rc | 3 - 6049 src/liblzma/lz/Makefile.inc | 3 - 6050 src/liblzma/lz/lz_decoder.c | 3 - 6051 src/liblzma/lz/lz_decoder.h | 3 - 6052 src/liblzma/lz/lz_encoder.c | 3 - 6053 src/liblzma/lz/lz_encoder.h | 3 - 6054 src/liblzma/lz/lz_encoder_hash.h | 3 - 6055 src/liblzma/lz/lz_encoder_mf.c | 3 - 6056 src/liblzma/lzma/Makefile.inc | 3 - 6057 src/liblzma/lzma/fastpos.h | 3 - 6058 src/liblzma/lzma/fastpos_tablegen.c | 3 - 6059 src/liblzma/lzma/lzma2_decoder.c | 3 - 6060 src/liblzma/lzma/lzma2_decoder.h | 3 - 6061 src/liblzma/lzma/lzma2_encoder.c | 3 - 6062 src/liblzma/lzma/lzma2_encoder.h | 3 - 6063 src/liblzma/lzma/lzma_common.h | 3 - 6064 src/liblzma/lzma/lzma_decoder.c | 3 - 6065 src/liblzma/lzma/lzma_decoder.h | 3 - 6066 src/liblzma/lzma/lzma_encoder.c | 3 - 6067 src/liblzma/lzma/lzma_encoder.h | 3 - 6068 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 - 6069 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 3 - 6070 src/liblzma/lzma/lzma_encoder_presets.c | 3 - 6071 src/liblzma/lzma/lzma_encoder_private.h | 3 - 6072 src/liblzma/rangecoder/Makefile.inc | 3 - 6073 src/liblzma/rangecoder/price.h | 3 - 6074 src/liblzma/rangecoder/price_tablegen.c | 3 - 6075 src/liblzma/rangecoder/range_common.h | 3 - 6076 src/liblzma/rangecoder/range_decoder.h | 3 - 6077 src/liblzma/rangecoder/range_encoder.h | 3 - 6078 src/liblzma/simple/Makefile.inc | 3 - 6079 src/liblzma/simple/arm.c | 3 - 6080 src/liblzma/simple/arm64.c | 3 - 6081 src/liblzma/simple/armthumb.c | 3 - 6082 src/liblzma/simple/ia64.c | 3 - 6083 src/liblzma/simple/powerpc.c | 3 - 6084 src/liblzma/simple/riscv.c | 3 - 6085 src/liblzma/simple/simple_coder.c | 3 - 6086 src/liblzma/simple/simple_coder.h | 3 - 6087 src/liblzma/simple/simple_decoder.c | 3 - 6088 src/liblzma/simple/simple_decoder.h | 3 - 6089 src/liblzma/simple/simple_encoder.c | 3 - 6090 src/liblzma/simple/simple_encoder.h | 3 - 6091 src/liblzma/simple/simple_private.h | 3 - 6092 src/liblzma/simple/sparc.c | 3 - 6093 src/liblzma/simple/x86.c | 3 - 6094 src/liblzma/validate_map.sh | 3 - 6095 src/lzmainfo/Makefile.am | 3 - 6096 src/lzmainfo/lzmainfo.1 | 4 +- 6097 src/lzmainfo/lzmainfo.c | 3 - 6098 src/lzmainfo/lzmainfo_w32res.rc | 3 - 6099 src/scripts/Makefile.am | 3 - 6100 src/scripts/xzless.1 | 4 +- 6101 src/xz/Makefile.am | 3 - 6102 src/xz/args.c | 3 - 6103 src/xz/args.h | 3 - 6104 src/xz/coder.c | 3 - 6105 src/xz/coder.h | 3 - 6106 src/xz/file_io.c | 3 - 6107 src/xz/file_io.h | 3 - 6108 src/xz/hardware.c | 3 - 6109 src/xz/hardware.h | 3 - 6110 src/xz/list.c | 3 - 6111 src/xz/list.h | 3 - 6112 src/xz/main.c | 3 - 6113 src/xz/main.h | 3 - 6114 src/xz/message.c | 3 - 6115 src/xz/message.h | 3 - 6116 src/xz/mytime.c | 3 - 6117 src/xz/mytime.h | 3 - 6118 src/xz/options.c | 3 - 6119 src/xz/options.h | 3 - 6120 src/xz/private.h | 3 - 6121 src/xz/signals.c | 3 - 6122 src/xz/signals.h | 3 - 6123 src/xz/suffix.c | 3 - 6124 src/xz/suffix.h | 3 - 6125 src/xz/util.c | 3 - 6126 src/xz/util.h | 3 - 6127 src/xz/xz.1 | 4 +- 6128 src/xz/xz_w32res.rc | 3 - 6129 src/xzdec/Makefile.am | 3 - 6130 src/xzdec/lzmadec_w32res.rc | 3 - 6131 src/xzdec/xzdec.1 | 4 +- 6132 src/xzdec/xzdec.c | 3 - 6133 src/xzdec/xzdec_w32res.rc | 3 - 6134 tests/Makefile.am | 3 - 6135 tests/bcj_test.c | 3 - 6136 tests/code_coverage.sh | 3 - 6137 tests/create_compress_files.c | 3 - 6138 tests/files/README | 3 +- 6139 tests/ossfuzz/fuzz_common.h | 3 - 6140 tests/ossfuzz/fuzz_decode_alone.c | 3 - 6141 tests/ossfuzz/fuzz_decode_stream.c | 3 - 6142 tests/ossfuzz/fuzz_encode_stream.c | 3 - 6143 tests/test_bcj_exact_size.c | 3 - 6144 tests/test_block_header.c | 3 - 6145 tests/test_check.c | 3 - 6146 tests/test_compress.sh | 3 - 6147 tests/test_files.sh | 3 - 6148 tests/test_filter_flags.c | 3 - 6149 tests/test_filter_str.c | 3 - 6150 tests/test_hardware.c | 3 - 6151 tests/test_index.c | 3 - 6152 tests/test_index_hash.c | 3 - 6153 tests/test_lzip_decoder.c | 3 - 6154 tests/test_memlimit.c | 3 - 6155 tests/test_scripts.sh | 3 - 6156 tests/test_stream_flags.c | 3 - 6157 tests/test_suffix.sh | 3 - 6158 tests/test_vli.c | 3 - 6159 tests/tests.h | 3 - 6160 tests/tuktest.h | 3 - 6161 windows/README-Windows.txt | 11 +-- 6162 windows/build.bash | 3 - 6163 288 files changed, 100 insertions(+), 911 deletions(-) 6164 6165commit 76946dc4336c831fe2cc26696a035d807dd3cf13 6166Author: Lasse Collin <lasse.collin@tukaani.org> 6167Date: 2024-02-09 17:20:31 +0200 6168 6169 Fix SHA-256 authors. 6170 6171 The initial commit 5d018dc03549c1ee4958364712fb0c94e1bf2741 6172 in 2007 had a comment in sha256.c that the code is based on 6173 Crypto++ Library 5.5.1. In 2009 the Authors list in sha256.c 6174 and the AUTHORS file was updated with information that the 6175 code had come from Crypto++ but via 7-Zip. I know I had viewed 6176 7-Zip's SHA-256 code but back then the C code has been identical 6177 enough with Crypto++, so I don't why I thought the author info 6178 would need that extra step via 7-Zip for this single file. 6179 6180 Another error is that I had mixed sha.* and shacal2.* files 6181 when checking for author info in Crypto++. The shacal2.* files 6182 aren't related to liblzma's sha256.c and thus Kevin Springle's 6183 code in Crypto++ isn't either. 6184 6185 AUTHORS | 6 ++---- 6186 src/liblzma/check/sha256.c | 14 ++++---------- 6187 2 files changed, 6 insertions(+), 14 deletions(-) 6188 6189commit 21d9cbae9eecca28ce373d3d9464defd2cf5d851 6190Author: Lasse Collin <lasse.collin@tukaani.org> 6191Date: 2024-02-09 17:20:31 +0200 6192 6193 Remove macosx/build.sh. 6194 6195 It was last updated in 2013. 6196 6197 Makefile.am | 1 - 6198 macosx/build.sh | 113 -------------------------------------------------------- 6199 2 files changed, 114 deletions(-) 6200 6201commit eac2c3c67f9113a225fb6667df862edd30366931 6202Author: Lasse Collin <lasse.collin@tukaani.org> 6203Date: 2024-02-09 17:20:31 +0200 6204 6205 Doc: Remove doc/examples_old. 6206 6207 It was good to keep these around in parallel with the newer examples 6208 but I think it's OK to remove the old ones at this point. 6209 6210 Makefile.am | 5 -- 6211 doc/examples_old/xz_pipe_comp.c | 127 -------------------------------------- 6212 doc/examples_old/xz_pipe_decomp.c | 123 ------------------------------------ 6213 3 files changed, 255 deletions(-) 6214 6215commit 89ea1a22f4ed3685b053b7260bc5acf6c75d1664 6216Author: Jia Tan <jiat0218@gmail.com> 6217Date: 2024-02-13 22:38:58 +0800 6218 6219 Tests: Add RISC-V filter support in a few places. 6220 6221 tests/test_filter_flags.c | 6 ++++++ 6222 tests/test_filter_str.c | 6 ++++++ 6223 2 files changed, 12 insertions(+) 6224 6225commit 45663443eb2b377e6171529380fee312f1adcdf4 6226Author: Jia Tan <jiat0218@gmail.com> 6227Date: 2024-02-13 22:37:07 +0800 6228 6229 liblzma: Fix build error if only RISC-V BCJ filter is enabled. 6230 6231 If any other BCJ filter was enabled for encoding or decoding, then this 6232 was not a problem. 6233 6234 src/liblzma/common/string_conversion.c | 4 +++- 6235 1 file changed, 3 insertions(+), 1 deletion(-) 6236 6237commit 2f15597d677bc35743c777d4cf3bfa698b478681 6238Author: Jia Tan <jiat0218@gmail.com> 6239Date: 2024-02-13 22:56:24 +0800 6240 6241 Translations: Update the Korean translation. 6242 6243 po/ko.po | 526 ++++++++++++++++++++++++++++++++++----------------------------- 6244 1 file changed, 284 insertions(+), 242 deletions(-) 6245 6246commit df873143ad1615c6d6aaa1bf8808b1676091dfe3 6247Author: Jia Tan <jiat0218@gmail.com> 6248Date: 2024-02-13 01:55:53 +0800 6249 6250 Translations: Update the Korean man page translations. 6251 6252 po4a/ko.po | 1375 ++++++++++++++++++++++++++++++++++-------------------------- 6253 1 file changed, 770 insertions(+), 605 deletions(-) 6254 6255commit b3f415eddb150341865a1af47959c3baba076b33 6256Author: Jia Tan <jiat0218@gmail.com> 6257Date: 2024-02-13 01:53:33 +0800 6258 6259 Translations: Update the Chinese (simplified) translation. 6260 6261 po/zh_CN.po | 424 ++++++++++++++++++++++++++++++++++++++---------------------- 6262 1 file changed, 268 insertions(+), 156 deletions(-) 6263 6264commit 9860d418d296eb3c721e5384fb367c0499b579c8 6265Author: Lasse Collin <lasse.collin@tukaani.org> 6266Date: 2024-02-09 23:21:01 +0200 6267 6268 xzless: Use ||- in LESSOPEN with with "less" 451 and newer. 6269 6270 src/scripts/xzless.in | 9 ++++++++- 6271 1 file changed, 8 insertions(+), 1 deletion(-) 6272 6273commit fd0692b0525e6c26b496492be9e2c865cab734f8 6274Author: Lasse Collin <lasse.collin@tukaani.org> 6275Date: 2024-02-09 23:00:05 +0200 6276 6277 xzless: Use --show-preproc-errors with "less" 632 and newer. 6278 6279 This makes "less" show a warning if a decompression error occurred. 6280 6281 src/scripts/xzless.in | 11 +++++++++-- 6282 1 file changed, 9 insertions(+), 2 deletions(-) 6283 6284commit adb073da76a920b5a81e6b32254f4ddb054dc57a 6285Author: Jia Tan <jiat0218@gmail.com> 6286Date: 2024-02-09 23:59:54 +0800 6287 6288 liblzma: Fix typo discovered by codespell. 6289 6290 src/liblzma/check/crc32_arm64.h | 2 +- 6291 1 file changed, 1 insertion(+), 1 deletion(-) 6292 6293commit 55d9fc883d221cbace951a370f1fb144698f8c2e 6294Author: Jia Tan <jiat0218@gmail.com> 6295Date: 2024-02-09 20:01:06 +0800 6296 6297 Translations: Update the Swedish translation. 6298 6299 po/sv.po | 420 ++++++++++++++++++++++++++++++++++++++------------------------- 6300 1 file changed, 254 insertions(+), 166 deletions(-) 6301 6302commit 55ba4a1ea321499c805eedfa811ffde690bae311 6303Author: Jia Tan <jiat0218@gmail.com> 6304Date: 2024-02-08 20:09:04 +0800 6305 6306 Translations: Update the Spanish translation. 6307 6308 po/es.po | 22 +++++++++++----------- 6309 1 file changed, 11 insertions(+), 11 deletions(-) 6310 6311commit 7f2293cd804a89d3c3b2d3ed573560ca9e1520ae 6312Author: Jia Tan <jiat0218@gmail.com> 6313Date: 2024-02-07 21:34:35 +0800 6314 6315 Translations: Update the Spanish translation. 6316 6317 po/es.po | 419 ++++++++++++++++++++++++++++++++++++++------------------------- 6318 1 file changed, 253 insertions(+), 166 deletions(-) 6319 6320commit f4af2036bc625739d6d33d9e1fede583a25c3828 6321Author: Jia Tan <jiat0218@gmail.com> 6322Date: 2024-02-07 21:28:32 +0800 6323 6324 Translations: Update the Polish translation. 6325 6326 po/pl.po | 411 ++++++++++++++++++++++++++++++++++++++------------------------- 6327 1 file changed, 249 insertions(+), 162 deletions(-) 6328 6329commit e5e93bb816043c559cddf03a3b7ba13bec353ee4 6330Author: Jia Tan <jiat0218@gmail.com> 6331Date: 2024-02-07 19:40:12 +0800 6332 6333 Translations: Update the German translation. 6334 6335 po/de.po | 396 ++++++++++++++++++++++++++++++++++++++------------------------- 6336 1 file changed, 242 insertions(+), 154 deletions(-) 6337 6338commit 28f18ff8e26902762fb007c13be235b4ac1ac071 6339Author: Jia Tan <jiat0218@gmail.com> 6340Date: 2024-02-07 19:27:25 +0800 6341 6342 Translations: Update the German man page translations. 6343 6344 po4a/de.po | 1353 +++++++++++++++++++++++++++++++++--------------------------- 6345 1 file changed, 752 insertions(+), 601 deletions(-) 6346 6347commit cabfbc7947da05aa5dfe39bec9759e076f940e3c 6348Author: Jia Tan <jiat0218@gmail.com> 6349Date: 2024-02-06 23:44:06 +0800 6350 6351 Translations: Update the Romanian translation. 6352 6353 po/ro.po | 416 ++++++++++++++++++++++++++++++++++++++------------------------- 6354 1 file changed, 252 insertions(+), 164 deletions(-) 6355 6356commit bf20c94f5d748cea2147779f4fa7e2fd2eb8555e 6357Author: Jia Tan <jiat0218@gmail.com> 6358Date: 2024-02-06 23:45:02 +0800 6359 6360 Translations: Update the Romanian man page translations. 6361 6362 po4a/ro.po | 1759 +++++++++++++++++++++++++++++++++--------------------------- 6363 1 file changed, 966 insertions(+), 793 deletions(-) 6364 6365commit 7c25ec9feb0241e4affb7432681cc4f5696f3a96 6366Author: Jia Tan <jiat0218@gmail.com> 6367Date: 2024-02-07 20:56:57 +0800 6368 6369 Translations: Update the Ukrainian translation. 6370 6371 po/uk.po | 397 ++++++++++++++++++++++++++++++++++++++------------------------- 6372 1 file changed, 242 insertions(+), 155 deletions(-) 6373 6374commit b3523250e9eef10b017473754c1e1c9e31f10374 6375Author: Jia Tan <jiat0218@gmail.com> 6376Date: 2024-02-06 23:30:03 +0800 6377 6378 Translations: Update the Ukrainian man page translations. 6379 6380 po4a/uk.po | 1363 ++++++++++++++++++++++++++++++++++-------------------------- 6381 1 file changed, 764 insertions(+), 599 deletions(-) 6382 6383commit a5c177f514f4c90e0d2f6045636fca6c2e80a20d 6384Author: Jia Tan <jiat0218@gmail.com> 6385Date: 2024-02-02 01:39:28 +0800 6386 6387 Update AUTHORS. 6388 6389 AUTHORS | 3 ++- 6390 1 file changed, 2 insertions(+), 1 deletion(-) 6391 6392commit 7f68a68c19d0ae57bd0e802be0ea8f974e41299f 6393Author: Jia Tan <jiat0218@gmail.com> 6394Date: 2024-02-02 01:38:51 +0800 6395 6396 liblzma: Update Authors list in crc32_arm64.h. 6397 6398 src/liblzma/check/crc32_arm64.h | 1 + 6399 1 file changed, 1 insertion(+) 6400 6401commit 97f9ba50b84e67b3dcb5b17dd5d3e1d14f9ad1d0 6402Author: Jia Tan <jiat0218@gmail.com> 6403Date: 2024-02-01 16:07:03 +0800 6404 6405 liblzma: Check HAVE_USABLE_CLMUL before omitting CRC32 table. 6406 6407 This was split from the prior commit so it could be easily applied to 6408 the 5.4 branch. 6409 6410 Closes: https://github.com/tukaani-project/xz/pull/77 6411 6412 src/liblzma/check/crc32_table.c | 4 ++-- 6413 1 file changed, 2 insertions(+), 2 deletions(-) 6414 6415commit ca9015f4dead2c97b48f5a6933631b0a448b65b9 6416Author: Jia Tan <jiat0218@gmail.com> 6417Date: 2024-02-01 16:06:29 +0800 6418 6419 liblzma: Check HAVE_USABLE_CLMUL before omitting CRC64 table. 6420 6421 If liblzma is configured with --disable-clmul-crc 6422 CFLAGS="-msse4.1 -mpclmul", then it will fail to compile because the 6423 generic version must be used but the CRC tables were not included. 6424 6425 src/liblzma/check/crc64_table.c | 4 ++-- 6426 1 file changed, 2 insertions(+), 2 deletions(-) 6427 6428commit 2f1552a91c825e87013925e1a67a0930e7aef592 6429Author: Jia Tan <jiat0218@gmail.com> 6430Date: 2024-01-23 18:02:13 +0800 6431 6432 liblzma: Only use ifunc in crcXX_fast.c if its needed. 6433 6434 The code was using HAVE_FUNC_ATTRIBUTE_IFUNC instead of CRC_USE_IFUNC. 6435 With ARM64, ifunc is incompatible because it requires non-inline 6436 function calls for runtime detection. 6437 6438 src/liblzma/check/crc32_fast.c | 6 +++--- 6439 src/liblzma/check/crc64_fast.c | 6 +++--- 6440 2 files changed, 6 insertions(+), 6 deletions(-) 6441 6442commit 30a25f3742287697bc57a1bef86c19ecf5129322 6443Author: Jia Tan <jiat0218@gmail.com> 6444Date: 2024-01-22 22:08:45 +0800 6445 6446 Docs: Add --disable-arm64-crc32 description to INSTALL. 6447 6448 INSTALL | 12 +++++++++++- 6449 1 file changed, 11 insertions(+), 1 deletion(-) 6450 6451commit 1940f0ec28f08c0ac72c1413d9706fb82eabe6ad 6452Author: Jia Tan <jiat0218@gmail.com> 6453Date: 2024-01-22 21:36:09 +0800 6454 6455 liblzma: Omit CRC tables when not needed with ARM64 optimizations. 6456 6457 This is similar to the existing x86-64 CLMUL conditions to omit the 6458 tables. They were slightly refactored to improve readability. 6459 6460 src/liblzma/check/crc32_table.c | 18 +++++++++++++++--- 6461 src/liblzma/check/crc64_table.c | 7 ++++++- 6462 src/liblzma/check/crc_common.h | 5 ++++- 6463 3 files changed, 25 insertions(+), 5 deletions(-) 6464 6465commit 761f5b69a4c778c8bcb09279b845b07c28790575 6466Author: Jia Tan <jiat0218@gmail.com> 6467Date: 2024-01-22 20:54:56 +0800 6468 6469 liblzma: Rename crc32_aarch64.h to crc32_arm64.h. 6470 6471 Even though the proper name for the architecture is aarch64, this 6472 project uses ARM64 throughout. So the rename is for consistency. 6473 6474 Additionally, crc32_arm64.h was slightly refactored for the following 6475 changes: 6476 6477 * Added MSVC, FreeBSD, and macOS support in 6478 is_arch_extension_supported(). 6479 6480 * crc32_arch_optimized() now checks the size when aligning the 6481 buffer. 6482 6483 * crc32_arch_optimized() loop conditions were slightly modified to 6484 avoid both decrementing the size and incrementing the buffer 6485 pointer. 6486 6487 * Use the intrinsic wrappers defined in <arm_acle.h> because GCC and 6488 Clang name them differently. 6489 6490 * Minor spacing and comment changes. 6491 6492 CMakeLists.txt | 2 +- 6493 src/liblzma/check/Makefile.inc | 2 +- 6494 src/liblzma/check/crc32_aarch64.h | 109 ---------------------------------- 6495 src/liblzma/check/crc32_arm64.h | 119 ++++++++++++++++++++++++++++++++++++++ 6496 src/liblzma/check/crc32_fast.c | 3 +- 6497 src/liblzma/check/crc64_fast.c | 3 - 6498 6 files changed, 122 insertions(+), 116 deletions(-) 6499 6500commit 455a08609caa3223066a717fb01bfa42c5dba47d 6501Author: Jia Tan <jiat0218@gmail.com> 6502Date: 2024-01-22 20:49:30 +0800 6503 6504 liblzma: Refactor crc_common.h. 6505 6506 The CRC_GENERIC is now split into CRC32_GENERIC and CRC64_GENERIC, since 6507 the ARM64 optimizations will be different between CRC32 and CRC64. 6508 6509 For the same reason, CRC_ARCH_OPTIMIZED is split into 6510 CRC32_ARCH_OPTIMIZED and CRC64_ARCH_OPTIMIZED. 6511 6512 ifunc will only be used with x86-64 CLMUL because the runtime detection 6513 methods needed with ARM64 are not compatible with ifunc. 6514 6515 src/liblzma/check/crc32_fast.c | 8 +-- 6516 src/liblzma/check/crc64_fast.c | 8 +-- 6517 src/liblzma/check/crc_common.h | 108 ++++++++++++++++++++++++++++------------- 6518 3 files changed, 82 insertions(+), 42 deletions(-) 6519 6520commit 61908e816049af7a9f43ea804a57ee8570e2e644 6521Author: Jia Tan <jiat0218@gmail.com> 6522Date: 2024-01-22 00:42:28 +0800 6523 6524 CMake: Add support for ARM64 CRC32 instruction detection. 6525 6526 CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 6527 1 file changed, 50 insertions(+) 6528 6529commit c5f6d79cc9515a7f22d7ea4860c6cc394b295732 6530Author: Jia Tan <jiat0218@gmail.com> 6531Date: 2024-01-22 00:36:47 +0800 6532 6533 Build: Add support for ARM64 CRC32 instruction detection. 6534 6535 This adds --enable-arm64-crc32/--disable-arm64-crc32 (enabled by 6536 default) for using the ARM64 CRC32 instruction. This can be disabled if 6537 one knows the binary will never need to run on an ARM64 machine 6538 with this instruction extension. 6539 6540 configure.ac | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 6541 1 file changed, 52 insertions(+) 6542 6543commit 849d0f282a6a890c5cf5a0e0f02980b12d9ebb0f 6544Author: Chenxi Mao <chenxi.mao2013@gmail.com> 6545Date: 2024-01-09 17:23:11 +0800 6546 6547 Speed up CRC32 calculation on ARM64 6548 6549 The CRC32 instructions in ARM64 can calculate the CRC32 result 6550 for 8 bytes in a single operation, making the use of ARM64 6551 instructions much faster compared to the general CRC32 algorithm. 6552 6553 Optimized CRC32 will be enabled if ARM64 has CRC extension 6554 running on Linux. 6555 6556 Signed-off-by: Chenxi Mao <chenxi.mao2013@gmail.com> 6557 6558 CMakeLists.txt | 1 + 6559 src/liblzma/check/Makefile.inc | 3 +- 6560 src/liblzma/check/crc32_aarch64.h | 109 ++++++++++++++++++++++++++++++++++++++ 6561 src/liblzma/check/crc32_fast.c | 5 +- 6562 src/liblzma/check/crc64_fast.c | 5 +- 6563 src/liblzma/check/crc_common.h | 16 +++--- 6564 6 files changed, 130 insertions(+), 9 deletions(-) 6565 6566commit b43c3e48bf6097095eef36d44cdbec811074940a 6567Author: Jia Tan <jiat0218@gmail.com> 6568Date: 2024-01-26 19:05:51 +0800 6569 6570 Bump version number for 5.5.1alpha. 6571 6572 src/liblzma/api/lzma/version.h | 2 +- 6573 src/liblzma/liblzma_generic.map | 2 +- 6574 src/liblzma/liblzma_linux.map | 2 +- 6575 3 files changed, 3 insertions(+), 3 deletions(-) 6576 6577commit c7a7ae1500ea90bd3c2d54533e4f433933eb598f 6578Author: Jia Tan <jiat0218@gmail.com> 6579Date: 2024-01-26 19:00:52 +0800 6580 6581 Add NEWS for 5.5.1alpha 6582 6583 NEWS | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6584 1 file changed, 80 insertions(+) 6585 6586commit 0ef8192e8d5af4e6200d5d4aee22d1f177f7a2df 6587Author: Jia Tan <jiat0218@gmail.com> 6588Date: 2024-01-26 18:54:24 +0800 6589 6590 Add NEWS for 5.4.6. 6591 6592 NEWS | 22 ++++++++++++++++++++++ 6593 1 file changed, 22 insertions(+) 6594 6595commit 93de7e751d17731315a899264f2a7239d7d2d316 6596Author: Lasse Collin <lasse.collin@tukaani.org> 6597Date: 2024-01-24 20:00:57 +0200 6598 6599 Move doc/logo/xz-logo.png to "doc" and Doxygen footer to "doxygen". 6600 6601 The footer isn't a complete HTML file so having it in the doxygen 6602 directory is a tiny bit clearer. 6603 6604 Makefile.am | 2 +- 6605 doc/{logo => }/xz-logo.png | Bin 6606 doxygen/Doxyfile | 4 ++-- 6607 doc/logo/copyright.html => doxygen/footer.html | 0 6608 4 files changed, 3 insertions(+), 3 deletions(-) 6609 6610commit 00fa01698df51c58ae2acf8c7fa4e1fb159f75a9 6611Author: Jia Tan <jiat0218@gmail.com> 6612Date: 2024-01-09 17:05:01 +0800 6613 6614 README: Add COPYING.CC-BY-SA-4.0 entry to section 1.1. 6615 6616 The Overall documentation section (1.1) table spacing had to be adjusted 6617 since the filename was very long. 6618 6619 README | 38 ++++++++++++++++++++------------------ 6620 1 file changed, 20 insertions(+), 18 deletions(-) 6621 6622commit e280470040b27c5e58d78b25b9e2bb71fc6c3882 6623Author: Jia Tan <jiat0218@gmail.com> 6624Date: 2024-01-09 16:56:16 +0800 6625 6626 Build: Add the logo and license to the release. 6627 6628 Makefile.am | 2 ++ 6629 1 file changed, 2 insertions(+) 6630 6631commit b1ee6cf259bb49ce91abe9f622294524e37edf4c 6632Author: Jia Tan <jiat0218@gmail.com> 6633Date: 2024-01-09 16:44:42 +0800 6634 6635 COPYING: Add the license for the XZ logo. 6636 6637 COPYING | 5 + 6638 COPYING.CC-BY-SA-4.0 | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6639 2 files changed, 432 insertions(+) 6640 6641commit 31293ae7074802cc7286089a89c7b552d930c97f 6642Author: Jia Tan <jiat0218@gmail.com> 6643Date: 2024-01-09 16:40:56 +0800 6644 6645 Doxygen: Added the XZ logo and copyright information. 6646 6647 The PROJECT_LOGO field is now used to include the XZ logo. The footer 6648 of each page now lists the copyright information instead of the default 6649 footer. The license is also copied to statisfy the copyright and so the 6650 link in the documentation can be local. 6651 6652 doc/logo/copyright.html | 11 +++++++++++ 6653 doc/logo/xz-logo.png | Bin 0 -> 6771 bytes 6654 doxygen/Doxyfile | 6 +++--- 6655 3 files changed, 14 insertions(+), 3 deletions(-) 6656 6657commit 6daa4d0ea46a8441f21f609149f3633158bf4704 6658Author: Lasse Collin <lasse.collin@tukaani.org> 6659Date: 2024-01-23 18:29:28 +0200 6660 6661 xz: Use threaded mode by defaut (as if --threads=0 was used). 6662 6663 This hopefully does more good than bad: 6664 6665 + It's faster by default. 6666 6667 + Only the threaded compressor creates files that 6668 can be decompressed in threaded mode. 6669 6670 - Compression ratio is worse, usually not too much though. 6671 When it matters, -T1 must be used. 6672 6673 - Memory usage increases. 6674 6675 - Scripts that assume single-threaded mode but don't use -T1 will 6676 possibly use too much resources, for example, if they run 6677 multiple xz processes in parallel to compress multiple files. 6678 6679 - Output from single-threaded and multi-threaded compressors 6680 differ but such changes could happen for other reasons too 6681 (they just haven't happened since 5.0.0). 6682 6683 src/xz/hardware.c | 6 +++++- 6684 src/xz/message.c | 4 ++-- 6685 src/xz/xz.1 | 9 +++++++++ 6686 3 files changed, 16 insertions(+), 3 deletions(-) 6687 6688commit a2dd2dc8e5307a7280bb99868bc478560facba2c 6689Author: Jia Tan <jiat0218@gmail.com> 6690Date: 2024-01-23 23:52:49 +0800 6691 6692 CI: Use RISC-V filter when building with BCJ support. 6693 6694 build-aux/ci_build.sh | 4 ++-- 6695 1 file changed, 2 insertions(+), 2 deletions(-) 6696 6697commit 3060e1070b2421b26c0e17794c1307ec5622f11d 6698Author: Jia Tan <jiat0218@gmail.com> 6699Date: 2024-01-23 23:52:14 +0800 6700 6701 Tests: Use smaller dictionary size in RISC-V test files. 6702 6703 tests/files/good-1-riscv-lzma2-1.xz | Bin 7512 -> 7512 bytes 6704 tests/files/good-1-riscv-lzma2-2.xz | Bin 7516 -> 7512 bytes 6705 2 files changed, 0 insertions(+), 0 deletions(-) 6706 6707commit 44ff2fa5c94dc345c4dd69195a19fc5238df60b3 6708Author: Jia Tan <jiat0218@gmail.com> 6709Date: 2024-01-23 23:50:57 +0800 6710 6711 Tests: Skip RISC-V test files if decoder was not built. 6712 6713 tests/test_files.sh | 5 +++++ 6714 1 file changed, 5 insertions(+) 6715 6716commit 6133a3f30049d3beaf7d22535b1e5d38e109be4e 6717Author: Lasse Collin <lasse.collin@tukaani.org> 6718Date: 2024-01-23 16:11:54 +0200 6719 6720 xz: Man page: Add more examples of LZMA2 options with BCJ filters. 6721 6722 src/xz/xz.1 | 38 +++++++++++++++++++++++++++++++------- 6723 1 file changed, 31 insertions(+), 7 deletions(-) 6724 6725commit 50255feeaabcc7e7db22b858a6bd64a9b5b4f16d 6726Author: Lasse Collin <lasse.collin@tukaani.org> 6727Date: 2024-01-23 00:09:48 +0200 6728 6729 liblzma: RISC-V filter: Use byte-by-byte access. 6730 6731 Not all RISC-V processors support fast unaligned access so 6732 it's better to read only one byte in the main loop. This can 6733 be faster even on x86-64 when compared to reading 32 bits at 6734 a time as half the time the address is only 16-bit aligned. 6735 6736 The downside is larger code size on archs that do support 6737 fast unaligned access. 6738 6739 src/liblzma/simple/riscv.c | 114 +++++++++++++++++++++++++++++++++------------ 6740 1 file changed, 84 insertions(+), 30 deletions(-) 6741 6742commit db5eb5f563e8baa8d912ecf576f53391ff861596 6743Author: Jia Tan <jiat0218@gmail.com> 6744Date: 2024-01-22 23:33:39 +0800 6745 6746 xz: Update xz -lvv for RISC-V filter. 6747 6748 Version 5.6.0 will be shown, even though upcoming alphas and betas 6749 will be able to support this filter. 5.6.0 looks nicer in the output and 6750 people shouldn't be encouraged to use an unstable version in production 6751 in any way. 6752 6753 src/xz/list.c | 10 ++++++++++ 6754 1 file changed, 10 insertions(+) 6755 6756commit e2870db5be1503e6a489fc3d47daf950d6f62723 6757Author: Jia Tan <jiat0218@gmail.com> 6758Date: 2024-01-22 23:33:39 +0800 6759 6760 Tests: Add two RISC-V Filter test files. 6761 6762 These test files achieve 100% code coverage in 6763 src/liblzma/simple/riscv.c. They contain all of the instructions that 6764 should be filtered and a few cases that should not. 6765 6766 tests/files/README | 8 ++++++++ 6767 tests/files/good-1-riscv-lzma2-1.xz | Bin 0 -> 7512 bytes 6768 tests/files/good-1-riscv-lzma2-2.xz | Bin 0 -> 7516 bytes 6769 3 files changed, 8 insertions(+) 6770 6771commit b26a89869315ece2f6d9d10d32d45f672550f245 6772Author: Jia Tan <jiat0218@gmail.com> 6773Date: 2024-01-22 23:33:39 +0800 6774 6775 xz: Update message in --long-help for RISC-V Filter. 6776 6777 src/xz/message.c | 1 + 6778 1 file changed, 1 insertion(+) 6779 6780commit 283f778908873eca61388029fc418fa800c9d7d7 6781Author: Jia Tan <jiat0218@gmail.com> 6782Date: 2024-01-22 23:33:39 +0800 6783 6784 xz: Update the man page for the RISC-V Filter. 6785 6786 A special note was added to suggest using four-byte alignment when the 6787 compressed instruction extension is not present in a RISC-V binary. 6788 6789 src/xz/xz.1 | 3 ++- 6790 1 file changed, 2 insertions(+), 1 deletion(-) 6791 6792commit ac3691ccca051d67f60b4a3b05b88e511d0b1b28 6793Author: Jia Tan <jiat0218@gmail.com> 6794Date: 2024-01-22 23:33:39 +0800 6795 6796 Tests: Add RISC-V Filter test in test_compress.sh. 6797 6798 tests/test_compress.sh | 1 + 6799 1 file changed, 1 insertion(+) 6800 6801commit 2959dbc7358efcf421ce51bc9cd7eae8fdd8fec4 6802Author: Jia Tan <jiat0218@gmail.com> 6803Date: 2024-01-22 23:33:39 +0800 6804 6805 liblzma: Update string_conversion.c to support RISC-V Filter. 6806 6807 src/liblzma/common/string_conversion.c | 5 +++++ 6808 1 file changed, 5 insertions(+) 6809 6810commit 34372a5adbe5a7f6bf29498410ba3a463a720966 6811Author: Jia Tan <jiat0218@gmail.com> 6812Date: 2024-01-22 23:33:39 +0800 6813 6814 CMake: Support RISC-V BCJ Filter for encoding and decoding. 6815 6816 CMakeLists.txt | 1 + 6817 1 file changed, 1 insertion(+) 6818 6819commit 440a2eccb082dc13400c09e22308a58fef85146c 6820Author: Jia Tan <jiat0218@gmail.com> 6821Date: 2024-01-22 23:33:39 +0800 6822 6823 liblzma: Add RISC-V BCJ filter. 6824 6825 The new Filter ID is 0x0B. 6826 6827 Thanks to Chien Wong <m@xv97.com> for the initial version of the Filter, 6828 the xz CLI updates, and the Autotools build system modifications. 6829 6830 Thanks to Igor Pavlov for his many contributions to the design of 6831 the filter. 6832 6833 configure.ac | 4 +- 6834 src/liblzma/api/lzma/bcj.h | 5 + 6835 src/liblzma/common/filter_common.c | 9 + 6836 src/liblzma/common/filter_decoder.c | 8 + 6837 src/liblzma/common/filter_encoder.c | 10 + 6838 src/liblzma/simple/Makefile.inc | 4 + 6839 src/liblzma/simple/riscv.c | 688 ++++++++++++++++++++++++++++++++++++ 6840 src/liblzma/simple/simple_coder.h | 9 + 6841 src/xz/args.c | 7 + 6842 9 files changed, 742 insertions(+), 2 deletions(-) 6843 6844commit 5540f4329bbdb4deb4850d4af48b18ad074bba19 6845Author: Jia Tan <jiat0218@gmail.com> 6846Date: 2024-01-19 23:08:14 +0800 6847 6848 Docs: Update .xz file format specification to 1.2.0. 6849 6850 The new RISC-V filter was added to the specification, in addition to 6851 updating the specification URL. 6852 6853 doc/xz-file-format.txt | 29 +++++++++++++++++------------ 6854 1 file changed, 17 insertions(+), 12 deletions(-) 6855 6856commit 22d86192f8cf00902a1f90ee2a83ca600794459b 6857Author: Jia Tan <jiat0218@gmail.com> 6858Date: 2024-01-19 23:08:14 +0800 6859 6860 xz: Update website URLs in the man pages. 6861 6862 src/xz/xz.1 | 6 +++--- 6863 src/xzdec/xzdec.1 | 4 ++-- 6864 2 files changed, 5 insertions(+), 5 deletions(-) 6865 6866commit 6b63c4c6139fa1bb21b570521d3d2b4a608bc34d 6867Author: Jia Tan <jiat0218@gmail.com> 6868Date: 2024-01-19 23:08:14 +0800 6869 6870 liblzma: Update website URL. 6871 6872 dos/config.h | 2 +- 6873 src/liblzma/api/lzma.h | 6 +++--- 6874 2 files changed, 4 insertions(+), 4 deletions(-) 6875 6876commit fce4758018f3a3589236f3fe7999fd9dd08c77e9 6877Author: Jia Tan <jiat0218@gmail.com> 6878Date: 2024-01-19 23:08:14 +0800 6879 6880 Docs: Update website URLs. 6881 6882 .github/SECURITY.md | 2 +- 6883 COPYING | 3 ++- 6884 README | 4 ++-- 6885 doc/faq.txt | 2 +- 6886 doc/lzma-file-format.txt | 18 +++++++++--------- 6887 windows/README-Windows.txt | 3 ++- 6888 6 files changed, 17 insertions(+), 15 deletions(-) 6889 6890commit c26812c5b2c8a2a47f43214afe6b0b840c73e4f5 6891Author: Jia Tan <jiat0218@gmail.com> 6892Date: 2024-01-19 23:08:14 +0800 6893 6894 Build: Update website URL. 6895 6896 CMakeLists.txt | 2 +- 6897 configure.ac | 2 +- 6898 2 files changed, 2 insertions(+), 2 deletions(-) 6899 6900commit fbb3ce541ef79cad1710e88a27a5babb5f6f8e5b 6901Author: Lasse Collin <lasse.collin@tukaani.org> 6902Date: 2024-01-11 15:01:50 +0200 6903 6904 liblzma: CRC: Add a comment to crc_x86_clmul.h about BUILDING_ macros. 6905 6906 src/liblzma/check/crc_x86_clmul.h | 6 ++++++ 6907 1 file changed, 6 insertions(+) 6908 6909commit 4f518c1b6b7b7ce5dcefea81acd44d7a086a8882 6910Author: Lasse Collin <lasse.collin@tukaani.org> 6911Date: 2024-01-11 15:22:36 +0200 6912 6913 liblzma: CRC: Remove crc_always_inline, use lzma_always_inline instead. 6914 6915 Now crc_simd_body() in crc_x86_clmul.h is only called once 6916 in a translation unit, we no longer need to be so cautious 6917 about ensuring the always-inline behavior. 6918 6919 src/liblzma/check/crc_common.h | 20 -------------------- 6920 src/liblzma/check/crc_x86_clmul.h | 2 +- 6921 2 files changed, 1 insertion(+), 21 deletions(-) 6922 6923commit 35c03ec6bf66f1b159964c9721a2dce0e2859b20 6924Author: Lasse Collin <lasse.collin@tukaani.org> 6925Date: 2024-01-11 14:39:46 +0200 6926 6927 liblzma: CRC: Update CLMUL comments to more generic wording. 6928 6929 src/liblzma/check/crc32_fast.c | 16 ++++++++-------- 6930 src/liblzma/check/crc64_fast.c | 10 +++++----- 6931 2 files changed, 13 insertions(+), 13 deletions(-) 6932 6933commit 66f080e8016129576536482ac377e2ecac7a2b90 6934Author: Lasse Collin <lasse.collin@tukaani.org> 6935Date: 2024-01-10 18:23:31 +0200 6936 6937 liblzma: Rename arch-specific CRC functions and macros. 6938 6939 CRC_CLMUL was split to CRC_ARCH_OPTIMIZED and CRC_X86_CLMUL. 6940 CRC_ARCH_OPTIMIZED is defined when an arch-optimized version is used. 6941 Currently the x86 CLMUL implementations are the only arch-optimized 6942 versions, and these also use the CRC_x86_CLMUL macro to tell when 6943 crc_x86_clmul.h needs to be included. 6944 6945 is_clmul_supported() was renamed to is_arch_extension_supported(). 6946 crc32_clmul() and crc64_clmul() were renamed to 6947 crc32_arch_optimized() and crc64_arch_optimized(). 6948 This way the names make sense with arch-specific non-CLMUL 6949 implementations as well. 6950 6951 src/liblzma/check/crc32_fast.c | 13 +++++++------ 6952 src/liblzma/check/crc64_fast.c | 13 +++++++------ 6953 src/liblzma/check/crc_common.h | 9 ++++++--- 6954 src/liblzma/check/crc_x86_clmul.h | 21 +++++++++++---------- 6955 4 files changed, 31 insertions(+), 25 deletions(-) 6956 6957commit 3dbed75b0b9c7087c76fe687acb5cf582cd57b99 6958Author: Lasse Collin <lasse.collin@tukaani.org> 6959Date: 2024-01-10 18:19:21 +0200 6960 6961 liblzma: Fix a comment in crc_common.h. 6962 6963 src/liblzma/check/crc_common.h | 3 ++- 6964 1 file changed, 2 insertions(+), 1 deletion(-) 6965 6966commit 419f55f9dfc2df8792902b8953d50690121afeea 6967Author: Lasse Collin <lasse.collin@tukaani.org> 6968Date: 2023-10-20 23:35:10 +0300 6969 6970 liblzma: Avoid extern lzma_crc32_clmul() and lzma_crc64_clmul(). 6971 6972 A CLMUL-only build will have the crcxx_clmul() inlined into 6973 lzma_crcxx(). Previously a jump to the extern lzma_crcxx_clmul() 6974 was needed. Notes about shared liblzma on ELF platforms: 6975 6976 - On platforms that support ifunc and -fvisibility=hidden, this 6977 was silly because CLMUL-only build would have that single extra 6978 jump instruction of extra overhead. 6979 6980 - On platforms that support neither -fvisibility=hidden nor linker 6981 version script (liblzma*.map), jumping to lzma_crcxx_clmul() 6982 would go via PLT so a few more instructions of overhead (still 6983 not a big issue but silly nevertheless). 6984 6985 There was a downside with static liblzma too: if an application only 6986 needs lzma_crc64(), static linking would make the linker include the 6987 CLMUL code for both CRC32 and CRC64 from crc_x86_clmul.o even though 6988 the CRC32 code wouldn't be needed, thus increasing code size of the 6989 executable (assuming that -ffunction-sections isn't used). 6990 6991 Also, now compilers are likely to inline crc_simd_body() 6992 even if they don't support the always_inline attribute 6993 (or MSVC's __forceinline). Quite possibly all compilers 6994 that build the code do support such an attribute. But now 6995 it likely isn't a problem even if the attribute wasn't supported. 6996 6997 Now all x86-specific stuff is in crc_x86_clmul.h. If other archs 6998 The other archs can then have their own headers with their own 6999 is_clmul_supported() and crcxx_clmul(). 7000 7001 Another bonus is that the build system doesn't need to care if 7002 crc_clmul.c is needed. 7003 7004 is_clmul_supported() stays as inline function as it's not needed 7005 when doing a CLMUL-only build (avoids a warning about unused function). 7006 7007 CMakeLists.txt | 7 +- 7008 configure.ac | 1 - 7009 src/liblzma/check/Makefile.inc | 6 +- 7010 src/liblzma/check/crc32_fast.c | 9 ++- 7011 src/liblzma/check/crc64_fast.c | 9 ++- 7012 src/liblzma/check/crc_common.h | 64 ---------------- 7013 src/liblzma/check/{crc_clmul.c => crc_x86_clmul.h} | 86 ++++++++++++++++++---- 7014 7 files changed, 91 insertions(+), 91 deletions(-) 7015 7016commit e3833e297dfb5021a197bda34ba2a795e30aaf8a 7017Author: Lasse Collin <lasse.collin@tukaani.org> 7018Date: 2023-10-21 00:06:52 +0300 7019 7020 liblzma: crc_clmul.c: Add crc_attr_target macro. 7021 7022 This reduces the number of the complex #if directives. 7023 7024 src/liblzma/check/crc_clmul.c | 30 ++++++++++++++++-------------- 7025 1 file changed, 16 insertions(+), 14 deletions(-) 7026 7027commit d164ac0e62904126f7920c25f9a2875c8cd28b97 7028Author: Lasse Collin <lasse.collin@tukaani.org> 7029Date: 2023-10-20 22:49:48 +0300 7030 7031 liblzma: Simplify existing cases with lzma_attr_no_sanitize_address. 7032 7033 src/liblzma/check/crc_clmul.c | 12 +++--------- 7034 1 file changed, 3 insertions(+), 9 deletions(-) 7035 7036commit 9523c1300d22fa715765c181cf991d14d6112fb1 7037Author: Lasse Collin <lasse.collin@tukaani.org> 7038Date: 2023-10-20 21:53:35 +0300 7039 7040 liblzma: #define crc_attr_no_sanitize_address in crc_common.h. 7041 7042 src/liblzma/check/crc_common.h | 10 ++++++++++ 7043 1 file changed, 10 insertions(+) 7044 7045commit 93d144f0930821590524247bd174afd38003d7f0 7046Author: Lasse Collin <lasse.collin@tukaani.org> 7047Date: 2023-10-20 23:25:14 +0300 7048 7049 liblzma: CRC: Add empty lines. 7050 7051 And remove one too. 7052 7053 src/liblzma/check/crc32_fast.c | 2 ++ 7054 src/liblzma/check/crc64_fast.c | 3 +++ 7055 src/liblzma/check/crc_clmul.c | 1 - 7056 3 files changed, 5 insertions(+), 1 deletion(-) 7057 7058commit 0c7e854ffd27f1cec2e9b0e61601d6f90bfa10ae 7059Author: Lasse Collin <lasse.collin@tukaani.org> 7060Date: 2023-10-20 23:19:33 +0300 7061 7062 liblzma: crc_clmul.c: Tidy up the location of MSVC pragma. 7063 7064 It makes no difference in practice. 7065 7066 src/liblzma/check/crc_clmul.c | 4 ++-- 7067 1 file changed, 2 insertions(+), 2 deletions(-) 7068 7069commit 15cf3f04f270d707a5c91cc0208b23b6db42b774 7070Author: Lasse Collin <lasse.collin@tukaani.org> 7071Date: 2023-12-20 21:16:24 +0200 7072 7073 Update THANKS. 7074 7075 THANKS | 1 + 7076 1 file changed, 1 insertion(+) 7077 7078commit cd64dd70d5665b6048829c45772d08606f44672e 7079Author: Lasse Collin <lasse.collin@tukaani.org> 7080Date: 2023-12-20 21:15:16 +0200 7081 7082 liblzma: Use 8-byte method in memcmplen.h on ARM64. 7083 7084 It requires fast unaligned access to 64-bit integers 7085 and a fast instruction to count leading zeros in 7086 a 64-bit integer (__builtin_ctzll()). This perhaps 7087 should be enabled on some other archs too. 7088 7089 Thanks to Chenxi Mao for the original patch: 7090 https://github.com/tukaani-project/xz/pull/75 (the first commit) 7091 According to the numbers there, this may improve encoding 7092 speed by about 3-5 %. 7093 7094 This enables the 8-byte method on MSVC ARM64 too which 7095 should work but wasn't tested. 7096 7097 src/liblzma/common/memcmplen.h | 18 ++++++++++-------- 7098 1 file changed, 10 insertions(+), 8 deletions(-) 7099 7100commit 12c90c00f05e19da3c0c91d8cd8e0d0d45965606 7101Author: Lasse Collin <lasse.collin@tukaani.org> 7102Date: 2023-12-20 21:01:06 +0200 7103 7104 liblzma: Check also for __clang__ in memcmplen.h. 7105 7106 This change hopefully makes no practical difference as Clang 7107 likely was detected via __GNUC__ or _MSC_VER already. 7108 7109 src/liblzma/common/memcmplen.h | 3 ++- 7110 1 file changed, 2 insertions(+), 1 deletion(-) 7111 7112commit 133c5851eb917c6d99d0b623c1689c8518e65f38 7113Author: Jia Tan <jiat0218@gmail.com> 7114Date: 2023-12-21 21:39:08 +0800 7115 7116 Translations: Update the French translation. 7117 7118 po/fr.po | 632 +++++++++++++++++++++++++++++++++++++-------------------------- 7119 1 file changed, 370 insertions(+), 262 deletions(-) 7120 7121commit 710cbc186cad0ac601c38bd6bf31167648a5581e 7122Author: Jia Tan <jiat0218@gmail.com> 7123Date: 2023-12-21 16:39:53 +0800 7124 7125 xz: Add a comment to Capsicum sandbox setup. 7126 7127 This comment is repeated in xzdec.c to help remind us why all the 7128 capabilities are removed from stdin in certain situations. 7129 7130 src/xz/file_io.c | 1 + 7131 1 file changed, 1 insertion(+) 7132 7133commit 4e1c695676bafbaecc9fb307f6ee94138ae72c12 7134Author: Jia Tan <jiat0218@gmail.com> 7135Date: 2023-12-20 22:19:19 +0800 7136 7137 Docs: Update --enable-sandbox option in INSTALL. 7138 7139 xzdec now also uses the sandbox when its configured. 7140 7141 INSTALL | 17 ++++++++++------- 7142 1 file changed, 10 insertions(+), 7 deletions(-) 7143 7144commit ebddf20214143a8e002ab897e95e880bb4c5ac44 7145Author: Jia Tan <jiat0218@gmail.com> 7146Date: 2023-12-20 22:39:13 +0800 7147 7148 CMake: Move sandbox detection outside of xz section. 7149 7150 The sandbox is now enabled for xzdec as well, so it no longer belongs 7151 in just the xz section. xz and xzdec are always built, except for older 7152 MSVC versions, so there isn't a need to conditionally show the sandbox 7153 configuration. CMake will do a little unecessary work on older MSVC 7154 versions that can't build xz or xzdec, but this is a very small 7155 downside. 7156 7157 CMakeLists.txt | 178 +++++++++++++++++++++++++++++++-------------------------- 7158 1 file changed, 98 insertions(+), 80 deletions(-) 7159 7160commit 5feb09266fd2928ec0a4dcb98c1dc7f053111316 7161Author: Jia Tan <jiat0218@gmail.com> 7162Date: 2023-12-20 22:43:44 +0800 7163 7164 Build: Allow sandbox to be configured for just xzdec. 7165 7166 If xz is disabled, then xzdec can still use the sandbox. 7167 7168 configure.ac | 10 +++++----- 7169 1 file changed, 5 insertions(+), 5 deletions(-) 7170 7171commit d74fb5f060b76db709b50f5fd37490394e52f975 7172Author: Jia Tan <jiat0218@gmail.com> 7173Date: 2023-12-19 21:18:28 +0800 7174 7175 xzdec: Add sandbox support for Pledge, Capsicum, and Landlock. 7176 7177 A very strict sandbox is used when the last file is decompressed. The 7178 likely most common use case of xzdec is to decompress a single file. 7179 The Pledge sandbox is applied to the entire process with slightly more 7180 relaxed promises, until the last file is processed. 7181 7182 Thanks to Christian Weisgerber for the initial patch adding Pledge 7183 sandboxing. 7184 7185 src/xzdec/xzdec.c | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 7186 1 file changed, 139 insertions(+), 7 deletions(-) 7187 7188commit b34b6a9912d6165e34ba0db151b7f9941d2e06d5 7189Author: Jia Tan <jiat0218@gmail.com> 7190Date: 2023-12-20 21:31:34 +0800 7191 7192 liblzma: Initialize lzma_lz_encoder pointers with NULL. 7193 7194 This fixes the recent change to lzma_lz_encoder that used memzero 7195 instead of the NULL constant. On some compilers the NULL constant 7196 (always 0) may not equal the NULL pointer (this only needs to guarentee 7197 to not point to valid memory address). 7198 7199 Later code compares the pointers to the NULL pointer so we must 7200 initialize them with the NULL pointer instead of 0 to guarentee 7201 code correctness. 7202 7203 src/liblzma/lz/lz_encoder.c | 6 +++++- 7204 1 file changed, 5 insertions(+), 1 deletion(-) 7205 7206commit 183a62f0b540ff4d23cc19b2b6bc2525f0bd64df 7207Author: Jia Tan <jiat0218@gmail.com> 7208Date: 2023-12-16 20:51:38 +0800 7209 7210 liblzma: Set all values in lzma_lz_encoder to NULL after allocation. 7211 7212 The first member of lzma_lz_encoder doesn't necessarily need to be set 7213 to NULL since it will always be set before anything tries to use it. 7214 However the function pointer members must be set to NULL since other 7215 functions rely on this NULL value to determine if this behavior is 7216 supported or not. 7217 7218 This fixes a somewhat serious bug, where the options_update() and 7219 set_out_limit() function pointers are not set to NULL. This seems to 7220 have been forgotten since these function pointers were added many years 7221 after the original two (code() and end()). 7222 7223 The problem is that by not setting this to NULL we are relying on the 7224 memory allocation to zero things out if lzma_filters_update() is called 7225 on a LZMA1 encoder. The function pointer for set_out_limit() is less 7226 serious because there is not an API function that could call this in an 7227 incorrect way. set_out_limit() is only called by the MicroLZMA encoder, 7228 which must use LZMA1 where set_out_limit() is always set. Its currently 7229 not possible to call set_out_limit() on an LZMA2 encoder at this time. 7230 7231 So calling lzma_filters_update() on an LZMA1 encoder had undefined 7232 behavior since its possible that memory could be manipulated so the 7233 options_update member pointed to a different instruction sequence. 7234 7235 This is unlikely to be a bug in an existing application since it relies 7236 on calling lzma_filters_update() on an LZMA1 encoder in the first place. 7237 For instance, it does not affect xz because lzma_filters_update() can 7238 only be used when encoding to the .xz format. 7239 7240 This is fixed by using memzero() to set all members of lzma_lz_encoder 7241 to NULL after it is allocated. This ensures this mistake will not occur 7242 here in the future if any additional function pointers are added. 7243 7244 src/liblzma/lz/lz_encoder.c | 4 +--- 7245 1 file changed, 1 insertion(+), 3 deletions(-) 7246 7247commit 1a1bb381db7a20cf86cb45a350e5cca35224d017 7248Author: Jia Tan <jiat0218@gmail.com> 7249Date: 2023-12-16 20:30:55 +0800 7250 7251 liblzma: Tweak a comment. 7252 7253 src/liblzma/lz/lz_encoder.c | 2 +- 7254 1 file changed, 1 insertion(+), 1 deletion(-) 7255 7256commit 55810780e04f759747b02683fb8020b8cd022a85 7257Author: Jia Tan <jiat0218@gmail.com> 7258Date: 2023-12-16 20:28:21 +0800 7259 7260 liblzma: Make parameter names in function definition match declaration. 7261 7262 lzma_raw_encoder() and lzma_raw_encoder_init() used "options" as the 7263 parameter name instead of "filters" (used by the declaration). "filters" 7264 is more clear since the parameter represents the list of filters passed 7265 to the raw encoder, each of which contains filter options. 7266 7267 src/liblzma/common/filter_encoder.c | 8 ++++---- 7268 1 file changed, 4 insertions(+), 4 deletions(-) 7269 7270commit 5dad6f628af742bab826819760deb677597445f7 7271Author: Jia Tan <jiat0218@gmail.com> 7272Date: 2023-12-16 20:18:47 +0800 7273 7274 liblzma: Improve lzma encoder init function consistency. 7275 7276 lzma_encoder_init() did not check for NULL options, but 7277 lzma2_encoder_init() did. This is more of a code style improvement than 7278 anything else to help make lzma_encoder_init() and lzma2_encoder_init() 7279 more similar. 7280 7281 src/liblzma/lzma/lzma_encoder.c | 3 +++ 7282 1 file changed, 3 insertions(+) 7283 7284commit e1b1a9d6370b788bd6078952c6c201e12bc27cbf 7285Author: Jia Tan <jiat0218@gmail.com> 7286Date: 2023-12-16 11:20:20 +0800 7287 7288 Docs: Update repository URL in Changelog. 7289 7290 ChangeLog | 2 +- 7291 1 file changed, 1 insertion(+), 1 deletion(-) 7292 7293commit f9b82bc64a9405e486575c65c1729229eb0a8198 7294Author: Jia Tan <jiat0218@gmail.com> 7295Date: 2023-12-15 16:56:31 +0800 7296 7297 CI: Update Upload Artifact Action. 7298 7299 .github/workflows/ci.yml | 2 +- 7300 .github/workflows/windows-ci.yml | 2 +- 7301 2 files changed, 2 insertions(+), 2 deletions(-) 7302 7303commit d0b24efe6cdc47db5b0fdf6306f70a2e0e63e49e 7304Author: Jia Tan <jiat0218@gmail.com> 7305Date: 2023-12-07 21:48:07 +0800 7306 7307 Tests: Silence -Wsign-conversion warning on GCC version < 10. 7308 7309 Since GCC version 10, GCC no longer complains about simple implicit 7310 integer conversions with Arithmetic operators. 7311 7312 For instance: 7313 7314 uint8_t a = 5; 7315 uint32_t b = a + 5; 7316 7317 Give a warning on GCC 9 and earlier but this: 7318 7319 uint8_t a = 5; 7320 uint32_t b = (a + 5) * 2; 7321 7322 Gives a warning with GCC 10+. 7323 7324 tests/test_block_header.c | 2 +- 7325 1 file changed, 1 insertion(+), 1 deletion(-) 7326 7327commit 4a972a8ee3ed88ac14067c1d2f15b78988e5dae8 7328Author: Jia Tan <jiat0218@gmail.com> 7329Date: 2023-12-06 18:39:03 +0800 7330 7331 Update THANKS. 7332 7333 THANKS | 1 + 7334 1 file changed, 1 insertion(+) 7335 7336commit ee2f48350099201694a7586e41d7aa2f09fc74da 7337Author: Jia Tan <jiat0218@gmail.com> 7338Date: 2023-12-06 18:30:25 +0800 7339 7340 Tests: Minor cleanups to OSS-Fuzz files. 7341 7342 Most of these fixes are small typos and tweaks. A few were caused by bad 7343 advice from me. Here is the summary of what is changed: 7344 7345 - Author line edits 7346 7347 - Small comment changes/additions 7348 7349 - Using the return value in the error messages in the fuzz targets' 7350 coder initialization code 7351 7352 - Removed fuzz_encode_stream.options. This set a max length, which may 7353 prevent some worthwhile code paths from being properly exercised. 7354 7355 - Removed the max_len option from fuzz_decode_stream.options for the 7356 same reason as fuzz_encode_stream. The alone decoder fuzz target still 7357 has this restriction. 7358 7359 - Altered the dictionary contents for fuzz_lzma.dict. Instead of keeping 7360 the properties static and varying the dictionary size, the properties 7361 are varied and the dictionary size is kept small. The dictionary size 7362 doesn't have much impact on the code paths but the properties do. 7363 7364 Closes: https://github.com/tukaani-project/xz/pull/73 7365 7366 tests/ossfuzz/Makefile | 3 ++ 7367 tests/ossfuzz/config/fuzz_decode_stream.options | 1 - 7368 tests/ossfuzz/config/fuzz_lzma.dict | 34 +++++++++++----------- 7369 tests/ossfuzz/fuzz_common.h | 16 +++++------ 7370 tests/ossfuzz/fuzz_decode_alone.c | 15 +++++----- 7371 tests/ossfuzz/fuzz_decode_stream.c | 15 +++++----- 7372 tests/ossfuzz/fuzz_encode_stream.c | 38 +++++++++++++++---------- 7373 7 files changed, 66 insertions(+), 56 deletions(-) 7374 7375commit 483bb90eec7c83e1c2bcd06287714afd62d8c17d 7376Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 7377Date: 2023-12-05 16:31:09 +0100 7378 7379 Tests: Add fuzz_encode_stream ossfuzz target. 7380 7381 This fuzz target handles .xz stream encoding. The first byte of input 7382 is used to dynamically set the preset level in order to increase the 7383 fuzz coverage of complex critical code paths. 7384 7385 tests/ossfuzz/config/fuzz_encode_stream.options | 2 + 7386 tests/ossfuzz/fuzz_encode_stream.c | 79 +++++++++++++++++++++++++ 7387 2 files changed, 81 insertions(+) 7388 7389commit 7ca8c9869df82756c3128c4fcf1058da4d18aa48 7390Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 7391Date: 2023-12-04 17:23:24 +0100 7392 7393 Tests: Add fuzz_decode_alone OSS-Fuzz target 7394 7395 This fuzz target that handles LZMA alone decoding. A new fuzz 7396 dictionary .dict was also created with common LZMA header values to 7397 help speed up the discovery of valid headers. 7398 7399 tests/ossfuzz/config/fuzz_decode_alone.options | 3 ++ 7400 tests/ossfuzz/config/fuzz_lzma.dict | 22 ++++++++++++++ 7401 tests/ossfuzz/fuzz_decode_alone.c | 41 ++++++++++++++++++++++++++ 7402 3 files changed, 66 insertions(+) 7403 7404commit 37581a77ad5a49615325b1d1925fdc402b1e1d5a 7405Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 7406Date: 2023-12-04 17:21:29 +0100 7407 7408 Tests: Update OSS-Fuzz Makefile. 7409 7410 All .c files can be built as separate fuzz targets. This simplifies 7411 the Makefile by allowing us to use wildcards instead of having a 7412 Makefile target for each fuzz target. 7413 7414 tests/ossfuzz/Makefile | 13 +++++++++---- 7415 1 file changed, 9 insertions(+), 4 deletions(-) 7416 7417commit 28ce6a1c2a74866c51f7996a6869679c236d3c94 7418Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 7419Date: 2023-12-04 17:20:08 +0100 7420 7421 Tests: Move common OSS-Fuzz target code to .h file. 7422 7423 tests/ossfuzz/fuzz_common.h | 56 ++++++++++++++++++++++++++++++++++++ 7424 tests/ossfuzz/fuzz_decode_stream.c | 59 ++++++++++---------------------------- 7425 2 files changed, 71 insertions(+), 44 deletions(-) 7426 7427commit bf0521ea1591c25b9d510c1b8be86073e9d847c6 7428Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 7429Date: 2023-12-04 17:18:20 +0100 7430 7431 Tests: Rename OSS-Fuzz files. 7432 7433 tests/ossfuzz/config/fuzz.options | 2 -- 7434 tests/ossfuzz/config/fuzz_decode_stream.options | 3 +++ 7435 tests/ossfuzz/config/{fuzz.dict => fuzz_xz.dict} | 0 7436 tests/ossfuzz/{fuzz.c => fuzz_decode_stream.c} | 0 7437 4 files changed, 3 insertions(+), 2 deletions(-) 7438 7439commit 685094b8e1c1aa1bf934de0366ca42ef599d25f7 7440Author: Jia Tan <jiat0218@gmail.com> 7441Date: 2023-11-30 23:10:43 +0800 7442 7443 Update THANKS. 7444 7445 THANKS | 1 + 7446 1 file changed, 1 insertion(+) 7447 7448commit 3b3023e00b0071e10f589bbc3674e0ec432b8add 7449Author: Kian-Meng Ang <kianmeng@cpan.org> 7450Date: 2023-11-30 23:01:19 +0800 7451 7452 Tests: Fix typos 7453 7454 tests/test_index.c | 2 +- 7455 tests/test_lzip_decoder.c | 4 ++-- 7456 2 files changed, 3 insertions(+), 3 deletions(-) 7457 7458commit 424d46ead8cbc0da57f406b76926ec4ed47437f5 7459Author: Kian-Meng Ang <kianmeng@cpan.org> 7460Date: 2023-11-30 22:59:47 +0800 7461 7462 xz: Fix typo 7463 7464 src/xz/file_io.c | 2 +- 7465 1 file changed, 1 insertion(+), 1 deletion(-) 7466 7467commit 35558adf9c45e5597f2c8dbd969885dd484038d2 7468Author: Jia Tan <jiat0218@gmail.com> 7469Date: 2023-11-30 20:41:00 +0800 7470 7471 Update THANKS. 7472 7473 THANKS | 1 + 7474 1 file changed, 1 insertion(+) 7475 7476commit fd170e8557727bed6bec0518c16415064d972e4e 7477Author: Jia Tan <jiat0218@gmail.com> 7478Date: 2023-11-22 21:20:12 +0800 7479 7480 CI: Test musl libc builds on Ubuntu runner. 7481 7482 .github/workflows/ci.yml | 19 +++++++++++++++++-- 7483 1 file changed, 17 insertions(+), 2 deletions(-) 7484 7485commit db2b4aa068a492c0013279a4ed43803e8ff9bb3e 7486Author: Jia Tan <jiat0218@gmail.com> 7487Date: 2023-11-22 21:12:15 +0800 7488 7489 CI: Allow ci_build.sh to set a different C compiler. 7490 7491 build-aux/ci_build.sh | 11 ++++++++++- 7492 1 file changed, 10 insertions(+), 1 deletion(-) 7493 7494commit ff7badef53c2cd698d4b72b945f34dfd0835e13c 7495Author: Jia Tan <jiat0218@gmail.com> 7496Date: 2023-11-24 21:19:12 +0800 7497 7498 CMake: Use consistent indentation with check_c_source_compiles(). 7499 7500 CMakeLists.txt | 4 ++-- 7501 1 file changed, 2 insertions(+), 2 deletions(-) 7502 7503commit d4af167570f2c14b002ee18a39d5b1e7e5a892b1 7504Author: Jia Tan <jiat0218@gmail.com> 7505Date: 2023-11-22 20:33:36 +0800 7506 7507 CMake: Change __attribute__((__ifunc__())) detection. 7508 7509 This renames ALLOW_ATTR_IFUNC to USE_ATTR_IFUNC and applies the ifunc 7510 detection changes that were made to the Autotools build. 7511 7512 Fixes: https://github.com/tukaani-project/xz/issues/70 7513 7514 CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 7515 1 file changed, 45 insertions(+), 8 deletions(-) 7516 7517commit 20ecee40a0053fd16371ef0628046bf45e548d72 7518Author: Jia Tan <jiat0218@gmail.com> 7519Date: 2023-11-24 20:19:11 +0800 7520 7521 Docs: Update INSTALL for --enable_ifunc change. 7522 7523 INSTALL | 16 ++++++++-------- 7524 1 file changed, 8 insertions(+), 8 deletions(-) 7525 7526commit ffb456593d695d70052a2f71c7a2e6269217d194 7527Author: Jia Tan <jiat0218@gmail.com> 7528Date: 2023-11-21 20:56:55 +0800 7529 7530 Build: Change --enable-ifunc handling. 7531 7532 Some compilers support __attribute__((__ifunc__())) even though the 7533 dynamic linker does not. The compiler is able to create the binary 7534 but it will fail on startup. So it is not enough to just test if 7535 the attribute is supported. 7536 7537 The default value for enable_ifunc is now auto, which will attempt 7538 to compile a program using __attribute__((__ifunc__())). There are 7539 additional checks in this program if glibc is being used or if it 7540 is running on FreeBSD. 7541 7542 Setting --enable-ifunc will skip this test and always enable 7543 __attribute__((__ifunc__())), even if is not supported. 7544 7545 configure.ac | 61 +++++++++++++++++++++++++++++++++++++++++++----------------- 7546 1 file changed, 44 insertions(+), 17 deletions(-) 7547 7548commit 12b89bcc9915090eb42ae638e565af44b6832a23 7549Author: Lasse Collin <lasse.collin@tukaani.org> 7550Date: 2023-11-23 17:39:10 +0200 7551 7552 xz: Tweak a comment. 7553 7554 src/xz/util.c | 4 ++-- 7555 1 file changed, 2 insertions(+), 2 deletions(-) 7556 7557commit 2ab2e4b5a542eab93902985ce4e642719a8b7a4e 7558Author: Jia Tan <jiat0218@gmail.com> 7559Date: 2023-11-23 22:13:39 +0800 7560 7561 xz: Use is_tty() in message.c. 7562 7563 src/xz/message.c | 7 +------ 7564 1 file changed, 1 insertion(+), 6 deletions(-) 7565 7566commit 584e3a258f32d579b1d07f99b4dc6e856c10ac7e 7567Author: Jia Tan <jiat0218@gmail.com> 7568Date: 2023-11-23 22:04:35 +0800 7569 7570 xz: Create separate is_tty() function. 7571 7572 The new is_tty() will report if a file descriptor is a terminal or not. 7573 On POSIX systems, it is a wrapper around isatty(). However, the native 7574 Windows implementation of isatty() will return true for all character 7575 devices, not just terminals. So is_tty() has a special case for Windows 7576 so it can use alternative Windows API functions to determine if a file 7577 descriptor is a terminal. 7578 7579 This fixes a bug with MSVC and MinGW-w64 builds that refused to read from 7580 or write to non-terminal character devices because xz thought it was a 7581 terminal. For instance: 7582 7583 xz foo -c > /dev/null 7584 7585 would fail because /dev/null was assumed to be a terminal. 7586 7587 src/xz/util.c | 30 +++++++++++++++++++++++------- 7588 src/xz/util.h | 14 ++++++++++++++ 7589 2 files changed, 37 insertions(+), 7 deletions(-) 7590 7591commit 6b05f827f50e686537e9a23c49c5aa4c0aa6b23d 7592Author: Jia Tan <jiat0218@gmail.com> 7593Date: 2023-11-22 20:39:41 +0800 7594 7595 tuklib_integer: Fix typo discovered by codespell. 7596 7597 Based on internet dictionary searches, 'choise' is an outdated spelling 7598 of 'choice'. 7599 7600 src/common/tuklib_integer.h | 2 +- 7601 1 file changed, 1 insertion(+), 1 deletion(-) 7602 7603commit 659aca0d695807c0762d4101765189e4e33d1e2c 7604Author: Lasse Collin <lasse.collin@tukaani.org> 7605Date: 2023-11-17 19:35:19 +0200 7606 7607 xz: Move the check for --suffix with --format=raw a few lines earlier. 7608 7609 Now it reads from argv[] instead of args->arg_names. 7610 7611 src/xz/args.c | 44 ++++++++++++++++++++++---------------------- 7612 1 file changed, 22 insertions(+), 22 deletions(-) 7613 7614commit ca278eb2b7f5a4940f5ab18955297b398d423824 7615Author: Jia Tan <jiat0218@gmail.com> 7616Date: 2023-11-17 20:35:11 +0800 7617 7618 Tests: Create test_suffix.sh. 7619 7620 This tests some complicated interactions with the --suffix= option. 7621 The suffix option must be used with --format=raw, but can optionally 7622 be used to override the default .xz suffix. 7623 7624 This test also verifies some recent bugs have been correctly solved 7625 and to hopefully avoid further regressions in the future. 7626 7627 tests/Makefile.am | 2 + 7628 tests/test_suffix.sh | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++ 7629 2 files changed, 191 insertions(+) 7630 7631commit 2a732aba22da1b0d4a1241cb32280ed010ba03ce 7632Author: Jia Tan <jiat0218@gmail.com> 7633Date: 2023-11-17 20:19:26 +0800 7634 7635 xz: Fix a bug with --files and --files0 in raw mode without a suffix. 7636 7637 The following command caused a segmentation fault: 7638 7639 xz -Fraw --lzma1 --files=foo 7640 7641 when foo was a valid file. The usage of --files or --files0 was not 7642 being checked when compressing or decompressing in raw mode without a 7643 suffix. The suffix checking code was meant to validate that all files 7644 to be processed are "-" (if not writing to standard out), meaning the 7645 data is only coming from standard in. In this case, there were no file 7646 names to check since --files and --files0 store their file name in a 7647 different place. 7648 7649 Later code assumed the suffix was set and caused a segmentation fault. 7650 Now, the above command results in an error. 7651 7652 src/xz/args.c | 5 +++++ 7653 1 file changed, 5 insertions(+) 7654 7655commit 299920bab9ae258a247366339264e8aefca9e3ce 7656Author: Jia Tan <jiat0218@gmail.com> 7657Date: 2023-11-17 20:04:58 +0800 7658 7659 Tests: Fix typo in a comment. 7660 7661 tests/test_files.sh | 2 +- 7662 1 file changed, 1 insertion(+), 1 deletion(-) 7663 7664commit f481523baac946fa3bc13d79186ffaf0c0b818a7 7665Author: Jia Tan <jiat0218@gmail.com> 7666Date: 2023-11-15 23:40:13 +0800 7667 7668 xz: Refactor suffix test with raw format. 7669 7670 The previous version set opt_stdout, but this caused an issue with 7671 copying an input file to standard out when decompressing an unknown file 7672 type. The following needs to result in an error: 7673 7674 echo foo | xz -df 7675 7676 since -c, --stdout is not used. This fixes the previous error by not 7677 setting opt_stdout. 7678 7679 src/xz/args.c | 38 +++++++++++++------------------------- 7680 1 file changed, 13 insertions(+), 25 deletions(-) 7681 7682commit 837ea40b1c9d4998cac4500b55171bf33e0c31a6 7683Author: Jia Tan <jiat0218@gmail.com> 7684Date: 2023-11-14 20:27:46 +0800 7685 7686 xz: Move suffix check after stdout mode is detected. 7687 7688 This fixes a bug introduced in cc5aa9ab138beeecaee5a1e81197591893ee9ca0 7689 when the suffix check was initially moved. This caused a situation that 7690 previously worked: 7691 7692 echo foo | xz -Fraw --lzma1 | wc -c 7693 7694 to fail because the old code knew that this would write to standard out 7695 so a suffix was not needed. 7696 7697 src/xz/args.c | 16 ++++++++-------- 7698 1 file changed, 8 insertions(+), 8 deletions(-) 7699 7700commit d4f4a4d040ef47a5e82dffd0f067e92716606ddf 7701Author: Jia Tan <jiat0218@gmail.com> 7702Date: 2023-11-14 20:27:04 +0800 7703 7704 xz: Detect when all data will be written to standard out earlier. 7705 7706 If the -c, --stdout argument is not used, then we can still detect when 7707 the data will be written to standard out if all of the provided 7708 filenames are "-" (denoting standard in) or if no filenames are 7709 provided. 7710 7711 src/xz/args.c | 21 +++++++++++++++++++++ 7712 1 file changed, 21 insertions(+) 7713 7714commit 2ade7246e7ba729a91460d2fab0f4c7b89d3998b 7715Author: Jia Tan <jiat0218@gmail.com> 7716Date: 2023-11-09 01:21:53 +0800 7717 7718 liblzma: Add missing comments to lz_encoder.h. 7719 7720 src/liblzma/lz/lz_encoder.h | 6 +++++- 7721 1 file changed, 5 insertions(+), 1 deletion(-) 7722 7723commit 5fe1450603dc625340b8b7866fb4a83ff748ad06 7724Author: Jia Tan <jiat0218@gmail.com> 7725Date: 2023-11-01 20:18:30 +0800 7726 7727 Add NEWS for 5.4.5. 7728 7729 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7730 1 file changed, 74 insertions(+) 7731 7732commit 46007049cd42e606543dbe650feb17bdf4469c29 7733Author: Lasse Collin <lasse.collin@tukaani.org> 7734Date: 2023-10-31 21:41:09 +0200 7735 7736 liblzma: Fix compilation of fastpos_tablegen.c. 7737 7738 The macro lzma_attr_visibility_hidden has to be defined to make 7739 fastpos.h usable. The visibility attribute is irrelevant to 7740 fastpos_tablegen.c so simply #define the macro to an empty value. 7741 7742 fastpos_tablegen.c is never built by the included build systems 7743 and so the problem wasn't noticed earlier. It's just a standalone 7744 program for generating fastpos_table.c. 7745 7746 Fixes: https://github.com/tukaani-project/xz/pull/69 7747 Thanks to GitHub user Jamaika1. 7748 7749 src/liblzma/lzma/fastpos_tablegen.c | 2 ++ 7750 1 file changed, 2 insertions(+) 7751 7752commit 148e20607e95781558bdfc823ecba07b7af4b590 7753Author: Jia Tan <jiat0218@gmail.com> 7754Date: 2023-10-31 21:51:40 +0800 7755 7756 Build: Fix text wrapping in an output message. 7757 7758 configure.ac | 9 +++++---- 7759 1 file changed, 5 insertions(+), 4 deletions(-) 7760 7761commit 8c36ab79cbf23104ce7a3d533d5ac98cd492e57c 7762Author: Lasse Collin <lasse.collin@tukaani.org> 7763Date: 2023-10-30 18:09:53 +0200 7764 7765 liblzma: Add a note why crc_always_inline exists for now. 7766 7767 Solaris Studio is a possible example (not tested) which 7768 supports the always_inline attribute but might not get 7769 detected by the common.h #ifdefs. 7770 7771 src/liblzma/check/crc_common.h | 5 +++++ 7772 1 file changed, 5 insertions(+) 7773 7774commit e7a86b94cd247435ac96bc79ba528b690b9ca388 7775Author: Lasse Collin <lasse.collin@tukaani.org> 7776Date: 2023-10-22 17:59:11 +0300 7777 7778 liblzma: Use lzma_always_inline in memcmplen.h. 7779 7780 src/liblzma/common/memcmplen.h | 3 +-- 7781 1 file changed, 1 insertion(+), 2 deletions(-) 7782 7783commit dcfe5632992fb7f06f921da13fcdd84f83d0d285 7784Author: Lasse Collin <lasse.collin@tukaani.org> 7785Date: 2023-10-30 17:43:03 +0200 7786 7787 liblzma: #define lzma_always_inline in common.h. 7788 7789 src/liblzma/common/common.h | 17 +++++++++++++++++ 7790 1 file changed, 17 insertions(+) 7791 7792commit 41113fe30a47f6fd3e30cb4494dd538e86212edf 7793Author: Lasse Collin <lasse.collin@tukaani.org> 7794Date: 2023-10-22 17:15:32 +0300 7795 7796 liblzma: Use lzma_attr_visibility_hidden on private extern declarations. 7797 7798 These variables are internal to liblzma and not exposed in the API. 7799 7800 src/liblzma/check/check.h | 7 +++++++ 7801 src/liblzma/common/stream_flags_common.h | 3 +++ 7802 src/liblzma/lz/lz_encoder_hash.h | 1 + 7803 src/liblzma/lzma/fastpos.h | 1 + 7804 src/liblzma/rangecoder/price.h | 1 + 7805 5 files changed, 13 insertions(+) 7806 7807commit a2f5ca706acc6f7715b8d260a8c6ed50d7717478 7808Author: Lasse Collin <lasse.collin@tukaani.org> 7809Date: 2023-10-22 17:08:39 +0300 7810 7811 liblzma: #define lzma_attr_visibility_hidden in common.h. 7812 7813 In ELF shared libs: 7814 7815 -fvisibility=hidden affects definitions of symbols but not 7816 declarations.[*] This doesn't affect direct calls to functions 7817 inside liblzma as a linker can replace a call to lzma_foo@plt 7818 with a call directly to lzma_foo when -fvisibility=hidden is used. 7819 7820 [*] It has to be like this because otherwise every installed 7821 header file would need to explictly set the symbol visibility 7822 to default. 7823 7824 When accessing extern variables that aren't defined in the 7825 same translation unit, compiler assumes that the variable has 7826 the default visibility and thus indirection is needed. Unlike 7827 function calls, linker cannot optimize this. 7828 7829 Using __attribute__((__visibility__("hidden"))) with the extern 7830 variable declarations tells the compiler that indirection isn't 7831 needed because the definition is in the same shared library. 7832 7833 About 15+ years ago, someone told me that it would be good if 7834 the CRC tables would be defined in the same translation unit 7835 as the C code of the CRC functions. While I understood that it 7836 could help a tiny amount, I didn't want to change the code because 7837 a separate translation unit for the CRC tables was needed for the 7838 x86 assembly code anyway. But when visibility attributes are 7839 supported, simply marking the extern declaration with the 7840 hidden attribute will get identical result. When there are only 7841 a few affected variables, this is trivial to do. I wish I had 7842 understood this back then already. 7843 7844 src/liblzma/common/common.h | 11 +++++++++++ 7845 1 file changed, 11 insertions(+) 7846 7847commit 2c7ee92e44e1e66f0a427555233eb22c78f6c4f8 7848Author: Lasse Collin <lasse.collin@tukaani.org> 7849Date: 2023-09-30 22:54:28 +0300 7850 7851 liblzma: Refer to MinGW-w64 instead of MinGW in the API headers. 7852 7853 MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project 7854 at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the 7855 most recent GCC package (released 2021-02-02). The project might 7856 still be alive but majority of people have switched to MinGW-w64. 7857 Thus it seems clearer to refer to MinGW-w64 in our API headers too. 7858 Building with MinGW is likely to still work but I haven't tested it 7859 in the recent years. 7860 7861 src/liblzma/api/lzma.h | 4 ++-- 7862 src/liblzma/api/lzma/version.h | 2 +- 7863 2 files changed, 3 insertions(+), 3 deletions(-) 7864 7865commit 597f49b61475438a43a417236989b2acc968a686 7866Author: Lasse Collin <lasse.collin@tukaani.org> 7867Date: 2023-09-27 00:58:17 +0300 7868 7869 CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed. 7870 7871 A CMake option LARGE_FILE_SUPPORT is created if and only if 7872 -D_FILE_OFFSET_BITS=64 affects sizeof(off_t). 7873 7874 This is needed on many 32-bit platforms and even with 64-bit builds 7875 with MinGW-w64 to get support for files larger than 2 GiB. 7876 7877 CMakeLists.txt | 7 ++++- 7878 cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++ 7879 2 files changed, 58 insertions(+), 1 deletion(-) 7880 7881commit 1bc548b8210366e44ba35b0b11577a8e328c1228 7882Author: Lasse Collin <lasse.collin@tukaani.org> 7883Date: 2023-09-30 02:14:25 +0300 7884 7885 CMake: Generate and install liblzma.pc if not using MSVC. 7886 7887 Autotools based build uses -pthread and thus adds it to Libs.private 7888 in liblzma.pc. CMake doesn't use -pthread at all if pthread functions 7889 are available in libc so Libs.private doesn't get -pthread either. 7890 7891 CMakeLists.txt | 21 +++++++++++++++++++++ 7892 1 file changed, 21 insertions(+) 7893 7894commit 2add71966f891d315105d6245f724ed4f43a4eff 7895Author: Lasse Collin <lasse.collin@tukaani.org> 7896Date: 2023-09-30 01:13:13 +0300 7897 7898 CMake: Rearrange the PACKAGE_ variables. 7899 7900 The windres workaround now replaces spaces with \x20 so 7901 the package name isn't repeated. 7902 7903 These changes will help with creation of liblzma.pc. 7904 7905 CMakeLists.txt | 26 +++++++++++++++----------- 7906 1 file changed, 15 insertions(+), 11 deletions(-) 7907 7908commit a7d1b2825c49dc83f1910eeb8ba0f1dfbd886d91 7909Author: Lasse Collin <lasse.collin@tukaani.org> 7910Date: 2023-09-29 20:46:11 +0300 7911 7912 liblzma: Add Cflags.private to liblzma.pc.in for MSYS2. 7913 7914 It properly adds -DLZMA_API_STATIC when compiling code that 7915 will be linked against static liblzma. Having it there on 7916 systems other than Windows does no harm. 7917 7918 See: https://www.msys2.org/docs/pkgconfig/ 7919 7920 src/liblzma/liblzma.pc.in | 1 + 7921 1 file changed, 1 insertion(+) 7922 7923commit 80e0750e3996c1c659e972ce9cf789ca2e99f702 7924Author: Lasse Collin <lasse.collin@tukaani.org> 7925Date: 2023-09-27 22:46:20 +0300 7926 7927 CMake: Create liblzma.def when building liblzma.dll with MinGW-w64. 7928 7929 CMakeLists.txt | 20 ++++++++++++++++++++ 7930 cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++ 7931 2 files changed, 46 insertions(+) 7932 7933commit 08d12595f486890cf601b87f36ee0ddbce57728e 7934Author: Lasse Collin <lasse.collin@tukaani.org> 7935Date: 2023-10-26 21:44:42 +0300 7936 7937 CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR. 7938 7939 In this case they have identical values. 7940 7941 CMakeLists.txt | 2 +- 7942 1 file changed, 1 insertion(+), 1 deletion(-) 7943 7944commit e67aaf698de75c73443a5ec786781cbf2034461d 7945Author: Lasse Collin <lasse.collin@tukaani.org> 7946Date: 2023-10-01 19:10:57 +0300 7947 7948 CMake/Windows: Fix the import library filename. 7949 7950 Both PREFIX and IMPORT_PERFIX have to be set to "" to get 7951 liblzma.dll and liblzma.dll.a. 7952 7953 CMakeLists.txt | 1 + 7954 1 file changed, 1 insertion(+) 7955 7956commit 88588b1246d8c26ffbc138b3e5c413c5f14c3179 7957Author: Lasse Collin <lasse.collin@tukaani.org> 7958Date: 2023-10-25 19:13:25 +0300 7959 7960 Build: Detect -fsanitize= in CFLAGS and incompatible build options. 7961 7962 Now configure will fail if -fsanitize= is found in CFLAGS 7963 and sanitizer-incompatible ifunc or Landlock sandboxing 7964 would be used. These are incompatible with one or more sanitizers. 7965 It's simpler to reject all -fsanitize= uses instead of trying to 7966 pass those that might not cause problems. 7967 7968 CMake-based build was updated similarly. It lets the configuration 7969 finish (SEND_ERROR instead of FATAL_ERROR) so that both error 7970 messages can be seen at once. 7971 7972 CMakeLists.txt | 29 +++++++++++++++++++++++++++++ 7973 configure.ac | 37 +++++++++++++++++++++++++++++++++---- 7974 2 files changed, 62 insertions(+), 4 deletions(-) 7975 7976commit 5e3d890f8862a7d4fbef5e38e11b6c9fbd98f468 7977Author: Jia Tan <jiat0218@gmail.com> 7978Date: 2023-10-24 00:50:08 +0800 7979 7980 CI: Disable sandboxing in fsanitize=address,undefined job. 7981 7982 The sandboxing on Linux now supports Landlock, which restricts all 7983 supported filesystem actions after xz opens the files it needs. The 7984 sandbox is only enabled when one file is input and we are writing to 7985 standard out. With fsanitize=address,undefined, the instrumentation 7986 needs to read additional files after the sandbox is in place. This 7987 forces all xz based test to fail, so the sandbox must instead be 7988 disabled. 7989 7990 .github/workflows/ci.yml | 8 ++++++-- 7991 1 file changed, 6 insertions(+), 2 deletions(-) 7992 7993commit b1408987ea832e2760e478ae960a636df17a1363 7994Author: Jia Tan <jiat0218@gmail.com> 7995Date: 2023-10-24 00:15:39 +0800 7996 7997 CI: Allow disabling the sandbox in ci_build.sh. 7998 7999 build-aux/ci_build.sh | 5 ++++- 8000 1 file changed, 4 insertions(+), 1 deletion(-) 8001 8002commit 91c435cf1c7a1e893706d4d716dfd361621ed824 8003Author: Lasse Collin <lasse.collin@tukaani.org> 8004Date: 2023-10-11 19:47:44 +0300 8005 8006 CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable. 8007 8008 Using set(ENABLE_THREADS "posix") is confusing because it sets 8009 a new normal variable and leaves the cache entry with the same 8010 name unchanged. The intent wasn't to change the cache entry so 8011 this switches to a different variable name. 8012 8013 CMakeLists.txt | 10 +++++++--- 8014 1 file changed, 7 insertions(+), 3 deletions(-) 8015 8016commit fa1609eb9393ecd30decfed4891c907829f06710 8017Author: Lasse Collin <lasse.collin@tukaani.org> 8018Date: 2023-10-09 22:28:49 +0300 8019 8020 Docs: Update INSTALL about sandboxing support. 8021 8022 INSTALL | 7 ++++++- 8023 1 file changed, 6 insertions(+), 1 deletion(-) 8024 8025commit 8276c7f41c671eee4aa3239490658b23dcfd3021 8026Author: Lasse Collin <lasse.collin@tukaani.org> 8027Date: 2023-10-09 22:07:52 +0300 8028 8029 xz: Support basic sandboxing with Linux Landlock (ABI versions 1-3). 8030 8031 It is enabled only when decompressing one file to stdout, 8032 similar to how Capsicum is used. 8033 8034 Landlock was added in Linux 5.13. 8035 8036 CMakeLists.txt | 12 +++++++++++- 8037 configure.ac | 11 ++++++++--- 8038 src/xz/file_io.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8039 src/xz/main.c | 19 +++++++++++++++++++ 8040 src/xz/private.h | 3 ++- 8041 5 files changed, 98 insertions(+), 5 deletions(-) 8042 8043commit 3a1e9fd031b9320d769d63b503ef4e82e1b6ea8c 8044Author: Lasse Collin <lasse.collin@tukaani.org> 8045Date: 2023-10-09 21:12:31 +0300 8046 8047 CMake: Edit threading related messages. 8048 8049 It's mostly to change from "thread method" to "threading method". 8050 8051 CMakeLists.txt | 19 ++++++++++--------- 8052 1 file changed, 10 insertions(+), 9 deletions(-) 8053 8054commit bf011352528ae3539ea7b780b45b96736ee57a99 8055Author: Lasse Collin <lasse.collin@tukaani.org> 8056Date: 2023-10-09 20:59:24 +0300 8057 8058 CMake: Use FATAL_ERROR if user-supplied options aren't understood. 8059 8060 This way typos are caught quickly and compounding error messages 8061 are avoided (a single typo could cause more than one error). 8062 8063 This keeps using SEND_ERROR when the system is lacking a feature 8064 (like threading library or sandboxing method). This way the whole 8065 configuration log will be generated in case someone wishes to 8066 report a problem upstream. 8067 8068 CMakeLists.txt | 28 ++++++++++++++-------------- 8069 1 file changed, 14 insertions(+), 14 deletions(-) 8070 8071commit 3f53870c249945d657ca3d75e0993e6267d71f75 8072Author: Lasse Collin <lasse.collin@tukaani.org> 8073Date: 2023-10-09 18:37:32 +0300 8074 8075 CMake: Add sandboxing support. 8076 8077 CMakeLists.txt | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 8078 1 file changed, 49 insertions(+), 1 deletion(-) 8079 8080commit 2e2cd11535ad77364cf021297e0b3f162fa3a3d0 8081Author: Lasse Collin <lasse.collin@tukaani.org> 8082Date: 2023-10-09 18:13:08 +0300 8083 8084 Simplify detection of Capsicum support. 8085 8086 This removes support for FreeBSD 10.0 and 10.1 which used 8087 <sys/capability.h> instead of <sys/capsicum.h>. Support for 8088 FreeBSD 10.1 ended on 2016-12-31. So now FreeBSD >= 10.2 is 8089 required to enable Capsicum support. 8090 8091 This also removes support for Capsicum on Linux (libcaprights) 8092 which seems to have been unmaintained since 2017 and Linux 4.11: 8093 https://github.com/google/capsicum-linux 8094 8095 configure.ac | 4 +-- 8096 m4/ax_check_capsicum.m4 | 85 ------------------------------------------------- 8097 src/xz/Makefile.am | 2 +- 8098 src/xz/file_io.c | 14 +++----- 8099 src/xz/private.h | 2 +- 8100 5 files changed, 9 insertions(+), 98 deletions(-) 8101 8102commit c57858b60e186d020b2dbaf7aabd9b32c71da824 8103Author: Lasse Collin <lasse.collin@tukaani.org> 8104Date: 2023-09-25 01:46:36 +0300 8105 8106 xz/Windows: Allow clock_gettime with POSIX threads. 8107 8108 If winpthreads are used for threading, it's OK to use clock_gettime() 8109 from winpthreads too. 8110 8111 src/xz/mytime.c | 9 ++++++--- 8112 1 file changed, 6 insertions(+), 3 deletions(-) 8113 8114commit dd32f628bb5541ef4e8ce66966ef456a1934084c 8115Author: Lasse Collin <lasse.collin@tukaani.org> 8116Date: 2023-09-25 01:39:26 +0300 8117 8118 mythread.h: Make MYTHREAD_POSIX compatible with MinGW-w64's winpthreads. 8119 8120 This might be almost useless but it doesn't need much extra code either. 8121 8122 src/common/mythread.h | 23 ++++++++++++++++++++++- 8123 1 file changed, 22 insertions(+), 1 deletion(-) 8124 8125commit 680e52cdd086e92691d8a0bca2c98815565f60ca 8126Author: Lasse Collin <lasse.collin@tukaani.org> 8127Date: 2023-09-23 03:06:36 +0300 8128 8129 CMake: Check for clock_gettime() even on Windows. 8130 8131 This mirrors configure.ac although currently MinGW-w64 builds 8132 don't use clock_gettime() even if it is found. 8133 8134 CMakeLists.txt | 44 +++++++++++++++++++++----------------------- 8135 1 file changed, 21 insertions(+), 23 deletions(-) 8136 8137commit 1c1a8c3ee4dad0064dbe63b8dbc4ac4bc679f419 8138Author: Lasse Collin <lasse.collin@tukaani.org> 8139Date: 2023-09-23 03:23:32 +0300 8140 8141 Build: Check for clock_gettime() even if not using POSIX threads. 8142 8143 See the new comment in the code. 8144 8145 This also makes the check for clock_gettime() run with MinGW-w64 8146 with which we don't want to use clock_gettime(). The previous 8147 commit already took care of this situation. 8148 8149 configure.ac | 31 ++++++++++++++++++------------- 8150 1 file changed, 18 insertions(+), 13 deletions(-) 8151 8152commit 46fd991cd2808ef62554853864c946232e7547f0 8153Author: Lasse Collin <lasse.collin@tukaani.org> 8154Date: 2023-09-24 22:58:53 +0300 8155 8156 xz/Windows: Ensure that clock_gettime() isn't used with MinGW-w64. 8157 8158 This commit alone doesn't change anything in the real-world: 8159 8160 - configure.ac currently checks for clock_gettime() only 8161 when using pthreads. 8162 8163 - CMakeLists.txt doesn't check for clock_gettime() on Windows. 8164 8165 So clock_gettime() wasn't used with MinGW-w64 before either. 8166 8167 clock_gettime() provides monotonic time and it's better than 8168 gettimeofday() in this sense. But clock_gettime() is defined 8169 in winpthreads, and liblzma or xz needs nothing else from 8170 winpthreads. By avoiding clock_gettime(), we avoid the dependency on 8171 libwinpthread-1.dll or the need to link against the static version. 8172 8173 As a bonus, GetTickCount64() and MinGW-w64's gettimeofday() can be 8174 faster than clock_gettime(CLOCK_MONOTONIC, &tv). The resolution 8175 is more than good enough for the progress indicator in xz. 8176 8177 src/xz/mytime.c | 9 +++++++-- 8178 1 file changed, 7 insertions(+), 2 deletions(-) 8179 8180commit cdb4d91f2464b50c985ef7b9517314ea237ddda7 8181Author: Lasse Collin <lasse.collin@tukaani.org> 8182Date: 2023-09-24 00:21:22 +0300 8183 8184 xz/Windows: Use GetTickCount64() with MinGW-w64 if using Vista threads. 8185 8186 src/xz/mytime.c | 14 +++++++++++--- 8187 1 file changed, 11 insertions(+), 3 deletions(-) 8188 8189commit 988e09f27b9b04a43d45d10f92782e0092ee27a9 8190Author: Jia Tan <jiat0218@gmail.com> 8191Date: 2023-10-20 19:17:46 +0800 8192 8193 liblzma: Move is_clmul_supported() back to crc_common.h. 8194 8195 This partially reverts creating crc_clmul.c 8196 (8c0f9376f58c0696d5d6719705164d35542dd891) where is_clmul_supported() 8197 was moved, extern'ed, and renamed to lzma_is_clmul_supported(). This 8198 caused a problem when the function call to lzma_is_clmul_supported() 8199 results in a call through the PLT. ifunc resolvers run very early in 8200 the dynamic loading sequence, so the PLT may not be setup properly at 8201 this point. Whether the PLT is used or not for 8202 lzma_is_clmul_supported() depened upon the compiler-toolchain used and 8203 flags. 8204 8205 In liblzma compiled with GCC, for instance, GCC will go through the PLT 8206 for function calls internal to liblzma if the version scripts and 8207 symbol visibility hiding are not used. If lazy-binding is disabled, 8208 then it would have made any program linked with liblzma fail during 8209 dynamic loading in the ifunc resolver. 8210 8211 src/liblzma/check/crc32_fast.c | 2 +- 8212 src/liblzma/check/crc64_fast.c | 2 +- 8213 src/liblzma/check/crc_clmul.c | 45 ------------------------------------ 8214 src/liblzma/check/crc_common.h | 52 +++++++++++++++++++++++++++++++++++++++--- 8215 4 files changed, 51 insertions(+), 50 deletions(-) 8216 8217commit 105c7ca90d4152942e0798580a37f736d02faa22 8218Author: Jia Tan <jiat0218@gmail.com> 8219Date: 2023-10-19 16:23:32 +0800 8220 8221 Build: Remove check for COND_CHECK_CRC32 in check/Makefile.inc. 8222 8223 Currently crc32 is always enabled, so COND_CHECK_CRC32 must always be 8224 set. Because of this, it makes the recent change to conditionally 8225 compile check/crc_clmul.c appear wrong since that file has CLMUL 8226 implementations for both CRC32 and CRC64. 8227 8228 src/liblzma/check/Makefile.inc | 4 ++-- 8229 1 file changed, 2 insertions(+), 2 deletions(-) 8230 8231commit 139757170468f0f1fafdf0a8ffa74363d1ea1d0c 8232Author: Jia Tan <jiat0218@gmail.com> 8233Date: 2023-10-19 16:09:01 +0800 8234 8235 CMake: Add ALLOW_CLMUL_CRC option to enable/disable CLMUL. 8236 8237 The option is enabled by default, but will only be visible to a user 8238 listing cache variables or using a CMake GUI application if the 8239 immintrin.h header file is found. 8240 8241 This mirrors our Autotools build --disable-clmul-crc functionality. 8242 8243 CMakeLists.txt | 44 +++++++++++++++++++++++++------------------- 8244 1 file changed, 25 insertions(+), 19 deletions(-) 8245 8246commit c60b25569d414bb73b705977a4dd342f8f9f1965 8247Author: Jia Tan <jiat0218@gmail.com> 8248Date: 2023-10-19 00:22:50 +0800 8249 8250 liblzma: Fix -fsanitize=address failure with crc_clmul functions. 8251 8252 After forcing crc_simd_body() to always be inlined it caused 8253 -fsanitize=address to fail for lzma_crc32_clmul() and 8254 lzma_crc64_clmul(). The __no_sanitize_address__ attribute was added 8255 to lzma_crc32_clmul() and lzma_crc64_clmul(), but not removed from 8256 crc_simd_body(). ASAN and inline functions behavior has changed over 8257 the years for GCC specifically, so while strictly required we will 8258 keep __attribute__((__no_sanitize_address__)) on crc_simd_body() in 8259 case this becomes a requirement in the future. 8260 8261 Older GCC versions refuse to inline a function with ASAN if the 8262 caller and callee do not agree on sanitization flags 8263 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89124#c3). If the 8264 function was forced to be inlined, it will not compile if the callee 8265 function has __no_sanitize_address__ but the caller doesn't. 8266 8267 src/liblzma/check/crc_clmul.c | 6 ++++++ 8268 1 file changed, 6 insertions(+) 8269 8270commit 9a78971261bc67622cbd7dae02f6966968ac1393 8271Author: Lasse Collin <lasse.collin@tukaani.org> 8272Date: 2023-10-14 20:16:13 +0300 8273 8274 tuklib_integer: Update the CMake test for fast unaligned access. 8275 8276 cmake/tuklib_integer.cmake | 69 ++++++++++++++++++++++++++++++++++++---------- 8277 1 file changed, 54 insertions(+), 15 deletions(-) 8278 8279commit 2f81ac852bc5aafc91c8e2adc66b5114761703c4 8280Author: Lasse Collin <lasse.collin@tukaani.org> 8281Date: 2023-09-23 23:28:48 +0300 8282 8283 Build: Enabled unaligned access by default on PowerPC64LE and some RISC-V. 8284 8285 PowerPC64LE wasn't tested but it seems like a safe change. 8286 POWER8 supports unaligned access in little endian mode. Testing 8287 on godbolt.org shows that GCC uses unaligned access by default. 8288 8289 The RISC-V macro __riscv_misaligned_fast is very new and not 8290 in any stable compiler release yet. 8291 8292 Documentation in INSTALL was updated to match. 8293 8294 Documentation about an autodetection bug when using ARM64 GCC 8295 with -mstrict-align was added to INSTALL. 8296 8297 CMake files weren't updated yet. 8298 8299 INSTALL | 39 +++++++++++++++++++++++++++++++++++++-- 8300 m4/tuklib_integer.m4 | 34 +++++++++++++++++++++++++++------- 8301 2 files changed, 64 insertions(+), 9 deletions(-) 8302 8303commit c8f715f1bca4c30db814fcf1fd2fe88b8992ede2 8304Author: Lasse Collin <lasse.collin@tukaani.org> 8305Date: 2023-10-14 17:56:59 +0300 8306 8307 tuklib_integer: Revise unaligned reads and writes on strict-align archs. 8308 8309 In XZ Utils context this doesn't matter much because 8310 unaligned reads and writes aren't used in hot code 8311 when TUKLIB_FAST_UNALIGNED_ACCESS isn't #defined. 8312 8313 src/common/tuklib_integer.h | 256 ++++++++++++++++++++++++++++++++------------ 8314 1 file changed, 189 insertions(+), 67 deletions(-) 8315 8316commit 6828242735cbf61b93d140383336e1e51a006f2d 8317Author: Lasse Collin <lasse.collin@tukaani.org> 8318Date: 2023-09-23 02:21:49 +0300 8319 8320 tuklib_integer: Add missing write64be and write64le fallback functions. 8321 8322 src/common/tuklib_integer.h | 34 ++++++++++++++++++++++++++++++++++ 8323 1 file changed, 34 insertions(+) 8324 8325commit 1c8884f0af28b3a4690bb573cdf3240a8ec73416 8326Author: Jia Tan <jiat0218@gmail.com> 8327Date: 2023-10-18 19:57:10 +0800 8328 8329 liblzma: Set the MSVC optimization fix to only cover lzma_crc64_clmul(). 8330 8331 After testing a 32-bit Release build on MSVC, only lzma_crc64_clmul() 8332 has the bug. crc_simd_body() and lzma_crc32_clmul() do not need the 8333 optimizations disabled. 8334 8335 src/liblzma/check/crc_clmul.c | 30 +++++++++++++++--------------- 8336 1 file changed, 15 insertions(+), 15 deletions(-) 8337 8338commit 5ce0f7a48bdf5c3b45430850a4487307afac6143 8339Author: Lasse Collin <lasse.collin@tukaani.org> 8340Date: 2023-10-18 14:30:00 +0300 8341 8342 liblzma: CRC_USE_GENERIC_FOR_SMALL_INPUTS cannot be used with ifunc. 8343 8344 src/liblzma/check/crc_common.h | 4 +++- 8345 1 file changed, 3 insertions(+), 1 deletion(-) 8346 8347commit 27735380491bb5ce0d0f41d5244d89c1d0825f6b 8348Author: Lasse Collin <lasse.collin@tukaani.org> 8349Date: 2023-10-17 21:53:11 +0300 8350 8351 liblzma: Include common.h in crc_common.h. 8352 8353 crc_common.h depends on common.h. The headers include common.h except 8354 when there is a reason to not do so. 8355 8356 src/liblzma/check/crc_clmul.c | 1 - 8357 src/liblzma/check/crc_common.h | 3 +++ 8358 2 files changed, 3 insertions(+), 1 deletion(-) 8359 8360commit e13b7947b92355c334edd594295d3a2c99c4bca1 8361Author: Jia Tan <jiat0218@gmail.com> 8362Date: 2023-10-18 01:23:26 +0800 8363 8364 liblzma: Add include guards to crc_common.h. 8365 8366 src/liblzma/check/crc_common.h | 5 +++++ 8367 1 file changed, 5 insertions(+) 8368 8369commit 40abd88afcc61a8157fcd12d78d491caeb8e12be 8370Author: Jia Tan <jiat0218@gmail.com> 8371Date: 2023-10-18 22:50:25 +0800 8372 8373 liblzma: Add the crc_always_inline macro to crc_simd_body(). 8374 8375 Forcing this to be inline has a significant speed improvement at the 8376 cost of a few repeated instructions. The compilers tested on did not 8377 inline this function since it is large and is used twice in the same 8378 translation unit. 8379 8380 src/liblzma/check/crc_clmul.c | 2 +- 8381 1 file changed, 1 insertion(+), 1 deletion(-) 8382 8383commit a5966c276bd6fa975f0389f8a8dc61393de750b0 8384Author: Jia Tan <jiat0218@gmail.com> 8385Date: 2023-10-18 22:48:19 +0800 8386 8387 liblzma: Create crc_always_inline macro. 8388 8389 This macro must be used instead of the inline keyword. On MSVC, it is 8390 a replacement for __forceinline which is an MSVC specific keyword that 8391 should not be used with inline (it will issue a warning if it is). 8392 8393 It does not use a build system check to determine if 8394 __attribute__((__always_inline__)) since all compilers that can use 8395 CLMUL extensions (except the special case for MSVC) should support this 8396 attribute. If this assumption is incorrect then it will result in a bug 8397 report instead of silently producing slow code. 8398 8399 src/liblzma/check/crc_common.h | 15 +++++++++++++++ 8400 1 file changed, 15 insertions(+) 8401 8402commit 96b663f67c0e738a99ba8f35d9f4ced9add74544 8403Author: Jia Tan <jiat0218@gmail.com> 8404Date: 2023-10-14 13:23:23 +0800 8405 8406 liblzma: Refactor CRC comments. 8407 8408 A detailed description of the three dispatch methods was added. Also, 8409 duplicated comments now only appear in crc32_fast.c or were removed from 8410 both crc32_fast.c and crc64_fast.c if they appeared in crc_clmul.c. 8411 8412 src/liblzma/check/crc32_fast.c | 64 +++++++++++++++++++++++++++++------------- 8413 src/liblzma/check/crc64_fast.c | 61 ++++++---------------------------------- 8414 2 files changed, 53 insertions(+), 72 deletions(-) 8415 8416commit 8c0f9376f58c0696d5d6719705164d35542dd891 8417Author: Jia Tan <jiat0218@gmail.com> 8418Date: 2023-10-14 12:17:57 +0800 8419 8420 liblzma: Create crc_clmul.c. 8421 8422 Both crc32_clmul() and crc64_clmul() are now exported from 8423 crc32_clmul.c as lzma_crc32_clmul() and lzma_crc64_clmul(). This 8424 ensures that is_clmul_supported() (now lzma_is_clmul_supported()) is 8425 not duplicated between crc32_fast.c and crc64_fast.c. 8426 8427 Also, it encapsulates the complexity of the CLMUL implementations into a 8428 single file and reduces the complexity of crc32_fast.c and crc64_fast.c. 8429 Before, CLMUL code was present in crc32_fast.c, crc64_fast.c, and 8430 crc_common.h. 8431 8432 During the conversion, various cleanups were applied to code (thanks to 8433 Lasse Collin) including: 8434 8435 - Require using semicolons with MASK_/L/H/LH macros. 8436 - Variable typing and const handling improvements. 8437 - Improvements to comments. 8438 - Fixes to the pragmas used. 8439 - Removed unneeded variables. 8440 - Whitespace improvements. 8441 - Fixed CRC_USE_GENERIC_FOR_SMALL_INPUTS handling. 8442 - Silenced warnings and removed the need for some #pragmas 8443 8444 CMakeLists.txt | 6 +- 8445 configure.ac | 6 +- 8446 src/liblzma/check/Makefile.inc | 3 + 8447 src/liblzma/check/crc32_fast.c | 120 +----------- 8448 src/liblzma/check/crc64_fast.c | 128 +------------ 8449 src/liblzma/check/crc_clmul.c | 414 +++++++++++++++++++++++++++++++++++++++++ 8450 src/liblzma/check/crc_common.h | 190 +------------------ 8451 7 files changed, 444 insertions(+), 423 deletions(-) 8452 8453commit a3ebc2c516b09616638060806c841bd4bcf7bce3 8454Author: Jia Tan <jiat0218@gmail.com> 8455Date: 2023-10-14 10:23:03 +0800 8456 8457 liblzma: Define CRC_USE_IFUNC in crc_common.h. 8458 8459 When ifunc is supported, we can define a simpler macro instead of 8460 repeating the more complex check in both crc32_fast.c and crc64_fast.c. 8461 8462 src/liblzma/check/crc32_fast.c | 3 +-- 8463 src/liblzma/check/crc64_fast.c | 3 +-- 8464 src/liblzma/check/crc_common.h | 5 +++++ 8465 3 files changed, 7 insertions(+), 4 deletions(-) 8466 8467commit f1cd9d7194f005cd66ec03c6635ceae75f90ef17 8468Author: Hans Jansen <hansjansen162@outlook.com> 8469Date: 2023-10-12 19:37:01 +0200 8470 8471 liblzma: Added crc32_clmul to crc32_fast.c. 8472 8473 src/liblzma/check/crc32_fast.c | 247 ++++++++++++++++++++++++++++++++++++++-- 8474 src/liblzma/check/crc32_table.c | 19 +++- 8475 2 files changed, 255 insertions(+), 11 deletions(-) 8476 8477commit 93e6fb08b22c7c13be2dd1e7274fe78413436254 8478Author: Hans Jansen <hansjansen162@outlook.com> 8479Date: 2023-10-12 19:23:40 +0200 8480 8481 liblzma: Moved CLMUL CRC logic to crc_common.h. 8482 8483 crc64_fast.c was updated to use the code from crc_common.h instead. 8484 8485 src/liblzma/check/crc64_fast.c | 257 ++--------------------------------------- 8486 src/liblzma/check/crc_common.h | 230 +++++++++++++++++++++++++++++++++++- 8487 2 files changed, 240 insertions(+), 247 deletions(-) 8488 8489commit 233885a437f8b55a5c8442984ebc0aaa579e92de 8490Author: Hans Jansen <hansjansen162@outlook.com> 8491Date: 2023-10-12 19:07:50 +0200 8492 8493 liblzma: Rename crc_macros.h to crc_common.h. 8494 8495 CMakeLists.txt | 2 +- 8496 src/liblzma/check/Makefile.inc | 2 +- 8497 src/liblzma/check/crc32_fast.c | 2 +- 8498 src/liblzma/check/crc64_fast.c | 2 +- 8499 src/liblzma/check/{crc_macros.h => crc_common.h} | 2 +- 8500 5 files changed, 5 insertions(+), 5 deletions(-) 8501 8502commit 37947d4a7565b87e4cec8b89229d35b0a3f8d2cd 8503Author: Gabriela Gutierrez <gabigutierrez@google.com> 8504Date: 2023-09-26 15:55:13 +0000 8505 8506 CI: Bump and ref actions by commit SHA in windows-ci.yml 8507 8508 Referencing actions by commit SHA in GitHub workflows guarantees you are using an immutable version. Actions referenced by tags and branches are more vulnerable to attacks, such as the tag being moved to a malicious commit or a malicious commit being pushed to the branch. 8509 8510 It's important to make sure the SHA's are from the original repositories and not forks. 8511 8512 For reference: 8513 8514 https://github.com/msys2/setup-msys2/releases/tag/v2.20.1 8515 https://github.com/msys2/setup-msys2/commit/27b3aa77f672cb6b3054121cfd80c3d22ceebb1d 8516 8517 https://github.com/actions/checkout/releases/tag/v4.1.0 8518 https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608 8519 8520 https://github.com/actions/upload-artifact/releases/tag/v3.1.3 8521 https://github.com/actions/upload-artifact/commit/a8a3f3ad30e3422c9c7b888a15615d19a852ae32 8522 8523 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 8524 8525 .github/workflows/windows-ci.yml | 6 +++--- 8526 1 file changed, 3 insertions(+), 3 deletions(-) 8527 8528commit f28cc9bd481ce493da11f98c18526d324211599a 8529Author: Gabriela Gutierrez <gabigutierrez@google.com> 8530Date: 2023-09-26 14:35:08 +0000 8531 8532 CI: Bump and ref actions by commit SHA in ci.yml 8533 8534 Referencing actions by commit SHA in GitHub workflows guarantees you are using an immutable version. Actions referenced by tags and branches are more vulnerable to attacks, such as the tag being moved to a malicious commit or a malicious commit being pushed to the branch. 8535 8536 It's important to make sure the SHA's are from the original repositories and not forks. 8537 8538 For reference: 8539 8540 https://github.com/actions/checkout/releases/tag/v4.1.0 8541 https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608 8542 8543 https://github.com/actions/upload-artifact/releases/tag/v3.1.3 8544 https://github.com/actions/upload-artifact/commit/a8a3f3ad30e3422c9c7b888a15615d19a852ae32 8545 8546 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 8547 8548 .github/workflows/ci.yml | 4 ++-- 8549 1 file changed, 2 insertions(+), 2 deletions(-) 8550 8551commit f74f1740067b75042497edbfa6ea457ff75484b9 8552Author: Jia Tan <jiat0218@gmail.com> 8553Date: 2023-10-12 20:12:18 +0800 8554 8555 Build: Update visibility.m4 from Gnulib. 8556 8557 Updating from version 6 -> 8 from upstream. Declarations for variables 8558 and function bodies were added to avoid unnecessary failures with 8559 -Werror. 8560 8561 m4/visibility.m4 | 9 +++++++-- 8562 1 file changed, 7 insertions(+), 2 deletions(-) 8563 8564commit 5c4bca521e6fb435898a0012b3276eee70a6dadf 8565Author: Lasse Collin <lasse.collin@tukaani.org> 8566Date: 2023-10-06 19:36:35 +0300 8567 8568 Update THANKS. 8569 8570 THANKS | 1 + 8571 1 file changed, 1 insertion(+) 8572 8573commit d91cb6e884c73d0b05d7e7d68ad4e6eb29f4b44b 8574Author: Lasse Collin <lasse.collin@tukaani.org> 8575Date: 2023-10-06 18:55:57 +0300 8576 8577 CMake/Windows: Fix when the windres workaround is applied. 8578 8579 CMake doesn't set WIN32 on CYGWIN but the workaround is 8580 probably needed on Cygwin too. Same for MSYS and MSYS2. 8581 8582 The workaround must not be used with Clang that is acting in 8583 MSVC mode. This fixes it by checking for the known environments 8584 that need the workaround instead of using "NOT MSVC". 8585 8586 Thanks to Martin Storsjö. 8587 https://github.com/tukaani-project/xz/commit/0570308ddd9c0e39e85597ebc0e31d4fc81d436f#commitcomment-129098431 8588 8589 CMakeLists.txt | 6 +++--- 8590 1 file changed, 3 insertions(+), 3 deletions(-) 8591 8592commit 01e34aa1171b04f8b28960b1cc6135a903e0c13d 8593Author: Jia Tan <jiat0218@gmail.com> 8594Date: 2023-09-29 22:11:54 +0800 8595 8596 CI: Disable CLANG64 MSYS2 environment until bug is resolved. 8597 8598 lld 17.0.1 searches for libraries to link first in the toolchain 8599 directories before the local directory when building. The is a problem 8600 for us because liblzma.a is installed in MSYS2 CLANG64 by default and 8601 xz.exe will thus use the installed library instead of the one being 8602 built. 8603 8604 This causes tests to fail when they are expecting features to be 8605 disabled. More importantly, it will compile xz.exe with an incorrect 8606 liblzma and could cause unexpected behavior by being unable to update 8607 liblzma code in static builds. The CLANG64 environment can be tested 8608 again once this is fixed. 8609 8610 Link to bug: https://github.com/llvm/llvm-project/issues/67779. 8611 8612 .github/workflows/windows-ci.yml | 8 +++++--- 8613 1 file changed, 5 insertions(+), 3 deletions(-) 8614 8615commit 30d0c35327f3639cb11224872aa58fdbf0b1526e 8616Author: Jia Tan <jiat0218@gmail.com> 8617Date: 2023-09-29 20:14:39 +0800 8618 8619 CMake: Rename xz and man page symlink custom targets. 8620 8621 The Ninja Generator for CMake cannot have a custom target and its 8622 BYPRODUCTS have the same name. This has prevented Ninja builds on 8623 Unix-like systems since the xz symlinks were introduced in 8624 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 8625 8626 CMakeLists.txt | 6 +++--- 8627 1 file changed, 3 insertions(+), 3 deletions(-) 8628 8629commit 506d03127a8565442b028ec991e1578124fd3025 8630Author: Jia Tan <jiat0218@gmail.com> 8631Date: 2023-09-29 19:58:44 +0800 8632 8633 CMake: Specify LINKER_LANGUAGE for libgnu target to fix Ninja Generator. 8634 8635 CMake is unable to guess the linker language for just a header file so 8636 it must be explicitly set. 8637 8638 CMakeLists.txt | 6 ++++++ 8639 1 file changed, 6 insertions(+) 8640 8641commit 0570308ddd9c0e39e85597ebc0e31d4fc81d436f 8642Author: Lasse Collin <lasse.collin@tukaani.org> 8643Date: 2023-09-27 19:54:35 +0300 8644 8645 CMake: Fix Windows build with Clang/LLVM 17. 8646 8647 llvm-windres 17.0.0 has more accurate emulation of GNU windres, so 8648 the hack for GNU windres must now be used with llvm-windres too. 8649 8650 LLVM 16.0.6 has the old behavior and there likely won't be more 8651 16.x releases. So we can simply check for >= 17.0.0. 8652 8653 See also: 8654 https://github.com/llvm/llvm-project/commit/2bcc0fdc58a220cb9921b47ec8a32c85f2511a47 8655 8656 CMakeLists.txt | 26 ++++++++++++++------------ 8657 1 file changed, 14 insertions(+), 12 deletions(-) 8658 8659commit 5a9af95f85a7e5d4f9c10cb8cf737651a921f1d1 8660Author: Lasse Collin <lasse.collin@tukaani.org> 8661Date: 2023-09-26 21:47:13 +0300 8662 8663 liblzma: Update a comment. 8664 8665 The C standards don't allow an empty translation unit which can be 8666 avoided by declaring something, without exporting any symbols. 8667 8668 When I committed f644473a211394447824ea00518d0a214ff3f7f2 I had 8669 a feeling that some specific toolchain somewhere didn't like 8670 empty object files (assembler or maybe "ar" complained) but 8671 I cannot find anything to confirm this now. Quite likely I 8672 remembered nonsense. I leave this here as a note to my future self. :-) 8673 8674 src/liblzma/check/crc64_table.c | 3 +-- 8675 1 file changed, 1 insertion(+), 2 deletions(-) 8676 8677commit 8ebaf3f665ddc7e4f19c613005050dde5ccbe499 8678Author: Jia Tan <jiat0218@gmail.com> 8679Date: 2023-09-27 00:02:11 +0800 8680 8681 liblzma: Avoid compiler warning without creating extra symbol. 8682 8683 When the generic fast crc64 method is used, then we omit 8684 lzma_crc64_table[][]. Similar to 8685 d9166b52cf3458a4da3eb92224837ca8fc208d79, we can avoid compiler warnings 8686 with -Wempty-translation-unit (Clang) or -pedantic (GCC) by creating a 8687 never used typedef instead of an extra symbol. 8688 8689 src/liblzma/check/crc64_table.c | 3 +-- 8690 1 file changed, 1 insertion(+), 2 deletions(-) 8691 8692commit 092d21db2e5eea19fe079264ce48c178989c7606 8693Author: Lasse Collin <lasse.collin@tukaani.org> 8694Date: 2023-09-26 17:24:15 +0300 8695 8696 Build: Update the comment about -Werror usage in checks. 8697 8698 configure.ac | 10 ++++++++-- 8699 1 file changed, 8 insertions(+), 2 deletions(-) 8700 8701commit a37a2763383e6c204fe878e1416dd35e7711d3a9 8702Author: Lasse Collin <lasse.collin@tukaani.org> 8703Date: 2023-09-26 15:00:43 +0300 8704 8705 Build: Fix __attribute__((ifunc(...))) detection with clang -Wall. 8706 8707 Now if user-supplied CFLAGS contains -Wall -Wextra -Wpedantic 8708 the two checks that need -Werror will still work. 8709 8710 At CMake side there is add_compile_options(-Wall -Wextra) 8711 but it didn't affect the -Werror tests. So with both Autotools 8712 and CMake only user-supplied CFLAGS could make the checks fail 8713 when they shouldn't. 8714 8715 This is not a full fix as things like -Wunused-macros in 8716 user-supplied CFLAGS will still cause problems with both 8717 GCC and Clang. 8718 8719 CMakeLists.txt | 8 ++++++++ 8720 configure.ac | 8 ++++++++ 8721 2 files changed, 16 insertions(+) 8722 8723commit 9c42f936939b813f25d0ff4e99c3eb9c2d17a0d2 8724Author: Lasse Collin <lasse.collin@tukaani.org> 8725Date: 2023-09-26 13:51:31 +0300 8726 8727 Build: Fix underquoted AC_LANG_SOURCE. 8728 8729 It made no practical difference in this case. 8730 8731 configure.ac | 2 +- 8732 1 file changed, 1 insertion(+), 1 deletion(-) 8733 8734commit 9f1444a8a5c0e724b2c7ef83424f642f07a95982 8735Author: Lasse Collin <lasse.collin@tukaani.org> 8736Date: 2023-09-26 13:14:37 +0300 8737 8738 Build: Silence two Autoconf warnings. 8739 8740 There were two uses of AC_COMPILE_IFELSE that didn't use 8741 AC_LANG_SOURCE and Autoconf warned about these. The omission 8742 had been intentional but it turned out that this didn't do 8743 what I thought it would. 8744 8745 Autoconf 2.71 manual gives an impression that AC_LANG_SOURCE 8746 inserts all #defines that have been made with AC_DEFINE so 8747 far (confdefs.h). The idea was that omitting AC_LANG_SOURCE 8748 would mean that only the exact code included in the 8749 AC_COMPILE_IFELSE call would be compiled. 8750 8751 With C programs this is not true: the #defines get added without 8752 AC_LANG_SOURCE too. There seems to be no neat way to avoid this. 8753 Thus, with the C language at least, adding AC_LANG_SOURCE makes 8754 no other difference than silencing a warning from Autoconf. The 8755 generated "configure" remains identical. (Docs of AC_LANG_CONFTEST 8756 say that the #defines have been inserted since Autoconf 2.63b and 8757 that AC_COMPILE_IFELSE uses AC_LANG_CONFTEST. So the behavior is 8758 documented if one also reads the docs of macros that one isn't 8759 calling directly.) 8760 8761 Any extra code, including #defines, can cause problems for 8762 these two tests because these tests must use -Werror. 8763 CC=clang CFLAGS=-Weverything is the most extreme example. 8764 It enables -Wreserved-macro-identifier which warns about 8765 #define __EXTENSIONS__ 1 because it begins with two underscores. 8766 It's possible to write a test file that passes -Weverything but 8767 it becomes impossible when Autoconf inserts confdefs.h. 8768 8769 So this commit adds AC_LANG_SOURCE to silence Autoconf warnings. 8770 A different solution is needed for -Werror tests. 8771 8772 configure.ac | 9 ++++----- 8773 1 file changed, 4 insertions(+), 5 deletions(-) 8774 8775commit 519e47c2818acde571fadc79551294527fe6cc22 8776Author: Jia Tan <jiat0218@gmail.com> 8777Date: 2023-09-26 01:17:11 +0800 8778 8779 CMake: Remove accidental extra newline. 8780 8781 CMakeLists.txt | 1 - 8782 1 file changed, 1 deletion(-) 8783 8784commit bbb42412da6a02705ba3e668e90840c2683e4e67 8785Author: Jia Tan <jiat0218@gmail.com> 8786Date: 2023-09-26 00:47:26 +0800 8787 8788 Build: Remove Gnulib dependency from tests. 8789 8790 The tests do not use any Gnulib replacements so they do not need to link 8791 libgnu.a or have /lib in the include path. 8792 8793 tests/Makefile.am | 7 +------ 8794 1 file changed, 1 insertion(+), 6 deletions(-) 8795 8796commit d265f6b75691c6c8fa876eb5320c3ff5aed17dfa 8797Author: Jia Tan <jiat0218@gmail.com> 8798Date: 2023-09-26 00:43:43 +0800 8799 8800 CMake: Remove /lib from tests include path. 8801 8802 The tests never included anything from /lib, so this was not needed. 8803 8804 CMakeLists.txt | 1 - 8805 1 file changed, 1 deletion(-) 8806 8807commit 9fb5de41f2fb654ca952d4bda15cf3777c2b720f 8808Author: Jia Tan <jiat0218@gmail.com> 8809Date: 2023-09-24 22:10:41 +0800 8810 8811 Scripts: Change quoting style from `...' to '...'. 8812 8813 src/scripts/xzdiff.in | 2 +- 8814 src/scripts/xzgrep.in | 2 +- 8815 2 files changed, 2 insertions(+), 2 deletions(-) 8816 8817commit eaebdef4d4de3c088b0905f42626b74e0d23abf3 8818Author: Jia Tan <jiat0218@gmail.com> 8819Date: 2023-09-24 22:10:18 +0800 8820 8821 xz: Change quoting style from `...' to '...'. 8822 8823 src/xz/args.c | 6 +++--- 8824 src/xz/file_io.c | 2 +- 8825 src/xz/main.c | 4 ++-- 8826 src/xz/message.c | 14 +++++++------- 8827 src/xz/options.c | 2 +- 8828 src/xz/suffix.c | 2 +- 8829 src/xz/util.c | 6 +++--- 8830 7 files changed, 18 insertions(+), 18 deletions(-) 8831 8832commit f6667702bf075a05fbe336dbf3576ad1a82ec645 8833Author: Jia Tan <jiat0218@gmail.com> 8834Date: 2023-09-24 22:09:47 +0800 8835 8836 liblzma: Change quoting style from `...' to '...'. 8837 8838 This was done for both internal and API headers. 8839 8840 src/liblzma/api/lzma/base.h | 18 +++++++++--------- 8841 src/liblzma/api/lzma/container.h | 10 +++++----- 8842 src/liblzma/api/lzma/filter.h | 6 +++--- 8843 src/liblzma/api/lzma/index.h | 8 ++++---- 8844 src/liblzma/api/lzma/lzma12.h | 2 +- 8845 src/liblzma/lz/lz_encoder.h | 2 +- 8846 src/liblzma/rangecoder/range_decoder.h | 2 +- 8847 7 files changed, 24 insertions(+), 24 deletions(-) 8848 8849commit be012b8097a4eaee335b51357d6befa745f753ce 8850Author: Jia Tan <jiat0218@gmail.com> 8851Date: 2023-09-24 22:09:16 +0800 8852 8853 Build: Change quoting style from `...' to '...'. 8854 8855 configure.ac | 18 +++++++++--------- 8856 dos/config.h | 6 +++--- 8857 m4/getopt.m4 | 2 +- 8858 m4/tuklib_progname.m4 | 2 +- 8859 windows/build.bash | 2 +- 8860 5 files changed, 15 insertions(+), 15 deletions(-) 8861 8862commit ce162db07f03495bd333696e66883c8f36abdc1e 8863Author: Jia Tan <jiat0218@gmail.com> 8864Date: 2023-09-24 22:05:02 +0800 8865 8866 Docs: Change quoting style from `...' to '...'. 8867 8868 These days the ` and ' do not look symmetric. This quoting style has 8869 been changed in various apps over the years including the GNU tools. 8870 8871 INSTALL | 6 +++--- 8872 doc/examples/01_compress_easy.c | 2 +- 8873 doc/examples/11_file_info.c | 16 ++++++++-------- 8874 3 files changed, 12 insertions(+), 12 deletions(-) 8875 8876commit db17656721e43939bfa4ec13506e7c76f4b86da6 8877Author: Jia Tan <jiat0218@gmail.com> 8878Date: 2023-09-24 21:25:01 +0800 8879 8880 lib: Silence -Wsign-conversion in getopt.c. 8881 8882 lib/getopt.c | 6 +++--- 8883 1 file changed, 3 insertions(+), 3 deletions(-) 8884 8885commit a6234f677d66888f435010bc0b67de6a32fefcf6 8886Author: Jia Tan <jiat0218@gmail.com> 8887Date: 2023-09-24 20:48:52 +0800 8888 8889 Build: Update getopt.m4 from Gnulib. 8890 8891 This file was modified from upstream since we do not need to replace 8892 getopt() and can avoid complexity and feature tests. 8893 8894 m4/getopt.m4 | 79 ++++++++++++++++++++++++++++++------------------------------ 8895 1 file changed, 39 insertions(+), 40 deletions(-) 8896 8897commit 84808b68f1075e8603a8ef95d361a61fdc6a5b10 8898Author: Jia Tan <jiat0218@gmail.com> 8899Date: 2023-09-26 00:09:53 +0800 8900 8901 CMake: Add /lib to include path. 8902 8903 CMakeLists.txt | 5 +++++ 8904 1 file changed, 5 insertions(+) 8905 8906commit 01804a0b4b64e0f33568e947e0579263808c59d3 8907Author: Jia Tan <jiat0218@gmail.com> 8908Date: 2023-09-24 20:36:34 +0800 8909 8910 CMake: Update libgnu target with new header files. 8911 8912 CMakeLists.txt | 5 +++++ 8913 1 file changed, 5 insertions(+) 8914 8915commit d34558388fe1d8929f6478d61dc322eb4f2900af 8916Author: Jia Tan <jiat0218@gmail.com> 8917Date: 2023-09-23 00:47:52 +0800 8918 8919 lib: Update Makefile.am for new header files. 8920 8921 lib/Makefile.am | 12 +++++++++++- 8922 1 file changed, 11 insertions(+), 1 deletion(-) 8923 8924commit 52bf644bdf536e20fcc743b712cede135e05eec5 8925Author: Jia Tan <jiat0218@gmail.com> 8926Date: 2023-09-24 20:34:03 +0800 8927 8928 lib: Update getopt1.c from Gnulib. 8929 8930 The only difference was maintaining the conditional inclusion for 8931 config.h. 8932 8933 lib/getopt1.c | 56 ++++++++++++++++++++++---------------------------------- 8934 1 file changed, 22 insertions(+), 34 deletions(-) 8935 8936commit 7e884c00d0093c38339f17fb1d280eec493f42ca 8937Author: Jia Tan <jiat0218@gmail.com> 8938Date: 2023-09-23 03:27:00 +0800 8939 8940 lib: Update getopt.in.h from Gnulib with modifications. 8941 8942 We can still avoid modifying the contents of this file during 8943 configuration to simplify the build systems. Gnulib added replacements 8944 for inclusions guards for Cygwin. Cygwin should not need getopt_long 8945 replacement so this feature can be omitted. 8946 8947 <unistd.h> is conditionally included to avoid MSVC since it is not 8948 available. 8949 8950 The definition for _GL_ARG_NONNULL was also copied into this file from 8951 Gnulib since this stage is usually done during gnulib-tool. 8952 8953 lib/getopt.in.h | 228 +++++++------------------------------------------------- 8954 1 file changed, 29 insertions(+), 199 deletions(-) 8955 8956commit cff05f82066ca3ce9425dafdb086325a8eef8de3 8957Author: Jia Tan <jiat0218@gmail.com> 8958Date: 2023-09-23 00:31:55 +0800 8959 8960 lib: Update getopt_int.h from Gnulib. 8961 8962 lib/getopt_int.h | 109 ++++++++++++++++++++++++------------------------------- 8963 1 file changed, 48 insertions(+), 61 deletions(-) 8964 8965commit 04bd86a4b010d43c6a016a3857ecb38dc1d5b024 8966Author: Jia Tan <jiat0218@gmail.com> 8967Date: 2023-09-23 00:27:23 +0800 8968 8969 lib: Update getopt.c from Gnulib with modifications. 8970 8971 The code maintains the prior modifications of conditionally including 8972 config.h and disabling NLS support. 8973 8974 _GL_UNUSED is repalced with the simple cast to void trick. _GL_UNUSED 8975 is only used for these two parameters so its simpler than having to 8976 define it. 8977 8978 lib/getopt.c | 1134 +++++++++++++++++++--------------------------------------- 8979 1 file changed, 377 insertions(+), 757 deletions(-) 8980 8981commit 56b42be7287844db20b3a3bc1372c6ae8c040d63 8982Author: Jia Tan <jiat0218@gmail.com> 8983Date: 2023-09-23 00:18:56 +0800 8984 8985 lib: Add getopt-cdefs.h for getopt_long update. 8986 8987 This was modified slightly from Gnulib. In Gnulib, it expects the 8988 @HAVE_SYS_CDEFS_H@ to be replaced. Instead, we can set HAVE_SYS_CDEFS_H 8989 on systems that have it and avoid copying another file into the build 8990 directory. Since we are not using gnulib-tool, copying extra files 8991 requires extra build system updates (and special handling with CMake) so 8992 we should avoid when possible. 8993 8994 lib/getopt-cdefs.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 8995 1 file changed, 70 insertions(+) 8996 8997commit 9834e591a4cf9dc2f49e42e26bf28d1d247bc196 8998Author: Jia Tan <jiat0218@gmail.com> 8999Date: 2023-09-23 00:15:25 +0800 9000 9001 lib: Copy new header files from Gnulib without modification. 9002 9003 The getopt related files have changed from Gnulib by splitting up 9004 getopt.in.h into more modular header files. We could have kept 9005 everything in just getopt.in.h, but this will help us continue to update 9006 in the future. 9007 9008 lib/getopt-core.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 9009 lib/getopt-ext.h | 77 +++++++++++++++++++++++++++++++++++++++++ 9010 lib/getopt-pfx-core.h | 66 +++++++++++++++++++++++++++++++++++ 9011 lib/getopt-pfx-ext.h | 70 +++++++++++++++++++++++++++++++++++++ 9012 4 files changed, 309 insertions(+) 9013 9014commit 5b7a6f06e93d99d6635a740fd2e12fab66096c93 9015Author: Lasse Collin <lasse.collin@tukaani.org> 9016Date: 2023-09-22 21:16:52 +0300 9017 9018 Windows: Update the version requirement comments from Win95 to W2k. 9019 9020 windows/README-Windows.txt | 10 ++++------ 9021 windows/build.bash | 6 +++--- 9022 2 files changed, 7 insertions(+), 9 deletions(-) 9023 9024commit e582f8e0fee46e7cd967f42f465d6bb608b73bc1 9025Author: Lasse Collin <lasse.collin@tukaani.org> 9026Date: 2023-09-22 21:12:54 +0300 9027 9028 tuklib_physmem: Comment out support for Windows versions older than 2000. 9029 9030 src/common/tuklib_physmem.c | 20 +++++++++----------- 9031 1 file changed, 9 insertions(+), 11 deletions(-) 9032 9033commit 7d73d1f0e08f96c4ab7aac91b958e37a3dadf07a 9034Author: Lasse Collin <lasse.collin@tukaani.org> 9035Date: 2023-09-24 16:32:32 +0300 9036 9037 sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO. 9038 9039 src/common/sysdefs.h | 10 +++++++++- 9040 1 file changed, 9 insertions(+), 1 deletion(-) 9041 9042commit 2a9929af0ab7e6c0ab725565034afe3293e51d71 9043Author: Lasse Collin <lasse.collin@tukaani.org> 9044Date: 2023-09-22 02:33:29 +0300 9045 9046 xz: Windows: Don't (de)compress to special files like "con" or "nul". 9047 9048 Before this commit, the following writes "foo" to the 9049 console and deletes the input file: 9050 9051 echo foo | xz > con_xz 9052 xz --suffix=_xz --decompress con_xz 9053 9054 It cannot happen without --suffix because names like con.xz 9055 are also special and so attempting to decompress con.xz 9056 (or compress con to con.xz) will already fail when opening 9057 the input file. 9058 9059 Similar thing is possible when compressing. The following 9060 writes to "nul" and the input file "n" is deleted. 9061 9062 echo foo | xz > n 9063 xz --suffix=ul n 9064 9065 Now xz checks if the destination is a special file before 9066 continuing. DOS/DJGPP version had a check for this but 9067 Windows (and OS/2) didn't. 9068 9069 src/xz/file_io.c | 35 ++++++++++++++++++++++++++++------- 9070 1 file changed, 28 insertions(+), 7 deletions(-) 9071 9072commit 01311b81f03cce1c0ce847a3d556f84dbd439343 9073Author: Lasse Collin <lasse.collin@tukaani.org> 9074Date: 2023-09-21 20:42:52 +0300 9075 9076 CMake: Wrap two overlong lines that are possible to wrap. 9077 9078 CMakeLists.txt | 6 ++++-- 9079 1 file changed, 4 insertions(+), 2 deletions(-) 9080 9081commit 152d0771ddd0cffcac9042ad1a66f110d228eee2 9082Author: Lasse Collin <lasse.collin@tukaani.org> 9083Date: 2023-09-21 20:36:31 +0300 9084 9085 CMake: Add a comment about threads on Cygwin. 9086 9087 CMakeLists.txt | 1 + 9088 1 file changed, 1 insertion(+) 9089 9090commit 6df988cceffaa3100b428ed816fad334935b27bf 9091Author: Lasse Collin <lasse.collin@tukaani.org> 9092Date: 2023-09-12 23:53:25 +0300 9093 9094 MSVC: Remove Visual Studio project files and update INSTALL-MSVC.txt. 9095 9096 CMake is now the preferred build file generator when building 9097 with MSVC. 9098 9099 windows/INSTALL-MSVC.txt | 37 ++-- 9100 windows/vs2013/config.h | 157 --------------- 9101 windows/vs2013/liblzma.vcxproj | 363 --------------------------------- 9102 windows/vs2013/liblzma_dll.vcxproj | 398 ------------------------------------ 9103 windows/vs2013/xz_win.sln | 48 ----- 9104 windows/vs2017/config.h | 157 --------------- 9105 windows/vs2017/liblzma.vcxproj | 363 --------------------------------- 9106 windows/vs2017/liblzma_dll.vcxproj | 398 ------------------------------------ 9107 windows/vs2017/xz_win.sln | 48 ----- 9108 windows/vs2019/config.h | 157 --------------- 9109 windows/vs2019/liblzma.vcxproj | 364 --------------------------------- 9110 windows/vs2019/liblzma_dll.vcxproj | 399 ------------------------------------- 9111 windows/vs2019/xz_win.sln | 51 ----- 9112 13 files changed, 12 insertions(+), 2928 deletions(-) 9113 9114commit edd563daf0da1d00018684614803c77ab62efcd6 9115Author: Lasse Collin <lasse.collin@tukaani.org> 9116Date: 2023-09-21 19:17:40 +0300 9117 9118 CMake: Require VS2015 or later for building xzdec. 9119 9120 xzdec might build with VS2013 but it hasn't been tested. 9121 It was never supported before and VS2013 is old anyway 9122 so for simplicity only liblzma is supported with VS2013. 9123 9124 CMakeLists.txt | 2 +- 9125 1 file changed, 1 insertion(+), 1 deletion(-) 9126 9127commit daea64d158a7151ca6c255a0e4554c6d521cd589 9128Author: Lasse Collin <lasse.collin@tukaani.org> 9129Date: 2023-09-12 23:43:49 +0300 9130 9131 CMake: Allow building xz with Visual Studio 2015 and later. 9132 9133 Building the command line tools xz and xzdec with the combination 9134 of CMake + Visual Studio 2015/2017/2019/2022 works now. 9135 9136 VS2013 update 2 should still be able to build liblzma. 9137 VS2013 cannot build the xz command line tool because xz 9138 needs snprintf() that roughly conforms to C99. 9139 VS2013 is old and no extra code will be added to support it. 9140 9141 Thanks to Kelvin Lee and Jia Tan for testing. 9142 9143 CMakeLists.txt | 2 +- 9144 1 file changed, 1 insertion(+), 1 deletion(-) 9145 9146commit 8c2d197c940d246849b2ec48109bb22e54036927 9147Author: Lasse Collin <lasse.collin@tukaani.org> 9148Date: 2023-09-12 23:34:31 +0300 9149 9150 MSVC: #define inline and restrict only when needed. 9151 9152 This also drops the check for _WIN32 as that shouldn't be needed. 9153 9154 src/common/sysdefs.h | 13 ++++++++----- 9155 1 file changed, 8 insertions(+), 5 deletions(-) 9156 9157commit af66cd585902045e5689a0418103ec81f19f1d0a 9158Author: Lasse Collin <lasse.collin@tukaani.org> 9159Date: 2023-09-12 22:16:56 +0300 9160 9161 CMake: Add support for replacement getopt_long (lib/getopt*). 9162 9163 Thanks to Jia Tan for the initial work. I added the libgnu target 9164 and made a few related minor edits. 9165 9166 CMakeLists.txt | 54 +++++++++++++++++++++++++++++++++++++++++++++++------- 9167 1 file changed, 47 insertions(+), 7 deletions(-) 9168 9169commit e3288fdb45c580cb849f6799cf419c4922004ae5 9170Author: Lasse Collin <lasse.collin@tukaani.org> 9171Date: 2023-09-12 21:12:34 +0300 9172 9173 CMake: Bump maximum policy version to 3.27. 9174 9175 There are several new policies. CMP0149 may affect the Windows SDK 9176 version that CMake will choose by default. The new behavior is more 9177 predictable, always choosing the latest SDK version by default. 9178 9179 The other new policies shouldn't affect this package. 9180 9181 CMakeLists.txt | 2 +- 9182 1 file changed, 1 insertion(+), 1 deletion(-) 9183 9184commit aff1b479c7b168652bd20305ceed4317d5db6661 9185Author: Lasse Collin <lasse.collin@tukaani.org> 9186Date: 2023-09-12 20:55:10 +0300 9187 9188 lib/getopt*.c: Include <config.h> only HAVE_CONFIG_H is defined. 9189 9190 The CMake-based build doesn't use config.h. 9191 9192 Up-to-date getopt_long in Gnulib is LGPLv2 so at some 9193 point it could be included in XZ Utils too but for now 9194 this commit is enough to make CMake-based build possible. 9195 9196 lib/getopt.c | 4 +++- 9197 lib/getopt1.c | 4 +++- 9198 2 files changed, 6 insertions(+), 2 deletions(-) 9199 9200commit aa0cd585d2ed1455d35732798e0d90e3520e8ba5 9201Author: Lasse Collin <lasse.collin@tukaani.org> 9202Date: 2023-09-08 19:08:57 +0300 9203 9204 Doxygen: Add more C macro names to PREDEFINED. 9205 9206 doxygen/Doxyfile | 7 +++++-- 9207 1 file changed, 5 insertions(+), 2 deletions(-) 9208 9209commit ee7709bae53637e1765ce142ef102914f1423cb5 9210Author: Lasse Collin <lasse.collin@tukaani.org> 9211Date: 2023-09-11 18:47:26 +0300 9212 9213 liblzma: Move a few __attribute__ uses in function declarations. 9214 9215 The API headers have many attributes but these were left 9216 as is for now. 9217 9218 src/liblzma/common/common.c | 6 ++++-- 9219 src/liblzma/common/common.h | 8 ++++---- 9220 src/liblzma/common/memcmplen.h | 3 ++- 9221 3 files changed, 10 insertions(+), 7 deletions(-) 9222 9223commit 217958d88713b5dc73d366d24dd64b2b311b86fe 9224Author: Lasse Collin <lasse.collin@tukaani.org> 9225Date: 2023-09-11 19:03:35 +0300 9226 9227 xz, xzdec, lzmainfo: Use tuklib_attr_noreturn. 9228 9229 For compatibility with C23's [[noreturn]], tuklib_attr_noreturn 9230 must be at the beginning of declaration (before "extern" or 9231 "static", and even before any GNU C's __attribute__). 9232 9233 This commit also moves all other function attributes to 9234 the beginning of function declarations. "extern" is kept 9235 at the beginning of a line so the attributes are listed on 9236 separate lines before "extern" or "static". 9237 9238 src/lzmainfo/lzmainfo.c | 6 ++++-- 9239 src/xz/coder.c | 3 ++- 9240 src/xz/hardware.h | 3 ++- 9241 src/xz/message.h | 30 +++++++++++++++++------------- 9242 src/xz/options.c | 3 ++- 9243 src/xz/util.h | 8 ++++---- 9244 src/xzdec/xzdec.c | 9 ++++++--- 9245 7 files changed, 37 insertions(+), 25 deletions(-) 9246 9247commit 18a66fbac031c98f9c2077fc88846e4d07849197 9248Author: Lasse Collin <lasse.collin@tukaani.org> 9249Date: 2023-09-11 18:53:31 +0300 9250 9251 Remove incorrect uses of __attribute__((__malloc__)). 9252 9253 xrealloc() is obviously incorrect, modern GCC docs even 9254 mention realloc() as an example where this attribute 9255 cannot be used. 9256 9257 liblzma's lzma_alloc() and lzma_alloc_zero() would be 9258 correct uses most of the time but custom allocators 9259 may use a memory pool or otherwise hold the pointer 9260 so aliasing issues could happen in theory. 9261 9262 The xstrdup() case likely was correct but I removed it anyway. 9263 Now there are no __malloc__ attributes left in the code. 9264 The allocations aren't in hot paths so this should make 9265 no practical difference. 9266 9267 src/liblzma/common/common.c | 4 ++-- 9268 src/liblzma/common/common.h | 4 ++-- 9269 src/xz/util.h | 4 ++-- 9270 3 files changed, 6 insertions(+), 6 deletions(-) 9271 9272commit 74b0e900c92d5b222b36f474f1efa431f8e262f7 9273Author: Lasse Collin <lasse.collin@tukaani.org> 9274Date: 2023-09-08 18:41:25 +0300 9275 9276 Build: Omit -Wc99-c11-compat since it warns about _Noreturn. 9277 9278 configure.ac | 1 - 9279 1 file changed, 1 deletion(-) 9280 9281commit 90c94dddfd57b7d744bfad64c54e10d15778144b 9282Author: Lasse Collin <lasse.collin@tukaani.org> 9283Date: 2023-09-08 18:19:26 +0300 9284 9285 tuklib: Update tuklib_attr_noreturn for C11/C17 and C23. 9286 9287 This makes no difference for GCC or Clang as they support 9288 GNU C's __attribute__((__noreturn__)) but this helps with MSVC: 9289 9290 - VS 2019 version 16.7 and later support _Noreturn if the 9291 options /std:c11 or /std:c17 are used. This gets handled 9292 with the check for __STDC_VERSION__ >= 201112. 9293 9294 - When MSVC isn't in C11/C17 mode, __declspec(noreturn) is used. 9295 9296 C23 will deprecate _Noreturn (and <stdnoreturn.h>) 9297 for [[noreturn]]. This commit anticipates that but 9298 the final __STDC_VERSION__ value isn't known yet. 9299 9300 src/common/tuklib_common.h | 22 +++++++++++++++++++++- 9301 src/common/tuklib_exit.h | 4 ++-- 9302 2 files changed, 23 insertions(+), 3 deletions(-) 9303 9304commit 189f72581329ab281ad6af37f60135910cb1b146 9305Author: Lasse Collin <lasse.collin@tukaani.org> 9306Date: 2023-09-11 17:22:44 +0300 9307 9308 Update THANKS. 9309 9310 THANKS | 1 + 9311 1 file changed, 1 insertion(+) 9312 9313commit 79334e7f20f2bf9e0de095835b48868f1238f584 9314Author: Lasse Collin <lasse.collin@tukaani.org> 9315Date: 2023-09-05 22:42:10 +0300 9316 9317 MSVC: xz: Make file_io.c and file_io.h compatible with MSVC. 9318 9319 Thanks to Kelvin Lee for the original patches 9320 and testing the modifications I made. 9321 9322 src/xz/file_io.c | 26 ++++++++++++++++++++++++++ 9323 src/xz/file_io.h | 10 ++++++++++ 9324 2 files changed, 36 insertions(+) 9325 9326commit c660b8d78b7bda43b12b285550d8c70e8ccec698 9327Author: Lasse Collin <lasse.collin@tukaani.org> 9328Date: 2023-09-05 21:33:35 +0300 9329 9330 MSVC: xz: Use GetTickCount64() to implement mytime_now(). 9331 9332 It's available since Windows Vista. 9333 9334 src/xz/mytime.c | 11 +++++++++-- 9335 1 file changed, 9 insertions(+), 2 deletions(-) 9336 9337commit 5c6f892d411670e3060f4bc309402617a209e57c 9338Author: Kelvin Lee <kiyolee@gmail.com> 9339Date: 2023-09-05 15:05:09 +0300 9340 9341 MSVC: xz: Use _stricmp() instead of strcasecmp() in suffix.c. 9342 9343 src/xz/suffix.c | 10 ++++++++-- 9344 1 file changed, 8 insertions(+), 2 deletions(-) 9345 9346commit e241051f50044259d174e8b4633dd9a1c4478408 9347Author: Kelvin Lee <kiyolee@gmail.com> 9348Date: 2023-09-05 15:01:10 +0300 9349 9350 MSVC: xz: Use _isatty() from <io.h> to implement isatty(). 9351 9352 src/xz/message.c | 5 +++++ 9353 src/xz/util.c | 5 +++++ 9354 2 files changed, 10 insertions(+) 9355 9356commit d14bba8fc2be02a9fed8c9bcaaf61103451755f8 9357Author: Kelvin Lee <kiyolee@gmail.com> 9358Date: 2023-09-05 15:10:31 +0300 9359 9360 MSVC: xz: Use _fileno() instead of fileno(). 9361 9362 src/xz/private.h | 4 ++++ 9363 1 file changed, 4 insertions(+) 9364 9365commit c4edd367678e6a38c42b149856159bf417da7fe1 9366Author: Kelvin Lee <kiyolee@gmail.com> 9367Date: 2023-09-05 15:00:07 +0300 9368 9369 MSVC: xzdec: Use _fileno and _setmode. 9370 9371 src/xzdec/xzdec.c | 4 ++++ 9372 1 file changed, 4 insertions(+) 9373 9374commit cfd1054b9b539ee92524901e95d7bb5a1fe670a0 9375Author: Kelvin Lee <kiyolee@gmail.com> 9376Date: 2023-09-05 14:37:50 +0300 9377 9378 MSVC: Don't #include <unistd.h>. 9379 9380 lib/getopt.c | 4 +++- 9381 lib/getopt.in.h | 4 +++- 9382 src/xz/private.h | 5 ++++- 9383 src/xzdec/xzdec.c | 5 ++++- 9384 4 files changed, 14 insertions(+), 4 deletions(-) 9385 9386commit adef92f23563a2cc088b31ddee9040ecc96bc996 9387Author: Lasse Collin <lasse.collin@tukaani.org> 9388Date: 2023-09-19 14:03:45 +0300 9389 9390 Update THANKS. 9391 9392 THANKS | 1 + 9393 1 file changed, 1 insertion(+) 9394 9395commit 953e775941a25bfcfa353f802b13e66acb1edf2c 9396Author: Jia Tan <jiat0218@gmail.com> 9397Date: 2023-09-14 21:13:23 +0800 9398 9399 CI: Enable CLMUL in address sanitization test. 9400 9401 The crc64_clmul() function should be ignored by the address sanitizer 9402 now so these builds should still pass. 9403 9404 .github/workflows/ci.yml | 12 ++++-------- 9405 1 file changed, 4 insertions(+), 8 deletions(-) 9406 9407commit f167e79bc98f3f56af2e767b83aa81c2d2b9ed77 9408Author: Lasse Collin <lasse.collin@tukaani.org> 9409Date: 2023-09-14 16:35:46 +0300 9410 9411 Update THANKS. 9412 9413 THANKS | 1 + 9414 1 file changed, 1 insertion(+) 9415 9416commit 4f44ef86758a41a8ec814096f4cb6ee6de04c82e 9417Author: Lasse Collin <lasse.collin@tukaani.org> 9418Date: 2023-09-14 16:34:07 +0300 9419 9420 liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address__)). 9421 9422 Thanks to Agostino Sarubbo. 9423 Fixes: https://github.com/tukaani-project/xz/issues/62 9424 9425 src/liblzma/check/crc64_fast.c | 8 ++++++++ 9426 1 file changed, 8 insertions(+) 9427 9428commit 7379bb3eed428c0ae734d0cc4a1fd04359d53f08 9429Author: Jia Tan <jiat0218@gmail.com> 9430Date: 2023-09-12 22:36:12 +0800 9431 9432 CMake: Fix time.h checks not running on second CMake run. 9433 9434 If CMake was configured more than once, HAVE_CLOCK_GETTIME and 9435 HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check 9436 for librt being needed to provide HAVE_CLOCK_GETTIME was also 9437 simplified. 9438 9439 CMakeLists.txt | 18 ++++++++++-------- 9440 1 file changed, 10 insertions(+), 8 deletions(-) 9441 9442commit 5d691fe58286b92d704c0dc5cd0c4df22881c6c6 9443Author: Jia Tan <jiat0218@gmail.com> 9444Date: 2023-09-12 22:34:06 +0800 9445 9446 CMake: Fix unconditionally defining HAVE_CLOCK_MONOTONIC. 9447 9448 If HAVE_CLOCK_GETTIME was defined, then HAVE_CLOCK_MONOTONIC was always 9449 added as a compile definition even if the check for it failed. 9450 9451 CMakeLists.txt | 8 +++----- 9452 1 file changed, 3 insertions(+), 5 deletions(-) 9453 9454commit eccf12866527b8d24c7d7f92f755142be8ef9b11 9455Author: Lasse Collin <lasse.collin@tukaani.org> 9456Date: 2023-08-31 19:50:05 +0300 9457 9458 xz: Refactor thousand separator detection and disable it on MSVC. 9459 9460 Now the two variations of the format strings are created with 9461 a macro, and the whole detection code can be easily disabled 9462 on platforms where thousand separator formatting is known to 9463 not work (MSVC has no support, and on DJGPP 2.05 it can have 9464 problems in some cases). 9465 9466 src/xz/util.c | 89 ++++++++++++++++++++++++++++++----------------------------- 9467 1 file changed, 45 insertions(+), 44 deletions(-) 9468 9469commit f7093cd9d130477c234b40aeda613964171f8f21 9470Author: Lasse Collin <lasse.collin@tukaani.org> 9471Date: 2023-08-31 18:14:43 +0300 9472 9473 xz: Fix a too relaxed assertion and remove uses of SSIZE_MAX. 9474 9475 SSIZE_MAX isn't readily available on MSVC. Removing it means 9476 that there is one thing less to worry when porting to MSVC. 9477 9478 src/xz/file_io.c | 5 ++--- 9479 src/xz/file_io.h | 4 ++-- 9480 2 files changed, 4 insertions(+), 5 deletions(-) 9481 9482commit 74c3449d8b816a724b12ebce7417e00fb597309a 9483Author: Jia Tan <jiat0218@gmail.com> 9484Date: 2023-08-28 23:14:45 +0800 9485 9486 Tests: Improve invalid unpadded size check in test_lzma_index_append(). 9487 9488 This check was extended to test the code added to fix a failing assert 9489 in ae5c07b22a6b3766b84f409f1b6b5c100469068a. 9490 9491 tests/test_index.c | 26 +++++++++++++++++++++++--- 9492 1 file changed, 23 insertions(+), 3 deletions(-) 9493 9494commit 2544274a8b8a27f4ea6c457d2c4c32eb1e4cd336 9495Author: Jia Tan <jiat0218@gmail.com> 9496Date: 2023-08-28 21:54:41 +0800 9497 9498 Tests: Improve comments in test_index.c. 9499 9500 tests/test_index.c | 6 +++--- 9501 1 file changed, 3 insertions(+), 3 deletions(-) 9502 9503commit 49be29d6380b94e6fb26e511dd2cdbd9afce0f8b 9504Author: Jia Tan <jiat0218@gmail.com> 9505Date: 2023-08-28 21:52:54 +0800 9506 9507 Update THANKS. 9508 9509 THANKS | 1 + 9510 1 file changed, 1 insertion(+) 9511 9512commit 721e3d9f7a82f59f32795d5fb97e0210d1aa839a 9513Author: Jia Tan <jiat0218@gmail.com> 9514Date: 2023-08-28 21:50:16 +0800 9515 9516 liblzma: Update assert in vli_ceil4(). 9517 9518 The argument to vli_ceil4() should always guarantee the return value 9519 is also a valid lzma_vli. Thus the highest three valid lzma_vli values 9520 are invalid arguments. All uses of the function ensure this so the 9521 assert is updated to match this. 9522 9523 src/liblzma/common/index.h | 2 +- 9524 1 file changed, 1 insertion(+), 1 deletion(-) 9525 9526commit ae5c07b22a6b3766b84f409f1b6b5c100469068a 9527Author: Jia Tan <jiat0218@gmail.com> 9528Date: 2023-08-28 21:31:25 +0800 9529 9530 liblzma: Add overflow check for Unpadded size in lzma_index_append(). 9531 9532 This was not a security bug since there was no path to overflow 9533 UINT64_MAX in lzma_index_append() or when it calls index_file_size(). 9534 The bug was discovered by a failing assert() in vli_ceil4() when called 9535 from index_file_size() when unpadded_sum (the sum of the compressed size 9536 of current Stream and the unpadded_size parameter) exceeds LZMA_VLI_MAX. 9537 9538 Previously, the unpadded_size parameter was checked to be not greater 9539 than UNPADDED_SIZE_MAX, but no check was done once compressed_base was 9540 added. 9541 9542 This could not have caused an integer overflow in index_file_size() when 9543 called by lzma_index_append(). The calculation for file_size breaks down 9544 into the sum of: 9545 9546 - Compressed base from all previous Streams 9547 - 2 * LZMA_STREAM_HEADER_SIZE (size of the current Streams header and 9548 footer) 9549 - stream_padding (can be set by lzma_index_stream_padding()) 9550 - Compressed base from the current Stream 9551 - Unpadded size (parameter to lzma_index_append()) 9552 9553 The sum of everything except for Unpadded size must be less than 9554 LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions 9555 that can set these values including lzma_index_stream_padding(), 9556 lzma_index_append(), and lzma_index_cat(). The maximum value for 9557 Unpadded size is enforced by lzma_index_append() to be less than or 9558 equal UNPADDED_SIZE_MAX. Thus, the sum cannot exceed UINT64_MAX since 9559 LZMA_VLI_MAX is half of UINT64_MAX. 9560 9561 Thanks to Joona Kannisto for reporting this. 9562 9563 src/liblzma/common/index.c | 6 ++++++ 9564 1 file changed, 6 insertions(+) 9565 9566commit 1057765aaabfe0f1397b8094531846655376ae38 9567Author: Jia Tan <jiat0218@gmail.com> 9568Date: 2023-08-28 22:18:29 +0800 9569 9570 Translations: Update the Esperanto translation. 9571 9572 po/eo.po | 4 ++-- 9573 1 file changed, 2 insertions(+), 2 deletions(-) 9574 9575commit f2e94d064f305bb8ad77ca70f91d93e55f5cf856 9576Author: Jia Tan <jiat0218@gmail.com> 9577Date: 2023-08-26 20:10:23 +0800 9578 9579 Translations: Update the Esperanto translation. 9580 9581 po/eo.po | 47 +++++++++++++++++++++++++++++------------------ 9582 1 file changed, 29 insertions(+), 18 deletions(-) 9583 9584commit 2b871f4dbffe3801d0da3f89806b5935f758d5f3 9585Author: Jia Tan <jiat0218@gmail.com> 9586Date: 2023-08-09 20:55:36 +0800 9587 9588 Docs: Update INSTALL for --enable-threads method win95. 9589 9590 The Autotools build allows win95 threads and --enable-small together now 9591 if the compiler supports __attribute__((__constructor__)). 9592 9593 INSTALL | 6 ++++-- 9594 1 file changed, 4 insertions(+), 2 deletions(-) 9595 9596commit 356ad5b26b4196f085ce3afa1869154ca81faad8 9597Author: Jia Tan <jiat0218@gmail.com> 9598Date: 2023-08-09 20:54:15 +0800 9599 9600 CMake: Conditionally allow win95 threads and --enable-small. 9601 9602 CMakeLists.txt | 28 ++++++++++++++++++++-------- 9603 1 file changed, 20 insertions(+), 8 deletions(-) 9604 9605commit de574404c4c2f87aca049f232c38526e3ce092aa 9606Author: Jia Tan <jiat0218@gmail.com> 9607Date: 2023-08-09 20:35:16 +0800 9608 9609 Build: Conditionally allow win95 threads and --enable-small. 9610 9611 When the compiler supports __attribute__((__constructor__)) 9612 mythread_once() is never used, even with --enable-small. A configuration 9613 with win95 threads and --enable-small will compile and be thread safe so 9614 it can be allowed. 9615 9616 This isn't a very common configuration since MSVC does not support 9617 __attribute__((__constructor__)), but MINGW32 and CLANG32 environments 9618 for MSYS2 can use win95 threads and have 9619 __attribute__((__constructor__)) support. 9620 9621 configure.ac | 21 +++++++++++++-------- 9622 1 file changed, 13 insertions(+), 8 deletions(-) 9623 9624commit 6bf33b704cd31dccf25e68480464aa22d3fcad5a 9625Author: Jamaika1 <lukaszcz18@wp.pl> 9626Date: 2023-08-08 14:07:59 +0200 9627 9628 mythread.h: Fix typo error in Vista threads mythread_once(). 9629 9630 The "once_" variable was accidentally referred to as just "once". This 9631 prevented building with Vista threads when 9632 HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR was not defined. 9633 9634 src/common/mythread.h | 2 +- 9635 1 file changed, 1 insertion(+), 1 deletion(-) 9636 9637commit 80cb961e5380a3878246d41341ff91378ca59e05 9638Author: Jia Tan <jiat0218@gmail.com> 9639Date: 2023-08-04 22:17:11 +0800 9640 9641 codespell: Add .codespellrc to set default options. 9642 9643 The .codespellrc allows setting default options to avoid false positive 9644 matches, set additional dictionaries, etc. For now, codespell can be 9645 used locally before committing doc and comment changes. 9646 9647 It should help prevent silly errors and fix up commits in the future. 9648 9649 .codespellrc | 24 ++++++++++++++++++++++++ 9650 1 file changed, 24 insertions(+) 9651 9652commit cd678a6077358935249b64a4a16fe8d17434f9c9 9653Author: Jia Tan <jiat0218@gmail.com> 9654Date: 2023-08-03 20:10:21 +0800 9655 9656 Tests: Style fixes to test_lzip_decoder.c. 9657 9658 tests/test_lzip_decoder.c | 36 ++++++++++++++++++++++++------------ 9659 1 file changed, 24 insertions(+), 12 deletions(-) 9660 9661commit 1cac5ed4fa45c9861d745b02d80575cb2ff01d81 9662Author: Jia Tan <jiat0218@gmail.com> 9663Date: 2023-08-03 15:56:20 +0800 9664 9665 Translations: Update the Chinese (simplified) translation. 9666 9667 po/zh_CN.po | 2 +- 9668 1 file changed, 1 insertion(+), 1 deletion(-) 9669 9670commit 16068f6c30b888cdb873f6285af941d00f95741d 9671Author: Lasse Collin <lasse.collin@tukaani.org> 9672Date: 2023-08-02 17:15:12 +0300 9673 9674 xz: Omit an empty paragraph on the man page. 9675 9676 src/xz/xz.1 | 1 - 9677 1 file changed, 1 deletion(-) 9678 9679commit 9ae4371b5106189486e850ce777e40f7b6021c0b 9680Author: Jia Tan <jiat0218@gmail.com> 9681Date: 2023-08-02 20:30:07 +0800 9682 9683 Add NEWS for 5.4.4. 9684 9685 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 9686 1 file changed, 43 insertions(+) 9687 9688commit e8c2203b2c76466d8d3387c5212b46151de8e605 9689Author: Lasse Collin <lasse.collin@tukaani.org> 9690Date: 2023-08-02 15:19:43 +0300 9691 9692 build-aux/manconv.sh: Fix US-ASCII and UTF-8 output. 9693 9694 groff defaults to SGR escapes. Using -P-c passes -c to grotty 9695 which restores the old behavior. Perhaps there is a better way to 9696 get pure plain text output but this works for now. 9697 9698 build-aux/manconv.sh | 4 ++-- 9699 1 file changed, 2 insertions(+), 2 deletions(-) 9700 9701commit 9a706167b0d903d92fd134895acb4bc6a5e3e688 9702Author: Lasse Collin <lasse.collin@tukaani.org> 9703Date: 2023-08-01 19:10:43 +0300 9704 9705 Update THANKS. 9706 9707 THANKS | 1 + 9708 1 file changed, 1 insertion(+) 9709 9710commit 33e25a0f5650754c38bed640deedefe3b4fec5ef 9711Author: Lasse Collin <lasse.collin@tukaani.org> 9712Date: 2023-08-01 18:22:24 +0300 9713 9714 Update THANKS. 9715 9716 THANKS | 1 + 9717 1 file changed, 1 insertion(+) 9718 9719commit 81db3b889830132334d1f2129bdc93177ac2ca7d 9720Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com> 9721Date: 2023-08-01 18:17:17 +0300 9722 9723 mythread.h: Disable signal functions in builds targeting Wasm + WASI. 9724 9725 signal.h in WASI SDK doesn't currently provide sigprocmask() 9726 or sigset_t. liblzma doesn't need them so this change makes 9727 liblzma and xzdec build against WASI SDK. xz doesn't build yet 9728 and the tests don't either as tuktest needs setjmp() which 9729 isn't (yet?) implemented in WASI SDK. 9730 9731 Closes: https://github.com/tukaani-project/xz/pull/57 9732 See also: https://github.com/tukaani-project/xz/pull/56 9733 9734 (The original commit was edited a little by Lasse Collin.) 9735 9736 src/common/mythread.h | 2 +- 9737 1 file changed, 1 insertion(+), 1 deletion(-) 9738 9739commit 71c638c611324e606d324c8189fef8fe79db6991 9740Author: Jia Tan <jiat0218@gmail.com> 9741Date: 2023-08-01 21:58:51 +0800 9742 9743 Add newline to end of .gitignore. 9744 9745 Newline was accidentally removed in commit 9746 01cbb7f023ee7fda8ddde04bd17cf7d3c2418706. 9747 9748 .gitignore | 2 +- 9749 1 file changed, 1 insertion(+), 1 deletion(-) 9750 9751commit 42df7c7aa1cca385e509eb33c65136e61890f0bf 9752Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> 9753Date: 2023-07-31 14:02:21 +0200 9754 9755 Docs: Fix typos found by codespell 9756 9757 CMakeLists.txt | 4 ++-- 9758 NEWS | 2 +- 9759 configure.ac | 2 +- 9760 src/liblzma/api/lzma/container.h | 4 ++-- 9761 src/liblzma/api/lzma/filter.h | 2 +- 9762 src/liblzma/api/lzma/lzma12.h | 4 ++-- 9763 src/liblzma/common/block_buffer_encoder.c | 2 +- 9764 src/liblzma/common/common.h | 2 +- 9765 src/liblzma/common/file_info.c | 2 +- 9766 src/liblzma/common/lzip_decoder.c | 2 +- 9767 src/liblzma/common/stream_decoder_mt.c | 8 ++++---- 9768 src/liblzma/common/string_conversion.c | 6 +++--- 9769 src/liblzma/lz/lz_encoder.h | 2 +- 9770 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 9771 src/xz/hardware.c | 4 ++-- 9772 tests/test_filter_flags.c | 4 ++-- 9773 tests/test_index.c | 2 +- 9774 tests/test_vli.c | 2 +- 9775 18 files changed, 29 insertions(+), 29 deletions(-) 9776 9777commit 01cbb7f023ee7fda8ddde04bd17cf7d3c2418706 9778Author: Jia Tan <jiat0218@gmail.com> 9779Date: 2023-07-26 20:26:23 +0800 9780 9781 Update .gitignore. 9782 9783 .gitignore | 4 ++++ 9784 1 file changed, 4 insertions(+) 9785 9786commit f97a1afd564c48ad9cb94682e10972a72e11fa08 9787Author: Jia Tan <jiat0218@gmail.com> 9788Date: 2023-07-28 22:03:08 +0800 9789 9790 CMake: Conditionally allow the creation of broken symlinks. 9791 9792 The CMake build will try to create broken symlinks on Unix and Unix-like 9793 platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create 9794 broken symlinks. The value of the CYGWIN or MSYS environment variables 9795 determine if broken symlinks are valid. 9796 9797 The default for MSYS2 does not allow for broken symlinks, so the CMake 9798 build has been broken for MSYS2 since commit 9799 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 9800 9801 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 9802 1 file changed, 75 insertions(+), 7 deletions(-) 9803 9804commit 7190f4cc7c9ade5b9b3675d0cbfa3b6d6ec9cb4f 9805Author: Jia Tan <jiat0218@gmail.com> 9806Date: 2023-07-28 21:56:48 +0800 9807 9808 CI: Fix windows-ci dependency installation. 9809 9810 All of the MSYS2 environments need make, and it does not come with the 9811 toolchain package. The toolchain package will install the needed 9812 compiler toolchains since without this package CMake cannot properly 9813 generate the Makefiles. 9814 9815 .github/workflows/windows-ci.yml | 6 +++--- 9816 1 file changed, 3 insertions(+), 3 deletions(-) 9817 9818commit a048f472cd9a2245265cb292853cbbcdd4f02001 9819Author: Jia Tan <jiat0218@gmail.com> 9820Date: 2023-07-28 21:54:22 +0800 9821 9822 CI: Update ci_build.sh CMake to always make Unix Makefiles. 9823 9824 The default for many of the MSYS2 environments is for CMake to create 9825 Ninja build files. This would complicate the build script since we would 9826 need a different command to run the tests. Its simpler to always use 9827 Unix Makefiles so that "make test" is always a usable target for 9828 testing. 9829 9830 build-aux/ci_build.sh | 4 ++-- 9831 1 file changed, 2 insertions(+), 2 deletions(-) 9832 9833commit 7870396a0ca945473aa0d1d790f4cbef456610bd 9834Author: Jia Tan <jiat0218@gmail.com> 9835Date: 2023-07-25 20:17:23 +0800 9836 9837 CI: Test CMake builds and test framework with MSYS2. 9838 9839 .github/workflows/windows-ci.yml | 32 ++++++++++++++++++++------------ 9840 1 file changed, 20 insertions(+), 12 deletions(-) 9841 9842commit 6497d1f8875cb7e3007f714336cc09c06fed235b 9843Author: Jia Tan <jiat0218@gmail.com> 9844Date: 2023-07-25 20:14:53 +0800 9845 9846 CI: Windows CI rename system matrix variable -> msys2_env. 9847 9848 Calling the MSYS2 environment "system" was a bit vague and should be 9849 more specific. 9850 9851 .github/workflows/windows-ci.yml | 15 +++++---------- 9852 1 file changed, 5 insertions(+), 10 deletions(-) 9853 9854commit 785e4121d9b2921ad36bd3af1cf61fa20a9265bd 9855Author: Jia Tan <jiat0218@gmail.com> 9856Date: 2023-07-24 23:11:45 +0800 9857 9858 CI: Add Clang64 MSYS2 environment to Windows CI. 9859 9860 .github/workflows/windows-ci.yml | 1 + 9861 1 file changed, 1 insertion(+) 9862 9863commit d9166b52cf3458a4da3eb92224837ca8fc208d79 9864Author: Jia Tan <jiat0218@gmail.com> 9865Date: 2023-07-24 21:43:44 +0800 9866 9867 liblzma: Prevent an empty translation unit in Windows builds. 9868 9869 To workaround Automake lacking Windows resource compiler support, an 9870 empty source file is compiled to overwrite the resource files for static 9871 library builds. Translation units without an external declaration are 9872 not allowed by the C standard and result in a warning when used with 9873 -Wempty-translation-unit (Clang) or -pedantic (GCC). 9874 9875 src/liblzma/Makefile.am | 6 +++++- 9876 1 file changed, 5 insertions(+), 1 deletion(-) 9877 9878commit db5019d691f980d622fb56fdcf383af2c3519c98 9879Author: Jia Tan <jiat0218@gmail.com> 9880Date: 2023-07-22 18:37:56 +0800 9881 9882 Translations: Update the Vietnamese translation. 9883 9884 po/vi.po | 45 ++++++++++++++++++++++++++++----------------- 9885 1 file changed, 28 insertions(+), 17 deletions(-) 9886 9887commit f3a055f762ba5b71b746fc2d44a6ababde2c61b5 9888Author: Jia Tan <jiat0218@gmail.com> 9889Date: 2023-07-22 14:55:42 +0800 9890 9891 CI: Add Windows runner for Autotools builds with MSYS2. 9892 9893 Only a subset of the tests run by the Linux and MacOS Autotools builds 9894 are run. The most interesting tests are the ones that disable threads, 9895 encoders, and decoders. 9896 9897 The Windows runner will only be run manually since these tests will 9898 likely take much longer than the Linux and MacOS runners. This runner 9899 should be used before merging any large features and before releases. 9900 9901 Currently the clang64 environment fails to due to a warning and 9902 -Werror is enabled for the CI tests. This is still an early version 9903 since the CMake build can be done for MSVC and optionally each of the 9904 MSYS2 environments. GitHub does not allow manually running the CI tests 9905 unless the workflow is checked on the default branch so checking in a 9906 minimum version is a good idea. 9907 9908 Thanks to Arthur S for the original proposing the original patch. 9909 9910 Closes: https://github.com/tukaani-project/xz/pull/34 9911 9912 .github/workflows/windows-ci.yml | 119 +++++++++++++++++++++++++++++++++++++++ 9913 1 file changed, 119 insertions(+) 9914 9915commit 556536a3525df9e5ed78b8c7057991cfa9edfac8 9916Author: Jia Tan <jiat0218@gmail.com> 9917Date: 2023-07-21 22:11:01 +0800 9918 9919 CI: Add argument to ci_build.sh to pass flags to autogen.sh. 9920 9921 build-aux/ci_build.sh | 9 +++++++-- 9922 1 file changed, 7 insertions(+), 2 deletions(-) 9923 9924commit 39a32d36fc465c4e70f13192eea380e518ba6e8a 9925Author: Jia Tan <jiat0218@gmail.com> 9926Date: 2023-07-21 18:05:44 +0800 9927 9928 Tests: Skip .lz files in test_files.sh if not configured. 9929 9930 Previously if the lzip decoder was not configured then test_files.sh 9931 would pass the lzip tests instead of skipping them. 9932 9933 tests/test_files.sh | 2 +- 9934 1 file changed, 1 insertion(+), 1 deletion(-) 9935 9936commit 194d12724b30fe42789d12a0184f9d412c449347 9937Author: Jia Tan <jiat0218@gmail.com> 9938Date: 2023-07-20 22:11:13 +0800 9939 9940 Tests: Add ARM64 filter test to test_compress.sh. 9941 9942 tests/test_compress.sh | 1 + 9943 1 file changed, 1 insertion(+) 9944 9945commit d850365c444368102c69beaddf849ed463c33467 9946Author: Jia Tan <jiat0218@gmail.com> 9947Date: 2023-07-20 20:30:05 +0800 9948 9949 Translations: Update the Croatian translation. 9950 9951 po/hr.po | 49 ++++++++++++++++++++++++++++++------------------- 9952 1 file changed, 30 insertions(+), 19 deletions(-) 9953 9954commit 24049eb7acf6d42a60f00efe4e7289fe8e1797fe 9955Author: Jia Tan <jiat0218@gmail.com> 9956Date: 2023-07-20 20:28:32 +0800 9957 9958 Translations: Update the Korean man page translations. 9959 9960 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 9961 1 file changed, 629 insertions(+), 626 deletions(-) 9962 9963commit 4d4a4fa07de6cb9d913fb2f97712fddda2527b49 9964Author: Jia Tan <jiat0218@gmail.com> 9965Date: 2023-07-20 20:25:24 +0800 9966 9967 Translations: Update the Korean translation. 9968 9969 po/ko.po | 45 ++++++++++++++++++++++++++++----------------- 9970 1 file changed, 28 insertions(+), 17 deletions(-) 9971 9972commit 237f06d9c55cf438a7538a598354bcf103f23711 9973Author: Jia Tan <jiat0218@gmail.com> 9974Date: 2023-07-20 20:24:05 +0800 9975 9976 Translations: Update the Polish translation. 9977 9978 po/pl.po | 47 +++++++++++++++++++++++++++++------------------ 9979 1 file changed, 29 insertions(+), 18 deletions(-) 9980 9981commit 80c2c832136656d5ac7a1bca8bc42d95e13d281a 9982Author: Jia Tan <jiat0218@gmail.com> 9983Date: 2023-07-20 20:22:23 +0800 9984 9985 Translations: Update the German man page translations. 9986 9987 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 9988 1 file changed, 629 insertions(+), 626 deletions(-) 9989 9990commit fdbde14503ca03069d3649aa51926f5f796b89d8 9991Author: Jia Tan <jiat0218@gmail.com> 9992Date: 2023-07-20 20:18:44 +0800 9993 9994 Translations: Update the German translation. 9995 9996 po/de.po | 47 +++++++++++++++++++++++++++++------------------ 9997 1 file changed, 29 insertions(+), 18 deletions(-) 9998 9999commit 9f3bf5ff5b2b5cf0b252a2bf381238ca49dc4101 10000Author: Jia Tan <jiat0218@gmail.com> 10001Date: 2023-07-20 20:17:10 +0800 10002 10003 Translations: Update the Chinese (simplified) translation. 10004 10005 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------ 10006 1 file changed, 29 insertions(+), 18 deletions(-) 10007 10008commit 376938c588011567c74f1d5a160c0ccce6336d46 10009Author: Jia Tan <jiat0218@gmail.com> 10010Date: 2023-07-20 20:15:47 +0800 10011 10012 Translations: Update the Swedish translation. 10013 10014 po/sv.po | 47 +++++++++++++++++++++++++++++------------------ 10015 1 file changed, 29 insertions(+), 18 deletions(-) 10016 10017commit 26b0bc6eb82c84559936a7c7080de5c71c8276f8 10018Author: Jia Tan <jiat0218@gmail.com> 10019Date: 2023-07-20 20:14:00 +0800 10020 10021 Translations: Update the Ukrainian man page translations. 10022 10023 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------ 10024 1 file changed, 628 insertions(+), 625 deletions(-) 10025 10026commit 2d02c8b7640b54f3c5aa1c8b5990ba56f322393b 10027Author: Jia Tan <jiat0218@gmail.com> 10028Date: 2023-07-20 20:09:15 +0800 10029 10030 Translations: Update the Ukrainian translation. 10031 10032 po/uk.po | 45 ++++++++++++++++++++++++++++----------------- 10033 1 file changed, 28 insertions(+), 17 deletions(-) 10034 10035commit f881018b503fd334331c24a09075429558abbce1 10036Author: Jia Tan <jiat0218@gmail.com> 10037Date: 2023-07-20 20:06:57 +0800 10038 10039 Translations: Update the Spanish translation. 10040 10041 po/es.po | 47 +++++++++++++++++++++++++++++------------------ 10042 1 file changed, 29 insertions(+), 18 deletions(-) 10043 10044commit 791fe6d3ffd6877fa5f852be69d9251397dfaa31 10045Author: Jia Tan <jiat0218@gmail.com> 10046Date: 2023-07-20 20:05:19 +0800 10047 10048 Translations: Update the Romanian translation. 10049 10050 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------ 10051 1 file changed, 30 insertions(+), 18 deletions(-) 10052 10053commit 8827e90704f699fe08bb5bed56b1717a2bc0eb77 10054Author: Jia Tan <jiat0218@gmail.com> 10055Date: 2023-07-20 20:02:56 +0800 10056 10057 Translations: Update the Romanian man page translations. 10058 10059 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------ 10060 1 file changed, 629 insertions(+), 625 deletions(-) 10061 10062commit 0184d344fa4f215cd345bb131db9068e077c69b8 10063Author: Jia Tan <jiat0218@gmail.com> 10064Date: 2023-07-19 23:36:00 +0800 10065 10066 liblzma: Suppress -Wunused-function warning. 10067 10068 Clang 16.0.0 and earlier have a bug that the ifunc resolver function 10069 triggers the -Wunused-function warning. The resolver function is static 10070 and only "used" by the __attribute__((__ifunc()__)). 10071 10072 At this time, the bug is still unresolved, but has been reported: 10073 https://github.com/llvm/llvm-project/issues/63957 10074 10075 This is not a problem in GCC. 10076 10077 src/liblzma/check/crc64_fast.c | 10 ++++++++++ 10078 1 file changed, 10 insertions(+) 10079 10080commit 43845fa70fc751736c44c18f4cee42d49bfd1392 10081Author: Jia Tan <jiat0218@gmail.com> 10082Date: 2023-07-18 22:52:25 +0800 10083 10084 liblzma: Reword lzma_str_list_filters() documentation. 10085 10086 This further improves the documentation from commit 10087 f36ca7982f6bd5e9827219ed4f3c5a1fbf5d7bdf. The previous wording of 10088 "supported options" was slightly misleading since the options that are 10089 printed are the ones that are relevant for encoding/decoding. It is not 10090 about which options can or must be specified. 10091 10092 src/liblzma/api/lzma/filter.h | 2 +- 10093 1 file changed, 1 insertion(+), 1 deletion(-) 10094 10095commit 818701ba1c9dff780b7fbf28f9ab8eb11a25dd67 10096Author: Jia Tan <jiat0218@gmail.com> 10097Date: 2023-07-18 22:49:57 +0800 10098 10099 liblzma: Improve comment in string_conversion.c. 10100 10101 The comment used "flag" when referring to decoder options. Just 10102 referring to them as options is more clear and consistent. 10103 10104 src/liblzma/common/string_conversion.c | 4 ++-- 10105 1 file changed, 2 insertions(+), 2 deletions(-) 10106 10107commit b6b7d065853cd4c3f5b8d9be8aea0b6dcb0fe090 10108Author: Lasse Collin <lasse.collin@tukaani.org> 10109Date: 2023-07-18 17:37:33 +0300 10110 10111 xz: Translate the second "%s: " in message.c since French needs "%s : ". 10112 10113 This string is used to print a filename when using "xz -v" and 10114 stderr isn't a terminal. 10115 10116 src/xz/message.c | 2 +- 10117 1 file changed, 1 insertion(+), 1 deletion(-) 10118 10119commit be644042c3066d8e7a2834f989671ba74d27f749 10120Author: Lasse Collin <lasse.collin@tukaani.org> 10121Date: 2023-07-18 14:35:33 +0300 10122 10123 xz: Make "%s: %s" translatable because French needs "%s : %s". 10124 10125 src/xz/args.c | 5 ++++- 10126 src/xz/coder.c | 8 ++++---- 10127 src/xz/file_io.c | 8 ++++---- 10128 src/xz/list.c | 11 ++++++----- 10129 4 files changed, 18 insertions(+), 14 deletions(-) 10130 10131commit 97fd5cb669ee0afc48d2087675ab166aff89eaa2 10132Author: Lasse Collin <lasse.collin@tukaani.org> 10133Date: 2023-07-18 13:57:54 +0300 10134 10135 liblzma: Tweak #if condition in memcmplen.h. 10136 10137 Maybe ICC always #defines _MSC_VER on Windows but now 10138 it's very clear which code will get used. 10139 10140 src/liblzma/common/memcmplen.h | 4 ++-- 10141 1 file changed, 2 insertions(+), 2 deletions(-) 10142 10143commit 40392c19f71985852d75997f109dea97177d6f3f 10144Author: Lasse Collin <lasse.collin@tukaani.org> 10145Date: 2023-07-18 13:49:43 +0300 10146 10147 liblzma: Omit unnecessary parenthesis in a preprocessor directive. 10148 10149 src/liblzma/common/memcmplen.h | 4 ++-- 10150 1 file changed, 2 insertions(+), 2 deletions(-) 10151 10152commit abc1d5601b7e419ebc28a1ab4b268613b52e6f98 10153Author: Jia Tan <jiat0218@gmail.com> 10154Date: 2023-07-18 00:51:48 +0800 10155 10156 xz: Update Authors list in a few files. 10157 10158 src/xz/args.c | 3 ++- 10159 src/xz/args.h | 3 ++- 10160 src/xz/coder.c | 3 ++- 10161 src/xz/coder.h | 3 ++- 10162 src/xz/message.c | 3 ++- 10163 5 files changed, 10 insertions(+), 5 deletions(-) 10164 10165commit 289034a168878baa9df6ff6e159110aade69cba5 10166Author: Jia Tan <jiat0218@gmail.com> 10167Date: 2023-07-14 23:20:33 +0800 10168 10169 Docs: Add a new section to INSTALL for Tests. 10170 10171 The new Tests section describes basic information about the tests, how 10172 to run them, and important details when cross compiling. We have had a 10173 few questions about how to compile the tests without running them, so 10174 hopefully this information will help others with the same question in the 10175 future. 10176 10177 Fixes: https://github.com/tukaani-project/xz/issues/54 10178 10179 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 10180 1 file changed, 64 insertions(+), 17 deletions(-) 10181 10182commit 1119e5f5a519b0ab71c81fc4dc84c0cc72abe513 10183Author: Jia Tan <jiat0218@gmail.com> 10184Date: 2023-07-14 21:10:27 +0800 10185 10186 Docs: Update README. 10187 10188 This adds an entry to "Other implementations of the .xz format" for 10189 XZ for Java. 10190 10191 README | 4 ++++ 10192 1 file changed, 4 insertions(+) 10193 10194commit f99e2e4e53b7ea89e4eef32ddd4882e0416357c9 10195Author: Jia Tan <jiat0218@gmail.com> 10196Date: 2023-07-13 23:32:10 +0800 10197 10198 xz: Fix typo in man page. 10199 10200 The Memory limit information section described three output 10201 columns when it actually has six. This was reworded to 10202 "multiple" to make it more future proof. 10203 10204 src/xz/xz.1 | 2 +- 10205 1 file changed, 1 insertion(+), 1 deletion(-) 10206 10207commit f907705eb1f6c5edaafc9668a34c51a989932f1d 10208Author: Jia Tan <jiat0218@gmail.com> 10209Date: 2023-07-13 21:46:12 +0800 10210 10211 xz: Minor clean up for coder.c 10212 10213 * Moved max_block_list_size from a global to local variable. 10214 * Reworded error message in validate_block_list_filter(). 10215 * Removed helper function filter_chain_error(). 10216 * Changed 1 << X to 1U << X in many places 10217 10218 src/xz/coder.c | 53 +++++++++++++++++++++-------------------------------- 10219 1 file changed, 21 insertions(+), 32 deletions(-) 10220 10221commit 9adc9e56157ecbf2948e5036df8567809b9ae177 10222Author: Jia Tan <jiat0218@gmail.com> 10223Date: 2023-07-13 21:26:47 +0800 10224 10225 xz: Update man page Authors and date. 10226 10227 src/xz/xz.1 | 5 +++-- 10228 1 file changed, 3 insertions(+), 2 deletions(-) 10229 10230commit c12e429f2635da8d8f5749e5f733f451baca6945 10231Author: Jia Tan <jiat0218@gmail.com> 10232Date: 2023-06-20 20:32:59 +0800 10233 10234 xz: Add a section to man page for robot mode --filters-help. 10235 10236 src/xz/xz.1 | 32 ++++++++++++++++++++++++++++++-- 10237 1 file changed, 30 insertions(+), 2 deletions(-) 10238 10239commit e10f2db5d10300c16fa482a136ed31c1aa6e8e8d 10240Author: Jia Tan <jiat0218@gmail.com> 10241Date: 2023-06-19 23:11:41 +0800 10242 10243 xz: Slight reword in xz man page for consistency. 10244 10245 Changed will print => prints in xz --robot --version description to 10246 match --robot --info-memory description. 10247 10248 src/xz/xz.1 | 2 +- 10249 1 file changed, 1 insertion(+), 1 deletion(-) 10250 10251commit f5dc172a402fa946f3c45a16929d7fe14c9f5e81 10252Author: Jia Tan <jiat0218@gmail.com> 10253Date: 2023-06-19 23:07:10 +0800 10254 10255 xz: Reorder robot mode subsections in the man page. 10256 10257 The order is now consistent with the order the command line arguments 10258 are documented earlier in the man page. The new order is: 10259 1. --list 10260 2. --info-memory 10261 3. --version 10262 10263 Instead of the previous order: 10264 1. --version 10265 2. --info-memory 10266 3. --list 10267 10268 src/xz/xz.1 | 192 ++++++++++++++++++++++++++++++------------------------------ 10269 1 file changed, 96 insertions(+), 96 deletions(-) 10270 10271commit 9628be23aef2784249fd9f3199799d785d2ec5cc 10272Author: Jia Tan <jiat0218@gmail.com> 10273Date: 2023-05-13 00:46:50 +0800 10274 10275 xz: Update man page for new --filters-help option. 10276 10277 src/xz/xz.1 | 10 ++++++++++ 10278 1 file changed, 10 insertions(+) 10279 10280commit a165d7df1964121eb9df715e6f836a31c865beef 10281Author: Jia Tan <jiat0218@gmail.com> 10282Date: 2023-05-13 00:44:41 +0800 10283 10284 xz: Add a new --filters-help option. 10285 10286 The --filters-help can be used to help create filter chains with the 10287 --filters and --filtersX options. The message in --long-help is too 10288 short to fully explain the syntax to construct complex filter chains. 10289 10290 In --robot mode, xz will only print the output from liblzma function 10291 lzma_str_list_filters. 10292 10293 src/xz/args.c | 8 ++++++++ 10294 src/xz/message.c | 30 ++++++++++++++++++++++++++++++ 10295 src/xz/message.h | 5 +++++ 10296 3 files changed, 43 insertions(+) 10297 10298commit 95f1a414b156ee35d3e71862a14915fdd138f913 10299Author: Jia Tan <jiat0218@gmail.com> 10300Date: 2023-04-21 20:28:11 +0800 10301 10302 xz: Update the man page for --block-list and --filtersX 10303 10304 The --block-list option description needed updating since the new 10305 --filtersX option changes how it can be used. The new entry for 10306 --filters1=FILTERS ... --filter9=FILTERS was created right after 10307 the --filters option. 10308 10309 src/xz/xz.1 | 106 +++++++++++++++++++++++++++++++++++++++++++++--------------- 10310 1 file changed, 80 insertions(+), 26 deletions(-) 10311 10312commit 47a63cad2aa778280e0c1926b7159427ea028cb1 10313Author: Jia Tan <jiat0218@gmail.com> 10314Date: 2023-04-21 19:50:14 +0800 10315 10316 xz: Update --long-help for the new --filtersX option. 10317 10318 src/xz/message.c | 12 ++++++++++-- 10319 1 file changed, 10 insertions(+), 2 deletions(-) 10320 10321commit 8b9913a13daca2550d02dfdcdc9be15f55ca4d13 10322Author: Jia Tan <jiat0218@gmail.com> 10323Date: 2023-06-17 20:46:21 +0800 10324 10325 xz: Ignore filter chains that are set but never used in --block-list. 10326 10327 If a filter chain is set but not used in --block-list, it introduced 10328 unexpected behavior such as requiring an unneeded amount of memory to 10329 compress, reducing the number of threads in multi-threaded encoding, and 10330 printing an incorrect amount of memory needed to decompress. 10331 10332 This also renames filters_init_mask => filters_used_mask. A filter is 10333 assumed to be used if it is specified in --filtersX until 10334 coder_set_compression_settings() determines which filters are referenced 10335 in --block-list. 10336 10337 src/xz/coder.c | 66 ++++++++++++++++++++++++++++++++++++++++++---------------- 10338 1 file changed, 48 insertions(+), 18 deletions(-) 10339 10340commit 183819bfd9efac8c184d9bf123325719b7eee30f 10341Author: Jia Tan <jiat0218@gmail.com> 10342Date: 2023-05-13 20:11:13 +0800 10343 10344 xz: Set the Block size for mt encoding correctly. 10345 10346 When opt_block_size is not used, the Block size for mt encoder is 10347 derived from the minimum of the largest Block specified by 10348 --block-list and the recommended Block size on all filter chains 10349 calculated by lzma_mt_block_size(). This avoids using unnecessary 10350 memory and ensures that all Blocks are large enough for the most memory 10351 needy filter chain. 10352 10353 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 10354 1 file changed, 67 insertions(+), 1 deletion(-) 10355 10356commit afb2dbec3d857b026486b75e42a4728e12d234cb 10357Author: Jia Tan <jiat0218@gmail.com> 10358Date: 2023-05-11 00:09:41 +0800 10359 10360 xz: Validate --flush-timeout for all specified filter chains. 10361 10362 src/xz/coder.c | 24 ++++++++++++++++-------- 10363 1 file changed, 16 insertions(+), 8 deletions(-) 10364 10365commit 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 10366Author: Jia Tan <jiat0218@gmail.com> 10367Date: 2023-05-13 19:54:33 +0800 10368 10369 xz: Allows --block-list filters to scale down memory usage. 10370 10371 Previously, only the default filter chain could have its memory usage 10372 adjusted. The filter chains specified with --filtersX were not checked 10373 for memory usage. Now, all used filter chains will be adjusted if 10374 necessary. 10375 10376 src/xz/coder.c | 269 +++++++++++++++++++++++++++++++++++++++++++++------------ 10377 1 file changed, 214 insertions(+), 55 deletions(-) 10378 10379commit 479fd58d60622331fcbe48fddf756927b9f80d9a 10380Author: Jia Tan <jiat0218@gmail.com> 10381Date: 2023-05-10 21:50:33 +0800 10382 10383 xz: Do not include block splitting if encoders are disabled. 10384 10385 The block splitting logic and split_block() function are not needed if 10386 encoders are disabled. This will help slightly reduce the binary size 10387 when built without encoders and allow split_block() to use functions 10388 that require encoders being enabled. 10389 10390 src/xz/coder.c | 29 ++++++++++++++++++++--------- 10391 1 file changed, 20 insertions(+), 9 deletions(-) 10392 10393commit f86ede22500f7ae024ec3ec3f3489ab5a857a3b3 10394Author: Jia Tan <jiat0218@gmail.com> 10395Date: 2023-05-10 22:38:59 +0800 10396 10397 xz: Free filters[] in debug mode. 10398 10399 This will only free filter chains created with --filters1-9 since the 10400 default filter chain may be set from a static function variable. The 10401 complexity to free the default filter chain is not worth the burden on 10402 code maintenance. 10403 10404 src/xz/coder.c | 10 ++++++++++ 10405 1 file changed, 10 insertions(+) 10406 10407commit f281cd0d692ac0c70fc7669b80dddb863ea947e1 10408Author: Jia Tan <jiat0218@gmail.com> 10409Date: 2023-05-13 19:28:23 +0800 10410 10411 xz: Add a message if --block-list is used outside of xz compresssion. 10412 10413 --block-list is only supported with compression in xz format. This avoids 10414 silently ignoring when --block-list is unused. 10415 10416 src/xz/args.c | 11 +++++++++++ 10417 1 file changed, 11 insertions(+) 10418 10419commit d6af7f347077b22403133239592e478931307759 10420Author: Jia Tan <jiat0218@gmail.com> 10421Date: 2023-04-18 20:29:09 +0800 10422 10423 xz: Create command line options for filters[1-9]. 10424 10425 The new command line options are meant to be combined with --block-list. 10426 They work as an optional extension to --block-list to specify a custom 10427 filter chain for each block listed. The new options allow the creation 10428 of up to 9 reusable filter chains. For instance: 10429 10430 xz --block-list=1:10MiB,3:5MiB,,2:5MiB,1:0 --filters1=delta--lzma2 \ 10431 --filters2=x86--lzma2 --filters3=arm64--lzma2 10432 10433 Will create the following blocks: 10434 1. A block of size 10 MiB with filter chain delta, lzma2. 10435 2. A block of size 5 MiB with filter chain arm64, lzma2. 10436 3. A block of size 5 MiB with filter chain arm64, lzma2. 10437 4. A block of size 5 MiB with filter chain x86, lzma2. 10438 5. A block containing the rest of the file contents with filter chain 10439 delta, lzma2. 10440 10441 src/xz/args.c | 82 ++++++++++++++++++++++--- 10442 src/xz/coder.c | 188 ++++++++++++++++++++++++++++++++++++++++++--------------- 10443 src/xz/coder.h | 20 +++++- 10444 3 files changed, 230 insertions(+), 60 deletions(-) 10445 10446commit 072d29250113268536719ad0e040ab8a66fb6435 10447Author: Jia Tan <jiat0218@gmail.com> 10448Date: 2023-05-13 19:36:09 +0800 10449 10450 xz: Use lzma_filters_free() in forget_filter_chain(). 10451 10452 This is a little cleaner than the previous implementation of 10453 forget_filter_chain(). It is also more consistent since 10454 lzma_str_to_filters() will always terminate the filter chain so there 10455 is no need to terminate it later in coder_set_compression_settings(). 10456 10457 src/xz/coder.c | 18 ++++++++++-------- 10458 1 file changed, 10 insertions(+), 8 deletions(-) 10459 10460commit 3d21da5cff4b511633cb6e0d8a1090485c0c1059 10461Author: Jia Tan <jiat0218@gmail.com> 10462Date: 2023-04-17 22:22:45 +0800 10463 10464 xz: Separate string to filter conversion into a helper function. 10465 10466 Converting from string to filter will also need to be done for block 10467 specific filter chains. 10468 10469 src/xz/coder.c | 33 ++++++++++++++++++++------------- 10470 1 file changed, 20 insertions(+), 13 deletions(-) 10471 10472commit a6583726e5f950278f96abcf79c04f1056810be6 10473Author: Jia Tan <jiat0218@gmail.com> 10474Date: 2023-01-06 00:03:35 +0800 10475 10476 Tests: Use new --filters option in test_compress.sh 10477 10478 tests/test_compress.sh | 20 ++++++++++---------- 10479 1 file changed, 10 insertions(+), 10 deletions(-) 10480 10481commit 5f3b898d07cc9b7160c7c88b3120b7edabb8a5b0 10482Author: Jia Tan <jiat0218@gmail.com> 10483Date: 2023-01-06 00:03:06 +0800 10484 10485 xz: Update --long-help and man page for new --filters option. 10486 10487 src/xz/message.c | 6 ++++++ 10488 src/xz/xz.1 | 41 ++++++++++++++++++++++++++++++++++++----- 10489 2 files changed, 42 insertions(+), 5 deletions(-) 10490 10491commit 9ded880a0221f4d1256845fc4ab957ffd377c760 10492Author: Jia Tan <jiat0218@gmail.com> 10493Date: 2023-01-06 00:02:29 +0800 10494 10495 xz: Add --filters option to CLI. 10496 10497 The --filters option uses the new lzma_str_to_filters() function 10498 to convert a string into a full filter chain. Using this option 10499 will reset all previous filters set by --preset, --[filter], or 10500 --filters. 10501 10502 src/xz/args.c | 9 +++++++-- 10503 src/xz/coder.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 10504 src/xz/coder.h | 3 +++ 10505 3 files changed, 58 insertions(+), 4 deletions(-) 10506 10507commit 2c189bb00af73dc7ba1a67a9d274d5be03ee3a88 10508Author: Jia Tan <jiat0218@gmail.com> 10509Date: 2023-07-14 21:30:25 +0800 10510 10511 Tests: Improve feature testing for skipping. 10512 10513 Fixed a bug where test_compress_* would all fail if arm64 or armthumb 10514 filters were enabled for compression but arm was disabled. Since the 10515 grep tests only checked for "define HAVE_ENCODER_ARM", this would match 10516 on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB. 10517 10518 Now the config.h feature test requires " 1" at the end to prevent the 10519 prefix problem. have_feature() was also updated for this even though 10520 there were known current bugs affecting it. This is just in case future 10521 features have a similar prefix problem. 10522 10523 tests/test_compress.sh | 4 ++-- 10524 tests/test_files.sh | 2 +- 10525 2 files changed, 3 insertions(+), 3 deletions(-) 10526 10527commit 80a6b9bcad016c99c9ba3f3eeb4a619fcadfd357 10528Author: Jia Tan <jiat0218@gmail.com> 10529Date: 2023-07-10 20:56:28 +0800 10530 10531 Translations: Update the Chinese (traditional) translation. 10532 10533 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++-------------------------- 10534 1 file changed, 377 insertions(+), 282 deletions(-) 10535 10536commit 17f8844e6fc355abf997d77637a7447c4f7bbcbd 10537Author: Jia Tan <jiat0218@gmail.com> 10538Date: 2023-07-08 21:24:19 +0800 10539 10540 liblzma: Remove non-portable empty initializer. 10541 10542 Commit 78704f36e74205857c898a351c757719a6c8b666 added an empty 10543 initializer {} to prevent a warning. The empty initializer is a GNU 10544 extension and results in a build failure on MSVC. The -wpedantic flag 10545 warns about empty initializers. 10546 10547 src/liblzma/common/stream_encoder_mt.c | 2 +- 10548 1 file changed, 1 insertion(+), 1 deletion(-) 10549 10550commit 3aca4f629cd577f0c54f594d5d88722edf0b0413 10551Author: Jia Tan <jiat0218@gmail.com> 10552Date: 2023-07-08 20:03:59 +0800 10553 10554 Translations: Update the Vietnamese translation. 10555 10556 po/vi.po | 620 +++++++++++++++++++++++++++++++++++---------------------------- 10557 1 file changed, 349 insertions(+), 271 deletions(-) 10558 10559commit 66bdcfa85fef2911cc80f5f30fed3f9610faccb4 10560Author: Jia Tan <jiat0218@gmail.com> 10561Date: 2023-06-28 20:46:31 +0800 10562 10563 Tests: Fix memory leaks in test_index. 10564 10565 Several tests were missing calls to lzma_index_end() to clean up the 10566 lzma_index structs. The memory leaks were discovered by using 10567 -fsanitize=address with GCC. 10568 10569 tests/test_index.c | 11 +++++++++++ 10570 1 file changed, 11 insertions(+) 10571 10572commit fe3bd438fb119f9bad3f08dc29d331e4956196e1 10573Author: Jia Tan <jiat0218@gmail.com> 10574Date: 2023-06-28 20:43:29 +0800 10575 10576 Tests: Fix memory leaks in test_block_header. 10577 10578 test_block_header was not properly freeing the filter options between 10579 calls to lzma_block_header_decode(). The memory leaks were discovered by 10580 using -fsanitize=address with GCC. 10581 10582 tests/test_block_header.c | 38 ++++++++++++++++++++++---------------- 10583 1 file changed, 22 insertions(+), 16 deletions(-) 10584 10585commit 78704f36e74205857c898a351c757719a6c8b666 10586Author: Jia Tan <jiat0218@gmail.com> 10587Date: 2023-06-28 20:31:11 +0800 10588 10589 liblzma: Prevent uninitialzed warning in mt stream encoder. 10590 10591 This change only impacts the compiler warning since it was impossible 10592 for the wait_abs struct in stream_encode_mt() to be used before it was 10593 initialized since mythread_condtime_set() will always be called before 10594 mythread_cond_timedwait(). 10595 10596 Since the mythread.h code is different between the POSIX and 10597 Windows versions, this warning was only present on Windows builds. 10598 10599 Thanks to Arthur S for reporting the warning and providing an initial 10600 patch. 10601 10602 src/liblzma/common/stream_encoder_mt.c | 2 +- 10603 1 file changed, 1 insertion(+), 1 deletion(-) 10604 10605commit e3356a204c5ae02db3ec4552b6c1be354e9b6142 10606Author: Jia Tan <jiat0218@gmail.com> 10607Date: 2023-06-28 20:22:38 +0800 10608 10609 liblzma: Prevent warning for MSYS2 Windows build. 10610 10611 In lzma_memcmplen(), the <intrin.h> header file is only included if 10612 _MSC_VER and _M_X64 are both defined but _BitScanForward64() was 10613 previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but 10614 not _MSC_VER so _BitScanForward64() was used without including 10615 <intrin.h>. 10616 10617 Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as 10618 expected. 10619 10620 src/liblzma/common/memcmplen.h | 6 ++++-- 10621 1 file changed, 4 insertions(+), 2 deletions(-) 10622 10623commit 45e250a9e9f3c3e8e8af2983366b170bf54f890e 10624Author: Jia Tan <jiat0218@gmail.com> 10625Date: 2023-06-28 21:01:22 +0800 10626 10627 CI: Add test with -fsanitize=address,undefined. 10628 10629 ci_build.sh was updated to accept disabling of __attribute__ ifunc 10630 and CLMUL. This will allow -fsanitize=address to pass because ifunc 10631 is incompatible with -fsanitize=address. The CLMUL implementation has 10632 optimizations that potentially read past the buffer and mask out the 10633 unwanted bytes. 10634 10635 This test will only run on Autotools Linux. 10636 10637 .github/workflows/ci.yml | 23 +++++++++++++++++++---- 10638 build-aux/ci_build.sh | 8 +++++++- 10639 2 files changed, 26 insertions(+), 5 deletions(-) 10640 10641commit 596ee722cd7ddf0afae584fc06365adc0e735977 10642Author: Jia Tan <jiat0218@gmail.com> 10643Date: 2023-06-28 20:16:04 +0800 10644 10645 CI: Upgrade checkout action from v2 to v3. 10646 10647 .github/workflows/ci.yml | 2 +- 10648 1 file changed, 1 insertion(+), 1 deletion(-) 10649 10650commit 86118ea320f867e09e98a8682cc08cbbdfd640e2 10651Author: Jia Tan <jiat0218@gmail.com> 10652Date: 2023-06-27 23:38:32 +0800 10653 10654 Update THANKS. 10655 10656 THANKS | 1 + 10657 1 file changed, 1 insertion(+) 10658 10659commit 3d1fdddf92321b516d55651888b9c669e254634e 10660Author: Jia Tan <jiat0218@gmail.com> 10661Date: 2023-06-27 17:27:09 +0300 10662 10663 Docs: Document the configure option --disable-ifunc in INSTALL. 10664 10665 INSTALL | 8 ++++++++ 10666 1 file changed, 8 insertions(+) 10667 10668commit b4cf7a2822e8d30eb2b12a1a07fd04383b10ade3 10669Author: Lasse Collin <lasse.collin@tukaani.org> 10670Date: 2023-06-27 17:24:49 +0300 10671 10672 Minor tweaks to style and comments. 10673 10674 CMakeLists.txt | 8 ++++---- 10675 configure.ac | 9 +++++---- 10676 2 files changed, 9 insertions(+), 8 deletions(-) 10677 10678commit 23fb9e3a329117c2968c1e7388b6ef07c782dba1 10679Author: Lasse Collin <lasse.collin@tukaani.org> 10680Date: 2023-06-27 17:19:49 +0300 10681 10682 CMake: Rename CHECK_ATTR_IFUNC to ALLOW_ATTR_IFUNC. 10683 10684 It's so that there's a clear difference in wording compared 10685 to liblzma's integrity check types. 10686 10687 CMakeLists.txt | 6 +++--- 10688 1 file changed, 3 insertions(+), 3 deletions(-) 10689 10690commit ee44863ae88e377a5df10db007ba9bfadde3d314 10691Author: Lasse Collin <lasse.collin@tukaani.org> 10692Date: 2023-06-27 17:05:23 +0300 10693 10694 liblzma: Add ifunc implementation to crc64_fast.c. 10695 10696 The ifunc method avoids indirection via the function pointer 10697 crc64_func. This works on GNU/Linux and probably on FreeBSD too. 10698 The previous __attribute((__constructor__)) method is kept for 10699 compatibility with ELF platforms which do support ifunc. 10700 10701 The ifunc method has some limitations, for example, building 10702 liblzma with -fsanitize=address will result in segfaults. 10703 The configure option --disable-ifunc must be used for such builds. 10704 10705 Thanks to Hans Jansen for the original patch. 10706 Closes: https://github.com/tukaani-project/xz/pull/53 10707 10708 src/liblzma/check/crc64_fast.c | 35 ++++++++++++++++++++++++++--------- 10709 1 file changed, 26 insertions(+), 9 deletions(-) 10710 10711commit b72d21202402a603db6d512fb9271cfa83249639 10712Author: Hans Jansen <hansjansen162@outlook.com> 10713Date: 2023-06-22 19:49:30 +0200 10714 10715 Add ifunc check to CMakeLists.txt 10716 10717 CMake build system will now verify if __attribute__((__ifunc__())) can be 10718 used in the build system. If so, HAVE_FUNC_ATTRIBUTE_IFUNC will be 10719 defined to 1. 10720 10721 CMakeLists.txt | 19 +++++++++++++++++++ 10722 1 file changed, 19 insertions(+) 10723 10724commit 23b5c36fb71904bfbe16bb20f976da38dadf6c3b 10725Author: Hans Jansen <hansjansen162@outlook.com> 10726Date: 2023-06-22 19:46:55 +0200 10727 10728 Add ifunc check to configure.ac 10729 10730 configure.ac will now verify if __attribute__((__ifunc__())) can be used in 10731 the build system. If so, HAVE_FUNC_ATTRIBUTE_IFUNC will be defined to 1. 10732 10733 configure.ac | 28 ++++++++++++++++++++++++++++ 10734 1 file changed, 28 insertions(+) 10735 10736commit dbb3a536ed9873ffa0870321f6873e564c6a9da8 10737Author: Jia Tan <jiat0218@gmail.com> 10738Date: 2023-06-07 00:18:30 +0800 10739 10740 CI: Add apt update command before installing dependencies. 10741 10742 Without the extra command, all of the CI tests were automatically 10743 failing because the Ubuntu servers could not be reached properly. 10744 10745 .github/workflows/ci.yml | 8 ++++++-- 10746 1 file changed, 6 insertions(+), 2 deletions(-) 10747 10748commit 6bcd516812331de42b347922913230895bebad34 10749Author: Jia Tan <jiat0218@gmail.com> 10750Date: 2023-06-07 00:10:38 +0800 10751 10752 Update THANKS. 10753 10754 THANKS | 1 + 10755 1 file changed, 1 insertion(+) 10756 10757commit 0d94ba69220d894d2a86081821d2d7a89df5a10b 10758Author: Benjamin Buch <bebuch@users.noreply.github.com> 10759Date: 2023-06-06 15:32:45 +0200 10760 10761 CMake: Protects against double find_package 10762 10763 Boost iostream uses `find_package` in quiet mode and then again uses 10764 `find_package` with required. This second call triggers a 10765 `add_library cannot create imported target "ZLIB::ZLIB" because another 10766 target with the same name already exists.` 10767 10768 This can simply be fixed by skipping the alias part on secondary 10769 `find_package` runs. 10770 10771 CMakeLists.txt | 16 +++++++++------- 10772 1 file changed, 9 insertions(+), 7 deletions(-) 10773 10774commit 045d7aae286ecd2ce163be9e0d9041343a03f89a 10775Author: Jia Tan <jiat0218@gmail.com> 10776Date: 2023-05-31 20:26:42 +0800 10777 10778 Translations: Update the Esperanto translation. 10779 10780 po/eo.po | 185 +++++++++++++++++++++++++++++++-------------------------------- 10781 1 file changed, 92 insertions(+), 93 deletions(-) 10782 10783commit b0cc7c2dcefe4cbc4e1e697598c14fb687ed0b78 10784Author: Jia Tan <jiat0218@gmail.com> 10785Date: 2023-05-31 20:25:00 +0800 10786 10787 Translations: Update the Croatian translation. 10788 10789 po/hr.po | 2 +- 10790 1 file changed, 1 insertion(+), 1 deletion(-) 10791 10792commit af045ef6f848f02cd14c9ad195a5f87bb0c02dce 10793Author: Jia Tan <jiat0218@gmail.com> 10794Date: 2023-05-31 20:15:53 +0800 10795 10796 Translations: Update the Chinese (simplified) translation. 10797 10798 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------ 10799 1 file changed, 157 insertions(+), 160 deletions(-) 10800 10801commit e6b92d5817fe91ad27a0f7f57bd0f2144311e383 10802Author: Jia Tan <jiat0218@gmail.com> 10803Date: 2023-05-17 23:12:13 +0800 10804 10805 Translations: Update German translation of man pages. 10806 10807 po4a/de.po | 52 ++++++++++++---------------------------------------- 10808 1 file changed, 12 insertions(+), 40 deletions(-) 10809 10810commit 592961ccdbba39c7d60fe37e36764232feb57c60 10811Author: Jia Tan <jiat0218@gmail.com> 10812Date: 2023-05-17 23:09:18 +0800 10813 10814 Translations: Update the German translation. 10815 10816 po/de.po | 189 +++++++++++++++++++++++++++++++-------------------------------- 10817 1 file changed, 94 insertions(+), 95 deletions(-) 10818 10819commit 13572cb2c391f5b7503e333c6e05b20bd5bbb524 10820Author: Jia Tan <jiat0218@gmail.com> 10821Date: 2023-05-17 20:30:01 +0800 10822 10823 Translations: Update the Croatian translation. 10824 10825 po/hr.po | 187 +++++++++++++++++++++++++++++++-------------------------------- 10826 1 file changed, 93 insertions(+), 94 deletions(-) 10827 10828commit 4e6e425ea8f097c6fb43e69cc9540294dca3680d 10829Author: Jia Tan <jiat0218@gmail.com> 10830Date: 2023-05-17 20:26:54 +0800 10831 10832 Translations: Update Korean translation of man pages. 10833 10834 po4a/ko.po | 3015 ++++++++++++------------------------------------------------ 10835 1 file changed, 568 insertions(+), 2447 deletions(-) 10836 10837commit d5ef1f6faf7c270f60093629257150085ecf19ca 10838Author: Jia Tan <jiat0218@gmail.com> 10839Date: 2023-05-17 20:13:01 +0800 10840 10841 Translations: Update the Korean translation. 10842 10843 po/ko.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 10844 1 file changed, 158 insertions(+), 161 deletions(-) 10845 10846commit e22d0b0f2e301e7906d0106689d967ed84362028 10847Author: Jia Tan <jiat0218@gmail.com> 10848Date: 2023-05-16 23:49:09 +0800 10849 10850 Translations: Update the Spanish translation. 10851 10852 po/es.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 10853 1 file changed, 158 insertions(+), 161 deletions(-) 10854 10855commit f50da74d52d01f6cfd826a921249e289cf671678 10856Author: Jia Tan <jiat0218@gmail.com> 10857Date: 2023-05-16 23:47:23 +0800 10858 10859 Translations: Update the Romanian translation. 10860 10861 po/ro.po | 195 ++++++++++++++++++++++++++++++++------------------------------- 10862 1 file changed, 98 insertions(+), 97 deletions(-) 10863 10864commit 4b9ad60a7305e9841b7cb4ea611bdf5fa7271696 10865Author: Jia Tan <jiat0218@gmail.com> 10866Date: 2023-05-16 23:45:43 +0800 10867 10868 Translations: Update Romanian translation of man pages. 10869 10870 po4a/ro.po | 19 ++++++++++--------- 10871 1 file changed, 10 insertions(+), 9 deletions(-) 10872 10873commit cb6fd57f889c5d9fab36ae8c9e10083a5fe32dea 10874Author: Jia Tan <jiat0218@gmail.com> 10875Date: 2023-05-16 23:43:51 +0800 10876 10877 Translations: Update Ukrainian translation of man pages. 10878 10879 po4a/uk.po | 12 ++++++------ 10880 1 file changed, 6 insertions(+), 6 deletions(-) 10881 10882commit c3e8fcbc2db4861f92ad15606c995bd255803c52 10883Author: Jia Tan <jiat0218@gmail.com> 10884Date: 2023-05-16 23:37:54 +0800 10885 10886 Translations: Update the Ukrainian translation. 10887 10888 po/uk.po | 321 +++++++++++++++++++++++++++++++-------------------------------- 10889 1 file changed, 159 insertions(+), 162 deletions(-) 10890 10891commit 27b81b84fcedbc55aa6e6b21004c44070b15b038 10892Author: Jia Tan <jiat0218@gmail.com> 10893Date: 2023-05-16 23:07:35 +0800 10894 10895 Translations: Update the Polish translation. 10896 10897 po/pl.po | 316 +++++++++++++++++++++++++++++++-------------------------------- 10898 1 file changed, 155 insertions(+), 161 deletions(-) 10899 10900commit 8024ad636a65ed6ea95c94d57255be4c6724d6ed 10901Author: Jia Tan <jiat0218@gmail.com> 10902Date: 2023-05-16 22:52:14 +0800 10903 10904 Translations: Update the Swedish translation. 10905 10906 po/sv.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 10907 1 file changed, 158 insertions(+), 161 deletions(-) 10908 10909commit 6699a29673f227c4664826db485ed9f7596320d2 10910Author: Jia Tan <jiat0218@gmail.com> 10911Date: 2023-05-16 21:21:38 +0800 10912 10913 Translations: Update the Esperanto translation. 10914 10915 po/eo.po | 34 +++++++++++++++++----------------- 10916 1 file changed, 17 insertions(+), 17 deletions(-) 10917 10918commit f36ca7982f6bd5e9827219ed4f3c5a1fbf5d7bdf 10919Author: Jia Tan <jiat0218@gmail.com> 10920Date: 2023-05-13 21:21:54 +0800 10921 10922 liblzma: Slightly rewords lzma_str_list_filters() documentation. 10923 10924 Reword "options required" to "supported options". The previous may have 10925 suggested that the options listed were all required anytime a filter is 10926 used for encoding or decoding. The reword makes this more clear that 10927 adjusting the options is optional. 10928 10929 src/liblzma/api/lzma/filter.h | 2 +- 10930 1 file changed, 1 insertion(+), 1 deletion(-) 10931 10932commit 3374a5359e52f1671d8f831d65827d5020fe2595 10933Author: Jia Tan <jiat0218@gmail.com> 10934Date: 2023-05-11 23:49:23 +0800 10935 10936 liblzma: Adds lzma_nothrow to MicroLZMA API functions. 10937 10938 None of the liblzma functions may throw an exception, so this 10939 attribute should be applied to all liblzma API functions. 10940 10941 src/liblzma/api/lzma/container.h | 5 +++-- 10942 1 file changed, 3 insertions(+), 2 deletions(-) 10943 10944commit 8f236574986e7c414c0ea059f441982d1387e6a4 10945Author: Jia Tan <jiat0218@gmail.com> 10946Date: 2023-05-09 20:20:06 +0800 10947 10948 liblzma: Exports lzma_mt_block_size() as an API function. 10949 10950 The lzma_mt_block_size() was previously just an internal function for 10951 the multithreaded .xz encoder. It is used to provide a recommended Block 10952 size for a given filter chain. 10953 10954 This function is helpful to determine the maximum Block size for the 10955 multithreaded .xz encoder when one wants to change the filters between 10956 blocks. Then, this determined Block size can be provided to 10957 lzma_stream_encoder_mt() in the lzma_mt options parameter when 10958 intializing the coder. This requires one to know all the filter chains 10959 they are using before starting to encode (or at least the filter chain 10960 that will need the largest Block size), but that isn't a bad limitation. 10961 10962 src/liblzma/api/lzma/container.h | 28 ++++++++++++++++++++++++++++ 10963 src/liblzma/common/filter_encoder.c | 16 ++++++++++------ 10964 src/liblzma/common/filter_encoder.h | 6 +----- 10965 src/liblzma/common/stream_encoder_mt.c | 20 +++++++++----------- 10966 src/liblzma/liblzma_generic.map | 5 +++++ 10967 src/liblzma/liblzma_linux.map | 5 +++++ 10968 src/liblzma/lzma/lzma2_encoder.c | 3 +++ 10969 7 files changed, 61 insertions(+), 22 deletions(-) 10970 10971commit d0f33d672a4da7985ebb5ba8d829f885de49c171 10972Author: Jia Tan <jiat0218@gmail.com> 10973Date: 2023-05-08 22:58:09 +0800 10974 10975 liblzma: Creates IS_ENC_DICT_SIZE_VALID() macro. 10976 10977 This creates an internal liblzma macro to test if the dictionary size 10978 is valid for encoding. 10979 10980 src/liblzma/lz/lz_encoder.c | 4 +--- 10981 src/liblzma/lz/lz_encoder.h | 8 ++++++++ 10982 2 files changed, 9 insertions(+), 3 deletions(-) 10983 10984commit c247d06e1f6cada9a76f4f6225cbd97ea760f52f 10985Author: Jia Tan <jiat0218@gmail.com> 10986Date: 2023-05-02 20:39:56 +0800 10987 10988 Add NEWS for 5.4.3. 10989 10990 NEWS | 10 ++++++++++ 10991 1 file changed, 10 insertions(+) 10992 10993commit 77050b78364ffb6b0f129e742b7c31602d725c08 10994Author: Jia Tan <jiat0218@gmail.com> 10995Date: 2023-05-02 20:39:37 +0800 10996 10997 Add NEWS for 5.2.12. 10998 10999 NEWS | 14 ++++++++++++++ 11000 1 file changed, 14 insertions(+) 11001 11002commit 713e15e43eb6279a7ab4bbad3d1325ebfdcf09a0 11003Author: Jia Tan <jiat0218@gmail.com> 11004Date: 2023-05-04 20:38:52 +0800 11005 11006 Translations: Update the Croatian translation. 11007 11008 po/hr.po | 6 +++--- 11009 1 file changed, 3 insertions(+), 3 deletions(-) 11010 11011commit 9ad64bdf309844b6ca6c3e8a4dfb6dbaedda0ca9 11012Author: Jia Tan <jiat0218@gmail.com> 11013Date: 2023-05-04 20:30:25 +0800 11014 11015 tuklib_integer.h: Reverts previous commit. 11016 11017 Previous commit 6be460dde07113fe3f08f814b61ddc3264125a96 would cause an 11018 error if the integer size was 32 bit. 11019 11020 src/common/tuklib_integer.h | 4 ++-- 11021 1 file changed, 2 insertions(+), 2 deletions(-) 11022 11023commit 6be460dde07113fe3f08f814b61ddc3264125a96 11024Author: Jia Tan <jiat0218@gmail.com> 11025Date: 2023-05-04 19:25:20 +0800 11026 11027 tuklib_integer.h: Changes two other UINT_MAX == UINT32_MAX to >=. 11028 11029 src/common/tuklib_integer.h | 4 ++-- 11030 1 file changed, 2 insertions(+), 2 deletions(-) 11031 11032commit 44c0c5eae990a22ef04e9b88c1a15838a0d00878 11033Author: Lasse Collin <lasse.collin@tukaani.org> 11034Date: 2023-05-03 22:46:42 +0300 11035 11036 tuklib_integer.h: Fix a recent copypaste error in Clang detection. 11037 11038 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7. 11039 Also, this has >= instead of == since ints larger than 32 bits would 11040 work too even if not relevant in practice. 11041 11042 src/common/tuklib_integer.h | 4 ++-- 11043 1 file changed, 2 insertions(+), 2 deletions(-) 11044 11045commit 2cf5ae5b5b279b0b2e69ca4724e7bd705865fe68 11046Author: Jia Tan <jiat0218@gmail.com> 11047Date: 2023-04-25 20:06:15 +0800 11048 11049 CI: Adds a build and test for small configuration. 11050 11051 .github/workflows/ci.yml | 5 +++++ 11052 1 file changed, 5 insertions(+) 11053 11054commit 16b81a057a87c2f18e6ed6447f003af0cbdcfe43 11055Author: Jia Tan <jiat0218@gmail.com> 11056Date: 2023-04-25 20:05:26 +0800 11057 11058 CI: ci_build.sh allows configuring small build. 11059 11060 build-aux/ci_build.sh | 7 ++++++- 11061 1 file changed, 6 insertions(+), 1 deletion(-) 11062 11063commit 78ccd93951f9e988d447bcdd70b24f6df5448d1d 11064Author: Jia Tan <jiat0218@gmail.com> 11065Date: 2023-04-20 20:15:00 +0800 11066 11067 Update THANKS. 11068 11069 THANKS | 1 + 11070 1 file changed, 1 insertion(+) 11071 11072commit f41df2ac2fed347d3f107f3533e76e000d29c6cb 11073Author: Jia Tan <jiat0218@gmail.com> 11074Date: 2023-04-19 22:22:16 +0800 11075 11076 Windows: Include <intrin.h> when needed. 11077 11078 Legacy Windows did not need to #include <intrin.h> to use the MSVC 11079 intrinsics. Newer versions likely just issue a warning, but the MSVC 11080 documentation says to include the header file for the intrinsics we use. 11081 11082 GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are 11083 needed in tuklib_integer.h to only include <intrin.h> when it will is 11084 actually needed. 11085 11086 src/common/tuklib_integer.h | 6 ++++++ 11087 src/liblzma/common/memcmplen.h | 10 ++++++++++ 11088 2 files changed, 16 insertions(+) 11089 11090commit 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7 11091Author: Jia Tan <jiat0218@gmail.com> 11092Date: 2023-04-19 21:59:03 +0800 11093 11094 tuklib_integer: Use __builtin_clz() with Clang. 11095 11096 Clang has support for __builtin_clz(), but previously Clang would 11097 fallback to either the MSVC intrinsic or the regular C code. This was 11098 discovered due to a bug where a new version of Clang required the 11099 <intrin.h> header file in order to use the MSVC intrinsics. 11100 11101 Thanks to Anton Kochkov for notifying us about the bug. 11102 11103 src/common/tuklib_integer.h | 6 +++--- 11104 1 file changed, 3 insertions(+), 3 deletions(-) 11105 11106commit 3938718ce3773c90755785c0df8777f133b7ae29 11107Author: Lasse Collin <lasse.collin@tukaani.org> 11108Date: 2023-04-14 18:42:33 +0300 11109 11110 liblzma: Update project maintainers in lzma.h. 11111 11112 AUTHORS was updated earlier, lzma.h was simply forgotten. 11113 11114 src/liblzma/api/lzma.h | 2 +- 11115 1 file changed, 1 insertion(+), 1 deletion(-) 11116 11117commit 2a89670ab295e377f8b44f5bda6d198deb8ea285 11118Author: Jia Tan <jiat0218@gmail.com> 11119Date: 2023-04-13 20:45:19 +0800 11120 11121 liblzma: Cleans up old commented out code. 11122 11123 src/liblzma/common/alone_encoder.c | 11 ----------- 11124 1 file changed, 11 deletions(-) 11125 11126commit 0fbb2b87a7b5a1dd9d0f4a5e84ac7919557dbe81 11127Author: Jia Tan <jiat0218@gmail.com> 11128Date: 2023-04-07 20:46:41 +0800 11129 11130 Docs: Add missing word to SECURITY.md. 11131 11132 .github/SECURITY.md | 2 +- 11133 1 file changed, 1 insertion(+), 1 deletion(-) 11134 11135commit fb9c50f38a17bf37581de4034b36c8df8ec90a87 11136Author: Jia Tan <jiat0218@gmail.com> 11137Date: 2023-04-07 20:43:22 +0800 11138 11139 Update THANKS. 11140 11141 THANKS | 1 + 11142 1 file changed, 1 insertion(+) 11143 11144commit 537c6cd8a9db0dd6b13683e64ddac2943190d715 11145Author: Jia Tan <jiat0218@gmail.com> 11146Date: 2023-04-07 20:42:12 +0800 11147 11148 Docs: Minor edits to SECURITY.md. 11149 11150 .github/SECURITY.md | 25 ++++++++++++++++++++----- 11151 1 file changed, 20 insertions(+), 5 deletions(-) 11152 11153commit 6549df8dd53f358345957e232648fdb699930074 11154Author: Gabriela Gutierrez <gabigutierrez@google.com> 11155Date: 2023-04-07 12:08:30 +0000 11156 11157 Docs: Create SECURITY.md 11158 11159 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 11160 11161 .github/SECURITY.md | 14 ++++++++++++++ 11162 1 file changed, 14 insertions(+) 11163 11164commit d0faa85df5a5d253a4625d45313cf5e9277e6cd2 11165Author: Jia Tan <jiat0218@gmail.com> 11166Date: 2023-03-28 22:48:24 +0800 11167 11168 CI: Tests for disabling threading on CMake builds. 11169 11170 .github/workflows/ci.yml | 3 --- 11171 build-aux/ci_build.sh | 4 ++-- 11172 2 files changed, 2 insertions(+), 5 deletions(-) 11173 11174commit 8be5cc3b1359d88b4b30a39067466c0ae0bfbc4d 11175Author: Jia Tan <jiat0218@gmail.com> 11176Date: 2023-03-28 22:45:42 +0800 11177 11178 CI: Removes CMakeCache.txt between builds. 11179 11180 If the cache file is not removed, CMake will not reset configurations 11181 back to their default values. In order to make the tests independent, it 11182 is simplest to purge the cache. Unfortunatly, this will slow down the 11183 tests a little and repeat some checks. 11184 11185 build-aux/ci_build.sh | 2 ++ 11186 1 file changed, 2 insertions(+) 11187 11188commit 2cb6028fc31de082b7f927632363bb1426b61aaa 11189Author: Jia Tan <jiat0218@gmail.com> 11190Date: 2023-03-28 22:32:40 +0800 11191 11192 CMake: Update liblzma-config.cmake generation. 11193 11194 Now that the threading is configurable, the liblzma CMake package only 11195 needs the threading library when using POSIX threads. 11196 11197 CMakeLists.txt | 33 ++++++++++++++++++++++----------- 11198 1 file changed, 22 insertions(+), 11 deletions(-) 11199 11200commit 4d7fac0b07cc722825ba8d7838c558827e635611 11201Author: Jia Tan <jiat0218@gmail.com> 11202Date: 2023-03-28 22:25:33 +0800 11203 11204 CMake: Allows setting thread method. 11205 11206 The thread method is now configurable for the CMake build. It matches 11207 the Autotools build by allowing ON (pick the best threading method), 11208 OFF (no threading), posix, win95, and vista. If both Windows and 11209 posix threading are both available, then ON will choose Windows 11210 threading. Windows threading will also not use: 11211 11212 target_link_libraries(liblzma Threads::Threads) 11213 11214 since on systems like MinGW-w64 it would link the posix threads 11215 without purpose. 11216 11217 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++---------------- 11218 1 file changed, 104 insertions(+), 40 deletions(-) 11219 11220commit 20cd905d898c1494dee42b78530769bb9c9f8076 11221Author: Jia Tan <jiat0218@gmail.com> 11222Date: 2023-03-24 23:05:48 +0800 11223 11224 CI: Runs CMake feature tests. 11225 11226 Now, CMake will run similar feature disable tests that the Autotools 11227 version did before. In order to do this without repeating lines in 11228 ci.yml, it now makes sense to use the GitHub Workflow matrix to create 11229 a loop. 11230 11231 .github/workflows/ci.yml | 169 +++++++++++++++-------------------------------- 11232 1 file changed, 55 insertions(+), 114 deletions(-) 11233 11234commit 4fabdb269f1fc5624b3b94a170c4efb329d1d229 11235Author: Jia Tan <jiat0218@gmail.com> 11236Date: 2023-03-24 20:35:11 +0800 11237 11238 CI: ci_build.sh allows CMake features to be configured. 11239 11240 Also included various clean ups for style and helper functions for 11241 repeated work. 11242 11243 build-aux/ci_build.sh | 233 +++++++++++++++++++++++++++++++------------------- 11244 1 file changed, 143 insertions(+), 90 deletions(-) 11245 11246commit cf3d1f130e50cf63da4bb1031771605f6f443b6a 11247Author: Jia Tan <jiat0218@gmail.com> 11248Date: 2023-03-24 20:06:33 +0800 11249 11250 CI: Change ci_build.sh to use bash instead of sh. 11251 11252 This script is only meant to be run as part of the CI build/test process 11253 on machines that are known to have bash (Ubuntu and MacOS). If this 11254 assumption changes in the future, then the bash specific commands will 11255 need to be replaced with a more portable option. For now, it is 11256 convenient to use bash commands. 11257 11258 build-aux/ci_build.sh | 2 +- 11259 1 file changed, 1 insertion(+), 1 deletion(-) 11260 11261commit ddfe164368e779c40d061aa4ccc376129e92f8e1 11262Author: Jia Tan <jiat0218@gmail.com> 11263Date: 2023-03-24 20:05:59 +0800 11264 11265 CMake: Only build xzdec if decoders are enabled. 11266 11267 CMakeLists.txt | 2 +- 11268 1 file changed, 1 insertion(+), 1 deletion(-) 11269 11270commit 116e81f002c503d3c3cd12726db8f9116e58ef25 11271Author: Jia Tan <jiat0218@gmail.com> 11272Date: 2023-03-22 15:42:04 +0800 11273 11274 Build: Removes redundant check for LZMA1 filter support. 11275 11276 src/liblzma/lzma/Makefile.inc | 5 +---- 11277 1 file changed, 1 insertion(+), 4 deletions(-) 11278 11279commit 0ba234f692772595329d225462d391fe2c199d0a 11280Author: Lasse Collin <lasse.collin@tukaani.org> 11281Date: 2023-03-23 15:14:29 +0200 11282 11283 CMake: Bump maximum policy version to 3.26. 11284 11285 It adds only one new policy related to FOLDERS which we don't use. 11286 This makes it clear that the code is compatible with the policies 11287 up to 3.26. 11288 11289 CMakeLists.txt | 2 +- 11290 1 file changed, 1 insertion(+), 1 deletion(-) 11291 11292commit b0891684b4436aed31510fddcbb218d513bd5489 11293Author: Jia Tan <jiat0218@gmail.com> 11294Date: 2023-03-21 23:36:00 +0800 11295 11296 CMake: Conditionally build xz list.* files if decoders are enabled. 11297 11298 CMakeLists.txt | 9 +++++++-- 11299 1 file changed, 7 insertions(+), 2 deletions(-) 11300 11301commit 2c1a830efb61d9d65906a09c9ee3ce27c2c49227 11302Author: Jia Tan <jiat0218@gmail.com> 11303Date: 2023-02-25 11:46:50 +0800 11304 11305 CMake: Allow configuring features as cache variables. 11306 11307 This allows users to change the features they build either in 11308 CMakeCache.txt or by using a CMake GUI. The sources built for 11309 liblzma are affected by this too, so only the necessary files 11310 will be compiled. 11311 11312 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++--------------- 11313 1 file changed, 391 insertions(+), 137 deletions(-) 11314 11315commit 8be136f667aaeb8f9e16fbd57a83cb282f0c27ff 11316Author: Lasse Collin <lasse.collin@tukaani.org> 11317Date: 2023-03-21 14:07:51 +0200 11318 11319 Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69. 11320 11321 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC 11322 but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler. 11323 11324 configure.ac | 3 +++ 11325 1 file changed, 3 insertions(+) 11326 11327commit 53cc475f2652d9e390ca002018dfd0af0626ef80 11328Author: Lasse Collin <lasse.collin@tukaani.org> 11329Date: 2023-03-21 14:04:37 +0200 11330 11331 Build: configure.ac: Use AS_IF and AS_CASE where required. 11332 11333 This makes no functional difference in the generated configure 11334 (at least with the Autotools versions I have installed) but this 11335 change might prevent future bugs like the one that was just 11336 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294. 11337 11338 configure.ac | 30 +++++++++++++++--------------- 11339 1 file changed, 15 insertions(+), 15 deletions(-) 11340 11341commit 3b8890a40233b6c783bb101ec14405e786871775 11342Author: Lasse Collin <lasse.collin@tukaani.org> 11343Date: 2023-03-21 13:12:03 +0200 11344 11345 Update THANKS. 11346 11347 THANKS | 1 + 11348 1 file changed, 1 insertion(+) 11349 11350commit 5a5bd7f871818029d5ccbe189f087f591258c294 11351Author: Lasse Collin <lasse.collin@tukaani.org> 11352Date: 2023-03-21 13:11:49 +0200 11353 11354 Build: Fix --disable-threads breaking the building of shared libs. 11355 11356 This is broken in the releases 5.2.6 to 5.4.2. A workaround 11357 for these releases is to pass EGREP='grep -E' as an argument 11358 to configure in addition to --disable-threads. 11359 11360 The problem appeared when m4/ax_pthread.m4 was updated in 11361 the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which 11362 introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls 11363 AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP 11364 but this was only executed if POSIX threads were enabled. 11365 Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf 11366 omits it as AC_PROG_EGREP has already been required earlier. 11367 Thus, if not using POSIX threads, the shell variable EGREP 11368 would be undefined in the Libtool code in configure. 11369 11370 ax_pthread.m4 is fine. The bug was in configure.ac which called 11371 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE 11372 ensures that all AC_REQUIREs get always run. 11373 11374 Thanks to Frank Busse for reporting the bug. 11375 Fixes: https://github.com/tukaani-project/xz/issues/45 11376 11377 configure.ac | 16 ++++++++-------- 11378 1 file changed, 8 insertions(+), 8 deletions(-) 11379 11380commit dfe1710784c0a3c3a90c17b80c9e1fe19b5fce06 11381Author: Lasse Collin <lasse.collin@tukaani.org> 11382Date: 2023-03-19 22:45:59 +0200 11383 11384 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h. 11385 11386 Thanks to Christian Hesse for reporting the issue. 11387 Fixes: https://github.com/tukaani-project/xz/issues/44 11388 11389 src/liblzma/common/memcmplen.h | 3 ++- 11390 1 file changed, 2 insertions(+), 1 deletion(-) 11391 11392commit f0c580c5fc38bf49a184b48d76c1d8c057d499ce 11393Author: Jia Tan <jiat0218@gmail.com> 11394Date: 2023-03-18 22:10:57 +0800 11395 11396 Add NEWS for 5.4.2. 11397 11398 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 11399 1 file changed, 48 insertions(+) 11400 11401commit af4925e6043113ec9b5f9c0cf13abf2a18ccb1f6 11402Author: Jia Tan <jiat0218@gmail.com> 11403Date: 2023-03-18 22:10:12 +0800 11404 11405 Add NEWS for 5.2.11. 11406 11407 NEWS | 27 +++++++++++++++++++++++++++ 11408 1 file changed, 27 insertions(+) 11409 11410commit 5a7b930efa7f9849d8da8397e8e5d8638f92be40 11411Author: Lasse Collin <lasse.collin@tukaani.org> 11412Date: 2023-03-18 16:00:54 +0200 11413 11414 Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3. 11415 11416 COPYING.GPLv3 | 8 ++++---- 11417 1 file changed, 4 insertions(+), 4 deletions(-) 11418 11419commit b473a92891f7e991398a3b5eff305f6f2b6d7293 11420Author: Lasse Collin <lasse.collin@tukaani.org> 11421Date: 2023-03-18 15:51:57 +0200 11422 11423 Change a few HTTP URLs to HTTPS. 11424 11425 The xz man page timestamp was intentionally left unchanged. 11426 11427 INSTALL | 2 +- 11428 README | 8 ++++---- 11429 configure.ac | 2 +- 11430 dos/INSTALL.txt | 4 ++-- 11431 src/liblzma/api/lzma.h | 8 ++++---- 11432 src/liblzma/check/sha256.c | 2 +- 11433 src/xz/xz.1 | 2 +- 11434 windows/INSTALL-MinGW.txt | 10 +++++----- 11435 8 files changed, 19 insertions(+), 19 deletions(-) 11436 11437commit 8b2f6001b4f412c259a7883427f2f2c8cea98ea8 11438Author: Jia Tan <jiat0218@gmail.com> 11439Date: 2023-03-18 00:40:28 +0800 11440 11441 CMake: Fix typo in a comment. 11442 11443 CMakeLists.txt | 2 +- 11444 1 file changed, 1 insertion(+), 1 deletion(-) 11445 11446commit 76e2315e14c399c15cc90e7930fd4d3d086b0227 11447Author: Lasse Collin <lasse.collin@tukaani.org> 11448Date: 2023-03-17 18:36:22 +0200 11449 11450 Windows: build.bash: Copy liblzma API docs to the output package. 11451 11452 windows/build.bash | 3 ++- 11453 1 file changed, 2 insertions(+), 1 deletion(-) 11454 11455commit 133cf55edc5ce92952d2709abd992e48ef1f45ee 11456Author: Lasse Collin <lasse.collin@tukaani.org> 11457Date: 2023-03-17 08:53:38 +0200 11458 11459 Windows: Add microlzma_*.c to the VS project files. 11460 11461 These should have been included in 5.3.2alpha already. 11462 11463 windows/vs2013/liblzma.vcxproj | 2 ++ 11464 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 11465 windows/vs2017/liblzma.vcxproj | 2 ++ 11466 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 11467 windows/vs2019/liblzma.vcxproj | 2 ++ 11468 windows/vs2019/liblzma_dll.vcxproj | 2 ++ 11469 6 files changed, 12 insertions(+) 11470 11471commit 75c9ca450fab6982fda9286b168081c9d54126cd 11472Author: Lasse Collin <lasse.collin@tukaani.org> 11473Date: 2023-03-17 08:43:51 +0200 11474 11475 CMake: Add microlzma_*.c to the build. 11476 11477 These should have been included in 5.3.2alpha already. 11478 11479 CMakeLists.txt | 2 ++ 11480 1 file changed, 2 insertions(+) 11481 11482commit 0cc3313bd4e569c51e686e5aab8c40c35241d34b 11483Author: Lasse Collin <lasse.collin@tukaani.org> 11484Date: 2023-03-17 08:41:36 +0200 11485 11486 Build: Update comments about unaligned access to mention 64-bit. 11487 11488 cmake/tuklib_integer.cmake | 7 +++---- 11489 m4/tuklib_integer.m4 | 4 ++-- 11490 2 files changed, 5 insertions(+), 6 deletions(-) 11491 11492commit 5e57e3301319f20c35f8111dea73fa58403b96b1 11493Author: Lasse Collin <lasse.collin@tukaani.org> 11494Date: 2023-03-17 00:02:30 +0200 11495 11496 Tests: Update .gitignore. 11497 11498 .gitignore | 3 ++- 11499 1 file changed, 2 insertions(+), 1 deletion(-) 11500 11501commit 0007394d54e21bf30abb9a5e09cbc1e8d44a73ac 11502Author: Lasse Collin <lasse.collin@tukaani.org> 11503Date: 2023-03-14 20:04:03 +0200 11504 11505 po4a/update-po: Display the script name consistently in error messages. 11506 11507 po4a/update-po | 2 +- 11508 1 file changed, 1 insertion(+), 1 deletion(-) 11509 11510commit 509157c80c500426ec853bd992d684ebafc8500c 11511Author: Jia Tan <jiat0218@gmail.com> 11512Date: 2023-03-17 01:30:36 +0800 11513 11514 Doc: Rename Doxygen HTML doc directory name liblzma => api. 11515 11516 When the docs are installed, calling the directory "liblzma" is 11517 confusing since multiple other files in the doc directory are for 11518 liblzma. This should also make it more natural for distros when they 11519 package the documentation. 11520 11521 .gitignore | 2 +- 11522 Makefile.am | 18 +++++++++--------- 11523 PACKAGERS | 4 ++-- 11524 doxygen/Doxyfile | 2 +- 11525 doxygen/update-doxygen | 18 +++++++++--------- 11526 5 files changed, 22 insertions(+), 22 deletions(-) 11527 11528commit fd90e2f4c29180b44e33c7ef726f94e4eae54ed3 11529Author: Jia Tan <jiat0218@gmail.com> 11530Date: 2023-03-16 22:07:15 +0800 11531 11532 liblzma: Remove note from lzma_options_bcj about the ARM64 exception. 11533 11534 This was left in by mistake since an early version of the ARM64 filter 11535 used a different struct for its options. 11536 11537 src/liblzma/api/lzma/bcj.h | 2 +- 11538 1 file changed, 1 insertion(+), 1 deletion(-) 11539 11540commit 4f50763b981f9056c5f1763dfb26cfa4a26a181d 11541Author: Jia Tan <jiat0218@gmail.com> 11542Date: 2023-03-16 21:44:02 +0800 11543 11544 CI: Add doxygen as a dependency. 11545 11546 Autogen now requires --no-doxygen or having doxygen installed to run 11547 without errors. 11548 11549 .github/workflows/ci.yml | 5 ++--- 11550 1 file changed, 2 insertions(+), 3 deletions(-) 11551 11552commit f68f4b27f62f53fdac570885a1f4f23367ce6599 11553Author: Lasse Collin <lasse.collin@tukaani.org> 11554Date: 2023-03-15 19:19:13 +0200 11555 11556 COPYING: Add a note about the included Doxygen-generated HTML. 11557 11558 COPYING | 11 +++++++++++ 11559 1 file changed, 11 insertions(+) 11560 11561commit 8979308528c1f45cb9ee52d511f05232b4ad90a1 11562Author: Jia Tan <jiat0218@gmail.com> 11563Date: 2023-03-16 21:41:09 +0800 11564 11565 Doc: Update PACKAGERS with details about liblzma API docs install. 11566 11567 PACKAGERS | 22 ++++++++++++++++------ 11568 1 file changed, 16 insertions(+), 6 deletions(-) 11569 11570commit 55ba6e93004842ae0a0792214a23504267ad8f43 11571Author: Jia Tan <jiat0218@gmail.com> 11572Date: 2023-03-16 21:38:32 +0800 11573 11574 liblzma: Add set lzma.h as the main page for Doxygen documentation. 11575 11576 The \mainpage command is used in the first block of comments in lzma.h. 11577 This changes the previously nearly empty index.html to use the first 11578 comment block in lzma.h for its contents. 11579 11580 lzma.h is no longer documented separately, but this is for the better 11581 since lzma.h only defined a few macros that users do not need to use. 11582 The individual API header files all have a disclaimer that they should 11583 not be #included directly, so there should be no confusion on the fact 11584 that lzma.h should be the only header used by applications. 11585 11586 Additionally, the note "See ../lzma.h for information about liblzma as 11587 a whole." was removed since lzma.h is now the main page of the 11588 generated HTML and does not have its own page anymore. So it would be 11589 confusing in the HTML version and was only a "nice to have" when 11590 browsing the source files. 11591 11592 src/liblzma/api/lzma.h | 1 + 11593 src/liblzma/api/lzma/base.h | 2 -- 11594 src/liblzma/api/lzma/bcj.h | 2 -- 11595 src/liblzma/api/lzma/block.h | 2 -- 11596 src/liblzma/api/lzma/check.h | 2 -- 11597 src/liblzma/api/lzma/container.h | 2 -- 11598 src/liblzma/api/lzma/delta.h | 2 -- 11599 src/liblzma/api/lzma/filter.h | 2 -- 11600 src/liblzma/api/lzma/hardware.h | 2 -- 11601 src/liblzma/api/lzma/index.h | 2 -- 11602 src/liblzma/api/lzma/index_hash.h | 4 +--- 11603 src/liblzma/api/lzma/lzma12.h | 2 -- 11604 src/liblzma/api/lzma/stream_flags.h | 2 -- 11605 src/liblzma/api/lzma/version.h | 2 -- 11606 src/liblzma/api/lzma/vli.h | 2 -- 11607 15 files changed, 2 insertions(+), 29 deletions(-) 11608 11609commit 16f21255597f6a57e5692780f962cdc090f62b8c 11610Author: Jia Tan <jiat0218@gmail.com> 11611Date: 2023-03-16 21:37:32 +0800 11612 11613 Build: Generate doxygen documentation in autogen.sh. 11614 11615 Another command line option (--no-doxygen) was added to disable 11616 creating the doxygen documenation in cases where it not wanted or 11617 if the doxygen tool is not installed. 11618 11619 autogen.sh | 35 +++++++++++++++++++++++++++++------ 11620 1 file changed, 29 insertions(+), 6 deletions(-) 11621 11622commit 1321852a3be7196bd7fcfd146221a5669e46407c 11623Author: Jia Tan <jiat0218@gmail.com> 11624Date: 2023-03-16 21:35:55 +0800 11625 11626 Build: Create doxygen/update-doxygen script. 11627 11628 This is a helper script to generate the Doxygen documentation. It can be 11629 run in 'liblzma' or 'internal' mode by setting the first argument. It 11630 will default to 'liblzma' mode and only generate documentation for the 11631 liblzma API header files. 11632 11633 The helper script will be run during the custom mydist hook when we 11634 create releases. This hook already alters the source directory, so its 11635 fine to do it here too. This way, we can include the Doxygen generated 11636 files in the distrubtion and when installing. 11637 11638 In 'liblzma' mode, the JavaScript is stripped from the .html files and 11639 the .js files are removed. This avoids license hassle from jQuery and 11640 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form. 11641 11642 Makefile.am | 1 + 11643 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++ 11644 2 files changed, 112 insertions(+) 11645 11646commit b1216a7772952d2fe7fe9c6acfcbd98d30abbc7b 11647Author: Jia Tan <jiat0218@gmail.com> 11648Date: 2023-03-16 21:34:36 +0800 11649 11650 Build: Install Doxygen docs and include in distribution if generated. 11651 11652 Added a install-data-local target to install the Doxygen documentation 11653 only when it has been generated. In order to correctly remove the docs, 11654 a corresponding uninstall-local target was added. 11655 11656 If the doxygen docs exist in the source tree, they will also be included 11657 in the distribution now too. 11658 11659 Makefile.am | 18 ++++++++++++++++++ 11660 1 file changed, 18 insertions(+) 11661 11662commit c97d12f300b2a94c9f54a44c8931c8bc08cf0a73 11663Author: Lasse Collin <lasse.collin@tukaani.org> 11664Date: 2023-03-16 21:23:48 +0800 11665 11666 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile. 11667 11668 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile 11669 can have the tags that need to be configured piped into the doxygen 11670 command through stdin with the overrides after Doxyfile's contents. 11671 11672 Going forward, the documentation should be generated in two different 11673 modes: liblzma or internal. 11674 11675 liblzma is useful for most users. It is the documentation for just 11676 the liblzma API header files. This is the default. 11677 11678 internal is for people who want to understand how xz and liblzma work. 11679 It might be useful for people who want to contribute to the project. 11680 11681 .gitignore | 3 +- 11682 Makefile.am | 1 - 11683 configure.ac | 40 --- 11684 Doxyfile.in => doxygen/Doxyfile | 721 +++++++++++++++++++++++++--------------- 11685 4 files changed, 456 insertions(+), 309 deletions(-) 11686 11687commit 1b7661faa4bbf4a54c6b75900b5059835c382a0f 11688Author: Jia Tan <jiat0218@gmail.com> 11689Date: 2023-02-28 23:22:36 +0800 11690 11691 Tests: Remove unused macros and functions. 11692 11693 tests/tests.h | 75 ----------------------------------------------------------- 11694 1 file changed, 75 deletions(-) 11695 11696commit af55191102f01e76de658c881299f0909ca0feda 11697Author: Jia Tan <jiat0218@gmail.com> 11698Date: 2022-12-29 21:52:15 +0800 11699 11700 liblzma: Defines masks for return values from lzma_index_checks(). 11701 11702 src/liblzma/api/lzma/index.h | 23 +++++++++++++++++++++++ 11703 tests/test_index.c | 22 +++++++++++----------- 11704 2 files changed, 34 insertions(+), 11 deletions(-) 11705 11706commit 8f38cdd9ab71e2a9d5a9787550222b7578243b73 11707Author: Jia Tan <jiat0218@gmail.com> 11708Date: 2023-01-12 22:29:07 +0800 11709 11710 Tests: Refactors existing lzma_index tests. 11711 11712 Converts the existing lzma_index tests into tuktests and covers every 11713 API function from index.h except for lzma_file_info_decoder, which can 11714 be tested in the future. 11715 11716 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++-------------- 11717 1 file changed, 1492 insertions(+), 544 deletions(-) 11718 11719commit 717aa3651ce582807f379d8654c2516e1594df77 11720Author: Lasse Collin <lasse.collin@tukaani.org> 11721Date: 2023-03-11 18:42:08 +0200 11722 11723 xz: Simplify the error-label in Capsicum sandbox code. 11724 11725 Also remove unneeded "sandbox_allowed = false;" as this code 11726 will never be run more than once (making it work with multiple 11727 input files isn't trivial). 11728 11729 src/xz/file_io.c | 27 ++++++++++++--------------- 11730 1 file changed, 12 insertions(+), 15 deletions(-) 11731 11732commit a0eecc235d3ba8ad3453da98b46c7bc3e644de75 11733Author: Lasse Collin <lasse.collin@tukaani.org> 11734Date: 2023-03-07 19:59:23 +0200 11735 11736 xz: Make Capsicum sandbox more strict with stdin and stdout. 11737 11738 src/xz/file_io.c | 8 ++++++++ 11739 1 file changed, 8 insertions(+) 11740 11741commit 916448d624aaf55cef0fc3e53754affb8c4f309d 11742Author: Jia Tan <jiat0218@gmail.com> 11743Date: 2023-03-08 23:08:46 +0800 11744 11745 Revert: "Add warning if Capsicum sandbox system calls are unsupported." 11746 11747 The warning causes the exit status to be 2, so this will cause problems 11748 for many scripted use cases for xz. The sandbox usage is already very 11749 limited already, so silently disabling this allows it to be more usable. 11750 11751 src/xz/file_io.c | 10 ++++------ 11752 1 file changed, 4 insertions(+), 6 deletions(-) 11753 11754commit 01587dda2a8f13fef7e12fd624e6d05da5f9624f 11755Author: Jia Tan <jiat0218@gmail.com> 11756Date: 2023-03-07 20:02:22 +0800 11757 11758 xz: Fix -Wunused-label in io_sandbox_enter(). 11759 11760 Thanks to Xin Li for recommending the fix. 11761 11762 src/xz/file_io.c | 4 ++-- 11763 1 file changed, 2 insertions(+), 2 deletions(-) 11764 11765commit 5fb936786601a1cd013a5d436adde65982b1e13c 11766Author: Jia Tan <jiat0218@gmail.com> 11767Date: 2023-03-06 21:37:45 +0800 11768 11769 xz: Add warning if Capsicum sandbox system calls are unsupported. 11770 11771 The warning is only used when errno == ENOSYS. Otherwise, xz still 11772 issues a fatal error. 11773 11774 src/xz/file_io.c | 2 ++ 11775 1 file changed, 2 insertions(+) 11776 11777commit 61ee82cb1232a402c82282bbae42821f2b952b0d 11778Author: Jia Tan <jiat0218@gmail.com> 11779Date: 2023-03-06 21:27:53 +0800 11780 11781 xz: Skip Capsicum sandbox system calls when they are unsupported. 11782 11783 If a system has the Capsicum header files but does not actually 11784 implement the system calls, then this would render xz unusable. Instead, 11785 we can check if errno == ENOSYS and not issue a fatal error. 11786 11787 src/xz/file_io.c | 22 +++++++++++++++++----- 11788 1 file changed, 17 insertions(+), 5 deletions(-) 11789 11790commit f070722b57ba975a0dff36492d766f03026b1d21 11791Author: Jia Tan <jiat0218@gmail.com> 11792Date: 2023-03-06 21:08:26 +0800 11793 11794 xz: Reorder cap_enter() to beginning of capsicum sandbox code. 11795 11796 cap_enter() puts the process into the sandbox. If later calls to 11797 cap_rights_limit() fail, then the process can still have some extra 11798 protections. 11799 11800 src/xz/file_io.c | 6 +++--- 11801 1 file changed, 3 insertions(+), 3 deletions(-) 11802 11803commit f1ab1f6b339d16a53ac53efeb97779ecd2bae70f 11804Author: Jia Tan <jiat0218@gmail.com> 11805Date: 2023-02-24 23:46:23 +0800 11806 11807 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h. 11808 11809 lzma_lzma_preset() does not guarentee that the lzma_options_lzma are 11810 usable in an encoder even if it returns false (success). If liblzma 11811 is built with default configurations, then the options will always be 11812 usable. However if the match finders hc3, hc4, or bt4 are disabled, then 11813 the options may not be usable depending on the preset level requested. 11814 11815 The documentation was updated to reflect this complexity, since this 11816 behavior was unclear before. 11817 11818 src/liblzma/api/lzma/lzma12.h | 5 +++++ 11819 1 file changed, 5 insertions(+) 11820 11821commit 4b7fb3bf41a0ca4c97fad3799949a2aa61b13b99 11822Author: Lasse Collin <lasse.collin@tukaani.org> 11823Date: 2023-02-27 18:38:35 +0200 11824 11825 CMake: Require that the C compiler supports C99 or a newer standard. 11826 11827 Thanks to autoantwort for reporting the issue and suggesting 11828 a different patch: 11829 https://github.com/tukaani-project/xz/pull/42 11830 11831 CMakeLists.txt | 8 ++++++++ 11832 1 file changed, 8 insertions(+) 11833 11834commit 9aa7fdeb04c486d2700967090956af88fdccab7e 11835Author: Jia Tan <jiat0218@gmail.com> 11836Date: 2023-02-24 18:10:37 +0800 11837 11838 Tests: Small tweak to test-vli.c. 11839 11840 The static global variables can be disabled if encoders and decoders 11841 are not built. If they are not disabled and -Werror is used, it will 11842 cause an usused warning as an error. 11843 11844 tests/test_vli.c | 2 ++ 11845 1 file changed, 2 insertions(+) 11846 11847commit 3cf72c4bcba5370f07477c9b9b62ae33069ef9a9 11848Author: Jia Tan <jiat0218@gmail.com> 11849Date: 2023-02-06 21:46:43 +0800 11850 11851 liblzma: Replace '\n' -> newline in filter.h documentation. 11852 11853 The '\n' renders as a newline when the comments are converted to html 11854 by Doxygen. 11855 11856 src/liblzma/api/lzma/filter.h | 2 +- 11857 1 file changed, 1 insertion(+), 1 deletion(-) 11858 11859commit 002006be62d77c706565fa6ec828bea64be302da 11860Author: Jia Tan <jiat0218@gmail.com> 11861Date: 2023-02-06 21:45:37 +0800 11862 11863 liblzma: Shorten return description for two functions in filter.h. 11864 11865 Shorten the description for lzma_raw_encoder_memusage() and 11866 lzma_raw_decoder_memusage(). 11867 11868 src/liblzma/api/lzma/filter.h | 8 ++------ 11869 1 file changed, 2 insertions(+), 6 deletions(-) 11870 11871commit 463d9359b8595f01d44ada1739d75aeb87f36524 11872Author: Jia Tan <jiat0218@gmail.com> 11873Date: 2023-02-06 21:44:45 +0800 11874 11875 liblzma: Reword a few lines in filter.h 11876 11877 src/liblzma/api/lzma/filter.h | 10 +++++----- 11878 1 file changed, 5 insertions(+), 5 deletions(-) 11879 11880commit 01441df92c0fd6a6c02fe5ac27982a54ce887cc0 11881Author: Jia Tan <jiat0218@gmail.com> 11882Date: 2023-02-06 21:35:06 +0800 11883 11884 liblzma: Improve documentation in filter.h. 11885 11886 All functions now explicitly specify parameter and return values. 11887 The notes and code annotations were moved before the parameter and 11888 return value descriptions for consistency. 11889 11890 Also, the description above lzma_filter_encoder_is_supported() about 11891 not being able to list available filters was removed since 11892 lzma_str_list_filters() will do this. 11893 11894 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++---------------- 11895 1 file changed, 143 insertions(+), 83 deletions(-) 11896 11897commit 805b45cd60bfd5da3d3d89077de3789df179b324 11898Author: Lasse Collin <lasse.collin@tukaani.org> 11899Date: 2023-02-23 20:46:16 +0200 11900 11901 Update THANKS. 11902 11903 THANKS | 1 + 11904 1 file changed, 1 insertion(+) 11905 11906commit 30e95bb44c36ae26b2ab12a94343b215fec285e7 11907Author: Lasse Collin <lasse.collin@tukaani.org> 11908Date: 2023-02-21 22:57:10 +0200 11909 11910 liblzma: Avoid null pointer + 0 (undefined behavior in C). 11911 11912 In the C99 and C17 standards, section 6.5.6 paragraph 8 means that 11913 adding 0 to a null pointer is undefined behavior. As of writing, 11914 "clang -fsanitize=undefined" (Clang 15) diagnoses this. However, 11915 I'm not aware of any compiler that would take advantage of this 11916 when optimizing (Clang 15 included). It's good to avoid this anyway 11917 since compilers might some day infer that pointer arithmetic implies 11918 that the pointer is not NULL. That is, the following foo() would then 11919 unconditionally return 0, even for foo(NULL, 0): 11920 11921 void bar(char *a, char *b); 11922 11923 int foo(char *a, size_t n) 11924 { 11925 bar(a, a + n); 11926 return a == NULL; 11927 } 11928 11929 In contrast to C, C++ explicitly allows null pointer + 0. So if 11930 the above is compiled as C++ then there is no undefined behavior 11931 in the foo(NULL, 0) call. 11932 11933 To me it seems that changing the C standard would be the sane 11934 thing to do (just add one sentence) as it would ensure that a huge 11935 amount of old code won't break in the future. Based on web searches 11936 it seems that a large number of codebases (where null pointer + 0 11937 occurs) are being fixed instead to be future-proof in case compilers 11938 will some day optimize based on it (like making the above foo(NULL, 0) 11939 return 0) which in the worst case will cause security bugs. 11940 11941 Some projects don't plan to change it. For example, gnulib and thus 11942 many GNU tools currently require that null pointer + 0 is defined: 11943 11944 https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html 11945 11946 https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html 11947 11948 In XZ Utils null pointer + 0 issue should be fixed after this 11949 commit. This adds a few if-statements and thus branches to avoid 11950 null pointer + 0. These check for size > 0 instead of ptr != NULL 11951 because this way bugs where size > 0 && ptr == NULL will likely 11952 get caught quickly. None of them are in hot spots so it shouldn't 11953 matter for performance. 11954 11955 A little less readable version would be replacing 11956 11957 ptr + offset 11958 11959 with 11960 11961 offset != 0 ? ptr + offset : ptr 11962 11963 or creating a macro for it: 11964 11965 #define my_ptr_add(ptr, offset) \ 11966 ((offset) != 0 ? ((ptr) + (offset)) : (ptr)) 11967 11968 Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1, 11969 Clang >= 7, and Clang-based ICX to optimize it to the very same code 11970 as ptr + offset. That is, it won't create a branch. So for hot code 11971 this could be a good solution to avoid null pointer + 0. Unfortunately 11972 other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a 11973 branch from my_ptr_add(). 11974 11975 Thanks to Marcin Kowalczyk for reporting the problem: 11976 https://github.com/tukaani-project/xz/issues/36 11977 11978 src/liblzma/common/block_decoder.c | 5 ++++- 11979 src/liblzma/common/block_encoder.c | 7 +++++-- 11980 src/liblzma/common/common.c | 20 ++++++++++++++------ 11981 src/liblzma/common/index_decoder.c | 13 ++++++++++--- 11982 src/liblzma/common/index_encoder.c | 11 +++++++++-- 11983 src/liblzma/common/index_hash.c | 13 ++++++++++--- 11984 src/liblzma/common/lzip_decoder.c | 6 +++++- 11985 src/liblzma/delta/delta_decoder.c | 7 ++++++- 11986 src/liblzma/delta/delta_encoder.c | 12 ++++++++++-- 11987 src/liblzma/simple/simple_coder.c | 6 ++++-- 11988 10 files changed, 77 insertions(+), 23 deletions(-) 11989 11990commit fa9065fac54194fe0407fc7f0cc9633fdce13c21 11991Author: Jia Tan <jiat0218@gmail.com> 11992Date: 2023-02-07 00:00:44 +0800 11993 11994 liblzma: Adjust container.h for consistency with filter.h. 11995 11996 src/liblzma/api/lzma/container.h | 20 +++++++++----------- 11997 1 file changed, 9 insertions(+), 11 deletions(-) 11998 11999commit 00a721b63d82dfb658dca8d8cb599d8a245c663f 12000Author: Jia Tan <jiat0218@gmail.com> 12001Date: 2023-02-07 00:00:09 +0800 12002 12003 liblzma: Fix small typos and reword a few things in filter.h. 12004 12005 src/liblzma/api/lzma/container.h | 13 ++++++------- 12006 1 file changed, 6 insertions(+), 7 deletions(-) 12007 12008commit 5b1c171d4ffe89ef18fa31509bb0185d6fd11d39 12009Author: Jia Tan <jiat0218@gmail.com> 12010Date: 2023-02-06 23:42:08 +0800 12011 12012 liblzma: Convert list of flags in lzma_mt to bulleted list. 12013 12014 src/liblzma/api/lzma/container.h | 9 ++++++--- 12015 1 file changed, 6 insertions(+), 3 deletions(-) 12016 12017commit dbd47622eb99fefb3538a22baec3def002aa56f5 12018Author: Jia Tan <jiat0218@gmail.com> 12019Date: 2023-01-26 23:17:41 +0800 12020 12021 liblzma: Fix typo in documentation in container.h 12022 12023 lzma_microlzma_decoder -> lzma_microlzma_encoder 12024 12025 src/liblzma/api/lzma/container.h | 2 +- 12026 1 file changed, 1 insertion(+), 1 deletion(-) 12027 12028commit 14cd30806d69e55906073745bcce3ee50e0ec942 12029Author: Jia Tan <jiat0218@gmail.com> 12030Date: 2023-01-26 23:16:34 +0800 12031 12032 liblzma: Improve documentation for container.h 12033 12034 Standardizing each function to always specify parameters and return 12035 values. Also moved the parameters and return values to the end of each 12036 function description. 12037 12038 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++-------------- 12039 1 file changed, 93 insertions(+), 53 deletions(-) 12040 12041commit c9c8bfae3502842dcead85eeb2b951b437c2cd88 12042Author: Jia Tan <jiat0218@gmail.com> 12043Date: 2023-02-22 20:59:41 +0800 12044 12045 CMake: Add LZIP decoder test to list of tests. 12046 12047 CMakeLists.txt | 1 + 12048 1 file changed, 1 insertion(+) 12049 12050commit b9f171dd00a3cc32b6d41ea8e082cf545640ec2a 12051Author: Lasse Collin <lasse.collin@tukaani.org> 12052Date: 2023-02-17 20:56:49 +0200 12053 12054 Update THANKS. 12055 12056 THANKS | 1 + 12057 1 file changed, 1 insertion(+) 12058 12059commit 2ee86d20e49985b903b78ebcfa3fa672e73e93aa 12060Author: Lasse Collin <lasse.collin@tukaani.org> 12061Date: 2023-02-17 20:48:28 +0200 12062 12063 Build: Use only the generic symbol versioning on MicroBlaze. 12064 12065 On MicroBlaze, GCC 12 is broken in sense that 12066 __has_attribute(__symver__) returns true but it still doesn't 12067 support the __symver__ attribute even though the platform is ELF 12068 and symbol versioning is supported if using the traditional 12069 __asm__(".symver ...") method. Avoiding the traditional method is 12070 good because it breaks LTO (-flto) builds with GCC. 12071 12072 See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 12073 12074 For now the only extra symbols in liblzma_linux.map are the 12075 compatibility symbols with the patch that spread from RHEL/CentOS 7. 12076 These require the use of __symver__ attribute or __asm__(".symver ...") 12077 in the C code. Compatibility with the patch from CentOS 7 doesn't 12078 seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze 12079 instead. It doesn't require anything special in the C code and thus 12080 no LTO issues either. 12081 12082 An alternative would be to detect support for __symver__ 12083 attribute in configure.ac and CMakeLists.txt and fall back 12084 to __asm__(".symver ...") but then LTO would be silently broken 12085 on MicroBlaze. It sounds likely that MicroBlaze is a special 12086 case so let's treat it as a such because that is simpler. If 12087 a similar issue exists on some other platform too then hopefully 12088 someone will report it and this can be reconsidered. 12089 12090 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should 12091 but perhaps CMake build of liblzma doesn't matter much on MicroBlaze. 12092 The problem breaks the build so it's easy to notice and can be fixed 12093 later.) 12094 12095 Thanks to Vincent Fazio for reporting the problem and proposing 12096 a patch (in the end that solution wasn't used): 12097 https://github.com/tukaani-project/xz/pull/32 12098 12099 configure.ac | 12 ++++++++++-- 12100 1 file changed, 10 insertions(+), 2 deletions(-) 12101 12102commit d831072cceca458d94d2d5da201862f6d43a417b 12103Author: Lasse Collin <lasse.collin@tukaani.org> 12104Date: 2023-02-16 21:09:00 +0200 12105 12106 liblzma: Very minor API doc tweaks. 12107 12108 Use "member" to refer to struct members as that's the term used 12109 by the C standard. 12110 12111 Use lzma_options_delta.dist and such in docs so that in Doxygen's 12112 HTML output they will link to the doc of the struct member. 12113 12114 Clean up a few trailing white spaces too. 12115 12116 src/liblzma/api/lzma/block.h | 6 +++--- 12117 src/liblzma/api/lzma/delta.h | 6 +++--- 12118 src/liblzma/api/lzma/index.h | 10 +++++----- 12119 src/liblzma/api/lzma/stream_flags.h | 6 +++--- 12120 4 files changed, 14 insertions(+), 14 deletions(-) 12121 12122commit f029daea39c215fd7d5cb6b6798818b055cf5b22 12123Author: Jia Tan <jiat0218@gmail.com> 12124Date: 2023-02-17 00:54:33 +0800 12125 12126 liblzma: Adjust spacing in doc headers in bcj.h. 12127 12128 src/liblzma/api/lzma/bcj.h | 14 +++++++------- 12129 1 file changed, 7 insertions(+), 7 deletions(-) 12130 12131commit a5de68bac2bb7e1b9119e6cea7d761a22ea73e9c 12132Author: Jia Tan <jiat0218@gmail.com> 12133Date: 2023-02-17 00:44:44 +0800 12134 12135 liblzma: Adjust documentation in bcj.h for consistent style. 12136 12137 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++--------------------- 12138 1 file changed, 22 insertions(+), 21 deletions(-) 12139 12140commit efa498c13b883810497e0ea8a169efd6f48f5026 12141Author: Jia Tan <jiat0218@gmail.com> 12142Date: 2023-02-17 00:36:05 +0800 12143 12144 liblzma: Rename field => member in documentation. 12145 12146 Also adjusted preset value => preset level. 12147 12148 src/liblzma/api/lzma/base.h | 18 +++++++-------- 12149 src/liblzma/api/lzma/block.h | 44 ++++++++++++++++++------------------- 12150 src/liblzma/api/lzma/container.h | 26 +++++++++++----------- 12151 src/liblzma/api/lzma/delta.h | 12 +++++----- 12152 src/liblzma/api/lzma/index.h | 30 ++++++++++++------------- 12153 src/liblzma/api/lzma/lzma12.h | 28 +++++++++++------------ 12154 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++-------------- 12155 7 files changed, 95 insertions(+), 95 deletions(-) 12156 12157commit 718b22a6c5e3ee5de123323ea798872381f9320e 12158Author: Lasse Collin <lasse.collin@tukaani.org> 12159Date: 2023-02-16 17:59:50 +0200 12160 12161 liblzma: Silence a warning from MSVC. 12162 12163 It gives C4146 here since unary minus with unsigned integer 12164 is still unsigned (which is the intention here). Doing it 12165 with substraction makes it clearer and avoids the warning. 12166 12167 Thanks to Nathan Moinvaziri for reporting this. 12168 12169 src/liblzma/check/crc64_fast.c | 2 +- 12170 1 file changed, 1 insertion(+), 1 deletion(-) 12171 12172commit 87c53553fa7d50f777b4edfa99f2083628f590fe 12173Author: Jia Tan <jiat0218@gmail.com> 12174Date: 2023-02-16 21:04:54 +0800 12175 12176 liblzma: Improve documentation for stream_flags.h 12177 12178 Standardizing each function to always specify parameters and return 12179 values. Also moved the parameters and return values to the end of each 12180 function description. 12181 12182 A few small things were reworded and long sentences broken up. 12183 12184 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++--------------- 12185 1 file changed, 46 insertions(+), 30 deletions(-) 12186 12187commit 13d99e75a543e9e5f8633cc241eae55b91a3b242 12188Author: Jia Tan <jiat0218@gmail.com> 12189Date: 2023-02-14 21:50:16 +0800 12190 12191 liblzma: Improve documentation in lzma12.h. 12192 12193 All functions now explicitly specify parameter and return values. 12194 12195 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++--------- 12196 1 file changed, 23 insertions(+), 9 deletions(-) 12197 12198commit 43ec344c868f930e96879eb9e49212cce92a9884 12199Author: Jia Tan <jiat0218@gmail.com> 12200Date: 2023-01-27 22:44:06 +0800 12201 12202 liblzma: Improve documentation in check.h. 12203 12204 All functions now explicitly specify parameter and return values. 12205 Also moved the note about SHA-256 functions not being exported to the 12206 top of the file. 12207 12208 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++------------- 12209 1 file changed, 28 insertions(+), 13 deletions(-) 12210 12211commit 9c71db4e884fd49aea3d1e711036bff45ca66487 12212Author: Jia Tan <jiat0218@gmail.com> 12213Date: 2023-02-08 21:33:52 +0800 12214 12215 liblzma: Improve documentation in index.h 12216 12217 All functions now explicitly specify parameter and return values. 12218 12219 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++------------- 12220 1 file changed, 126 insertions(+), 51 deletions(-) 12221 12222commit 421f2f2e160720f6009e3b6a125cafe2feaa9419 12223Author: Jia Tan <jiat0218@gmail.com> 12224Date: 2023-02-08 20:35:32 +0800 12225 12226 liblzma: Reword a comment in index.h. 12227 12228 src/liblzma/api/lzma/index.h | 4 ++-- 12229 1 file changed, 2 insertions(+), 2 deletions(-) 12230 12231commit b67539484981351d501b68de5e925425e50c59b1 12232Author: Jia Tan <jiat0218@gmail.com> 12233Date: 2023-02-08 20:30:23 +0800 12234 12235 liblzma: Omit lzma_index_iter's internal field from Doxygen docs. 12236 12237 Add \private above this field and its sub-fields since it is not meant 12238 to be modified by users. 12239 12240 src/liblzma/api/lzma/index.h | 9 ++++++++- 12241 1 file changed, 8 insertions(+), 1 deletion(-) 12242 12243commit 0c9e4fc2ad6d88d54f299240fcc5a2ce7d695d96 12244Author: Jia Tan <jiat0218@gmail.com> 12245Date: 2023-01-21 21:32:03 +0800 12246 12247 liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR. 12248 12249 LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put 12250 documentation after a member. 12251 12252 src/liblzma/api/lzma/base.h | 2 +- 12253 1 file changed, 1 insertion(+), 1 deletion(-) 12254 12255commit 816fec125aa74bcef46512c73acc6d9e5a700d15 12256Author: Jia Tan <jiat0218@gmail.com> 12257Date: 2023-01-21 00:29:38 +0800 12258 12259 liblzma: Improve documentation for base.h. 12260 12261 Standardizing each function to always specify params and return values. 12262 Also fixed a small grammar mistake. 12263 12264 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++----- 12265 1 file changed, 25 insertions(+), 5 deletions(-) 12266 12267commit 862dacef1a4e7e1b28d465956fa4244ed01df154 12268Author: Jia Tan <jiat0218@gmail.com> 12269Date: 2023-02-14 00:12:34 +0800 12270 12271 liblzma: Add one more missing [out] annotation in vli.h 12272 12273 src/liblzma/api/lzma/vli.h | 2 +- 12274 1 file changed, 1 insertion(+), 1 deletion(-) 12275 12276commit 867b08ae4254bf55dd1f7fd502cc618231b92f75 12277Author: Jia Tan <jiat0218@gmail.com> 12278Date: 2023-02-14 00:08:33 +0800 12279 12280 liblzma: Minor improvements to vli.h. 12281 12282 Added [out] annotations to parameters that are pointers and can have 12283 their value changed. Also added a clarification to lzma_vli_is_valid. 12284 12285 src/liblzma/api/lzma/vli.h | 13 +++++++------ 12286 1 file changed, 7 insertions(+), 6 deletions(-) 12287 12288commit 90d0e628ff11e5030bcc4fc000bca056adda6603 12289Author: Jia Tan <jiat0218@gmail.com> 12290Date: 2023-02-10 21:38:02 +0800 12291 12292 liblzma: Add comments for macros in delta.h. 12293 12294 Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness 12295 and to avoid Doxygen warnings. 12296 12297 src/liblzma/api/lzma/delta.h | 8 ++++++++ 12298 1 file changed, 8 insertions(+) 12299 12300commit 9255fffdb13e59874bf7f95c370c410ad3a7e114 12301Author: Jia Tan <jiat0218@gmail.com> 12302Date: 2023-02-10 21:35:23 +0800 12303 12304 liblzma: Improve documentation in index_hash.h. 12305 12306 All functions now explicitly specify parameter and return values. 12307 Also reworded the description of lzma_index_hash_init() for readability. 12308 12309 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++--------- 12310 1 file changed, 27 insertions(+), 9 deletions(-) 12311 12312commit 1dbe12b90cff79bb51923733ac0840747b4b4131 12313Author: Lasse Collin <lasse.collin@tukaani.org> 12314Date: 2023-02-07 19:07:45 +0200 12315 12316 xz: Improve the comment about start_time in mytime.c. 12317 12318 start_time is relative to an arbitary point in time, it's not 12319 time of day, so using it for anything else than time differences 12320 wouldn't make sense. 12321 12322 src/xz/mytime.c | 15 ++++++++++----- 12323 1 file changed, 10 insertions(+), 5 deletions(-) 12324 12325commit 7673ef5aa80c1af7fb693360dd82f527b46c2c56 12326Author: Jia Tan <jiat0218@gmail.com> 12327Date: 2023-02-04 21:06:35 +0800 12328 12329 Build: Adjust CMake version search regex. 12330 12331 Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH 12332 macros do not need to be on consecutive lines in version.h. They can be 12333 separated by more whitespace, comments, or even other content, as long 12334 as they appear in the proper order (major, minor, patch). 12335 12336 CMakeLists.txt | 2 ++ 12337 1 file changed, 2 insertions(+) 12338 12339commit b8bce89be7fb5bffe5fef4a2782ca9b2b107eaac 12340Author: Jia Tan <jiat0218@gmail.com> 12341Date: 2023-02-04 12:01:23 +0800 12342 12343 xz: Add a comment clarifying the use of start_time in mytime.c. 12344 12345 src/xz/mytime.c | 5 +++++ 12346 1 file changed, 5 insertions(+) 12347 12348commit 912af91b10a18fb9bb3167247ecaaefca8248ee9 12349Author: Jia Tan <jiat0218@gmail.com> 12350Date: 2023-01-26 09:50:21 +0800 12351 12352 liblzma: Improve documentation for version.h. 12353 12354 Specified parameter and return values for API functions and documented 12355 a few more of the macros. 12356 12357 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++------- 12358 1 file changed, 22 insertions(+), 7 deletions(-) 12359 12360commit 850adec171203cd22b57d016084d713f72ae5307 12361Author: Jia Tan <jiat0218@gmail.com> 12362Date: 2023-02-03 22:52:55 +0800 12363 12364 Docs: Omit SIGTSTP not handled from TODO. 12365 12366 TODO | 4 ---- 12367 1 file changed, 4 deletions(-) 12368 12369commit 2c78a83c6faec70154d9eb78022a618ed62cdcb3 12370Author: Jia Tan <jiat0218@gmail.com> 12371Date: 2023-02-03 00:33:32 +0800 12372 12373 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length. 12374 12375 The bug is only a problem in applications that do not properly terminate 12376 the filters[] array with LZMA_VLI_UNKNOWN or have more than 12377 LZMA_FILTERS_MAX filters. This bug does not affect xz. 12378 12379 src/liblzma/common/string_conversion.c | 7 +++++++ 12380 1 file changed, 7 insertions(+) 12381 12382commit e01f01b9af1c074463b92694a16ecc16a31907c0 12383Author: Jia Tan <jiat0218@gmail.com> 12384Date: 2023-02-03 00:32:47 +0800 12385 12386 Tests: Create test_filter_str.c. 12387 12388 Tests lzma_str_to_filters(), lzma_str_from_filters(), and 12389 lzma_str_list_filters() API functions. 12390 12391 CMakeLists.txt | 1 + 12392 tests/Makefile.am | 2 + 12393 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++ 12394 3 files changed, 596 insertions(+) 12395 12396commit 8dfc029e7a4ce45809c30313dc0e502f0d22be26 12397Author: Jia Tan <jiat0218@gmail.com> 12398Date: 2023-01-22 08:49:00 +0800 12399 12400 liblzma: Fix typos in comments in string_conversion.c. 12401 12402 src/liblzma/common/string_conversion.c | 4 ++-- 12403 1 file changed, 2 insertions(+), 2 deletions(-) 12404 12405commit 54ad83c1ae2180dcc0cb2445b181dc1e9732a5d6 12406Author: Jia Tan <jiat0218@gmail.com> 12407Date: 2023-02-03 00:20:20 +0800 12408 12409 liblzma: Clarify block encoder and decoder documentation. 12410 12411 Added a few sentences to the description for lzma_block_encoder() and 12412 lzma_block_decoder() to highlight that the Block Header must be coded 12413 before calling these functions. 12414 12415 src/liblzma/api/lzma/block.h | 15 +++++++++++---- 12416 1 file changed, 11 insertions(+), 4 deletions(-) 12417 12418commit f680e771b3eb2a46310fe85b3e000ac3a1a0640f 12419Author: Jia Tan <jiat0218@gmail.com> 12420Date: 2023-02-03 00:12:24 +0800 12421 12422 Update lzma_block documentation for lzma_block_uncomp_encode(). 12423 12424 src/liblzma/api/lzma/block.h | 3 +++ 12425 1 file changed, 3 insertions(+) 12426 12427commit 504cf4af895fd45aad0c56eb3b49d90acd54465b 12428Author: Jia Tan <jiat0218@gmail.com> 12429Date: 2023-02-03 00:11:37 +0800 12430 12431 liblzma: Minor edits to lzma_block header_size documentation. 12432 12433 src/liblzma/api/lzma/block.h | 3 ++- 12434 1 file changed, 2 insertions(+), 1 deletion(-) 12435 12436commit 115b720fb521f99aa832d06b2c12b7f8c6c50680 12437Author: Jia Tan <jiat0218@gmail.com> 12438Date: 2023-02-03 00:11:07 +0800 12439 12440 liblzma: Enumerate functions that read version in lzma_block. 12441 12442 src/liblzma/api/lzma/block.h | 13 +++++++++++-- 12443 1 file changed, 11 insertions(+), 2 deletions(-) 12444 12445commit 85ea0979adcf808a3830aefbe7a4ec884e542ea1 12446Author: Jia Tan <jiat0218@gmail.com> 12447Date: 2023-02-03 00:10:34 +0800 12448 12449 liblzma: Clarify comment in block.h. 12450 12451 src/liblzma/api/lzma/block.h | 3 ++- 12452 1 file changed, 2 insertions(+), 1 deletion(-) 12453 12454commit 1f7ab90d9ce224230a04de6b921ad6e2029023a8 12455Author: Jia Tan <jiat0218@gmail.com> 12456Date: 2023-02-03 00:07:23 +0800 12457 12458 liblzma: Improve documentation for block.h. 12459 12460 Standardizing each function to always specify params and return values. 12461 Output pointer parameters are also marked with doxygen style [out] to 12462 make it clear. Any note sections were also moved above the parameter and 12463 return sections for consistency. 12464 12465 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++---------- 12466 1 file changed, 75 insertions(+), 21 deletions(-) 12467 12468commit c563a4bc554a96bd0b6aab3c139715b7ec8f6ca3 12469Author: Jia Tan <jiat0218@gmail.com> 12470Date: 2023-02-01 23:38:30 +0800 12471 12472 liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION. 12473 12474 The flag description for LZMA_STR_NO_VALIDATION was previously confusing 12475 about the treatment for filters than cannot be used with .xz format 12476 (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that 12477 LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS. 12478 12479 src/liblzma/api/lzma/filter.h | 5 +++-- 12480 1 file changed, 3 insertions(+), 2 deletions(-) 12481 12482commit 315c64c7e18acc59a745b68148188a73e998252b 12483Author: Jia Tan <jiat0218@gmail.com> 12484Date: 2023-02-01 21:43:33 +0800 12485 12486 CI: Update .gitignore for artifacts directory in build-aux. 12487 12488 The workflow action for our CI pipeline can only reference artifacts in 12489 the source directory, so we should ignore these files if the ci_build.sh 12490 is run locally. 12491 12492 .gitignore | 1 + 12493 1 file changed, 1 insertion(+) 12494 12495commit 2c1341f4fa06e7f487d61142aa354c433e17ec7f 12496Author: Jia Tan <jiat0218@gmail.com> 12497Date: 2023-02-01 21:36:46 +0800 12498 12499 CI: Add quotes around variables in a few places. 12500 12501 build-aux/ci_build.sh | 6 +++--- 12502 1 file changed, 3 insertions(+), 3 deletions(-) 12503 12504commit 3a401b0e0c7a2658af7801dd0690256ef24149e0 12505Author: Jia Tan <jiat0218@gmail.com> 12506Date: 2023-02-01 21:36:22 +0800 12507 12508 CI: Upload test logs as artifacts if a test fails. 12509 12510 .github/workflows/ci.yml | 60 ++++++++++++++++++++++++++++++++++-------------- 12511 build-aux/ci_build.sh | 31 ++++++++++++++++++++----- 12512 2 files changed, 68 insertions(+), 23 deletions(-) 12513 12514commit 610dde15a88f12cc540424eb3eb3ed61f3876f74 12515Author: Lasse Collin <lasse.collin@tukaani.org> 12516Date: 2023-01-27 20:02:49 +0200 12517 12518 xz: Use clock_gettime() even if CLOCK_MONOTONIC isn't available. 12519 12520 mythread.h and thus liblzma already does it. 12521 12522 src/xz/mytime.c | 11 ++++++++--- 12523 src/xz/private.h | 3 +-- 12524 2 files changed, 9 insertions(+), 5 deletions(-) 12525 12526commit 2e02877288f6576cd4595e9ac7684f867cd47d68 12527Author: Lasse Collin <lasse.collin@tukaani.org> 12528Date: 2023-01-27 19:41:19 +0200 12529 12530 po4a/po4a.conf: Sort the language identifiers in alphabetical order. 12531 12532 po4a/po4a.conf | 2 +- 12533 1 file changed, 1 insertion(+), 1 deletion(-) 12534 12535commit ff592c616eda274215b485cf1b8d34f060c9f3be 12536Author: Lasse Collin <lasse.collin@tukaani.org> 12537Date: 2023-01-26 18:29:17 +0200 12538 12539 xz: Add SIGTSTP handler for progress indicator time keeping. 12540 12541 This way, if xz is stopped the elapsed time and estimated time 12542 remaining won't get confused by the amount of time spent in 12543 the stopped state. 12544 12545 This raises SIGSTOP. It's not clear to me if this is the correct way. 12546 POSIX and glibc docs say that SIGTSTP shouldn't stop the process if 12547 it is orphaned but this commit doesn't attempt to handle that. 12548 12549 Search for SIGTSTP in section 2.4.3: 12550 12551 https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html 12552 12553 src/xz/mytime.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 12554 src/xz/mytime.h | 6 ++++++ 12555 src/xz/private.h | 12 ++++++++++++ 12556 src/xz/signals.c | 17 ++++++++++++++++- 12557 4 files changed, 89 insertions(+), 2 deletions(-) 12558 12559commit 3b1c8ac8d1d553cbb1fb22b545d2b1424c752b76 12560Author: Jia Tan <jiat0218@gmail.com> 12561Date: 2023-01-27 20:14:51 +0800 12562 12563 Translations: Add Brazilian Portuguese translation of man pages. 12564 12565 Thanks to Rafael Fontenelle. 12566 12567 po4a/po4a.conf | 2 +- 12568 po4a/pt_BR.po | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12569 2 files changed, 3678 insertions(+), 1 deletion(-) 12570 12571commit a15a7552f9f67c4e402f5d2967324e0ccfd6fccc 12572Author: Lasse Collin <lasse.collin@tukaani.org> 12573Date: 2023-01-26 17:51:06 +0200 12574 12575 Build: Avoid different quoting style in --enable-doxygen doc. 12576 12577 configure.ac | 10 +++++----- 12578 1 file changed, 5 insertions(+), 5 deletions(-) 12579 12580commit af5a4bd5afc089d9697756dded38feafaa987ae4 12581Author: Lasse Collin <lasse.collin@tukaani.org> 12582Date: 2023-01-26 17:39:46 +0200 12583 12584 tuklib_physmem: Check for __has_warning before GCC version. 12585 12586 Clang can be configured to fake a too high GCC version so 12587 this way it's more robust. 12588 12589 src/common/tuklib_physmem.c | 6 +++--- 12590 1 file changed, 3 insertions(+), 3 deletions(-) 12591 12592commit f35d98e20609e0be6a04ae2604bfb7cb9d5bd5e4 12593Author: Jia Tan <jiat0218@gmail.com> 12594Date: 2023-01-24 20:48:50 +0800 12595 12596 liblzma: Fix documentation in filter.h for lzma_str_to_filters() 12597 12598 The previous documentation for lzma_str_to_filters() was technically 12599 correct, but misleading. lzma_str_to_filters() returns NULL on success, 12600 which is in practice always defined to 0. This is the same value as 12601 LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should 12602 be more clear. 12603 12604 src/liblzma/api/lzma/filter.h | 2 +- 12605 1 file changed, 1 insertion(+), 1 deletion(-) 12606 12607commit 2f78ecc5939b3d97ddfc2a6bd31b50108a28d0a2 12608Author: Lasse Collin <lasse.collin@tukaani.org> 12609Date: 2023-01-23 23:44:58 +0200 12610 12611 Revert "tuklib_common: Define __has_warning if it is not defined." 12612 12613 This reverts commit 82e3c968bfa10e3ff13333bd9cbbadb5988d6766. 12614 12615 Macros in the reserved namespace (_foo or __foo) shouldn't be #defined 12616 without a very good reason. Here the alternative would have been 12617 to #define tuklib_has_warning(str) to an approriate value. 12618 12619 Also the tuklib_* files should stay namespace clean if possible. 12620 12621 src/common/tuklib_common.h | 7 ------- 12622 1 file changed, 7 deletions(-) 12623 12624commit 8366cf8738e8b7bb74c967d07bf0fd2a1878e575 12625Author: Lasse Collin <lasse.collin@tukaani.org> 12626Date: 2023-01-23 23:38:34 +0200 12627 12628 tuklib_physmem: Clean up the way -Wcast-function-type is silenced on Windows. 12629 12630 __has_warning and other __has_foo macros are meant to become 12631 compiler-agnostic so it's not good to check for __clang__ with it. 12632 12633 This also relied on tuklib_common.h for #defining __has_warning 12634 which was confusing as #defining reserved macros is generally 12635 not a good idea. 12636 12637 src/common/tuklib_physmem.c | 17 +++++++++++++---- 12638 1 file changed, 13 insertions(+), 4 deletions(-) 12639 12640commit 683a3c7e2fcd922200c31078e5c9dd1348e90941 12641Author: Lasse Collin <lasse.collin@tukaani.org> 12642Date: 2023-01-24 00:05:38 +0200 12643 12644 xz: Flip the return value of suffix_is_set to match the documentation. 12645 12646 Also edit style to match the existing coding style in the project. 12647 12648 src/xz/args.c | 6 +++--- 12649 src/xz/suffix.c | 2 +- 12650 src/xz/suffix.h | 1 + 12651 3 files changed, 5 insertions(+), 4 deletions(-) 12652 12653commit cc5aa9ab138beeecaee5a1e81197591893ee9ca0 12654Author: Jia Tan <jiat0218@gmail.com> 12655Date: 2023-01-07 21:55:06 +0800 12656 12657 xz: Refactor duplicated check for custom suffix when using --format=raw 12658 12659 src/xz/args.c | 8 ++++++++ 12660 src/xz/suffix.c | 26 ++++++++------------------ 12661 src/xz/suffix.h | 7 +++++++ 12662 3 files changed, 23 insertions(+), 18 deletions(-) 12663 12664commit 9663141274e01592a281a7f2df5d7a31a1dac8bf 12665Author: Jia Tan <jiat0218@gmail.com> 12666Date: 2023-01-20 21:53:14 +0800 12667 12668 liblzma: Set documentation on all reserved fields to private. 12669 12670 This prevents the reserved fields from being part of the generated 12671 Doxygen documentation. 12672 12673 src/liblzma/api/lzma/base.h | 17 +++++++++++++++ 12674 src/liblzma/api/lzma/block.h | 43 +++++++++++++++++++++++++++++++++++++ 12675 src/liblzma/api/lzma/container.h | 24 +++++++++++++++++++++ 12676 src/liblzma/api/lzma/delta.h | 12 +++++++++++ 12677 src/liblzma/api/lzma/index.h | 27 +++++++++++++++++++++++ 12678 src/liblzma/api/lzma/lzma12.h | 22 +++++++++++++++++++ 12679 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++ 12680 7 files changed, 173 insertions(+) 12681 12682commit 6327a045f34d48fc5afc58ba0d32a82c94403049 12683Author: Jia Tan <jiat0218@gmail.com> 12684Date: 2022-12-20 21:39:59 +0800 12685 12686 Doxygen: Update Doxyfile.in from 1.4.7 to 1.8.17. 12687 12688 A few Doxygen tags were obsolete from 1.4.7. Version 1.8.17 released 12689 in 2019, so this should be compatible with resonable modern distros. 12690 The purpose of Doxygen these days is for docs on the website, so it 12691 doesn't necessarily have to work for everyone. Just when the maintainers 12692 want to update the docs. 12693 12694 Doxyfile.in | 2523 ++++++++++++++++++++++++++++++++++++++++++++--------------- 12695 1 file changed, 1893 insertions(+), 630 deletions(-) 12696 12697commit bbf71b69ebf9d0d62a0af150a5c37d193b8159ad 12698Author: Jia Tan <jiat0218@gmail.com> 12699Date: 2023-01-03 20:37:30 +0800 12700 12701 Doxygen: Make Doxygen only produce liblzma API documentation by default. 12702 12703 Doxygen is now configurable in autotools only with 12704 --enable-doxygen=[api|all]. The default is "api", which will only 12705 generate HTML output for liblzma API functions. The LaTex documentation 12706 output was also disabled. 12707 12708 Doxyfile.in | 18 +++++++++--------- 12709 configure.ac | 39 +++++++++++++++++++++++++++++++++++++++ 12710 2 files changed, 48 insertions(+), 9 deletions(-) 12711 12712commit 6fcf4671b6047113c583a0919fc850987a4ec5f4 12713Author: Jia Tan <jiat0218@gmail.com> 12714Date: 2022-12-21 23:59:43 +0800 12715 12716 liblzma: Highlight liblzma API headers should not be included directly. 12717 12718 This improves the generated Doxygen HTML files to better highlight 12719 how to properly use the liblzma API header files. 12720 12721 src/liblzma/api/lzma/base.h | 5 +++-- 12722 src/liblzma/api/lzma/bcj.h | 5 +++-- 12723 src/liblzma/api/lzma/block.h | 5 +++-- 12724 src/liblzma/api/lzma/check.h | 5 +++-- 12725 src/liblzma/api/lzma/container.h | 5 +++-- 12726 src/liblzma/api/lzma/delta.h | 5 +++-- 12727 src/liblzma/api/lzma/filter.h | 5 +++-- 12728 src/liblzma/api/lzma/hardware.h | 5 +++-- 12729 src/liblzma/api/lzma/index.h | 5 +++-- 12730 src/liblzma/api/lzma/index_hash.h | 5 +++-- 12731 src/liblzma/api/lzma/lzma12.h | 5 +++-- 12732 src/liblzma/api/lzma/stream_flags.h | 5 +++-- 12733 src/liblzma/api/lzma/version.h | 5 +++-- 12734 src/liblzma/api/lzma/vli.h | 5 +++-- 12735 14 files changed, 42 insertions(+), 28 deletions(-) 12736 12737commit b43ff180fb2e372adce876bfa155fc9bcf0c3db4 12738Author: Jia Tan <jiat0218@gmail.com> 12739Date: 2023-01-19 20:35:09 +0800 12740 12741 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64. 12742 12743 tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64 12744 to retrieve a function address. The proper way to do this is to cast the 12745 return value to the type of function pointer retrieved. Unfortunately, 12746 this causes a cast-function-type warning, so the best solution is to 12747 simply ignore the warning. 12748 12749 src/common/tuklib_physmem.c | 9 +++++++++ 12750 1 file changed, 9 insertions(+) 12751 12752commit 82e3c968bfa10e3ff13333bd9cbbadb5988d6766 12753Author: Jia Tan <jiat0218@gmail.com> 12754Date: 2023-01-19 20:32:40 +0800 12755 12756 tuklib_common: Define __has_warning if it is not defined. 12757 12758 clang supports the __has_warning macro to determine if the version of 12759 clang compiling the code supports a given warning. If we do not define 12760 it for other compilers, it may cause a preprocessor error. 12761 12762 src/common/tuklib_common.h | 7 +++++++ 12763 1 file changed, 7 insertions(+) 12764 12765commit b2ba1a489df451cdcd93b2334e319dd06778de19 12766Author: Jia Tan <jiat0218@gmail.com> 12767Date: 2023-01-18 22:11:05 +0800 12768 12769 CI: Reorder 32-bit build first for Linux autotool builds. 12770 12771 The 32-bit build needs to be first so the configure cache only needs to 12772 be reset one time. The 32-bit build sets the CFLAGS env variable, so any 12773 build using that flag after will fail unless the cache is reset. 12774 12775 .github/workflows/ci.yml | 17 ++++++++++++----- 12776 1 file changed, 12 insertions(+), 5 deletions(-) 12777 12778commit dd1c1135741057c91e8d018be9ec4d43968b0e64 12779Author: Jia Tan <jiat0218@gmail.com> 12780Date: 2023-01-18 21:51:43 +0800 12781 12782 CI: Enable --config-cache in autotool builds. 12783 12784 If CFLAGS are set in a build, the cache must be cleared with 12785 "make distclean", or by deleting the cache file. 12786 12787 build-aux/ci_build.sh | 2 +- 12788 1 file changed, 1 insertion(+), 1 deletion(-) 12789 12790commit d3e11477053764c003eec2daa5198c747d70ff69 12791Author: Jia Tan <jiat0218@gmail.com> 12792Date: 2023-01-16 21:35:45 +0800 12793 12794 xz: Add missing comment for coder_set_compression_settings() 12795 12796 src/xz/coder.h | 3 ++- 12797 1 file changed, 2 insertions(+), 1 deletion(-) 12798 12799commit 123255b6ed15f4428b2aa92e4962015a5362f6bf 12800Author: Jia Tan <jiat0218@gmail.com> 12801Date: 2023-01-16 20:55:10 +0800 12802 12803 xz: Do not set compression settings with raw format in list mode. 12804 12805 Calling coder_set_compression_settings() in list mode with verbose mode 12806 on caused the filter chain and memory requirements to print. This was 12807 unnecessary since the command results in an error and not consistent 12808 with other formats like lzma and alone. 12809 12810 src/xz/args.c | 3 ++- 12811 1 file changed, 2 insertions(+), 1 deletion(-) 12812 12813commit 571919c47b9ff5171ede84378620ed0a9aeb98c0 12814Author: Jia Tan <jiat0218@gmail.com> 12815Date: 2023-01-13 20:37:06 +0800 12816 12817 Translations: Update the Brazilian Portuguese translation. 12818 12819 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++-------------------------- 12820 1 file changed, 344 insertions(+), 259 deletions(-) 12821 12822commit 81cb02e2c22bbc036cdfaa2d2c4176f6bd60d3cf 12823Author: Jia Tan <jiat0218@gmail.com> 12824Date: 2023-01-12 23:43:06 +0800 12825 12826 CI: Disable shared and nls from various jobs in autotool runners. 12827 12828 Disabling shared library generation and linking should help speed up the 12829 runners. The shared library is still being tested in the 32 bit build 12830 and the full feature. 12831 12832 Disabling nls is to check for any unexpected warnings or errors. 12833 12834 .github/workflows/ci.yml | 56 ++++++++++++++++++++++++------------------------ 12835 1 file changed, 28 insertions(+), 28 deletions(-) 12836 12837commit 58a052198a7bcaf6e958f87fad72e69e19a2579b 12838Author: Jia Tan <jiat0218@gmail.com> 12839Date: 2023-01-12 23:39:19 +0800 12840 12841 CI: Reorder the 32-bit job in the Ubuntu runner. 12842 12843 Run the 32 bit job sooner since this is a more interesting test than 12844 some of the later jobs. 12845 12846 .github/workflows/ci.yml | 10 +++++----- 12847 1 file changed, 5 insertions(+), 5 deletions(-) 12848 12849commit 4110a998b83459fe2bc9bc1bec30ad68afa8f797 12850Author: Jia Tan <jiat0218@gmail.com> 12851Date: 2023-01-12 23:09:03 +0800 12852 12853 CI: Allow disabling Native Language Support. 12854 12855 build-aux/ci_build.sh | 9 ++++++++- 12856 1 file changed, 8 insertions(+), 1 deletion(-) 12857 12858commit 0dec634e705b5bf89a37c5d62d71e8511d480058 12859Author: Jia Tan <jiat0218@gmail.com> 12860Date: 2023-01-12 23:02:20 +0800 12861 12862 CI: Only run autogen.sh if it has not already run. 12863 12864 build-aux/ci_build.sh | 11 ++++++++--- 12865 1 file changed, 8 insertions(+), 3 deletions(-) 12866 12867commit 32287dc8def94df4546e903495d14c132bd54cc4 12868Author: Jia Tan <jiat0218@gmail.com> 12869Date: 2023-01-12 22:58:36 +0800 12870 12871 CI: Allow disabling shared library in autotools builds. 12872 12873 build-aux/ci_build.sh | 9 ++++++++- 12874 1 file changed, 8 insertions(+), 1 deletion(-) 12875 12876commit 77d1ebcc99ddd82a300d1838f608150221931dcd 12877Author: Jia Tan <jiat0218@gmail.com> 12878Date: 2023-01-12 22:44:18 +0800 12879 12880 CI: Improve Usage readability and add -h option. 12881 12882 build-aux/ci_build.sh | 15 +++++++++++++-- 12883 1 file changed, 13 insertions(+), 2 deletions(-) 12884 12885commit a8bb8358d10b059274f3cf993d9b8f490bafb268 12886Author: Lasse Collin <lasse.collin@tukaani.org> 12887Date: 2023-01-12 13:04:05 +0200 12888 12889 Build: Omit -Wmissing-noreturn from the default warnings. 12890 12891 It's not that important. It can be annoying in builds that 12892 disable many features since in those cases the tests programs 12893 will correctly trigger this warning with Clang. 12894 12895 configure.ac | 1 - 12896 1 file changed, 1 deletion(-) 12897 12898commit 52dc033d0bde0d19e3912303c6c74bae559d6498 12899Author: Lasse Collin <lasse.collin@tukaani.org> 12900Date: 2023-01-12 06:05:58 +0200 12901 12902 xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1). 12903 12904 It makes no difference here as the return value fits into an int 12905 too and it then gets ignored but this looks better. 12906 12907 src/xz/file_io.c | 2 +- 12908 1 file changed, 1 insertion(+), 1 deletion(-) 12909 12910commit b1a6d180a363d57b2b1c89526ff3f0782bf863d3 12911Author: Lasse Collin <lasse.collin@tukaani.org> 12912Date: 2023-01-12 06:01:12 +0200 12913 12914 xz: Silence warnings from -Wsign-conversion in a 32-bit build. 12915 12916 src/common/tuklib_mbstr_fw.c | 2 +- 12917 src/xz/list.c | 4 ++-- 12918 2 files changed, 3 insertions(+), 3 deletions(-) 12919 12920commit 31c21c734b7c7d7428a3da7402a2cb7bc2587339 12921Author: Lasse Collin <lasse.collin@tukaani.org> 12922Date: 2023-01-12 05:38:48 +0200 12923 12924 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build. 12925 12926 It doesn't warn on a 64-bit system because truncating 12927 a ptrdiff_t (signed long) to uint32_t is diagnosed under 12928 -Wconversion by GCC and -Wshorten-64-to-32 by Clang. 12929 12930 src/liblzma/lz/lz_encoder_mf.c | 7 ++++--- 12931 1 file changed, 4 insertions(+), 3 deletions(-) 12932 12933commit 37fbdfb7263522c11c7ad2685413d6295532581d 12934Author: Lasse Collin <lasse.collin@tukaani.org> 12935Date: 2023-01-12 04:46:45 +0200 12936 12937 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build. 12938 12939 src/common/mythread.h | 4 ++-- 12940 1 file changed, 2 insertions(+), 2 deletions(-) 12941 12942commit 5ce6ddc221d0bfb57d810d845bb65fb0aac0b008 12943Author: Lasse Collin <lasse.collin@tukaani.org> 12944Date: 2023-01-12 04:17:24 +0200 12945 12946 Build: Make configure add more warning flags for GCC and Clang. 12947 12948 -Wstrict-aliasing was removed from the list since it is enabled 12949 by -Wall already. 12950 12951 A normal build is clean with these on GNU/Linux x86-64 with 12952 GCC 12.2.0 and Clang 14.0.6. 12953 12954 configure.ac | 36 +++++++++++++++++++++++++++++++----- 12955 1 file changed, 31 insertions(+), 5 deletions(-) 12956 12957commit bfc3a0a8ac16de90049c1b1ba1445a7626d0230c 12958Author: Lasse Collin <lasse.collin@tukaani.org> 12959Date: 2023-01-12 04:14:18 +0200 12960 12961 Tests: Fix warnings from clang --Wassign-enum. 12962 12963 Explicitly casting the integer to lzma_check silences the warning. 12964 Since such an invalid value is needed in multiple tests, a constant 12965 INVALID_LZMA_CHECK_ID was added to tests.h. 12966 12967 The use of 0x1000 for lzma_block.check wasn't optimal as if 12968 the underlying type is a char then 0x1000 will be truncated to 0. 12969 However, in these test cases the value is ignored, thus even with 12970 such truncation the test would have passed. 12971 12972 tests/test_block_header.c | 6 +++--- 12973 tests/test_check.c | 2 +- 12974 tests/test_stream_flags.c | 8 ++++---- 12975 tests/tests.h | 9 +++++++++ 12976 4 files changed, 17 insertions(+), 8 deletions(-) 12977 12978commit 49245bb31e215ad455a1ab85e4ed6783152dc522 12979Author: Lasse Collin <lasse.collin@tukaani.org> 12980Date: 2023-01-12 03:51:07 +0200 12981 12982 Tests: Silence warnings from -Wsign-conversion. 12983 12984 Note that assigning an unsigned int to lzma_check doesn't warn 12985 on GNU/Linux x86-64 since the enum type is unsigned on that 12986 platform. The enum can be signed on some other platform though 12987 so it's best to use enumeration type lzma_check in these situations. 12988 12989 tests/test_check.c | 6 +++--- 12990 tests/test_stream_flags.c | 10 +++++----- 12991 2 files changed, 8 insertions(+), 8 deletions(-) 12992 12993commit 3f13bf6b9e8624cbe6d6e3e82d6c98a3ed1ad571 12994Author: Lasse Collin <lasse.collin@tukaani.org> 12995Date: 2023-01-12 03:19:59 +0200 12996 12997 liblzma: Silence warnings from clang -Wconditional-uninitialized. 12998 12999 This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0. 13000 The actual initialization of the variables is done inside 13001 mythread_sync() macro. Clang doesn't seem to see that 13002 the initialization code inside the macro is always executed. 13003 13004 src/liblzma/common/stream_decoder_mt.c | 8 +++++--- 13005 src/liblzma/common/stream_encoder_mt.c | 2 +- 13006 2 files changed, 6 insertions(+), 4 deletions(-) 13007 13008commit 6c886cc5b3c90c6a75e6be8b1278ec2261e452a6 13009Author: Lasse Collin <lasse.collin@tukaani.org> 13010Date: 2023-01-12 03:11:40 +0200 13011 13012 Fix warnings from clang -Wdocumentation. 13013 13014 src/liblzma/check/check.h | 4 ---- 13015 src/liblzma/lz/lz_encoder_mf.c | 4 ++-- 13016 src/xz/options.c | 4 ++-- 13017 3 files changed, 4 insertions(+), 8 deletions(-) 13018 13019commit a0e7fb1c1ea658b67f30517f5d1975efd0226dba 13020Author: Lasse Collin <lasse.collin@tukaani.org> 13021Date: 2023-01-12 03:04:28 +0200 13022 13023 Tests: test_lzip_decoder: Remove trailing white-space. 13024 13025 tests/test_lzip_decoder.c | 4 ++-- 13026 1 file changed, 2 insertions(+), 2 deletions(-) 13027 13028commit c0f8d6782f29e219fd496dd23f6a033270509d5c 13029Author: Lasse Collin <lasse.collin@tukaani.org> 13030Date: 2023-01-12 03:03:55 +0200 13031 13032 Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion. 13033 13034 tests/test_lzip_decoder.c | 13 +++++++------ 13035 1 file changed, 7 insertions(+), 6 deletions(-) 13036 13037commit 62efd48a825e8f439e84c85e165d8774ddc68fd2 13038Author: Jia Tan <jiat0218@gmail.com> 13039Date: 2023-01-11 23:58:16 +0800 13040 13041 Add NEWS for 5.4.1. 13042 13043 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13044 1 file changed, 70 insertions(+) 13045 13046commit d1561c47ec8cd3844a785d3741dc932f9b9c5790 13047Author: Jia Tan <jiat0218@gmail.com> 13048Date: 2023-01-11 22:46:48 +0800 13049 13050 xz: Fix warning -Wformat-nonliteral on clang in message.c. 13051 13052 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will 13053 allow a non-literal format string as long as the function takes its 13054 format arguments as a va_list. 13055 13056 src/xz/message.c | 9 +++++++++ 13057 1 file changed, 9 insertions(+) 13058 13059commit 8c0f115cc489331c48df77beca92fe378039d919 13060Author: Jia Tan <jiat0218@gmail.com> 13061Date: 2023-01-11 20:58:31 +0800 13062 13063 Tests: Fix test_filter_flags copy/paste error. 13064 13065 tests/test_filter_flags.c | 4 ++-- 13066 1 file changed, 2 insertions(+), 2 deletions(-) 13067 13068commit 25035813d1d596fde692addc33e7f715f1fe55eb 13069Author: Jia Tan <jiat0218@gmail.com> 13070Date: 2023-01-11 20:42:29 +0800 13071 13072 Tests: Fix type-limits warning in test_filter_flags. 13073 13074 This only occurs in test_filter_flags when the BCJ filters are not 13075 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a 13076 type-limits warning with the loop variable since an unsigned number will 13077 always be >= 0. 13078 13079 tests/test_filter_flags.c | 13 ++++++++++--- 13080 1 file changed, 10 insertions(+), 3 deletions(-) 13081 13082commit 0b8fa310cf56fec55663f62340e49e8e1441594f 13083Author: Lasse Collin <lasse.collin@tukaani.org> 13084Date: 2023-01-10 22:14:03 +0200 13085 13086 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. 13087 13088 This affects only 32-bit x86 builds. x86-64 is OK as is. 13089 13090 I still cannot easily test this myself. The reporter has tested 13091 this and it passes the tests included in the CMake build and 13092 performance is good: raw CRC64 is 2-3 times faster than the 13093 C version of the slice-by-four method. (Note that liblzma doesn't 13094 include a MSVC-compatible version of the 32-bit x86 assembly code 13095 for the slice-by-four method.) 13096 13097 Thanks to Iouri Kharon for figuring out a fix, testing, and 13098 benchmarking. 13099 13100 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ 13101 1 file changed, 18 insertions(+) 13102 13103commit 765354b50c2886fc0d294d6be3b207f7ae2ada70 13104Author: Jia Tan <jiat0218@gmail.com> 13105Date: 2023-01-11 01:18:50 +0800 13106 13107 Tests: Fix unused function warning in test_block_header. 13108 13109 One of the global arrays of filters was only used in a test that 13110 required both encoders and decoders to be configured in the build. 13111 13112 tests/test_block_header.c | 4 ++++ 13113 1 file changed, 4 insertions(+) 13114 13115commit 7c23c05befdcc73231c0d6632a7d943dbeaea1aa 13116Author: Jia Tan <jiat0218@gmail.com> 13117Date: 2023-01-11 01:08:03 +0800 13118 13119 Tests: Fix unused function warning in test_index_hash. 13120 13121 test_index_hash does not use fill_index_hash() unless both encoders 13122 and decoders are configured in the build. 13123 13124 tests/test_index_hash.c | 4 +--- 13125 1 file changed, 1 insertion(+), 3 deletions(-) 13126 13127commit 57464bb4ebd6c00dc8b19803f05ea55ddd0826f6 13128Author: Jia Tan <jiat0218@gmail.com> 13129Date: 2023-01-11 00:54:45 +0800 13130 13131 CI/CD: Add 32-bit build and test steps to Ubuntu autotools runner. 13132 13133 If all goes well, Mac autotools and Linux and Mac CMake will be added 13134 later for 32-bit builds. 13135 13136 .github/workflows/ci.yml | 7 ++++++- 13137 1 file changed, 6 insertions(+), 1 deletion(-) 13138 13139commit 923eb689a4b863b6cca8df6360d4962aae994edf 13140Author: Jia Tan <jiat0218@gmail.com> 13141Date: 2023-01-11 00:51:01 +0800 13142 13143 CI/CD: Enables warnings as errors in autotool build. 13144 13145 This will help us catch warnings and potential bugs in builds that are 13146 not often tested by us. 13147 13148 build-aux/ci_build.sh | 2 +- 13149 1 file changed, 1 insertion(+), 1 deletion(-) 13150 13151commit feae5528a30c006b6e2f96a95116e20b983703fc 13152Author: Jia Tan <jiat0218@gmail.com> 13153Date: 2023-01-11 00:48:35 +0800 13154 13155 CI/CD: Add -f argument to set CFLAGS in ci_build.sh. 13156 13157 For now, the suggested option is for -m32 only, but this can be updated 13158 later if other flags are deemed useful. 13159 13160 build-aux/ci_build.sh | 8 ++++++-- 13161 1 file changed, 6 insertions(+), 2 deletions(-) 13162 13163commit cfabb62a4874c146e7d6f30445637602545bc054 13164Author: Lasse Collin <lasse.collin@tukaani.org> 13165Date: 2023-01-10 12:47:16 +0200 13166 13167 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." 13168 13169 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. 13170 13171 It was reported that it wasn't a good enough fix and MSVC 13172 still produced (different kind of) bad code when building 13173 for 32-bit x86 if optimizations are enabled. 13174 13175 Thanks to Iouri Kharon. 13176 13177 src/liblzma/check/crc64_fast.c | 6 ------ 13178 1 file changed, 6 deletions(-) 13179 13180commit 0b64215170dd3562f207ef26f794755bcd600526 13181Author: Lasse Collin <lasse.collin@tukaani.org> 13182Date: 2023-01-10 11:56:11 +0200 13183 13184 sysdefs.h: Don't include strings.h anymore. 13185 13186 On some platforms src/xz/suffix.c may need <strings.h> for 13187 strcasecmp() but suffix.c includes the header when it needs it. 13188 13189 Unless there is an old system that otherwise supports enough C99 13190 to build XZ Utils but doesn't have C89/C90-compatible <string.h>, 13191 there should be no need to include <strings.h> in sysdefs.h. 13192 13193 src/common/sysdefs.h | 6 ------ 13194 1 file changed, 6 deletions(-) 13195 13196commit ec2fc39fe4f4e6e242b3a669585049763968cdeb 13197Author: Lasse Collin <lasse.collin@tukaani.org> 13198Date: 2023-01-10 11:23:41 +0200 13199 13200 xz: Include <strings.h> in suffix.c if needed for strcasecmp(). 13201 13202 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>. 13203 Of these, strcasecmp() is used on some platforms in suffix.c. 13204 Nothing else in the project needs <strings.h> (at least if 13205 building on a modern system). 13206 13207 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is 13208 defined and suffix.c relied on this. 13209 13210 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though 13211 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() 13212 is also in <string.h> in DJGPP. 13213 13214 src/xz/suffix.c | 3 +++ 13215 1 file changed, 3 insertions(+) 13216 13217commit 7049c4a76c805ad27d6cf4ee119a2ef2a7add59f 13218Author: Lasse Collin <lasse.collin@tukaani.org> 13219Date: 2023-01-10 10:05:13 +0200 13220 13221 sysdefs.h: Fix a comment. 13222 13223 src/common/sysdefs.h | 2 +- 13224 1 file changed, 1 insertion(+), 1 deletion(-) 13225 13226commit 194a5fab69277d9e804a6113b5f676b8666b3a61 13227Author: Lasse Collin <lasse.collin@tukaani.org> 13228Date: 2023-01-10 10:04:06 +0200 13229 13230 sysdefs.h: Don't include memory.h anymore even if it were available. 13231 13232 It quite probably was never needed, that is, any system where memory.h 13233 was required likely couldn't compile XZ Utils for other reasons anyway. 13234 13235 XZ Utils 5.2.6 and later source packages were generated using 13236 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code 13237 being removed is no longer used anyway. 13238 13239 src/common/sysdefs.h | 8 ++------ 13240 1 file changed, 2 insertions(+), 6 deletions(-) 13241 13242commit 5e34774c31d1b7509b5cb77a3be9973adec59ea0 13243Author: Lasse Collin <lasse.collin@tukaani.org> 13244Date: 2023-01-10 08:29:32 +0200 13245 13246 CMake: Fix appending to CMAKE_RC_FLAGS. 13247 13248 It's a string, not a list. It only worked when the variable was empty. 13249 13250 Thanks to Iouri Kharon. 13251 13252 CMakeLists.txt | 2 +- 13253 1 file changed, 1 insertion(+), 1 deletion(-) 13254 13255commit 6e652ceb18c615c578c869db300fa0756788b4e0 13256Author: Lasse Collin <lasse.collin@tukaani.org> 13257Date: 2023-01-10 00:33:14 +0200 13258 13259 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. 13260 13261 windows/INSTALL-MSVC.txt | 19 ++++++++++++------- 13262 1 file changed, 12 insertions(+), 7 deletions(-) 13263 13264commit 6b117d3b1fe91eb26d533ab16a2e552f84148d47 13265Author: Lasse Collin <lasse.collin@tukaani.org> 13266Date: 2023-01-09 23:41:25 +0200 13267 13268 CMake: Fix windres issues again. 13269 13270 At least on some systems, GNU windres needs --use-temp-file 13271 in addition to the \x20 hack to avoid spaces in the command line 13272 argument. Hovever, that \x20 syntax is broken with llvm-windres 13273 version 15.0.0 (results in "XZx20Utils") but luckily it works 13274 with a regular space. Thus it is best to limit the workarounds 13275 to GNU toolchain on Windows. 13276 13277 CMakeLists.txt | 35 +++++++++++++++++++++++------------ 13278 1 file changed, 23 insertions(+), 12 deletions(-) 13279 13280commit 0c210ca7f489e971e94e1ddc72b0b0806e3c7935 13281Author: Lasse Collin <lasse.collin@tukaani.org> 13282Date: 2023-01-06 22:53:38 +0200 13283 13284 Tests: test_filter_flags: Clean up minor issues. 13285 13286 Here are the list of the most significant issues addressed: 13287 - Avoid using internal common.h header. It's not good to copy the 13288 constants like this but common.h cannot be included for use outside 13289 of liblzma. This is the quickest thing to do that could be fixed later. 13290 13291 - Omit the INIT_FILTER macro. Initialization should be done with just 13292 regular designated initializers. 13293 13294 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter 13295 Flags encoder and decoder don't validate the options thoroughly. 13296 257 is valid only for the x86 filter. This is a bit silly but 13297 not a significant problem in practice because the encoder and 13298 decoder initialization functions will catch bad alignment still. 13299 Perhaps this should be fixed but it's not urgent and doesn't need 13300 to be in 5.4.x. 13301 13302 - Various tweaks to comments such as filter id -> Filter ID 13303 13304 tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- 13305 1 file changed, 78 insertions(+), 75 deletions(-) 13306 13307commit 5c9fdd3bf53a9655f5eb2807d662b3af0d5e1865 13308Author: Jia Tan <jiat0218@gmail.com> 13309Date: 2022-12-29 23:33:33 +0800 13310 13311 Tests: Refactors existing filter flags tests. 13312 13313 Converts the existing filter flags tests into tuktests. 13314 13315 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- 13316 1 file changed, 457 insertions(+), 198 deletions(-) 13317 13318commit 36edc65ab4cf10a131f239acbd423b4510ba52d5 13319Author: Lasse Collin <lasse.collin@tukaani.org> 13320Date: 2023-01-09 12:22:05 +0200 13321 13322 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). 13323 13324 I haven't tested with MSVC myself and there doesn't seem to be 13325 information about the problem online, so I'm relying on the bug report. 13326 13327 Thanks to Iouri Kharon for the bug report and the patch. 13328 13329 src/liblzma/check/crc64_fast.c | 6 ++++++ 13330 1 file changed, 6 insertions(+) 13331 13332commit 790a12a95a78ff82d8c6d4efe3b789851ca9470d 13333Author: Lasse Collin <lasse.collin@tukaani.org> 13334Date: 2023-01-09 11:27:24 +0200 13335 13336 CMake: Fix a copypaste error in xzdec Windows resource file handling. 13337 13338 It was my mistake. Thanks to Iouri Kharon for the bug report. 13339 13340 CMakeLists.txt | 4 ++-- 13341 1 file changed, 2 insertions(+), 2 deletions(-) 13342 13343commit 0e1545fea39c0514c7b7032a0a3592a9a33d2848 13344Author: Lasse Collin <lasse.collin@tukaani.org> 13345Date: 2023-01-08 00:32:29 +0200 13346 13347 Tests: tuktest.h: Support tuktest_malloc(0). 13348 13349 It's not needed in XZ Utils at least for now. It's good to support 13350 it still because if such use is needed later, it wouldn't be 13351 caught on GNU/Linux since malloc(0) from glibc returns non-NULL. 13352 13353 tests/tuktest.h | 4 ++-- 13354 1 file changed, 2 insertions(+), 2 deletions(-) 13355 13356commit 69d5d78c6904668eb09a131da86276beec3281f8 13357Author: Lasse Collin <lasse.collin@tukaani.org> 13358Date: 2023-01-08 00:24:23 +0200 13359 13360 Update THANKS. 13361 13362 THANKS | 1 + 13363 1 file changed, 1 insertion(+) 13364 13365commit dd38655f80c113c9db73b9ed370dc900e1c4dc41 13366Author: Lasse Collin <lasse.collin@tukaani.org> 13367Date: 2023-01-07 21:57:11 +0200 13368 13369 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. 13370 13371 The changes listed on cmake-policies(7) for versions 3.17 to 3.25 13372 shouldn't affect this project. 13373 13374 CMakeLists.txt | 2 +- 13375 1 file changed, 1 insertion(+), 1 deletion(-) 13376 13377commit a890a637bee9193d5b690aefa9a59eba5b8532ae 13378Author: Lasse Collin <lasse.collin@tukaani.org> 13379Date: 2023-01-07 19:50:35 +0200 13380 13381 Update THANKS. 13382 13383 THANKS | 1 + 13384 1 file changed, 1 insertion(+) 13385 13386commit 6e38e595dd56ac1800478cef1f6f754d0eba0d2e 13387Author: Lasse Collin <lasse.collin@tukaani.org> 13388Date: 2023-01-07 19:50:03 +0200 13389 13390 CMake/Windows: Add resource files to xz.exe and xzdec.exe. 13391 13392 The command line tools cannot be built with MSVC for now but 13393 they can be built with MinGW-w64. 13394 13395 Thanks to Iouri Kharon for the bug report and the original patch. 13396 13397 CMakeLists.txt | 16 ++++++++++++++++ 13398 1 file changed, 16 insertions(+) 13399 13400commit 443dfebced041adc88f10d824188eeef5b5821a9 13401Author: Lasse Collin <lasse.collin@tukaani.org> 13402Date: 2023-01-07 19:48:52 +0200 13403 13404 CMake/Windows: Add a workaround for windres from GNU binutils. 13405 13406 Thanks to Iouri Kharon for the bug report and the original patch. 13407 13408 CMakeLists.txt | 21 ++++++++++++++++++++- 13409 1 file changed, 20 insertions(+), 1 deletion(-) 13410 13411commit ceb805011747d04a915f3f39e4bed9eed151c634 13412Author: Lasse Collin <lasse.collin@tukaani.org> 13413Date: 2023-01-07 19:31:15 +0200 13414 13415 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. 13416 13417 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets 13418 disabled with VS2013. 13419 13420 Thanks to Iouri Kharon for the bug report. 13421 13422 CMakeLists.txt | 3 ++- 13423 configure.ac | 8 ++++++-- 13424 2 files changed, 8 insertions(+), 3 deletions(-) 13425 13426commit 8d372bd94066b1a5b0570b2550f83c2868486adf 13427Author: Jia Tan <jiat0218@gmail.com> 13428Date: 2023-01-07 21:05:15 +0800 13429 13430 CI/CD: Split CMake Linux and MacOS build phase to build and test. 13431 13432 The phase split was only done for Autotools before, so should also 13433 apply to CMake. 13434 13435 .github/workflows/ci.yml | 8 ++++++-- 13436 1 file changed, 6 insertions(+), 2 deletions(-) 13437 13438commit 747c7f2b34bd498f6702c6875500a26b06201772 13439Author: Jia Tan <jiat0218@gmail.com> 13440Date: 2023-01-07 11:16:55 +0800 13441 13442 CI/CD: Reduce job runners to 4 instead of using matrix strategy. 13443 13444 The old version used too many runners that resulted in unnecessary 13445 dependency downloads. Now, the runners are reused for the different 13446 configurations for each OS and build system. 13447 13448 .github/workflows/ci.yml | 95 ++++++++++++++++++++++++++++++++++++++++++------ 13449 1 file changed, 83 insertions(+), 12 deletions(-) 13450 13451commit 4de35fd6b58d46fc887c78faf163f6a37b790c45 13452Author: Jia Tan <jiat0218@gmail.com> 13453Date: 2023-01-07 10:07:20 +0800 13454 13455 CI/CD: Add new -p (PHASE) argument to ci_build.sh 13456 13457 The new PHASE argument can be build, test, or all. all is the default. 13458 This way, the CI/CD script can differentiate between the build and test 13459 phases to make it easier to track down errors when they happen. 13460 13461 build-aux/ci_build.sh | 140 +++++++++++++++++++++++++++----------------------- 13462 1 file changed, 76 insertions(+), 64 deletions(-) 13463 13464commit 6fd39664de47801e670a16617863196bfbde4755 13465Merge: 78e0561d fc0c7884 13466Author: Jia Tan <jiat0218@gmail.com> 13467Date: 2023-01-07 00:10:50 +0800 13468 13469 Merge pull request #7 from tukaani-project/tuktest_index_hash 13470 13471 Tuktest index hash 13472 13473commit fc0c788469159f634f09ff23c8cef6925c91da57 13474Author: Lasse Collin <lasse.collin@tukaani.org> 13475Date: 2023-01-06 17:58:48 +0200 13476 13477 Tests: test_index_hash: Add an assert_uint_eq(). 13478 13479 tests/test_index_hash.c | 3 +++ 13480 1 file changed, 3 insertions(+) 13481 13482commit d550304f5343b3a082da265107cd820e0d81dc71 13483Author: Lasse Collin <lasse.collin@tukaani.org> 13484Date: 2023-01-06 17:55:06 +0200 13485 13486 Tests: test_index_hash: Fix a memory leak. 13487 13488 tests/test_index_hash.c | 2 ++ 13489 1 file changed, 2 insertions(+) 13490 13491commit 02608f74ea1f2d2d56585711ff241c34b4ad0937 13492Author: Lasse Collin <lasse.collin@tukaani.org> 13493Date: 2023-01-06 17:53:03 +0200 13494 13495 Tests: test_index_hash: Don't treat pointers as booleans. 13496 13497 tests/test_index_hash.c | 6 +++--- 13498 1 file changed, 3 insertions(+), 3 deletions(-) 13499 13500commit 056766c8601a3808bea1761f6cc833197a35a3e0 13501Author: Lasse Collin <lasse.collin@tukaani.org> 13502Date: 2023-01-06 17:51:41 +0200 13503 13504 Tests: test_index_hash: Fix a typo in a comment. 13505 13506 tests/test_index_hash.c | 2 +- 13507 1 file changed, 1 insertion(+), 1 deletion(-) 13508 13509commit 873e684028ba9738f071c5236db7d452ed797b4c 13510Author: Lasse Collin <lasse.collin@tukaani.org> 13511Date: 2023-01-06 17:44:29 +0200 13512 13513 Tests: test_index_hash: Avoid the variable name "index". 13514 13515 It can trigger warnings from -Wshadow on some systems. 13516 13517 tests/test_index_hash.c | 16 ++++++++-------- 13518 1 file changed, 8 insertions(+), 8 deletions(-) 13519 13520commit d1f24c35874eeba8432d75aa77b06c50375ed937 13521Author: Lasse Collin <lasse.collin@tukaani.org> 13522Date: 2023-01-06 17:35:50 +0200 13523 13524 Tests: test_index_hash: Use the word "Record" instead of "entry". 13525 13526 tests/test_index_hash.c | 102 ++++++++++++++++++++++++------------------------ 13527 1 file changed, 51 insertions(+), 51 deletions(-) 13528 13529commit b93f7c5cbb02b42024ac866fc0af541de3d816e2 13530Author: Lasse Collin <lasse.collin@tukaani.org> 13531Date: 2023-01-06 17:35:05 +0200 13532 13533 Tests: test_index_hash: Tweak comments and style. 13534 13535 The words defined in the .xz file format specification 13536 begin with capital letter to emphasize that they have 13537 a specific meaning. 13538 13539 tests/test_index_hash.c | 62 ++++++++++++++++++++++++++----------------------- 13540 1 file changed, 33 insertions(+), 29 deletions(-) 13541 13542commit c48b24fc06d98569adb72f13c2e8e5ff30bb8036 13543Author: Lasse Collin <lasse.collin@tukaani.org> 13544Date: 2023-01-06 17:17:37 +0200 13545 13546 Tests: test_index_hash: Use INDEX_INDICATOR constant instead of 0. 13547 13548 tests/test_index_hash.c | 2 +- 13549 1 file changed, 1 insertion(+), 1 deletion(-) 13550 13551commit 78e0561dfebaa9d5e34558de537efcda890e0629 13552Author: Jia Tan <jiat0218@gmail.com> 13553Date: 2023-01-06 20:43:31 +0800 13554 13555 Style: Change #if !defined() to #ifndef in mythread.h. 13556 13557 src/common/mythread.h | 2 +- 13558 1 file changed, 1 insertion(+), 1 deletion(-) 13559 13560commit e834e1e934ed0af673598d8c0c34afb2af56bee0 13561Author: Jia Tan <jiat0218@gmail.com> 13562Date: 2023-01-06 20:35:55 +0800 13563 13564 Build: Add missing stream_decoder_mt.c to .vcxproj files. 13565 13566 The line in the .vcxproj files for building with was missing in 5.4.0. 13567 Thank to Hajin Jang for reporting the issue. 13568 13569 windows/vs2013/liblzma.vcxproj | 1 + 13570 windows/vs2013/liblzma_dll.vcxproj | 1 + 13571 windows/vs2017/liblzma.vcxproj | 1 + 13572 windows/vs2017/liblzma_dll.vcxproj | 1 + 13573 windows/vs2019/liblzma.vcxproj | 1 + 13574 windows/vs2019/liblzma_dll.vcxproj | 1 + 13575 6 files changed, 6 insertions(+) 13576 13577commit 84f9687cbae972c2c342e10bf69f8ec8f70ae111 13578Author: Jia Tan <jiat0218@gmail.com> 13579Date: 2023-01-05 20:57:25 +0800 13580 13581 liblzma: Remove common.h include from common/index.h. 13582 13583 common/index.h is needed by liblzma internally and tests. common.h will 13584 include and define many things that are not needed by the tests. Also, 13585 this prevents include order problems because common.h will redefine 13586 LZMA_API resulting in a warning. 13587 13588 src/liblzma/common/index.c | 1 + 13589 src/liblzma/common/index.h | 9 +++++++-- 13590 src/liblzma/common/index_decoder.h | 1 + 13591 src/liblzma/common/stream_buffer_encoder.c | 1 + 13592 4 files changed, 10 insertions(+), 2 deletions(-) 13593 13594commit 7657ce1c3c4abff7560336a7b687d98e0e2bd14f 13595Author: Lasse Collin <lasse.collin@tukaani.org> 13596Date: 2023-01-04 22:40:54 +0200 13597 13598 Update THANKS. 13599 13600 THANKS | 1 + 13601 1 file changed, 1 insertion(+) 13602 13603commit aafd67fba045ab99683971263a5a26fb2a6e8ce2 13604Author: Lasse Collin <lasse.collin@tukaani.org> 13605Date: 2023-01-04 18:40:28 +0200 13606 13607 Tests: Adjust style in test_compress.sh. 13608 13609 tests/test_compress.sh | 12 +++++++----- 13610 1 file changed, 7 insertions(+), 5 deletions(-) 13611 13612commit 52380678f42364daa4510f92f6d3b18ec98c3638 13613Author: Jia Tan <jiat0218@gmail.com> 13614Date: 2023-01-04 23:58:58 +0800 13615 13616 Tests: Replace non portable shell parameter expansion 13617 13618 The shell parameter expansion using # and ## is not supported in 13619 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully 13620 portable, so we should avoid it. 13621 13622 tests/create_compress_files.c | 2 +- 13623 tests/test_compress.sh | 20 +++++++++++++------- 13624 tests/test_compress_prepared_bcj_sparc | 2 +- 13625 tests/test_compress_prepared_bcj_x86 | 2 +- 13626 4 files changed, 16 insertions(+), 10 deletions(-) 13627 13628commit d0eb345bb7d148a62883ee299adec2b74a0f6f3b 13629Author: Jia Tan <jiat0218@gmail.com> 13630Date: 2023-01-03 21:02:38 +0800 13631 13632 Translations: Add Korean translation of man pages. 13633 13634 Thanks to Seong-ho Cho 13635 13636 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13637 po4a/po4a.conf | 2 +- 13638 2 files changed, 5553 insertions(+), 1 deletion(-) 13639 13640commit c4145978d95ebf1690c778d354e15f7c2823d7a8 13641Author: Jia Tan <jiat0218@gmail.com> 13642Date: 2023-01-03 20:47:27 +0800 13643 13644 Translations: Update the Esperanto translation. 13645 13646 po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- 13647 1 file changed, 332 insertions(+), 288 deletions(-) 13648 13649commit 4103a2e78ac60b00c888485cd967a5fe5d1b917c 13650Author: Lasse Collin <lasse.collin@tukaani.org> 13651Date: 2023-01-02 17:20:47 +0200 13652 13653 Bump version and soname for 5.5.0alpha. 13654 13655 5.5.0alpha won't be released, it's just to mark that 13656 the branch is not for stable 5.4.x. 13657 13658 Once again there is no API/ABI stability for new features 13659 in devel versions. The major soname won't be bumped even 13660 if API/ABI of new features breaks between devel releases. 13661 13662 src/liblzma/Makefile.am | 2 +- 13663 src/liblzma/api/lzma/version.h | 4 ++-- 13664 2 files changed, 3 insertions(+), 3 deletions(-) 13665 13666commit 73c9e6d6b970ccc3d5ad61dcaa21cba050e5df0a 13667Author: Lasse Collin <lasse.collin@tukaani.org> 13668Date: 2023-01-02 17:05:07 +0200 13669 13670 Build: Fix config.h comments. 13671 13672 configure.ac | 2 +- 13673 m4/tuklib_progname.m4 | 2 +- 13674 2 files changed, 2 insertions(+), 2 deletions(-) 13675 13676commit bb740e3b117f1a3c65152d01e5755523a908ecb1 13677Author: Jia Tan <jiat0218@gmail.com> 13678Date: 2023-01-02 22:33:48 +0800 13679 13680 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. 13681 13682 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to 13683 HAVE_PROGRAM_INVOCATION_NAME. Previously, 13684 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when 13685 building with autotools. CMake would only set this when it was 1, and the 13686 dos/config.h did not define it. The new macro definition is consistent 13687 across build systems. 13688 13689 cmake/tuklib_progname.cmake | 5 ++--- 13690 m4/tuklib_progname.m4 | 5 ++++- 13691 src/common/tuklib_progname.c | 2 +- 13692 src/common/tuklib_progname.h | 2 +- 13693 4 files changed, 8 insertions(+), 6 deletions(-) 13694 13695commit 064cd385a716abc78d93a3612411a82d69ceb221 13696Author: Jia Tan <jiat0218@gmail.com> 13697Date: 2022-12-29 00:30:52 +0800 13698 13699 Adds test_index_hash to .gitignore. 13700 13701 .gitignore | 1 + 13702 1 file changed, 1 insertion(+) 13703 13704commit 3959162baec074511d83ba0fec1284c3ed724799 13705Author: Jia Tan <jiat0218@gmail.com> 13706Date: 2022-12-29 00:25:18 +0800 13707 13708 Tests: Creates test_index_hash.c 13709 13710 Tests all API functions exported from index_hash.h. Does not have a 13711 dedicated test for lzma_index_hash_end. 13712 13713 CMakeLists.txt | 2 + 13714 tests/Makefile.am | 3 + 13715 tests/test_index_hash.c | 379 ++++++++++++++++++++++++++++++++++++++++++++++++ 13716 3 files changed, 384 insertions(+) 13717 13718commit f16e12d5e755d371247202fcccbcccd1ec16b2cf 13719Author: Jia Tan <jiat0218@gmail.com> 13720Date: 2022-08-17 20:20:16 +0800 13721 13722 liblzma: Add NULL check to lzma_index_hash_append. 13723 13724 This is for consistency with lzma_index_append. 13725 13726 src/liblzma/common/index_hash.c | 2 +- 13727 1 file changed, 1 insertion(+), 1 deletion(-) 13728 13729commit 203b008eb220208981902e0db541c02d1c1c9f5e 13730Author: Jia Tan <jiat0218@gmail.com> 13731Date: 2022-08-17 17:59:51 +0800 13732 13733 liblzma: Replaced hardcoded 0x0 index indicator byte with macro 13734 13735 src/liblzma/common/index.h | 3 +++ 13736 src/liblzma/common/index_decoder.c | 2 +- 13737 src/liblzma/common/index_encoder.c | 2 +- 13738 src/liblzma/common/index_hash.c | 2 +- 13739 src/liblzma/common/stream_decoder.c | 3 ++- 13740 src/liblzma/common/stream_decoder_mt.c | 2 +- 13741 6 files changed, 9 insertions(+), 5 deletions(-) 13742 13743commit dfecda875211f737d0db92dc1d3c58a3a2afb0c0 13744Author: Lasse Collin <lasse.collin@tukaani.org> 13745Date: 2022-12-30 20:10:08 +0200 13746 13747 Tests: test_check: Test corner cases of CLMUL CRC64. 13748 13749 tests/test_check.c | 27 +++++++++++++++++++++++++++ 13750 1 file changed, 27 insertions(+) 13751 13752commit ce96bb20435212fe797d6d84738fb9fd4ea13cc7 13753Author: Lasse Collin <lasse.collin@tukaani.org> 13754Date: 2022-12-30 19:36:49 +0200 13755 13756 Tests: Clarify a comment in test_lzip_decoder.c. 13757 13758 tests/test_lzip_decoder.c | 8 ++++++-- 13759 1 file changed, 6 insertions(+), 2 deletions(-) 13760 13761commit 2fcba17fc4d7eda8fc60567169cf2a0e6fcfb2f8 13762Author: Jia Tan <jiat0218@gmail.com> 13763Date: 2022-12-29 01:55:19 +0800 13764 13765 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c. 13766 13767 Previously, mytime.c depended on mythread.h for <time.h> to be included. 13768 13769 src/xz/mytime.c | 4 +++- 13770 1 file changed, 3 insertions(+), 1 deletion(-) 13771 13772commit f82294c8318a7a0990583d51ac5c7de682ad36ef 13773Author: Jia Tan <jiat0218@gmail.com> 13774Date: 2022-12-29 01:15:27 +0800 13775 13776 liblzma: Includes sys/time.h conditionally in mythread 13777 13778 Previously, <sys/time.h> was always included, even if mythread only used 13779 clock_gettime. <time.h> is still needed even if clock_gettime is not used 13780 though because struct timespec is needed for mythread_condtime. 13781 13782 src/common/mythread.h | 8 +++++++- 13783 1 file changed, 7 insertions(+), 1 deletion(-) 13784 13785commit 74dae7d30091e906d6a92a57952dea4354473f9b 13786Author: Jia Tan <jiat0218@gmail.com> 13787Date: 2022-12-29 01:10:53 +0800 13788 13789 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. 13790 13791 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always 13792 be set to 0 or 1. However, this macro was needed in xz so if xz was not 13793 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but 13794 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, 13795 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and 13796 will only be set if it is 1. 13797 13798 CMakeLists.txt | 8 +++----- 13799 configure.ac | 5 ++++- 13800 src/common/mythread.h | 4 ++-- 13801 src/xz/mytime.c | 5 ++--- 13802 4 files changed, 11 insertions(+), 11 deletions(-) 13803 13804commit 7339e39dc060df6eda74a2c5b69961befc3d5d24 13805Author: Jia Tan <jiat0218@gmail.com> 13806Date: 2022-12-28 01:14:07 +0800 13807 13808 Translations: Add Ukrainian translations of man pages. 13809 13810 Thanks to Yuri Chornoivan 13811 13812 po4a/po4a.conf | 2 +- 13813 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 13814 2 files changed, 3677 insertions(+), 1 deletion(-) 13815 13816commit 9f05c27a58ce8cd7803079aa295e41c24665ce6e 13817Author: Jia Tan <jiat0218@gmail.com> 13818Date: 2022-12-23 00:34:48 +0800 13819 13820 CI/CD: Create initial version of CI/CD workflow. 13821 13822 The CI/CD workflow will only execute on Ubuntu and MacOS latest version. 13823 The workflow will attempt to build with autotools and CMake and execute 13824 the tests. The workflow will run for all pull requests and pushes done 13825 to the master branch. 13826 13827 .github/workflows/ci.yml | 72 ++++++++++++++++++++++++ 13828 build-aux/ci_build.sh | 141 +++++++++++++++++++++++++++++++++++++++++++++++ 13829 2 files changed, 213 insertions(+) 13830 13831commit 1275ebfba74230dbd028049141423c79c8b83b8f 13832Author: Jia Tan <jiat0218@gmail.com> 13833Date: 2022-12-22 23:14:53 +0800 13834 13835 liblzma: Update documentation for lzma_filter_encoder. 13836 13837 src/liblzma/common/filter_encoder.c | 7 +++++-- 13838 1 file changed, 5 insertions(+), 2 deletions(-) 13839 13840commit 7c9ff5f1667a16733163b75dfd4b509662c387f4 13841Author: Jia Tan <jiat0218@gmail.com> 13842Date: 2022-12-21 21:12:03 +0800 13843 13844 Tests: Adds lzip decoder tests 13845 13846 .gitignore | 1 + 13847 tests/Makefile.am | 2 + 13848 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ 13849 3 files changed, 474 insertions(+) 13850 13851commit 799ead162de63b8400733603d3abcd2e1977bdca 13852Author: Jia Cheong Tan <jiat0218@gmail.com> 13853Date: 2022-12-20 22:05:21 +0800 13854 13855 Doxygen: Update .gitignore for generating docs for in source build. 13856 13857 In source builds are not recommended, but we should still ignore 13858 the generated artifacts. 13859 13860 .gitignore | 2 ++ 13861 1 file changed, 2 insertions(+) 13862 13863commit 5f7ce42a16b1e86ca8408b5c670c25e2a12acc4e 13864Author: Jia Tan <jiat0218@gmail.com> 13865Date: 2022-12-20 20:46:44 +0800 13866 13867 liblzma: Fix lzma_microlzma_encoder() return value. 13868 13869 Using return_if_error on lzma_lzma_lclppb_encode was improper because 13870 return_if_error is expecting an lzma_ret value, but 13871 lzma_lzma_lclppb_encode returns a boolean. This could result in 13872 lzma_microlzma_encoder, which would be misleading for applications. 13873 13874 src/liblzma/common/microlzma_encoder.c | 3 ++- 13875 1 file changed, 2 insertions(+), 1 deletion(-) 13876 13877commit 8ace358d65059152d9a1f43f4770170d29d35754 13878Author: Jia Tan <jiat0218@gmail.com> 13879Date: 2022-12-16 20:58:55 +0800 13880 13881 CMake: Update .gitignore for CMake artifacts from in source build. 13882 13883 In source builds are not recommended, but we can make it easier 13884 by ignoring the generated artifacts from CMake. 13885 13886 .gitignore | 23 +++++++++++++++++++++++ 13887 1 file changed, 23 insertions(+) 13888 13889commit 8fd225a2c149f30aeac377e68eb5abf6b28300ad 13890Author: Lasse Collin <lasse.collin@tukaani.org> 13891Date: 2022-12-16 18:30:02 +0200 13892 13893 liblzma: Update authors list in arm64.c. 13894 13895 src/liblzma/simple/arm64.c | 1 + 13896 1 file changed, 1 insertion(+) 13897 13898commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 13899Author: Lasse Collin <lasse.collin@tukaani.org> 13900Date: 2022-12-13 20:37:17 +0200 13901 13902 Bump version to 5.4.0 and soname to 5.4.0. 13903 13904 src/liblzma/Makefile.am | 2 +- 13905 src/liblzma/api/lzma/version.h | 6 +++--- 13906 src/liblzma/liblzma_generic.map | 2 +- 13907 src/liblzma/liblzma_linux.map | 2 +- 13908 4 files changed, 6 insertions(+), 6 deletions(-) 13909