1commit 3ec664d3f652133136587a51d4505b1abe1acdd7 2Author: Lasse Collin <lasse.collin@tukaani.org> 3Date: 2024-05-29 18:03:51 +0300 4 5 Bump version and soname for 5.6.2 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 3cc0aa702e50b786c52c6f3d3f831a635c4df197 12Author: Lasse Collin <lasse.collin@tukaani.org> 13Date: 2024-05-29 18:03:04 +0300 14 15 Add NEWS for 5.6.2 16 17 NEWS | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18 1 file changed, 130 insertions(+) 19 20commit 526d3f7f2c2d5e134157d08b37fb5fd0b125799e 21Author: Lasse Collin <lasse.collin@tukaani.org> 22Date: 2024-05-29 18:03:04 +0300 23 24 Add NEWS for 5.4.7 25 26 NEWS | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 27 1 file changed, 89 insertions(+) 28 29commit 660b09279e8f544acf120d29194d5c3051b484eb 30Author: Lasse Collin <lasse.collin@tukaani.org> 31Date: 2024-05-29 18:03:04 +0300 32 33 Add NEWS for 5.2.13 34 35 NEWS | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 36 1 file changed, 115 insertions(+) 37 38commit 7d76282dac766c0ced8ae24e0f7ce0005f3e377d 39Author: Lasse Collin <lasse.collin@tukaani.org> 40Date: 2024-05-29 17:47:13 +0300 41 42 Translations: Run po4a/update-po 43 44 Now the files are in the new formatting without source file 45 line numbers. Future updates should keep the diffs much smaller. 46 47 po4a/de.po | 1592 ++++++++++--------- 48 po4a/fr.po | 4450 +++++++++++++++++----------------------------------- 49 po4a/ko.po | 1592 ++++++++++--------- 50 po4a/pt_BR.po | 4817 ++++++++++++++++++--------------------------------------- 51 po4a/ro.po | 1592 ++++++++++--------- 52 po4a/uk.po | 1592 ++++++++++--------- 53 6 files changed, 6114 insertions(+), 9521 deletions(-) 54 55commit 4470c3f7d8954bb47b280ec07ad0bd4be2223083 56Author: Lasse Collin <lasse.collin@tukaani.org> 57Date: 2024-05-29 17:44:53 +0300 58 59 Translations: Run "make -C po update-po" 60 61 In the past this wasn't done before releases; the Git repository 62 just contained the files from the Translation Project. But this 63 way it is clearer when comparing release tarballs against the 64 Git repository. In future releases this might no longer be necessary 65 within a stable branch as the .po files won't change so easily anymore 66 when creating a tarball. 67 68 po/ca.po | 567 +++++++++++++++++++++++++--------------- 69 po/cs.po | 821 +++++++++++++++++++++++++++++++++++++-------------------- 70 po/da.po | 809 +++++++++++++++++++++++++++++++++++--------------------- 71 po/de.po | 403 ++++++++++++++-------------- 72 po/eo.po | 403 ++++++++++++++-------------- 73 po/es.po | 403 ++++++++++++++-------------- 74 po/fi.po | 578 +++++++++++++++++++++++++--------------- 75 po/fr.po | 538 +++++++++++++++++++++++--------------- 76 po/hr.po | 403 ++++++++++++++-------------- 77 po/hu.po | 403 ++++++++++++++-------------- 78 po/it.po | 854 +++++++++++++++++++++++++++++++++++++++--------------------- 79 po/ko.po | 403 ++++++++++++++-------------- 80 po/pl.po | 403 ++++++++++++++-------------- 81 po/pt.po | 842 +++++++++++++++++++++++++++++++++++++++-------------------- 82 po/pt_BR.po | 567 +++++++++++++++++++++++++--------------- 83 po/ro.po | 403 ++++++++++++++-------------- 84 po/sr.po | 838 ++++++++++++++++++++++++++++++++++++++-------------------- 85 po/sv.po | 403 ++++++++++++++-------------- 86 po/tr.po | 567 +++++++++++++++++++++++++--------------- 87 po/uk.po | 403 ++++++++++++++-------------- 88 po/vi.po | 403 ++++++++++++++-------------- 89 po/zh_CN.po | 417 +++++++++++++++-------------- 90 po/zh_TW.po | 558 ++++++++++++++++++++++++--------------- 91 23 files changed, 7257 insertions(+), 5132 deletions(-) 92 93commit 33b8a85face5392b5ac843bdbe3a72f024cad6ef 94Author: Lasse Collin <lasse.collin@tukaani.org> 95Date: 2024-05-29 16:33:24 +0300 96 97 Build: Update po/*.po files only when needed 98 99 When po/xz.pot doesn't exist, running "make" or "make dist" will 100 create it. Then the .po files will be updated but only if they 101 actually would change more than the POT-Creation-Date line. 102 Then the .gmo files would be generated from the .po files. 103 This is the case before and after this commit. 104 105 However, "make dist" and thus "make mydist" did a forced update 106 to the files, updating them even if the only change was the 107 POT-Creation-Date line. This had pros and cons: It made it clear 108 that the .po file really is in sync with the recent strings in 109 the package. On the other hand, it added noise in form of changed 110 files in the source tree and distribution tarballs. It can be 111 ignored with something like "diff -I'^"POT-Creation-Date: '" but 112 it's still a minor annoyance *if* there's not enough value in 113 having the most recent timestamp. 114 115 Setting DIST_DEPENDS_ON_UPDATE_PO = no means that such forced 116 update won't happen in "make dist" anymore. However, the "mydist" 117 target will use xz.pot-update target which is the same target that 118 is run when xz.pot doesn't exist at all yet. Thus "mydist" will 119 ensure that the translations are up to date, without noise from 120 changes that would affect only the POT-Creation-Date line. 121 122 Note that po4a always uses msgmerge with --update, so POT-Creation-Date 123 in the man page translations is never the only change in .po files. 124 In that sense this commit makes the message translations behave more 125 similarly to the man page translations. 126 127 Distribution tarballs will still have non-reproducible POT-Creation-Date 128 in po/xz.pot and po4a/xz-man.pot but those are just two files. Even they 129 could be made reproducible from a Git timestamp if desired. 130 131 (cherry picked from commit 9284f1aea31f0eb23e2ea72f7218b271e2234762) 132 133 Makefile.am | 3 ++- 134 po/Makevars | 6 +++++- 135 2 files changed, 7 insertions(+), 2 deletions(-) 136 137commit 09daebd66b55799bbc495b84310a86c91bbfc1c8 138Author: Lasse Collin <lasse.collin@tukaani.org> 139Date: 2024-05-28 21:10:33 +0300 140 141 po4a/update-po: Disable wrapping in .pot and .po files 142 143 The .po files from the Translation Project come with unwrapped 144 strings so this matches it. 145 146 This may reduce the noise in diffs too. When the beginning of 147 a paragraph had changed, the rest of the lines got rewrapped 148 in msgsid. Now it's just one very long line that changes when 149 a paragraph has been edited. 150 151 The --add-location=file option was removed as redundant. The line 152 numbers don't exist in the .pot file due to --porefs file and thus 153 they cannot get copied to the .po files either. 154 155 (cherry picked from commit 4beba1cd62d7f8f7a6f1e899b68292d94c53b599) 156 157 po4a/update-po | 15 +++++++++++---- 158 1 file changed, 11 insertions(+), 4 deletions(-) 159 160commit 51ad72dae4e516e9292f6f399bd1e4970b77f7c1 161Author: Lasse Collin <lasse.collin@tukaani.org> 162Date: 2024-05-28 18:36:53 +0300 163 164 Update contact info in README 165 166 (cherry picked from commit b14c130a58a649f9a73392eeb122cb252327c569) 167 168 README | 12 +++++++++--- 169 1 file changed, 9 insertions(+), 3 deletions(-) 170 171commit 18463917f9b255b8f925fa54ab9388319735b14a 172Author: Lasse Collin <lasse.collin@tukaani.org> 173Date: 2024-05-28 13:25:07 +0300 174 175 Translations: Use --package-name=xz-man with po4a 176 177 This is to match reality. See the added comment. 178 179 (cherry picked from commit 75f5f2e014b0ee646963f36bc6a9c840fb272353) 180 181 po4a/update-po | 9 ++++++++- 182 1 file changed, 8 insertions(+), 1 deletion(-) 183 184commit 26bbcb13cd2bbb56fe406544a484b4edfc7e0837 185Author: Lasse Collin <lasse.collin@tukaani.org> 186Date: 2024-05-28 13:03:40 +0300 187 188 Translations: Omit --package-name from po/Makevars 189 190 This is closer to the reality in the po/*.po files. 191 192 (cherry picked from commit eb217d016cfbbba1babc19a61095b3ea25898af6) 193 194 po/Makevars | 3 +-- 195 1 file changed, 1 insertion(+), 2 deletions(-) 196 197commit c35ee804b89556d15bc8cdc16867f4316e69392f 198Author: Lasse Collin <lasse.collin@tukaani.org> 199Date: 2024-05-28 01:17:45 +0300 200 201 Translations: Omit man page line numbers from .pot and .po files 202 203 (cherry picked from commit 9114267038deaecf4832a5cacb5acbe6591ac839) 204 205 po4a/update-po | 5 +++++ 206 1 file changed, 5 insertions(+) 207 208commit 0f4429d47f9cfe2cdfbad115a7bc2f11221cb217 209Author: Lasse Collin <lasse.collin@tukaani.org> 210Date: 2024-05-28 01:06:30 +0300 211 212 Translations: Use the xgettext option --add-location=file 213 214 (cherry picked from commit 093490b58271e9424ce38a7b1b38bcf61b9c86c6) 215 216 po/Makevars | 3 ++- 217 1 file changed, 2 insertions(+), 1 deletion(-) 218 219commit a93e2c2d1d34a6f609d24a8e62072ce78df7a734 220Author: Lasse Collin <lasse.collin@tukaani.org> 221Date: 2024-05-28 00:43:53 +0300 222 223 Translations: Use the msgmerge option --add-location=file 224 225 This way the PO file diffs are less noisy but the locations of the 226 strings are still present at file level, just without line numbers. 227 228 The option is available since gettext 0.19 (2014). 229 configure.ac requires 0.19.6. 230 231 (cherry picked from commit fccebe2b4fd513488fc920e4dac32562ed3c7637) 232 233 po/Makevars | 2 +- 234 1 file changed, 1 insertion(+), 1 deletion(-) 235 236commit d4389895592e9a8e0f6391fdad816ae0537bb07b 237Author: Lasse Collin <lasse.collin@tukaani.org> 238Date: 2024-05-27 12:22:08 +0300 239 240 Build: Use $(SHELL) instead of sh to run scripts in Makefile.am 241 242 (cherry picked from commit f361d9ae85707a87eb28db400eb7229cec103d58) 243 244 Makefile.am | 10 +++++----- 245 1 file changed, 5 insertions(+), 5 deletions(-) 246 247commit 5781414b6e3120098b0060d073aa2b0580ff6f40 248Author: Lasse Collin <lasse.collin@tukaani.org> 249Date: 2024-05-23 17:25:13 +0300 250 251 Translations: Change the home page URLs in man page translations 252 253 Since the source strings have changed, these would get marked as 254 fuzzy and the original string would be used instead. The original 255 and translated strings are identical in this case so it wouldn't 256 matter. But patching the translations helps still because then 257 po4a will show the correct translation percentage. 258 259 (cherry picked from commit a26dece34793a09aac2476f954d162d03e9cf62b) 260 261 po4a/de.po | 8 ++++---- 262 po4a/fr.po | 4 ++-- 263 po4a/ko.po | 4 ++-- 264 po4a/pt_BR.po | 4 ++-- 265 po4a/ro.po | 8 ++++---- 266 po4a/uk.po | 8 ++++---- 267 6 files changed, 18 insertions(+), 18 deletions(-) 268 269commit 3670e0616eb9d86e7519d2b76242fd32c6e0c1ae 270Author: Lasse Collin <lasse.collin@tukaani.org> 271Date: 2024-05-23 15:15:18 +0300 272 273 CMake: Add manual support for 32-bit x86 assembly files 274 275 One has to pass -DENABLE_X86_ASM=ON to cmake to enable the 276 CRC assembly code. Autodetection isn't done. Looking at 277 CMAKE_SYSTEM_PROCESSOR might not work as it comes from uname 278 unless cross-compilation is done using a CMake toolchain file. 279 280 On top of this, if the code is run on modern processors that support 281 the CLMUL instruction, then the C code should be faster (but then 282 one should also be using a x86-64 build if possible). 283 284 (cherry picked from commit 24387c234b4eed1ef9a7eaa107391740b4095568) 285 286 CMakeLists.txt | 34 +++++++++++++++++++++++++++++++--- 287 1 file changed, 31 insertions(+), 3 deletions(-) 288 289commit c1b001b09e902ecacabb8a2ae1fc991018a4d1f8 290Author: Lasse Collin <lasse.collin@tukaani.org> 291Date: 2024-05-23 14:26:45 +0300 292 293 CMake: Rename USE_DOXYGEN to ENABLE_DOXYGEN 294 295 It's more consistent with the other option() uses. 296 297 (cherry picked from commit 0fb3c9c3f684f5a25bd425ed079a20a79f0c969d) 298 299 CMakeLists.txt | 4 ++-- 300 1 file changed, 2 insertions(+), 2 deletions(-) 301 302commit 7213fe39c717d4623c92af715484a71d9a6ff8d0 303Author: Lasse Collin <lasse.collin@tukaani.org> 304Date: 2024-05-22 15:21:53 +0300 305 306 Use more confident language in COPYING 307 308 (cherry picked from commit 62733592a1cc6f0b41f46ef52e06d1a6fe1ff38a) 309 310 COPYING | 8 ++++---- 311 1 file changed, 4 insertions(+), 4 deletions(-) 312 313commit 15358be94a4e3f9c20f331b64b3980f3e5283760 314Author: Lasse Collin <lasse.collin@tukaani.org> 315Date: 2024-04-29 17:16:38 +0300 316 317 Add SPDX license identifiers to files under tests/ossfuzz 318 319 (cherry picked from commit 9ae2ebc1e504a1814b0788de95fb5c58c0328dde) 320 321 tests/ossfuzz/Makefile | 2 ++ 322 tests/ossfuzz/config/fuzz_decode_alone.options | 2 ++ 323 tests/ossfuzz/config/fuzz_decode_stream.options | 2 ++ 324 tests/ossfuzz/config/fuzz_encode_stream.options | 2 ++ 325 tests/ossfuzz/config/fuzz_lzma.dict | 2 ++ 326 tests/ossfuzz/config/fuzz_xz.dict | 2 ++ 327 6 files changed, 12 insertions(+) 328 329commit 1aa92c7ffd0bf8f9738ebf3bd1263bd6f5f096a2 330Author: Lasse Collin <lasse.collin@tukaani.org> 331Date: 2024-04-29 17:16:06 +0300 332 333 Add SPDX license identifier to .codespellrc 334 335 (cherry picked from commit 9000d70eb9815bd7f43ffddc1c3316c507aa0e05) 336 337 .codespellrc | 2 ++ 338 1 file changed, 2 insertions(+) 339 340commit 3c7e400fdcabc0a1b78863948fc17964667a9401 341Author: Lasse Collin <lasse.collin@tukaani.org> 342Date: 2024-05-22 15:12:09 +0300 343 344 Move entries po4a/.gitignore to the top level .gitignore 345 346 The po4a directory is in EXTRA_DIST and thus all files there 347 are included in the package. .gitignore doesn't belong in the 348 package so keep that file out of the po4a directory. 349 350 (cherry picked from commit 903c16fcfa5bfad0cdb2a7383d941243bcb12e76) 351 352 .gitignore | 4 ++++ 353 po4a/.gitignore | 3 --- 354 2 files changed, 4 insertions(+), 3 deletions(-) 355 356commit 8a99272d4a9358dabdb5bc0b72f4c5240a9dc066 357Author: Lasse Collin <lasse.collin@tukaani.org> 358Date: 2024-05-20 16:55:00 +0300 359 360 CMake: Add comments 361 362 (cherry picked from commit 9d997d6f9d4f042412e45c7b7a23a14ad2e4f9aa) 363 364 tests/tests.cmake | 2 ++ 365 1 file changed, 2 insertions(+) 366 367commit c35259c9e2400f6f88c269d95ecafdb223ff45d2 368Author: Lasse Collin <lasse.collin@tukaani.org> 369Date: 2024-05-20 16:55:00 +0300 370 371 CMake: Remove the note that some tests aren't run 372 373 They are now in the common build configurations. 374 375 (cherry picked from commit d35368b33e54bad2f566df99fac29ffea38e34de) 376 377 CMakeLists.txt | 2 -- 378 1 file changed, 2 deletions(-) 379 380commit 30982a215395f19b3837c3da540e1cb3f913569f 381Author: Lasse Collin <lasse.collin@tukaani.org> 382Date: 2024-05-20 16:55:00 +0300 383 384 CMake: Add support for test_files.sh 385 386 (cherry picked from commit dc232d584619b2819a9c52d6ad5d8b5d56b392ba) 387 388 tests/tests.cmake | 20 ++++++++++++++++++++ 389 1 file changed, 20 insertions(+) 390 391commit 3a8f81e0ad4cd1c102a03ff09e703cf8cb074afc 392Author: Lasse Collin <lasse.collin@tukaani.org> 393Date: 2024-05-20 16:55:00 +0300 394 395 Tests: Make test_files.sh more flexible 396 397 Add a new optional argument to specify the directory of the xz and 398 xzdec executables. 399 400 If ../config.h doesn't exist, assume that all encoders and decoders 401 are available. 402 403 (cherry picked from commit a7e9230af9d1f87f474fe38886eb977d4149dc9b) 404 405 tests/test_files.sh | 18 +++++++++++++----- 406 1 file changed, 13 insertions(+), 5 deletions(-) 407 408commit 0644675c829143112c85455f8a6aa91bfc4e1bbb 409Author: Lasse Collin <lasse.collin@tukaani.org> 410Date: 2024-05-20 16:55:00 +0300 411 412 CMake: Add support for test_compress.sh tests 413 414 (cherry picked from commit b40e6efbb48d740b9b5b303e59e344801cbb5bd8) 415 416 tests/tests.cmake | 26 ++++++++++++++++++++++++++ 417 1 file changed, 26 insertions(+) 418 419commit dcc02a6ca0e0ac4e330e820683754badbcf9815b 420Author: Lasse Collin <lasse.collin@tukaani.org> 421Date: 2024-05-20 16:55:00 +0300 422 423 Tests: Make test_compress.sh more flexible 424 425 Add a new optional second argument: directory of the xz and xzdec 426 executables. This is need with the CMake build where the binaries 427 end up in the top-level build directory. 428 429 If ../config.h doesn't exist, assume that all encoders and decoders 430 are available. This will make this script usable from CMake in the 431 most common build configuration. 432 433 NOTE: Since the existence of ../config.h is checked, the working 434 directory of the test script must be a subdir in the build tree! 435 Otherwise ../config.h would look outside the build tree. 436 437 Use the default check type instead of forcing CRC32 or CRC64. 438 Now the script doesn't need to check if CRC64 is available. 439 440 (cherry picked from commit ac3222d2cb1ff3a15eb6d58f9ea9bc78e8bc3bb2) 441 442 tests/test_compress.sh | 41 +++++++++++++++++++++++++++++------------ 443 1 file changed, 29 insertions(+), 12 deletions(-) 444 445commit c761b7051fb2ebb6da3cbecafe695fb5af7b2c9c 446Author: Lasse Collin <lasse.collin@tukaani.org> 447Date: 2024-05-20 16:55:00 +0300 448 449 CMake: Prepare to support the test_*.sh tests 450 451 This is a bit hacky since the scripts grep config.h to know which 452 features were built but the CMake build doesn't create config.h. 453 So instead those test scripts will be run only when all relevant 454 features have been enabled. 455 456 (cherry picked from commit 006040b29c83104403621e950ada0c8956c56b3d) 457 458 tests/tests.cmake | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 459 1 file changed, 49 insertions(+) 460 461commit a71bc2d75b95f85fe046f0fd1fb25d36be2b20ba 462Author: Lasse Collin <lasse.collin@tukaani.org> 463Date: 2024-05-20 16:55:00 +0300 464 465 Tests: test_suffix.sh: Add a comment 466 467 (cherry picked from commit 6167607a6ea72fb74eefb943c4566e3cab528cd2) 468 469 tests/test_suffix.sh | 3 +++ 470 1 file changed, 3 insertions(+) 471 472commit 8fda5ce872632e464a1f9660b3ab8dac939a03c6 473Author: Lasse Collin <lasse.collin@tukaani.org> 474Date: 2024-05-18 00:34:07 +0300 475 476 Fix typos 477 478 Thanks to xx on #tukaani. 479 480 (cherry picked from commit 4e9023857d287f624562156b60dc23d2b64c0f10) 481 482 src/common/mythread.h | 2 +- 483 src/common/tuklib_integer.h | 2 +- 484 src/liblzma/api/lzma/base.h | 2 +- 485 src/liblzma/common/filter_buffer_decoder.c | 2 +- 486 src/liblzma/common/filter_common.c | 2 +- 487 src/scripts/xzgrep.in | 2 +- 488 6 files changed, 6 insertions(+), 6 deletions(-) 489 490commit 2729079bcb8dd1c3ab1a79426690d17f6f8e6f7d 491Author: Lasse Collin <lasse.collin@tukaani.org> 492Date: 2024-05-18 00:23:52 +0300 493 494 liblzma: Fix white space 495 496 Thanks to xx on #tukaani. 497 498 (cherry picked from commit b14d08fbbc254485ace9ccfe7908674f608a62ae) 499 500 src/liblzma/simple/simple_coder.h | 8 ++++---- 501 1 file changed, 4 insertions(+), 4 deletions(-) 502 503commit a289c4dfeb3ded35e129c48b13f46605f0138704 504Author: Lasse Collin <lasse.collin@tukaani.org> 505Date: 2024-05-13 17:15:04 +0300 506 507 xz: Document the static function get_chains_memusage() 508 509 (cherry picked from commit 142e670a413a7bce1a2647f1cf1f33f8ee2dbe88) 510 511 src/xz/coder.c | 14 ++++++++++++-- 512 1 file changed, 12 insertions(+), 2 deletions(-) 513 514commit 6f0db31713845386ce2419c55b2df89b53b80dd3 515Author: Lasse Collin <lasse.collin@tukaani.org> 516Date: 2024-05-13 17:07:22 +0300 517 518 xz: Rename filters_memusage_max() to get_chains_memusage() 519 520 (cherry picked from commit 78e984399a64bfee5d11e7308e0bdbc1006db2ca) 521 522 src/xz/coder.c | 14 ++++++-------- 523 1 file changed, 6 insertions(+), 8 deletions(-) 524 525commit d7e2bf7e2dc9289a7a5dd0311d19d10de6d7ea1b 526Author: Lasse Collin <lasse.collin@tukaani.org> 527Date: 2024-05-13 17:04:05 +0300 528 529 xz: Rename filter_memusages to chains_memusages 530 531 (cherry picked from commit 54c3db0a83d3e67d89aba92a0957f2dce9b111a7) 532 533 src/xz/coder.c | 6 +++--- 534 1 file changed, 3 insertions(+), 3 deletions(-) 535 536commit 58f200b6d1dc4cbc1ab3315a359120ab6eb84878 537Author: Lasse Collin <lasse.collin@tukaani.org> 538Date: 2024-05-12 22:26:30 +0300 539 540 xz: Simplify the memory usage scaling code 541 542 This is closer to what it was before the --filtersX support was added, 543 just extended to support for scaling all filter chains. The method 544 before this commit was an extended version of the original too but 545 it was done in a more complex way for no clear reason. In case of 546 an error, the complex version printed fewer informative messages 547 (a good thing) but it's not a sigificant benefit. 548 549 In the limit is too low even for single-threaded mode, the required 550 amount of memory is now reported like in 5.4.x instead of like in 551 5.5.1alpha - 5.6.1 which showed the original non-scaled usage. It 552 had been a FIXME in the old code but it's not clear what message 553 makes the most sense. 554 555 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 556 (cherry picked from commit d9e1ae79ec90d6a7eafeaceaf0ece4f0c83d4417) 557 558 src/xz/coder.c | 163 ++++++++++++++++++++------------------------------------- 559 1 file changed, 57 insertions(+), 106 deletions(-) 560 561commit 41bdc9fa5cc2fc2a70f4331329ac724773cc2f26 562Author: Lasse Collin <lasse.collin@tukaani.org> 563Date: 2024-05-13 12:14:00 +0300 564 565 xz: Edit comments 566 567 (cherry picked from commit 0ee56983d198b776878432703de664049b1be32e) 568 569 src/xz/coder.h | 6 ++---- 570 1 file changed, 2 insertions(+), 4 deletions(-) 571 572commit 52e40c1912dfdbf8c7aa85e3a4c3eb138fa73d5d 573Author: Lasse Collin <lasse.collin@tukaani.org> 574Date: 2024-05-13 12:03:51 +0300 575 576 xz: Rename chain_idx to chain_num 577 578 (cherry picked from commit ec82a49c3553f7206104582dbfb8b64fa433b491) 579 580 src/xz/coder.c | 6 +++--- 581 1 file changed, 3 insertions(+), 3 deletions(-) 582 583commit 8a019633319c694423691f58c55fa23a46e45ded 584Author: Lasse Collin <lasse.collin@tukaani.org> 585Date: 2024-05-12 22:29:11 +0300 586 587 xz: Edit coding style 588 589 (cherry picked from commit a731a6993c34bbbd55abaf9c166718682b1da24f) 590 591 src/xz/coder.c | 2 +- 592 1 file changed, 1 insertion(+), 1 deletion(-) 593 594commit e3ad7eda74caea29849e2e9ec01212f5f7d0f574 595Author: Lasse Collin <lasse.collin@tukaani.org> 596Date: 2024-05-12 22:16:05 +0300 597 598 xz: Edit comments 599 600 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 601 (cherry picked from commit 32eb176b89243fce3112347fe43a8ad14a9fd2be) 602 603 src/xz/coder.c | 8 ++------ 604 1 file changed, 2 insertions(+), 6 deletions(-) 605 606commit 09cabae2ab47a06f6eee02419a815d4bfd0d9490 607Author: Lasse Collin <lasse.collin@tukaani.org> 608Date: 2024-05-12 21:57:49 +0300 609 610 xz: Fix grammar in a comment 611 612 Fixes: cb3111e3ed84152912b5138d690c8d9f00c6ef02 613 (cherry picked from commit b90339f4daa510d2b1b8c550f855a99667f1d004) 614 615 src/xz/coder.c | 2 +- 616 1 file changed, 1 insertion(+), 1 deletion(-) 617 618commit c10b66fbf9b2442741a1f052bdb4ce7009af9cda 619Author: Lasse Collin <lasse.collin@tukaani.org> 620Date: 2024-05-12 21:46:56 +0300 621 622 xz: Rename filter_memusages to encoder_memusages 623 624 (cherry picked from commit 4c0bdaf13d651b22ba13bd93f8379724d6ccdc13) 625 626 src/xz/coder.c | 12 ++++++------ 627 1 file changed, 6 insertions(+), 6 deletions(-) 628 629commit 9132ce3564b2c003bffd6de6294a3d98dccf314e 630Author: Lasse Collin <lasse.collin@tukaani.org> 631Date: 2024-05-12 21:42:05 +0300 632 633 xz: Edit coding style 634 635 (cherry picked from commit b54aa023e0ec291b06e976e5f094ab0549e7b09b) 636 637 src/xz/coder.c | 8 ++++---- 638 1 file changed, 4 insertions(+), 4 deletions(-) 639 640commit d642e13874e93b03959d1de523f1c8ebe9428838 641Author: Lasse Collin <lasse.collin@tukaani.org> 642Date: 2024-05-12 21:31:02 +0300 643 644 xz: Rename filters_index to chain_num 645 646 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68. 647 648 (cherry picked from commit 49f67d3d3f42b640a7dfc4ca04c8934f658e10ce) 649 650 src/xz/args.c | 8 ++++---- 651 src/xz/coder.c | 8 ++++---- 652 src/xz/coder.h | 2 +- 653 3 files changed, 9 insertions(+), 9 deletions(-) 654 655commit 47599f3b73f0a2bc18e0a8367d723f1eb0f11b63 656Author: Lasse Collin <lasse.collin@tukaani.org> 657Date: 2024-05-12 21:22:43 +0300 658 659 xz: Replace a few uint32_t with "unsigned" to reduce the number of casts 660 661 These hold only tiny values. 662 663 (cherry picked from commit ff9e8b3d069ecfa52ec43dcdb198542d1692a492) 664 665 src/xz/args.c | 2 +- 666 src/xz/coder.c | 17 ++++++++--------- 667 src/xz/coder.h | 2 +- 668 3 files changed, 10 insertions(+), 11 deletions(-) 669 670commit 8f5ab75c454ea8676ed09c7f6eda8afe87b008ad 671Author: Lasse Collin <lasse.collin@tukaani.org> 672Date: 2024-05-12 21:10:45 +0300 673 674 xz: Rename filters_used_mask to chains_used_mask 675 676 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68. 677 678 (cherry picked from commit b5e6c1113b1ba02c282bd9163eccdb521c937a78) 679 680 src/xz/coder.c | 30 +++++++++++++++--------------- 681 1 file changed, 15 insertions(+), 15 deletions(-) 682 683commit 3eb7cf9dd5b90a074f741234225d7de51ad88774 684Author: Lasse Collin <lasse.collin@tukaani.org> 685Date: 2024-05-12 17:14:43 +0300 686 687 xz: Move the setting of "check" in coder_set_compression_settings() 688 689 It's more logical to do it in the beginning instead of in the middle 690 of the filter chain handling. 691 692 Fixes: d6af7f347077b22403133239592e478931307759 693 (cherry picked from commit 32500dfaadae2ea36fda2e17b49ae7d9ac1acf52) 694 695 src/xz/coder.c | 18 +++++++++--------- 696 1 file changed, 9 insertions(+), 9 deletions(-) 697 698commit 067961ee0e1adaa66a43fbf8c3be31697554a839 699Author: Lasse Collin <lasse.collin@tukaani.org> 700Date: 2024-05-12 17:09:17 +0300 701 702 xz: Rename "filters" to "chains" 703 704 The convention is that 705 706 lzma_filter filters[LZMA_FILTERS_MAX + 1]; 707 708 contains the filters of a single filter chain. 709 It was so here as well before the commit 710 d6af7f347077b22403133239592e478931307759. 711 It changes "filters" to a ten-element array of filter chains. 712 It's clearer to call this array-of-arrays "chains". 713 714 This also renames "filter_idx" to "chain_idx" which is used 715 as an index as in chains[chain_idx]. 716 717 (cherry picked from commit ad146b1f42bbb678175a503a45ce525e779f9b8b) 718 719 src/xz/coder.c | 68 +++++++++++++++++++++++++++++----------------------------- 720 1 file changed, 34 insertions(+), 34 deletions(-) 721 722commit 6822f6f891d43c97ea379a51223ce8ea69439161 723Author: Lasse Collin <lasse.collin@tukaani.org> 724Date: 2024-05-12 16:56:15 +0300 725 726 xz: Clean up a comment 727 728 (cherry picked from commit 5a4ae4e4d0105404184e9a82ee08f94e1b7783e0) 729 730 src/xz/coder.c | 9 +++------ 731 1 file changed, 3 insertions(+), 6 deletions(-) 732 733commit 0e5e3e7bdcfcdc4b4607665ff0f6ad794e5195af 734Author: Lasse Collin <lasse.collin@tukaani.org> 735Date: 2024-05-12 16:52:09 +0300 736 737 xz: Add clarifying assertions 738 739 (cherry picked from commit 2de80494ed9a4dc7db395a32a5efb770ce769804) 740 741 src/xz/coder.c | 4 ++++ 742 1 file changed, 4 insertions(+) 743 744commit 77bcf6b76a26833923e62b2dec717474d5d44700 745Author: Lasse Collin <lasse.collin@tukaani.org> 746Date: 2024-05-10 20:23:33 +0300 747 748 xz: Add a clarifying assertion 749 750 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 751 (cherry picked from commit 1eaad004bf7748976324672db028e34f42802e61) 752 753 src/xz/coder.c | 1 + 754 1 file changed, 1 insertion(+) 755 756commit df3efc058a256629ea0153b4750d3df308757038 757Author: Lasse Collin <lasse.collin@tukaani.org> 758Date: 2024-05-12 16:47:17 +0300 759 760 xz: Clarify a comment 761 762 (cherry picked from commit 605094329b986244833c967c04963cacc41a868d) 763 764 src/xz/coder.c | 4 +++- 765 1 file changed, 3 insertions(+), 1 deletion(-) 766 767commit 4ebfe11cd33439675f03e1e3725abf03d6f8251b 768Author: Lasse Collin <lasse.collin@tukaani.org> 769Date: 2024-05-12 16:28:25 +0300 770 771 xz: Use the info collected in parse_block_list() 772 773 This is slightly simpler and it avoids looping through 774 the opt_block_list array. 775 776 (cherry picked from commit 8fac2577f2dbb9491afd8500f60d004c9071df3b) 777 778 src/xz/coder.c | 95 ++++++++++++++++++++++++---------------------------------- 779 1 file changed, 39 insertions(+), 56 deletions(-) 780 781commit bfea6913618357a7034a1d79079bccb688262124 782Author: Lasse Collin <lasse.collin@tukaani.org> 783Date: 2024-05-12 15:48:45 +0300 784 785 xz: Remember the filter chains and the largest Block in parse_block_list() 786 787 (cherry picked from commit 81d350dab864b985b740742772f3b132d4c52914) 788 789 src/xz/args.c | 18 ++++++++++++++++++ 790 src/xz/coder.c | 2 ++ 791 src/xz/coder.h | 13 +++++++++++++ 792 3 files changed, 33 insertions(+) 793 794commit d4e33e73922427a0f5277b91b239af538fd41c06 795Author: Lasse Collin <lasse.collin@tukaani.org> 796Date: 2024-05-12 15:38:48 +0300 797 798 xz: Update a comment and initialization of filters_used_mask 799 800 (cherry picked from commit 46ab56968f7dfdac187710a1223659d832fa1565) 801 802 src/xz/coder.c | 16 ++++++++-------- 803 1 file changed, 8 insertions(+), 8 deletions(-) 804 805commit 3c130737c9bb4a5021bb14eb19e9ceae30ffef3a 806Author: Lasse Collin <lasse.collin@tukaani.org> 807Date: 2024-05-12 15:08:10 +0300 808 809 xz: parse_block_list: Edit integer type casting 810 811 (cherry picked from commit e89293a0baeb8663707c6b4a74fbb310ec698a8f) 812 813 src/xz/args.c | 5 ++--- 814 1 file changed, 2 insertions(+), 3 deletions(-) 815 816commit 40c8513b4ee42b8c0fae9b2a229e078ac7e0f87a 817Author: Lasse Collin <lasse.collin@tukaani.org> 818Date: 2024-05-12 14:51:37 +0300 819 820 xz: Make filter_memusages a local variable 821 822 (cherry picked from commit 87011e40c168255cd2edea129ee68c901770603b) 823 824 src/xz/coder.c | 35 +++++++++++++++++++++-------------- 825 1 file changed, 21 insertions(+), 14 deletions(-) 826 827commit cacaf25aa71cd1110cc049d037c11e4075602c35 828Author: Lasse Collin <lasse.collin@tukaani.org> 829Date: 2024-05-10 20:33:08 +0300 830 831 xz: Remove unused code and simplify 832 833 opt_mode == MODE_COMPRESS isn't possible when HAVE_ENCODERS isn't 834 defined. Thus, when *encoding*, the message about *decoder* memory 835 usage is possible to show only when both encoder and decoder have 836 been built. 837 838 Since the message is shown only at V_DEBUG, skip the memusage 839 calculation if verbosity level isn't high enough. 840 841 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 842 (cherry picked from commit 347b412a9374e0456bef9da0d7d79174c0b6f1a5) 843 844 src/xz/coder.c | 16 ++++------------ 845 1 file changed, 4 insertions(+), 12 deletions(-) 846 847commit 3495a6b291f49079485854bb185a52c29d06cd2f 848Author: Lasse Collin <lasse.collin@tukaani.org> 849Date: 2024-05-10 20:22:58 +0300 850 851 xz: Fix integer type from uint64_t to uint32_t 852 853 lzma_options_lzma.dict_size is uint32_t so use it here too. 854 855 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 856 (cherry picked from commit 31358c057c9de9d6aba96bae112b2d17942de7cb) 857 858 src/xz/coder.c | 2 +- 859 1 file changed, 1 insertion(+), 1 deletion(-) 860 861commit 2861d856deb557734f067c5c471d670f0b0c6684 862Author: Lasse Collin <lasse.collin@tukaani.org> 863Date: 2024-05-08 21:40:07 +0300 864 865 debug/translation.bash: Remove an outdated test command 866 867 Since 5.3.5beta, "xz --lzma2=mf=bt4,nice=2" works even though bt4 needs 868 at least nice=4. It is rounded up internally by liblzma when needed. 869 870 Fixes: 5cd9f0df78cc4f8a7807bf6104adea13034fbb45 871 (cherry picked from commit 3f71e0f3a118e1012526f94fd640a626d30cb599) 872 873 debug/translation.bash | 1 - 874 1 file changed, 1 deletion(-) 875 876commit 54546babc3feb2786e541b80f9e7216b8f1bd543 877Author: Lasse Collin <lasse.collin@tukaani.org> 878Date: 2024-05-07 20:41:28 +0300 879 880 Fix the date of NEWS for 5.4.5 881 882 (cherry picked from commit b05a516830095a0e1937aeb31c937fb0400408b6) 883 884 NEWS | 2 +- 885 1 file changed, 1 insertion(+), 1 deletion(-) 886 887commit a7e58d1fdb493d58854ac599347cf64da0cecca4 888Author: Lasse Collin <lasse.collin@tukaani.org> 889Date: 2024-05-07 16:21:15 +0300 890 891 Build: Update visibility.m4 from Gnulib 892 893 This fixes the syntax of the "serial" line and renames 894 a temporary variable. 895 896 (cherry picked from commit 6d336aeb97b69c496ddc626af403f6f21c753658) 897 898 m4/visibility.m4 | 13 +++++++------ 899 1 file changed, 7 insertions(+), 6 deletions(-) 900 901commit 07a9cda037042b262ba6c8c18fae4a5b3333d508 902Author: Lasse Collin <lasse.collin@tukaani.org> 903Date: 2024-05-07 15:05:21 +0300 904 905 po4a/update-po: Delete the *.po.authors files 906 907 These are temporary files that are needed only when running po4a. 908 The top-level Makefile.am puts the whole po4a directory into 909 distribution tarball (it's simpler) so deleting these temporary 910 files is needed to prevent them from getting into tarballs. 911 912 (cherry picked from commit ab51e8ee610e2a893906859848f93d5cb0d5ba83) 913 914 po4a/update-po | 4 ++++ 915 1 file changed, 4 insertions(+) 916 917commit 1b4e7dca243d8ef297a245b5ee3ce9cd1ca20f56 918Author: Lasse Collin <lasse.collin@tukaani.org> 919Date: 2024-05-07 13:12:17 +0300 920 921 xz: Edit comments and coding style 922 923 (cherry picked from commit e4780244a17420cc95d5498cd6e02ad10eac6e5f) 924 925 src/xz/coder.c | 25 ++++++++++++------------- 926 1 file changed, 12 insertions(+), 13 deletions(-) 927 928commit 18683525a78e96ec6d7c2b4e841e94ad39be7096 929Author: Lasse Collin <lasse.collin@tukaani.org> 930Date: 2024-05-06 23:08:22 +0300 931 932 xz: Omit an incorrect comment 933 934 It likely was a leftover from a development version of the code. 935 936 Fixes: 183819bfd9efac8c184d9bf123325719b7eee30f 937 (cherry picked from commit fe4d8b0c80eaeca3381be302eeb89aba871a7e7c) 938 939 src/xz/coder.c | 6 +----- 940 1 file changed, 1 insertion(+), 5 deletions(-) 941 942commit 005f0398645b0342c9c1915d422743c77ec1d435 943Author: Lasse Collin <lasse.collin@tukaani.org> 944Date: 2024-05-06 23:04:31 +0300 945 946 xz: Add braces to a for-statement and to an if-statement 947 948 No functional changes. 949 950 Fixes: 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 951 Fixes: 479fd58d60622331fcbe48fddf756927b9f80d9a 952 (cherry picked from commit 9bef5b8d17dd5e009d6a6b2becc2dc535da53937) 953 954 src/xz/coder.c | 6 ++++-- 955 1 file changed, 4 insertions(+), 2 deletions(-) 956 957commit 34be4e6aa62376314fde250ea4f142c18274272f 958Author: Lasse Collin <lasse.collin@tukaani.org> 959Date: 2024-05-06 23:00:09 +0300 960 961 liblzma: Omit an unneeded array from the x86 filter 962 963 Fixes: 6aa2a6deeba04808a0fe4461396e7fb70277f3d4 964 (cherry picked from commit de06b9f0c0a3f72569829ecadbc9c0a3ef099f57) 965 966 src/liblzma/simple/x86.c | 5 +---- 967 1 file changed, 1 insertion(+), 4 deletions(-) 968 969commit 79e329b771210c30ea317dd4d99e8968f3e6f9b2 970Author: Lasse Collin <lasse.collin@tukaani.org> 971Date: 2024-05-06 22:56:31 +0300 972 973 CMake: Add test_suffix.sh to the tests 974 975 (cherry picked from commit 7da488cb933fdf51cfc14cb5810beb0766224380) 976 977 tests/tests.cmake | 13 +++++++++++++ 978 1 file changed, 13 insertions(+) 979 980commit 86f33bb90c6cfe6950f1d36c9e5dd7fdc9798124 981Author: Lasse Collin <lasse.collin@tukaani.org> 982Date: 2024-05-06 22:55:54 +0300 983 984 Test: Add CMake support to test_suffix.sh 985 986 It needs to find the xz executable from a different directory 987 and work without config.h. 988 989 (cherry picked from commit a805594ed0b4cbf7b81aa28ff46a8ab3c83c6876) 990 991 tests/test_suffix.sh | 12 +++++++----- 992 1 file changed, 7 insertions(+), 5 deletions(-) 993 994commit 1e243ab378e8f78ebb3af741fb38354954cf20f9 995Author: Lasse Collin <lasse.collin@tukaani.org> 996Date: 2024-05-06 20:45:34 +0300 997 998 Update INSTALL about MINIX 3 999 1000 The latest stable is 3.3.0 and it's from 2014. 1001 Don't mention the older versions in INSTALL. 1002 3.3.0 ships with Clang already. 1003 1004 Testing with 3.4.0beta6 shows that tuklib_physmem 1005 works too so omit comments about that from INSTALL. 1006 Visibility warnigns weren't a problem either. 1007 1008 Thus it's enough to mention the need for --disable-threads 1009 as configure doesn't autodetect the lack of pthreads. 1010 1011 (cherry picked from commit 50e19489387774bab3c4a988397d0d9c7a142a46) 1012 1013 INSTALL | 20 +++++++------------- 1014 1 file changed, 7 insertions(+), 13 deletions(-) 1015 1016commit 8595b5ab3ba766eb6daed890bfe91a16fe329c2c 1017Author: Lasse Collin <lasse.collin@tukaani.org> 1018Date: 2024-05-02 23:00:16 +0300 1019 1020 Windows: Remove the "doc/api" line from README-Windows.txt 1021 1022 Fixes: 252aa1d67bc015eeba462803ab72edeb7744d864 1023 (cherry picked from commit 68d18aea1422a2b86b98b71d0b019233d84e01b0) 1024 1025 windows/README-Windows.txt | 2 -- 1026 1 file changed, 2 deletions(-) 1027 1028commit a3f163a4ad97189744107e964e4dea505fbcc252 1029Author: Lasse Collin <lasse.collin@tukaani.org> 1030Date: 2024-05-02 22:59:04 +0300 1031 1032 Build: Don't copy doc/api from source tree to distribution tarball 1033 1034 It was copied if it existed. This was intentional when autogen.sh 1035 still built liblzma API docs with Doxygen. 1036 1037 Fixes: d3a77ebc04bf1db8d52de2d9b0f07877bc4fd139 1038 (cherry picked from commit 8ede961374613aa302a13571d662cfaea1cf91f7) 1039 1040 Makefile.am | 5 ----- 1041 1 file changed, 5 deletions(-) 1042 1043commit cb0e847fe07099c1ef6d8076f6a46e17bc431acb 1044Author: Sam James <sam@gentoo.org> 1045Date: 2024-05-02 13:26:40 +0100 1046 1047 ci: add SPDX headers 1048 1049 I've checked over each of these and they're straightforward applications 1050 of the relevant Github Actions. 1051 1052 (cherry picked from commit 9a6761aa35ed84d30bd2fda2333a4fdf3f46ecdc) 1053 1054 .github/workflows/freebsd.yml | 2 ++ 1055 .github/workflows/netbsd.yml | 2 ++ 1056 .github/workflows/openbsd.yml | 2 ++ 1057 3 files changed, 6 insertions(+) 1058 1059commit c3c854dc759fe0c5549aa0a730be9e259243edb6 1060Author: Yaroslav Halchenko <debian@onerussian.com> 1061Date: 2024-03-29 14:37:24 -0400 1062 1063 codespell: Ignore the THANKS file and debbugs.gnu.org URL 1064 1065 This way "codespell -i 0" is silent. 1066 1067 This is the first commit from 1068 https://github.com/tukaani-project/xz/pull/93 1069 with trivial edits by Lasse Collin. 1070 1071 (cherry picked from commit 81efe6119f86e3274e512c9eca5ec22b2196c2b3) 1072 1073 .codespellrc | 6 +++++- 1074 1 file changed, 5 insertions(+), 1 deletion(-) 1075 1076commit 3216301aa20fcf9d5a7485e35a295d5c451d9658 1077Author: Lasse Collin <lasse.collin@tukaani.org> 1078Date: 2024-04-30 14:37:11 +0300 1079 1080 Add .gitattributes to clean up git-archive output 1081 1082 (cherry picked from commit 905bfc74fe2670fd9c39014803017ab53d325401) 1083 1084 .gitattributes | 7 +++++++ 1085 1 file changed, 7 insertions(+) 1086 1087commit f99e7c69ada9e0db0ee1ebbc38c8ce9390cd9788 1088Author: Lasse Collin <lasse.collin@tukaani.org> 1089Date: 2024-04-19 12:11:09 +0300 1090 1091 xzdec: Support Landlock ABI version 4 1092 1093 This was added to xz in 02e3505991233901575b7eabc06b2c6c62a96899 1094 but I forgot to do the same in xzdec. 1095 1096 The Landlock sandbox in xzdec could be stricter as now it's 1097 active only for the last file being decompressed. In xz, 1098 read-only sandbox is used for multi-file case. On the other hand, 1099 xz doesn't go to the strictest mode when processing the last file 1100 when more than one file was specified; xzdec does. 1101 1102 (cherry picked from commit 3334c71d3d4294a4f6569df3ba9bcf2443dfa501) 1103 1104 src/xzdec/xzdec.c | 18 ++++++++++++++---- 1105 1 file changed, 14 insertions(+), 4 deletions(-) 1106 1107commit bfe9be7a46cfd3b3069c15f7ba1432192bca1f5b 1108Author: Lasse Collin <lasse.collin@tukaani.org> 1109Date: 2024-04-30 22:22:45 +0300 1110 1111 liblzma: Fix incorrect function type error from sanitizer 1112 1113 Clang 17 with -fsanitize=address,undefined: 1114 1115 src/liblzma/common/filter_common.c:366:8: runtime error: 1116 call to function encoder_find through pointer to incorrect 1117 function type 'const lzma_filter_coder *(*)(unsigned long)' 1118 src/liblzma/common/filter_encoder.c:187: note: 1119 encoder_find defined here 1120 1121 Use a wrapper function to get the correct type neatly. 1122 This reduces the number of casts needed too. 1123 1124 This issue could be a problem with control flow integrity (CFI) 1125 methods that check the function type on indirect function calls. 1126 1127 Fixes: 3b34851de1eaf358cf9268922fa0eeed8278d680 1128 (cherry picked from commit 278563ef8f2b8d98d7f2c85e1a64ec1bc21d26d8) 1129 1130 src/liblzma/common/filter_decoder.c | 15 ++++++++++++--- 1131 src/liblzma/common/filter_encoder.c | 17 +++++++++++++---- 1132 2 files changed, 25 insertions(+), 7 deletions(-) 1133 1134commit 882eadc5b820b6b1495fc91ba3573ac2aa6c1df3 1135Author: Lasse Collin <lasse.collin@tukaani.org> 1136Date: 2024-04-30 21:41:11 +0300 1137 1138 xz: Avoid arithmetic on a null pointer 1139 1140 It's undefined behavior. The result wasn't ever used as it occurred 1141 in the last iteration of a loop. 1142 1143 Clang 17 with -fsanitize=address,undefined: 1144 1145 $ src/xz/xz --block-list=123 1146 src/xz/args.c:164:12: runtime error: applying non-zero offset 1 1147 to null pointer 1148 1149 Fixes: 88ccf47205d7f3aa314d358c72ef214f10f68b43 1150 Co-authored-by: Sam James <sam@gentoo.org> 1151 (cherry picked from commit 77c8f60547decefca8f2d0c905d9c708c38ee8ff) 1152 1153 src/xz/args.c | 8 +++++++- 1154 1 file changed, 7 insertions(+), 1 deletion(-) 1155 1156commit ec5458e1c9b2beb416781e81ad4ff22b0149b99d 1157Author: Lasse Collin <lasse.collin@tukaani.org> 1158Date: 2024-04-27 20:42:00 +0300 1159 1160 CMake: Support building liblzma API docs using Doxygen 1161 1162 This is disabled by default to match the default in Autotools. 1163 Use -DUSE_DOXYGEN=ON to enable Doxygen usage. 1164 1165 This uses the update-doxygen script, thus this is under if(UNIX) 1166 although Doxygen itself can run on Windows too. 1167 1168 (cherry picked from commit 64503cc2b76a388ced4ec5f68234a07f0dcddcd5) 1169 1170 CMakeLists.txt | 40 +++++++++++++++++++++++++++++++--------- 1171 1 file changed, 31 insertions(+), 9 deletions(-) 1172 1173commit 8c93ced56bcb23df723dab23b7477d580720f522 1174Author: Lasse Collin <lasse.collin@tukaani.org> 1175Date: 2024-04-20 23:36:39 +0300 1176 1177 CMake: List API headers in LIBLZMA_API_HEADERS variable 1178 1179 This way the same list will be usable in more than one location. 1180 1181 (cherry picked from commit 0a7f5a80d8532a1d8cfa0a902c9d1ad7651eca37) 1182 1183 CMakeLists.txt | 21 ++++++++++++--------- 1184 1 file changed, 12 insertions(+), 9 deletions(-) 1185 1186commit f7c9bab0372db357511e42c9c610a2cfe5fca9b1 1187Author: Lasse Collin <lasse.collin@tukaani.org> 1188Date: 2024-04-19 15:16:42 +0300 1189 1190 PACKAGERS: Document the optional Doxygen usage 1191 1192 Also add a note that packagers should check the licensing 1193 of the Doxygen output. 1194 1195 (cherry picked from commit 541406bee3f09e9813103c6406b10fc6ab2e0d30) 1196 1197 PACKAGERS | 19 ++++++++++--------- 1198 1 file changed, 10 insertions(+), 9 deletions(-) 1199 1200commit 28e7d130cb843e96d7e6b0358f8dd58bd1b2a275 1201Author: Lasse Collin <lasse.collin@tukaani.org> 1202Date: 2024-04-27 17:47:09 +0300 1203 1204 Build: Add --enable-doxygen to generate and install API docs 1205 1206 It requires Doxygen. This option is disabled by default. 1207 1208 (cherry picked from commit e21efdf96f39378fe417479f89e97046680406f5) 1209 1210 INSTALL | 6 ++++++ 1211 configure.ac | 10 +++++++++- 1212 src/liblzma/api/Makefile.am | 19 +++++++++++++++++++ 1213 3 files changed, 34 insertions(+), 1 deletion(-) 1214 1215commit cca7e6c05bc6cc51c0271c36856b7fe29f65c648 1216Author: Lasse Collin <lasse.collin@tukaani.org> 1217Date: 2024-04-19 15:15:17 +0300 1218 1219 Doxygen: update-doxygen: Support out-of-tree builds 1220 1221 Also, now $0 is used to refer to the script itself. 1222 1223 (cherry picked from commit 0ece09a575d7e542bda8825808ddd6cf7de8cc4b) 1224 1225 doxygen/update-doxygen | 110 ++++++++++++++++++++++++++++++------------------- 1226 1 file changed, 68 insertions(+), 42 deletions(-) 1227 1228commit 8090d3dc7f0eea4a3a61f4f6d46a0d0866e345fe 1229Author: Lasse Collin <lasse.collin@tukaani.org> 1230Date: 2024-04-28 21:08:00 +0300 1231 1232 Doxygen: Simplify Doxyfile and add SPDX license identifier 1233 1234 This omits all comments and a few non-default options that weren't 1235 needed. Now it contains no copyrighted content from Doxygen itself. 1236 1237 (cherry picked from commit 2c519f641f266fd897edf680827d9c905f411440) 1238 1239 doxygen/Doxyfile | 2698 +----------------------------------------------------- 1240 1 file changed, 25 insertions(+), 2673 deletions(-) 1241 1242commit 0721b8bfe558502669f06c97601fe59ad0d52541 1243Author: Lasse Collin <lasse.collin@tukaani.org> 1244Date: 2024-04-19 15:14:02 +0300 1245 1246 Doxygen: Don't strip JavaScript anymore 1247 1248 The stripping method worked well with Doxygen 1.8 and 1.9 but 1249 it doesn't work with Doxygen 1.10 anymore. Since we won't ship 1250 pre-generated liblzma API docs anymore, the extra bloat and 1251 extra license info of the JavaScript files won't affect the 1252 upstream source package anymore. 1253 1254 (cherry picked from commit bdba39a57530d11b88440df8024002be3d09e4a1) 1255 1256 doxygen/update-doxygen | 21 --------------------- 1257 1 file changed, 21 deletions(-) 1258 1259commit 1ddb40f6fd286c3c6ef510735112db1ac1b60936 1260Author: Lasse Collin <lasse.collin@tukaani.org> 1261Date: 2024-04-19 17:26:41 +0300 1262 1263 Build: Remove old Doxygen rules from top-level Makefile.am 1264 1265 (cherry picked from commit d3a77ebc04bf1db8d52de2d9b0f07877bc4fd139) 1266 1267 Makefile.am | 12 ------------ 1268 1 file changed, 12 deletions(-) 1269 1270commit 092af76234b1bc79380427456b3215aa0b80f339 1271Author: Lasse Collin <lasse.collin@tukaani.org> 1272Date: 2024-04-19 15:10:06 +0300 1273 1274 Update COPYING to match the autogen.sh and mydist changes 1275 1276 (cherry picked from commit fd7faa4c338a42a6a40e854b837d285ae2e8c609) 1277 1278 COPYING | 11 ----------- 1279 1 file changed, 11 deletions(-) 1280 1281commit 77bce9a0a250cfb20333ee0dca036b3193dd4941 1282Author: Lasse Collin <lasse.collin@tukaani.org> 1283Date: 2024-04-19 17:23:43 +0300 1284 1285 Build: Don't run update-doxygen as part of "make mydist" 1286 1287 (cherry picked from commit b2bc55d8a0a9f2f59bfd4302067300e650f6baa3) 1288 1289 Makefile.am | 1 - 1290 1 file changed, 1 deletion(-) 1291 1292commit 3a2fc62f59b2e8cc45f8d8fd9988b4305efe4bff 1293Author: Lasse Collin <lasse.collin@tukaani.org> 1294Date: 2024-04-19 15:09:48 +0300 1295 1296 autogen.sh: Don't generated Doxygen docs anymore 1297 1298 (cherry picked from commit e9be74f5b129fe8a5388d588e68b1b7f5168a310) 1299 1300 autogen.sh | 18 +++--------------- 1301 1 file changed, 3 insertions(+), 15 deletions(-) 1302 1303commit b04c16f9a5a8675a87783305568cadfa3f17d999 1304Author: Lasse Collin <lasse.collin@tukaani.org> 1305Date: 2024-04-19 17:41:36 +0300 1306 1307 windows/build.bash: Omit Doxygen docs from the package 1308 1309 They will be omitted from the source tarball and I don't want 1310 to make Doxygen a dependency of build.bash. 1311 1312 (cherry picked from commit 252aa1d67bc015eeba462803ab72edeb7744d864) 1313 1314 windows/build.bash | 4 ++-- 1315 1 file changed, 2 insertions(+), 2 deletions(-) 1316 1317commit d4dd3c8f6169adf50cad8fe6872e0f5fcb82475c 1318Author: Lasse Collin <lasse.collin@tukaani.org> 1319Date: 2024-04-19 14:14:47 +0300 1320 1321 README: Don't mention PDF man pages anymore 1322 1323 (cherry picked from commit 634095364d87444d62d8ec54c134c0cd4705f5d7) 1324 1325 README | 6 +++--- 1326 1 file changed, 3 insertions(+), 3 deletions(-) 1327 1328commit be90720d6cd7fbb1b170794445815f579b444a6f 1329Author: Lasse Collin <lasse.collin@tukaani.org> 1330Date: 2024-04-19 14:10:39 +0300 1331 1332 Build: Omit PDF man pages from the package 1333 1334 pdf-local rule was added to create the PDFs still with "make pdf". 1335 The install rules are missing but that likely doesn't matter at all. 1336 1337 (cherry picked from commit dc684bf76ea23574ee9d88382057381e04e6089a) 1338 1339 Makefile.am | 29 +++++++++++++++++++---------- 1340 1 file changed, 19 insertions(+), 10 deletions(-) 1341 1342commit f724552d0c1ae2e3aa693d80d8d0da962dfac4e8 1343Author: Lasse Collin <lasse.collin@tukaani.org> 1344Date: 2024-04-19 13:54:39 +0300 1345 1346 windows/build.bash: Don't copy PDF man pages to the package 1347 1348 (cherry picked from commit e3531ab4125cbd5c01ebd3200791350960547189) 1349 1350 windows/README-Windows.txt | 2 +- 1351 windows/build.bash | 2 +- 1352 2 files changed, 2 insertions(+), 2 deletions(-) 1353 1354commit 00e774819c6550a8eac219e9f6f083ab2b155505 1355Author: Lasse Collin <lasse.collin@tukaani.org> 1356Date: 2024-04-28 01:34:50 +0300 1357 1358 Tests: test_index: Fix failures when features are disabled 1359 1360 Fixes: cd88423e76d54eb72aea037364f3ebb21f122503 1361 (cherry picked from commit 710a4573ef2cbd19c66318c3b2d1388e418e26c7) 1362 1363 tests/test_index.c | 13 ++++++++----- 1364 1 file changed, 8 insertions(+), 5 deletions(-) 1365 1366commit 51133ad71eecc19bdb3ab287a0732fd9441753f4 1367Author: Lasse Collin <lasse.collin@tukaani.org> 1368Date: 2024-04-20 17:09:11 +0300 1369 1370 CMake: Keep the build working if the "tests" directory is missing 1371 1372 This moves the tests section as is from CMakeLists.txt into 1373 tests/tests.cmake. CMakeLists.txt now includes tests/tests.cmake 1374 if the latter file exists. 1375 1376 Now it's possible to delete the whole "tests" directory and 1377 building with CMake will still work normally, just without 1378 the tests. This way the tests are readily available for those 1379 who want them, and those who won't run the tests anyway have 1380 a straightforward way to ensure that nothing from the "tests" 1381 directory can affect the build process. 1382 1383 (cherry picked from commit aaff75c3486c4489ce88b0efb36b41cf138af7c3) 1384 1385 CMakeLists.txt | 76 ++--------------------------------------------- 1386 tests/Makefile.am | 1 + 1387 tests/tests.cmake | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1388 3 files changed, 92 insertions(+), 73 deletions(-) 1389 1390commit 85b5595b67f0081b2a900104ed7589de4bb75e12 1391Author: Lasse Collin <lasse.collin@tukaani.org> 1392Date: 2024-04-20 13:12:50 +0300 1393 1394 Tests: Remove x86 and SPARC BCJ tests 1395 1396 These are very old but the exact test file isn't easy to reproduce 1397 as it was compiled from a short C program (bcj_test.c) long ago. 1398 These tests weren't very good anyway, just a little better than nothing. 1399 1400 (cherry picked from commit a5f2aa5618fe9183706c9c514c3067985f6c338b) 1401 1402 tests/Makefile.am | 7 ---- 1403 tests/bcj_test.c | 64 --------------------------------- 1404 tests/compress_prepared_bcj_sparc | Bin 1240 -> 0 bytes 1405 tests/compress_prepared_bcj_x86 | Bin 1388 -> 0 bytes 1406 tests/files/README | 8 ----- 1407 tests/files/good-1-sparc-lzma2.xz | Bin 612 -> 0 bytes 1408 tests/files/good-1-x86-lzma2.xz | Bin 716 -> 0 bytes 1409 tests/test_compress_prepared_bcj_sparc | 4 --- 1410 tests/test_compress_prepared_bcj_x86 | 4 --- 1411 9 files changed, 87 deletions(-) 1412 1413commit d8228d1ea08155a17acaadd76ed95805d3b0a929 1414Author: Lasse Collin <lasse.collin@tukaani.org> 1415Date: 2024-04-27 18:30:40 +0300 1416 1417 Tests: test_index: Edit a misleading test 1418 1419 (cherry picked from commit d879686469c9c4bf2a7c0bb6420ebe4530fc8f07) 1420 1421 tests/test_index.c | 7 +++++-- 1422 1 file changed, 5 insertions(+), 2 deletions(-) 1423 1424commit 2358ef8238f166c49e66f438e7494d4d352eb113 1425Author: Lasse Collin <lasse.collin@tukaani.org> 1426Date: 2024-04-27 16:46:01 +0300 1427 1428 Tests: test_index: Use minimal values to test integer overflow 1429 1430 (cherry picked from commit 612005bbdb0dea9dc09e9e2e9cc16a15c1480acd) 1431 1432 tests/test_index.c | 4 ++-- 1433 1 file changed, 2 insertions(+), 2 deletions(-) 1434 1435commit 54f4a4162aae8796580489013583d6148be5a473 1436Author: Lasse Collin <lasse.collin@tukaani.org> 1437Date: 2024-04-27 15:13:39 +0300 1438 1439 Tests: test_index: Test lzma_index_buffer_decode() more 1440 1441 (cherry picked from commit 4ad88b2544c2aaf8de8f38af54587098cbe66c1d) 1442 1443 tests/test_index.c | 29 ++++++++++++++++++++++++++--- 1444 1 file changed, 26 insertions(+), 3 deletions(-) 1445 1446commit 85ab59a6b70db33f320a3ea7a854249cb693dea2 1447Author: Lasse Collin <lasse.collin@tukaani.org> 1448Date: 2024-04-27 15:08:29 +0300 1449 1450 Tests: test_index: Test that *i = NULL is done on LZMA_PROG_ERROR 1451 1452 On LZMA_DATA_ERROR from lzma_index_buffer_decode(), *i = NULL was 1453 already done but this adds a test for that case too. 1454 1455 (cherry picked from commit 575b11b0d291e66c5fce31ce7a72f11436d57c83) 1456 1457 tests/test_index.c | 31 +++++++++++++++++++++++++++---- 1458 1 file changed, 27 insertions(+), 4 deletions(-) 1459 1460commit fb42599e44dde417305c7d92fd782147ca923079 1461Author: Lasse Collin <lasse.collin@tukaani.org> 1462Date: 2024-04-27 15:01:25 +0300 1463 1464 Tests: test_index: Test lzma_index_buffer_encode() with empty output buf 1465 1466 (cherry picked from commit 2c970debdb285823f01f75e875561d893345ac2b) 1467 1468 tests/test_index.c | 3 +++ 1469 1 file changed, 3 insertions(+) 1470 1471commit 20cac20f63a96a39391f2d613bef0f7bd6553495 1472Author: Lasse Collin <lasse.collin@tukaani.org> 1473Date: 2024-04-27 14:59:55 +0300 1474 1475 Tests: test_index: Replace if-statements with tuktest assertions 1476 1477 (cherry picked from commit cd88423e76d54eb72aea037364f3ebb21f122503) 1478 1479 tests/test_index.c | 22 +++++++++------------- 1480 1 file changed, 9 insertions(+), 13 deletions(-) 1481 1482commit 91e3ea8735752db5d0373991e84607196070aeaa 1483Author: Lasse Collin <lasse.collin@tukaani.org> 1484Date: 2024-04-27 14:56:16 +0300 1485 1486 Tests: test_index: Make it clear that my_alloc() has no integer overflows 1487 1488 liblzma guarantees that the product of the allocation size arguments 1489 will fit in size_t. 1490 1491 Putting the pre-increment in the if-statement was clearly wrong 1492 although in practice it didn't matter here as the function is 1493 called only a couple of times. 1494 1495 (cherry picked from commit 7f865577a6224fbbb5f5ca52574b62ea8ac9bf51) 1496 1497 tests/test_index.c | 5 ++++- 1498 1 file changed, 4 insertions(+), 1 deletion(-) 1499 1500commit df1659a6c8367db69e82e2ea59ad5f959cf4e615 1501Author: Lasse Collin <lasse.collin@tukaani.org> 1502Date: 2024-04-27 14:51:52 +0300 1503 1504 Tests: test_index: Verify also iter.block.number_in_stream 1505 1506 (cherry picked from commit 12313a3b6596cdcf012e180597f84d231f8730d3) 1507 1508 tests/test_index.c | 2 ++ 1509 1 file changed, 2 insertions(+) 1510 1511commit e083e95dbfda73900109cca4c82c8713d0a1da21 1512Author: Lasse Collin <lasse.collin@tukaani.org> 1513Date: 2024-04-27 14:51:06 +0300 1514 1515 Tests: test_index: Check cases that aren't a multiple of 4 bytes 1516 1517 (cherry picked from commit ad2654010d9d641ce1601beeff00630027e6bcd4) 1518 1519 tests/test_index.c | 33 +++++++++++++++++++++++++-------- 1520 1 file changed, 25 insertions(+), 8 deletions(-) 1521 1522commit b0d3b86ecf1881d10e6614b64b0fcc6c16a3b08f 1523Author: Lasse Collin <lasse.collin@tukaani.org> 1524Date: 2024-04-27 14:40:25 +0300 1525 1526 Tests: test_index: Edit comments and white space 1527 1528 (cherry picked from commit 2524fcf2b68b662035437cee8edbe80067c0c240) 1529 1530 tests/test_index.c | 18 +++++++++++------- 1531 1 file changed, 11 insertions(+), 7 deletions(-) 1532 1533commit bae288ea6ffb976c36e2387c03d75ce84a8a1034 1534Author: Lasse Collin <lasse.collin@tukaani.org> 1535Date: 2024-04-27 14:33:38 +0300 1536 1537 liblzma: index_decoder: Fix missing initializations on LZMA_PROG_ERROR 1538 1539 If the arguments to lzma_index_decoder() or lzma_index_buffer_decode() 1540 were such that LZMA_PROG_ERROR was returned, the lzma_index **i 1541 argument wasn't touched even though the API docs say that *i = NULL 1542 is done if an error occurs. This obviously won't be done even now 1543 if i == NULL but otherwise it is best to do it due to the wording 1544 in the API docs. 1545 1546 In practice this matters very little: The problem can occur only 1547 if the functions are called with invalid arguments, that is, 1548 the calling application must already have a bug. 1549 1550 (cherry picked from commit 71eed2520e2eecae89bade9dceea16e56cfa2ea0) 1551 1552 src/liblzma/common/index_decoder.c | 11 +++++++++++ 1553 1 file changed, 11 insertions(+) 1554 1555commit f10cb93f335900a29e50f990b751996ef026b3a3 1556Author: Lasse Collin <lasse.collin@tukaani.org> 1557Date: 2024-04-26 18:25:18 +0300 1558 1559 CMake: Bump maximum policy version to 3.29 1560 1561 (cherry picked from commit 0478473953f50716a2bc37b619b1c7dc2682b1ad) 1562 1563 CMakeLists.txt | 2 +- 1564 1 file changed, 1 insertion(+), 1 deletion(-) 1565 1566commit 59055d70cdd3df091264ae9da793821bfd65314d 1567Author: Sam James <sam@gentoo.org> 1568Date: 2024-04-13 22:30:44 +0100 1569 1570 ci: add NetBSD 1571 1572 (cherry picked from commit a607e2b40d23f7d998dbaba76692aa30b4c3d9d3) 1573 1574 .github/workflows/netbsd.yml | 29 +++++++++++++++++++++++++++++ 1575 1 file changed, 29 insertions(+) 1576 1577commit 812c1f95f37751aaa1e020fc2360949a674842fd 1578Author: Sam James <sam@gentoo.org> 1579Date: 2024-04-13 23:49:26 +0100 1580 1581 ci: add FreeBSD 1582 1583 (cherry picked from commit 72c210336de26fb87a928160d025fa10a638d23b) 1584 1585 .github/workflows/freebsd.yml | 29 +++++++++++++++++++++++++++++ 1586 1 file changed, 29 insertions(+) 1587 1588commit d2a4f963c28b864aa179464f7827cc10c6e1365d 1589Author: Sam James <sam@gentoo.org> 1590Date: 2024-04-13 23:16:08 +0100 1591 1592 ci: add OpenBSD 1593 1594 (cherry picked from commit b526ec2dbfb5889845ea60548c4f5b1f97d84ab2) 1595 1596 .github/workflows/openbsd.yml | 31 +++++++++++++++++++++++++++++++ 1597 1 file changed, 31 insertions(+) 1598 1599commit 493bc57c33385bda5ad32d01ab73dcfe8f5e7ced 1600Author: Sam James <sam@gentoo.org> 1601Date: 2024-04-15 05:53:01 +0100 1602 1603 liblzma: outqueue: add header guard 1604 1605 Reported by github's codeql. 1606 1607 (cherry picked from commit c7ef767c49351743d8d011574abb9e200bf6b24f) 1608 1609 src/liblzma/common/outqueue.h | 5 +++++ 1610 1 file changed, 5 insertions(+) 1611 1612commit cede418d4f8e1fb4c8a30839fa5d3b14743e83d4 1613Author: Sam James <sam@gentoo.org> 1614Date: 2024-04-15 05:53:56 +0100 1615 1616 liblzma: easy_preset: add header guard 1617 1618 Reported by github's codeql. 1619 1620 (cherry picked from commit 55dcae3056d95cb2ddb8b560c12ba7596bc79f2c) 1621 1622 src/liblzma/common/easy_preset.h | 5 +++++ 1623 1 file changed, 5 insertions(+) 1624 1625commit 6e76a25df28b47407a201bf0381fa6d3c80cb0bb 1626Author: Lasse Collin <lasse.collin@tukaani.org> 1627Date: 2024-04-25 14:00:57 +0300 1628 1629 tuklib_integer: Rename bswapXX to byteswapXX 1630 1631 The __builtin_bswapXX from GCC and Clang are preferred when 1632 they are available. This can allow compilers to emit the x86 MOVBE 1633 instruction instead of doing a load + byteswap as two instructions 1634 (which would happen if the byteswapping is done in inline asm). 1635 1636 bswap16, bswap32, and bswap64 exist in system headers on *BSDs 1637 and Darwin. #defining bswap16 on NetBSD results in a warning about 1638 macro redefinition. It's safest to avoid this namespace conflict 1639 completely. 1640 1641 No OS supported by tuklib_integer.h uses byteswapXX names and 1642 a web search doesn't immediately find any obvious danger of 1643 namespace conflicts. So let's try these still-pretty-short names 1644 for the macros. 1645 1646 Thanks to Sam James for pointing out the compiler warning on 1647 NetBSD 10.0. 1648 1649 (cherry picked from commit 4ffc60f32397371769b7d6b5e3ed8626292d58df) 1650 1651 src/common/tuklib_integer.h | 47 ++++++++++++++++++++------------------ 1652 src/liblzma/check/crc32_fast.c | 4 ++-- 1653 src/liblzma/check/crc32_tablegen.c | 2 +- 1654 src/liblzma/check/crc64_fast.c | 4 ++-- 1655 src/liblzma/check/crc64_tablegen.c | 2 +- 1656 5 files changed, 31 insertions(+), 28 deletions(-) 1657 1658commit 0ca14871f306b97ce81bfe44c4a39b6b2af31bb3 1659Author: Lasse Collin <lasse.collin@tukaani.org> 1660Date: 2024-04-24 01:20:26 +0300 1661 1662 liblzma: API doc cleanups 1663 1664 (cherry picked from commit 08ab0966a75b501aa7c717622223f0c13a113c75) 1665 1666 src/liblzma/api/lzma/container.h | 2 +- 1667 src/liblzma/api/lzma/index.h | 6 +++--- 1668 src/liblzma/api/lzma/vli.h | 5 ++--- 1669 3 files changed, 6 insertions(+), 7 deletions(-) 1670 1671commit 94a462850bc8718f5dd5b30116bce2165b2403c2 1672Author: Lasse Collin <lasse.collin@tukaani.org> 1673Date: 2024-04-23 16:35:33 +0300 1674 1675 Tests: test_filter_str: Add a few assertions 1676 1677 (cherry picked from commit 3ac8a9bb4cccbee88350696dc9c645c48d77c989) 1678 1679 tests/test_filter_str.c | 4 ++++ 1680 1 file changed, 4 insertions(+) 1681 1682commit 72058ca22a7f3c9c67ed58be624f8302c6337cd7 1683Author: Lasse Collin <lasse.collin@tukaani.org> 1684Date: 2024-04-23 16:35:08 +0300 1685 1686 Tests: test_filter_str: Move one assertion and add a comment 1687 1688 (cherry picked from commit 26c69be80523b05c84dea86c47c4ddd9a10945d7) 1689 1690 tests/test_filter_str.c | 6 ++++-- 1691 1 file changed, 4 insertions(+), 2 deletions(-) 1692 1693commit c59ebbe1c6dd18b78a046aae3133702dd52c352e 1694Author: Lasse Collin <lasse.collin@tukaani.org> 1695Date: 2024-04-23 16:26:06 +0300 1696 1697 Tests: test_filter_str: Tweak comments and white space 1698 1699 (cherry picked from commit 4f6af853bc99904efb8b6c28a0af7b81a8476c1b) 1700 1701 tests/test_filter_str.c | 3 +++ 1702 1 file changed, 3 insertions(+) 1703 1704commit ceda860934b0272689d0722ceeb490cf9c559956 1705Author: Lasse Collin <lasse.collin@tukaani.org> 1706Date: 2024-04-23 16:25:22 +0300 1707 1708 Tests: test_filter_str: Add missing RISC-V case 1709 1710 Fixes: 89ea1a22f4ed3685b053b7260bc5acf6c75d1664 1711 (cherry picked from commit c92663aa1bd576e0615498a4189acf0df12e84b9) 1712 1713 tests/test_filter_str.c | 3 +++ 1714 1 file changed, 3 insertions(+) 1715 1716commit 2234b7cc472e62f3401216a71261579342fa2959 1717Author: Lasse Collin <lasse.collin@tukaani.org> 1718Date: 2024-04-22 22:23:32 +0300 1719 1720 Tests: test_filter_str: Test *error_pos more thoroughly 1721 1722 (cherry picked from commit b0366df1d7ed26268101f9303a001c91c0806dfc) 1723 1724 tests/test_filter_str.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++- 1725 1 file changed, 76 insertions(+), 1 deletion(-) 1726 1727commit 3ba3ef57f929670adb1f9c5e5207a81a29374237 1728Author: Lasse Collin <lasse.collin@tukaani.org> 1729Date: 2024-04-22 21:54:39 +0300 1730 1731 liblzma: lzma_str_to_filters: Set *error_pos on all errors 1732 1733 The API docs clearly say that if error_pos isn't NULL then *error 1734 is always set on any error. However, it wasn't touched if str == NULL 1735 or filters == NULL or unsupported flags were specified. 1736 1737 Fixes: cedeeca2ea6ada5b0411b2ae10d7a859e837f203 1738 (cherry picked from commit 70d12dd069bb9bb0d6bb1c8fafc4e6f77780263d) 1739 1740 src/liblzma/common/string_conversion.c | 6 ++++++ 1741 1 file changed, 6 insertions(+) 1742 1743commit 57ad820e15381344a812c78ce9b67a77a60b9cf3 1744Author: Lasse Collin <lasse.collin@tukaani.org> 1745Date: 2024-04-22 20:31:25 +0300 1746 1747 liblzma: Clean up white space 1748 1749 (cherry picked from commit ed8e552395701fbf046027cebc8be4a6755b263f) 1750 1751 src/liblzma/lz/lz_encoder.h | 2 +- 1752 1 file changed, 1 insertion(+), 1 deletion(-) 1753 1754commit ba0b5bfe7cb3cdbd9a4e3c268e10c304cb834e8a 1755Author: Lasse Collin <lasse.collin@tukaani.org> 1756Date: 2024-04-22 18:35:19 +0300 1757 1758 Tests: test_filter_flags: Edit comments and style 1759 1760 (cherry picked from commit 2f06920f20b1ad63b7953dc09569e1d424998849) 1761 1762 tests/test_filter_flags.c | 13 +++++++++---- 1763 1 file changed, 9 insertions(+), 4 deletions(-) 1764 1765commit d2ed6759596185ac6a9c69ea713c27cd4bd1d9ba 1766Author: Lasse Collin <lasse.collin@tukaani.org> 1767Date: 2024-04-22 16:39:44 +0300 1768 1769 Tests: Fix C99/C11 compatibility when features are disabled 1770 1771 The array could become empty and then the initializer would be 1772 simply {} which is allowed only in GNU-C and C23. 1773 1774 (cherry picked from commit b101e1d1dbc81577c0c9aa0cb89cf2e46a15eb82) 1775 1776 tests/test_filter_flags.c | 18 ++++++++---------- 1777 1 file changed, 8 insertions(+), 10 deletions(-) 1778 1779commit 9a70e93fef3fd5943484e56f1881a7c6e3296027 1780Author: Lasse Collin <lasse.collin@tukaani.org> 1781Date: 2024-04-21 20:32:16 +0300 1782 1783 DOS: Omit useless defines from config.h 1784 1785 (cherry picked from commit f8f3a220ac8afcb8cb2812917d3b77e00c2eab0d) 1786 1787 dos/config.h | 12 ------------ 1788 1 file changed, 12 deletions(-) 1789 1790commit dc4740f720e08bdd496aa2736db3b7aea6dd3d1e 1791Author: Lasse Collin <lasse.collin@tukaani.org> 1792Date: 2024-04-21 20:27:50 +0300 1793 1794 Build: Omit useless checks for fcntl.h, limits.h, and sys/time.h 1795 1796 (cherry picked from commit fc1921b04b8840caaa777c2bd5340d41b259da20) 1797 1798 configure.ac | 6 ------ 1799 1 file changed, 6 deletions(-) 1800 1801commit 6e210d5766b25d36729152a13c5889bb0605a1e3 1802Author: Lasse Collin <lasse.collin@tukaani.org> 1803Date: 2024-04-19 22:04:21 +0300 1804 1805 liblzma: Silence a warning from Coverity static analysis 1806 1807 It is logical why it cannot know for sure that the value has 1808 to be at most 4 if it is less than 16. 1809 1810 The x86 filter is based on a very old LZMA SDK version. Newer 1811 ones have quite a different implementation for the same filter. 1812 1813 Thanks to Sam James. 1814 1815 (cherry picked from commit 6aa2a6deeba04808a0fe4461396e7fb70277f3d4) 1816 1817 src/liblzma/simple/x86.c | 12 +++++------- 1818 1 file changed, 5 insertions(+), 7 deletions(-) 1819 1820commit 4019b012f29008ea6545aba6fe6c141a2d920ae2 1821Author: Lasse Collin <lasse.collin@tukaani.org> 1822Date: 2024-04-19 23:18:19 +0300 1823 1824 Update .gitignore 1825 1826 (cherry picked from commit e89d3e83b4496d0b5410870634970c0aa9721d59) 1827 1828 .gitignore | 21 ++++++++------------- 1829 1 file changed, 8 insertions(+), 13 deletions(-) 1830 1831commit 09a0311a1e8cdefbcfab9e490cdd41c97a459d24 1832Author: Lasse Collin <lasse.collin@tukaani.org> 1833Date: 2024-04-19 20:53:24 +0300 1834 1835 Tests: test_lzip_decoder: Tweak coding style and comments 1836 1837 (cherry picked from commit 86fc4ee859709da0ff9617a1490f13ddac0a109b) 1838 1839 tests/test_lzip_decoder.c | 58 +++++++++++++++++++++++------------------------ 1840 1 file changed, 28 insertions(+), 30 deletions(-) 1841 1842commit 3117336a0291309ddd2a54d2966a589f9f806850 1843Author: Lasse Collin <lasse.collin@tukaani.org> 1844Date: 2024-04-19 20:51:36 +0300 1845 1846 Tests: test_lzip_decoder: Remove redundant initializations 1847 1848 (cherry picked from commit 38be573a279bd7b608ee7d8509ec10884e6fb0d5) 1849 1850 tests/test_lzip_decoder.c | 6 ++---- 1851 1 file changed, 2 insertions(+), 4 deletions(-) 1852 1853commit f78081eb12c804ec4f5a3dc569b859646b16e9e5 1854Author: Lasse Collin <lasse.collin@tukaani.org> 1855Date: 2024-04-19 20:47:24 +0300 1856 1857 Tests: test_lzip_decoder: Remove unneeded tuktest_malloc() calls 1858 1859 (cherry picked from commit d7e4bc53eacfab9f3de95d8252bdfdc9419079c9) 1860 1861 tests/test_lzip_decoder.c | 12 ++---------- 1862 1 file changed, 2 insertions(+), 10 deletions(-) 1863 1864commit 7413383e4280065b79ca70abe4d8ebc78055b35a 1865Author: Lasse Collin <lasse.collin@tukaani.org> 1866Date: 2024-04-15 20:35:07 +0300 1867 1868 xz: Fix white space error. 1869 1870 Thanks to xx on #tukaani. 1871 1872 (cherry picked from commit eeca8f7c5baf1ad69606bb734d5001763466d58f) 1873 1874 src/xz/args.c | 2 +- 1875 1 file changed, 1 insertion(+), 1 deletion(-) 1876 1877commit eed2f26c0edb6e31a50d48bab4ff619778690a1e 1878Author: Sam James <sam@gentoo.org> 1879Date: 2024-04-11 23:01:44 +0100 1880 1881 xz: add missing noreturn for message_filters_help 1882 1883 Fixes: a165d7df1964121eb9df715e6f836a31c865beef 1884 (cherry picked from commit 462ca9409940a19f743daee6b3bcc611277d0007) 1885 1886 src/xz/message.h | 1 + 1887 1 file changed, 1 insertion(+) 1888 1889commit 2633d8df616405bd54fd748d7bf887ebc4505b88 1890Author: Sam James <sam@gentoo.org> 1891Date: 2024-04-11 19:34:04 +0100 1892 1893 xz: signals: suppress -Wsign-conversion on macOS 1894 1895 On macOS, we get: 1896 ``` 1897 signals.c: In function 'signals_init': 1898 signals.c:76:17: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 1899 76 | sigaddset(&hooked_signals, sigs[i]); 1900 | ^~~~~~~~~ 1901 signals.c:81:17: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 1902 81 | sigaddset(&hooked_signals, message_progress_sigs[i]); 1903 | ^~~~~~~~~ 1904 signals.c:86:9: error: conversion to 'sigset_t' {aka 'unsigned int'} from 'int' may change the sign of the result [-Werror=sign-conversion] 1905 86 | sigaddset(&hooked_signals, SIGTSTP); 1906 | ^~~~~~~~~ 1907 ``` 1908 1909 We use `int` for `hooked_signals` but we can't just cast to whatever 1910 `sigset_t` is because `sigset_t` is an opaque type. It's an unsigned int 1911 on macOS. On macOS, `sigaddset` is implemented as a macro. 1912 1913 Just suppress -Wsign-conversion for `signals_init` for macOS given 1914 there's no real nice way of fixing this. 1915 1916 (cherry picked from commit 863f13d2828b99b0539ce73f9cf85bde32358034) 1917 1918 src/xz/signals.c | 7 +++++++ 1919 1 file changed, 7 insertions(+) 1920 1921commit 50fb269c7a9cf62a9f3fe08859e2aa4348b600a7 1922Author: Lasse Collin <lasse.collin@tukaani.org> 1923Date: 2024-04-13 22:19:40 +0300 1924 1925 Tests: test_microlzma: Add a "FIXME?" about LZMA_FINISH handling 1926 1927 (cherry picked from commit fcbd0d199933a69713cb293cbd7409a757d854cd) 1928 1929 tests/test_microlzma.c | 8 ++++++++ 1930 1 file changed, 8 insertions(+) 1931 1932commit 3e2ff2d38c54c8fc7ce15aaf91185dc105d9c92c 1933Author: Lasse Collin <lasse.collin@tukaani.org> 1934Date: 2024-04-13 18:05:31 +0300 1935 1936 Tests: test_microlzma: Tweak comments, coding style, and minor details 1937 1938 A few lines were reordered, a few ARRAY_SIZE were changed to sizeof, 1939 and a few uint32_t were changed to size_t. No real functional changes 1940 were intended. 1941 1942 (cherry picked from commit 0fe2dfa68355d2b165544b2bc8babf77dcc2039e) 1943 1944 tests/test_microlzma.c | 149 +++++++++++++++++++++++++++---------------------- 1945 1 file changed, 83 insertions(+), 66 deletions(-) 1946 1947commit ebc8b8de19d641c37ab7959a224bcd0ff4c0833f 1948Author: Ryan Carsten Schmidt <git@ryandesign.com> 1949Date: 2024-04-12 19:31:13 -0500 1950 1951 CI: Use only the active CPUs on macOS 1952 1953 hw.ncpu counts all CPUs including inactive ones. hw.activecpu counts 1954 only the active CPUs. 1955 1956 (cherry picked from commit 97f0ee0f1f903f4e7c4ea23e9b89d687025d2992) 1957 1958 build-aux/ci_build.bash | 2 +- 1959 1 file changed, 1 insertion(+), 1 deletion(-) 1960 1961commit 1e63f7d53648beb6dd5acb5771850d7c4bc30477 1962Author: Sam James <sam@gentoo.org> 1963Date: 2024-04-10 18:33:55 +0100 1964 1965 ci: rename ci_build.sh -> ci_build.bash 1966 1967 We discussed the name and it's less cognitive load to just call it '.bash' 1968 so you don't have an immediate question about if bashisms are OK. 1969 1970 (cherry picked from commit 73f629e321b74f68c9954728fa4f19261afccf46) 1971 1972 .github/workflows/ci.yml | 52 ++++++++++++++++---------------- 1973 .github/workflows/windows-ci.yml | 20 ++++++------ 1974 build-aux/{ci_build.sh => ci_build.bash} | 0 1975 3 files changed, 36 insertions(+), 36 deletions(-) 1976 1977commit aea54a4724414466a20afd7493156d40d0a2741c 1978Author: Sam James <sam@gentoo.org> 1979Date: 2024-04-10 17:42:23 +0100 1980 1981 ci: build in parallel by default 1982 1983 (cherry picked from commit 8709407a9ef8e7e8aec117879400e4dd3e227ada) 1984 1985 build-aux/ci_build.sh | 2 ++ 1986 1 file changed, 2 insertions(+) 1987 1988commit 4381fcf00b2fabb6dcc9fd5cf35d520feb9e775a 1989Author: Sam James <sam@gentoo.org> 1990Date: 2024-04-10 15:41:08 +0100 1991 1992 ci: default to -O2 1993 1994 We need this for when we're passing sanitizer flags or -gdwarf-4 for Clang 1995 with Valgrind. Just always start with -O2 if CFLAGS isn't set in the 1996 environment and append what was passed on the command line. 1997 1998 (cherry picked from commit 65bf7e0a1ca6386f17608e8afb84ac470c18d23f) 1999 2000 build-aux/ci_build.sh | 3 ++- 2001 1 file changed, 2 insertions(+), 1 deletion(-) 2002 2003commit 752ba5ed99ec754bafbdc4d87a2876cb2566ecc4 2004Author: Sam James <sam@gentoo.org> 2005Date: 2024-04-10 15:17:47 +0100 2006 2007 ci: make automake's test runner verbose on failures 2008 2009 This is a lot easier to work with than the save-logs thing the action 2010 tries to do... 2011 2012 (cherry picked from commit bc899f9e0700ad153bd65f4804c4de7515c8a847) 2013 2014 build-aux/ci_build.sh | 2 +- 2015 1 file changed, 1 insertion(+), 1 deletion(-) 2016 2017commit cc21af171599ffe0419fc32a30edd3ef7d479865 2018Author: Sam James <sam@gentoo.org> 2019Date: 2024-04-10 12:38:51 +0100 2020 2021 ci: make UBSAN abort on errors 2022 2023 Unfortunately, UBSAN doesn't do this by default. See also the change 2024 I made in Meson for this in October [0]. 2025 2026 [0] https://github.com/mesonbuild/meson/commit/7b7d2e060b447de9c2642848847370a58711ac1c 2027 2028 (cherry picked from commit b5e3470442531717b2457b40ab412740296af1bc) 2029 2030 .github/workflows/ci.yml | 1 + 2031 1 file changed, 1 insertion(+) 2032 2033commit 2d2d5f14b392cd1aeddab7ce34fd50ba5422e5b5 2034Author: Sam James <sam@gentoo.org> 2035Date: 2024-04-10 11:43:10 +0100 2036 2037 ci: test Valgrind 2038 2039 Using `--trace-children=yes` has a trade-off here, as it makes 2040 `test_scripts.sh` pretty slow when calling various non-xz utilities. 2041 2042 But I also feel like it's not useless to have Valgrind used there and it's 2043 not easy to exclude Valgrind just for that one test... 2044 2045 I did consider using AX_VALGRIND_CHECK [0][1] but I couldn't get it working 2046 immediately with some conditionally-built tests and I wondered if it was 2047 worth spending time on at least while we're debating xz's future build 2048 system situation. 2049 2050 [0] https://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html 2051 [1] https://tecnocode.co.uk/2014/12/23/automatically-valgrinding-code-with-ax_valgrind_check/ 2052 2053 (cherry picked from commit 6c095a98fbec70b790253a663173ecdb669108c4) 2054 2055 .github/workflows/ci.yml | 11 ++++++++++- 2056 build-aux/ci_build.sh | 8 +++++--- 2057 2 files changed, 15 insertions(+), 4 deletions(-) 2058 2059commit 5d20a612051fac3ca6d99abe3cd7e0e3370e5b67 2060Author: Lasse Collin <lasse.collin@tukaani.org> 2061Date: 2024-04-10 23:20:02 +0300 2062 2063 liblzma: CRC: Simplify table omission macros 2064 2065 A macro is useful to prevent a single #if directive from 2066 getting too ugly but only one macro is needed for all archs. 2067 2068 (cherry picked from commit 6286c1900c2d2ca33d9b1b397122c7bcdb9a4d59) 2069 2070 src/liblzma/check/crc32_table.c | 10 ++++------ 2071 src/liblzma/check/crc64_table.c | 4 ++-- 2072 src/liblzma/check/crc_common.h | 5 +++-- 2073 3 files changed, 9 insertions(+), 10 deletions(-) 2074 2075commit 2a80827e23169c624560ac89714bf5084cbead43 2076Author: Lasse Collin <lasse.collin@tukaani.org> 2077Date: 2024-04-10 23:09:40 +0300 2078 2079 liblzma: ARM64 CRC: Fix omission of CRC32 table 2080 2081 The macro name had an odd typo so the table wasn't omitted 2082 when it should have. 2083 2084 Fixes: 1940f0ec28f08c0ac72c1413d9706fb82eabe6ad 2085 (cherry picked from commit 45da936c879acf4f053a3055665bf1b10ded4462) 2086 2087 src/liblzma/check/crc32_table.c | 2 +- 2088 1 file changed, 1 insertion(+), 1 deletion(-) 2089 2090commit a54117377151356c1e2494ba1febc245cb71b51c 2091Author: Lasse Collin <lasse.collin@tukaani.org> 2092Date: 2024-04-10 22:21:51 +0300 2093 2094 Build: If ARM64 feature detection func is found, stop looking for others 2095 2096 This can speed up configure a tiny bit. 2097 2098 Fixes: c5f6d79cc9515a7f22d7ea4860c6cc394b295732 2099 (cherry picked from commit 308a9af85400b0e2019f0f012c8354e831d06d65) 2100 2101 configure.ac | 2 +- 2102 1 file changed, 1 insertion(+), 1 deletion(-) 2103 2104commit 9223ad6e78a666cc9f9aba135d1755fec184a24a 2105Author: Lasse Collin <lasse.collin@tukaani.org> 2106Date: 2024-04-10 22:04:27 +0300 2107 2108 liblzma: ARM64 CRC32: Change style of the macOS code to match FreeBSD 2109 2110 I didn't test this but it shouldn't change any functionality. 2111 2112 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 2113 (cherry picked from commit fc43cecd32bf9d5f8caa599206b15c9569af1eb6) 2114 2115 src/liblzma/check/crc32_arm64.h | 7 ++++--- 2116 1 file changed, 4 insertions(+), 3 deletions(-) 2117 2118commit 32ceb2c36a0e450037bbe906c2a1ea42607b9d21 2119Author: Lasse Collin <lasse.collin@tukaani.org> 2120Date: 2024-04-10 21:59:27 +0300 2121 2122 liblzma: ARM64 CRC32: Add error checking to FreeBSD-specific code 2123 2124 Also add parenthesis to the return statement. 2125 2126 I didn't test this. 2127 2128 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 2129 (cherry picked from commit 1024cd4cd966b998fedec51e385e9ee9a49b3c57) 2130 2131 src/liblzma/check/crc32_arm64.h | 6 ++++-- 2132 1 file changed, 4 insertions(+), 2 deletions(-) 2133 2134commit 42915101e914dba353c236925bc1d5e4826d3f7a 2135Author: Lasse Collin <lasse.collin@tukaani.org> 2136Date: 2024-04-10 21:56:33 +0300 2137 2138 liblzma: ARM64 CRC32: Use negation instead of subtracting from 8 2139 2140 Subtracting from 0 is negation, this just keeps warnings away. 2141 2142 Fixes: 761f5b69a4c778c8bcb09279b845b07c28790575 2143 (cherry picked from commit 2337f7021c860b026e3e849e60a9ae8d09ec0ea0) 2144 2145 src/liblzma/check/crc32_arm64.h | 2 +- 2146 1 file changed, 1 insertion(+), 1 deletion(-) 2147 2148commit 42a9482b48f0171852fbaddbdc729a56f2daa547 2149Author: Lasse Collin <lasse.collin@tukaani.org> 2150Date: 2024-04-10 21:55:10 +0300 2151 2152 liblzma: ARM64 CRC32: Tweak coding style and comments 2153 2154 (cherry picked from commit d8fffd01aa1a3c18e437a222abd34699e23ff5e7) 2155 2156 src/liblzma/check/crc32_arm64.h | 10 +++++----- 2157 1 file changed, 5 insertions(+), 5 deletions(-) 2158 2159commit 38a3ec5a7e2ddeee3686be64b037aa1377f31fd1 2160Author: Lasse Collin <lasse.collin@tukaani.org> 2161Date: 2024-04-09 17:47:01 +0300 2162 2163 CI: Remove ifunc support. 2164 2165 (cherry picked from commit 986865ea2f9d1f8dbef4a130926df106b0f6d41a) 2166 2167 .github/workflows/ci.yml | 13 +++---------- 2168 build-aux/ci_build.sh | 5 +---- 2169 2 files changed, 4 insertions(+), 14 deletions(-) 2170 2171commit 34d1252f093944ff350a88a6196539f95902ad41 2172Author: Lasse Collin <lasse.collin@tukaani.org> 2173Date: 2024-04-09 17:43:16 +0300 2174 2175 liblzma: Remove ifunc support. 2176 2177 This is *NOT* done for security reasons even though the backdoor 2178 relied on the ifunc code. Instead, the reason is that in this 2179 project ifunc provides little benefits but it's quite a bit of 2180 extra code to support it. The only case where ifunc *might* matter 2181 for performance is if the CRC functions are used directly by an 2182 application. In normal compression use it's completely irrelevant. 2183 2184 (cherry picked from commit 689ae2427342a2ea1206eb5ca08301baf410e7e0) 2185 2186 CMakeLists.txt | 79 --------------------------------------- 2187 INSTALL | 8 ---- 2188 configure.ac | 79 --------------------------------------- 2189 src/liblzma/check/crc32_fast.c | 48 +++--------------------- 2190 src/liblzma/check/crc64_fast.c | 21 ----------- 2191 src/liblzma/check/crc_common.h | 9 +---- 2192 src/liblzma/check/crc_x86_clmul.h | 11 +----- 2193 7 files changed, 8 insertions(+), 247 deletions(-) 2194 2195commit a594b39685051cd1ec866360bc4dd6c22f301bb4 2196Author: Lasse Collin <lasse.collin@tukaani.org> 2197Date: 2024-04-08 22:04:41 +0300 2198 2199 tests/files/README: Update the main heading. 2200 2201 (cherry picked from commit 6b4c859059a7eb9b0547590c081668e14ecf8af6) 2202 2203 tests/files/README | 4 ++-- 2204 1 file changed, 2 insertions(+), 2 deletions(-) 2205 2206commit fa76e3ef597ee2e9d150461a42d270a386204042 2207Author: Lasse Collin <lasse.collin@tukaani.org> 2208Date: 2024-04-08 22:02:45 +0300 2209 2210 tests/files/README: Explain how to recreate the ARM64 test files. 2211 2212 (cherry picked from commit 2a851e06b891ce894f918faff32a6cca6fdecee6) 2213 2214 tests/files/README | 15 ++++++++++++++- 2215 1 file changed, 14 insertions(+), 1 deletion(-) 2216 2217commit 112fa0aba6be30968811c9131f1b995cf9e92e75 2218Author: Lasse Collin <lasse.collin@tukaani.org> 2219Date: 2024-04-08 21:51:55 +0300 2220 2221 debug: Add generator for the ARM64 test file data. 2222 2223 (cherry picked from commit 3d09b721b94e18fe1f853a04799697f5de10b291) 2224 2225 debug/Makefile.am | 3 +- 2226 debug/testfilegen-arm64.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++ 2227 2 files changed, 118 insertions(+), 1 deletion(-) 2228 2229commit 1a1f3d0323d5991a3238566e8f517d5116358b5c 2230Author: Lasse Collin <lasse.collin@tukaani.org> 2231Date: 2024-04-08 21:19:38 +0300 2232 2233 xz man page: Use .ft CR instead of CW to silence warnings from groff. 2234 2235 (cherry picked from commit 31ef676567c9d6fcc4ec9fc833c312f7a7c21c48) 2236 2237 src/xz/xz.1 | 32 ++++++++++++++++---------------- 2238 1 file changed, 16 insertions(+), 16 deletions(-) 2239 2240commit 9f9203f574f895c40a86a83c45c6bb79c25bb5d2 2241Author: Lasse Collin <lasse.collin@tukaani.org> 2242Date: 2024-04-08 19:28:35 +0300 2243 2244 Fix NEWS for 5.6.0 and 5.6.1. 2245 2246 (cherry picked from commit 780cbf29d5a88db2b546e9b7b019c4c33ca72685) 2247 2248 NEWS | 6 ++++++ 2249 1 file changed, 6 insertions(+) 2250 2251commit 12876b33c79e36d7e51e8ba6ab7162bd2129cb5b 2252Author: Lasse Collin <lasse.collin@tukaani.org> 2253Date: 2024-04-08 19:22:26 +0300 2254 2255 Remove the XZ logo. 2256 2257 (cherry picked from commit bfd0c7c478e93a1911b845459549ff94587b6ea2) 2258 2259 COPYING | 5 - 2260 COPYING.CC-BY-SA-4.0 | 427 --------------------------------------------------- 2261 Makefile.am | 2 - 2262 README | 2 - 2263 doc/xz-logo.png | Bin 6771 -> 0 bytes 2264 doxygen/Doxyfile | 6 +- 2265 doxygen/footer.html | 13 -- 2266 7 files changed, 3 insertions(+), 452 deletions(-) 2267 2268commit 879295d91f06c241fd8a8fc1ca95776dbeb45f93 2269Author: Lasse Collin <lasse.collin@tukaani.org> 2270Date: 2024-04-08 18:27:39 +0300 2271 2272 Update maintainer and author info. 2273 2274 The other maintainer suddenly disappeared. 2275 2276 (cherry picked from commit 77a294d98a9d2d48f7e4ac273711518bf689f5c4) 2277 2278 AUTHORS | 9 +++++++-- 2279 README | 10 +++------- 2280 THANKS | 1 - 2281 src/liblzma/api/lzma.h | 2 +- 2282 4 files changed, 11 insertions(+), 11 deletions(-) 2283 2284commit 859617d30d81317236e004b323fed0883f932dcf 2285Author: Lasse Collin <lasse.collin@tukaani.org> 2286Date: 2024-04-08 18:05:32 +0300 2287 2288 Docs: Update .xz file format specification to 1.2.1. 2289 2290 This only reverts the XZ URL changes. 2291 2292 (cherry picked from commit 8dd03d4484ccf80022722a16d0ed9b37f2b58072) 2293 2294 doc/xz-file-format.txt | 12 ++++++++---- 2295 1 file changed, 8 insertions(+), 4 deletions(-) 2296 2297commit eeb74fba1f6ea334a519015938b4a26c6ba5d4eb 2298Author: Lasse Collin <lasse.collin@tukaani.org> 2299Date: 2024-04-08 17:33:56 +0300 2300 2301 Update website URLs back to tukaani.org. 2302 2303 The XZ projects were moved back to their original URLs. 2304 2305 (cherry picked from commit 17aa2e1a796d3f758802df29afc89dcf335db567) 2306 2307 CMakeLists.txt | 2 +- 2308 COPYING | 3 +-- 2309 README | 4 ++-- 2310 configure.ac | 2 +- 2311 doc/faq.txt | 2 +- 2312 doc/lzma-file-format.txt | 12 ++++++------ 2313 dos/config.h | 2 +- 2314 src/liblzma/api/lzma.h | 2 +- 2315 src/xz/xz.1 | 6 +++--- 2316 src/xzdec/xzdec.1 | 4 ++-- 2317 windows/README-Windows.txt | 2 +- 2318 11 files changed, 20 insertions(+), 21 deletions(-) 2319 2320commit a7b9cd70004bfc1abadc7e865dfce765f7b8b59d 2321Author: Lasse Collin <lasse.collin@tukaani.org> 2322Date: 2024-04-08 17:07:08 +0300 2323 2324 xzdec: Tweak coding style and comments. 2325 2326 (cherry picked from commit 2739db981023373a2ddabc7b456c7e658bb4f582) 2327 2328 src/xzdec/xzdec.c | 32 +++++++++++++++++++++----------- 2329 1 file changed, 21 insertions(+), 11 deletions(-) 2330 2331commit ebe9d6d8cb27168706078009b3f64da8fde63833 2332Author: Lasse Collin <lasse.collin@tukaani.org> 2333Date: 2024-04-08 15:53:46 +0300 2334 2335 tests/ossfuzz: Tiny fix to a comment. 2336 2337 (cherry picked from commit 408b6adb2a07d07c6535f859571cca38837caaf3) 2338 2339 tests/ossfuzz/fuzz_decode_stream.c | 2 +- 2340 1 file changed, 1 insertion(+), 1 deletion(-) 2341 2342commit 78ab47d65d916207233abbcdb0ccfd6efb946c05 2343Author: Lasse Collin <lasse.collin@tukaani.org> 2344Date: 2024-03-30 14:36:28 +0200 2345 2346 CMake: Fix sabotaged Landlock sandbox check. 2347 2348 It never enabled it. 2349 2350 (cherry picked from commit f9cf4c05edd14dedfe63833f8ccbe41b55823b00) 2351 2352 CMakeLists.txt | 2 +- 2353 1 file changed, 1 insertion(+), 1 deletion(-) 2354 2355commit 5f178c364c3b5c6fe87099b7624d5c76995ff8e6 2356Author: Lasse Collin <lasse.collin@tukaani.org> 2357Date: 2024-05-22 14:08:33 +0300 2358 2359 Delete SECURITY.md from v5.6 2360 2361 It's too easily out of date in the stable branches. 2362 It's not included in the release packages anyway. 2363 2364 .github/SECURITY.md | 29 ----------------------------- 2365 1 file changed, 29 deletions(-) 2366 2367commit b3a756188004a16de5956c368e3b0efd1a9bccb0 2368Author: Lasse Collin <lasse.collin@tukaani.org> 2369Date: 2024-03-22 17:46:30 +0200 2370 2371 liblzma: memcmplen.h: Add a comment why subtraction is used. 2372 2373 (cherry picked from commit 0b99783d63f27606936bb79a16c52d0d70c0b56f) 2374 2375 src/liblzma/common/memcmplen.h | 13 +++++++++++++ 2376 1 file changed, 13 insertions(+) 2377 2378commit 94939a145f362ff8b09fb37fc72901743f7f5cb2 2379Author: Lasse Collin <lasse.collin@tukaani.org> 2380Date: 2024-03-15 17:43:39 +0200 2381 2382 INSTALL: Document arguments of --enable-symbol-versions. 2383 2384 (cherry picked from commit 8a25ba024d55610c448c6e4f1400a00bae51b493) 2385 2386 INSTALL | 43 +++++++++++++++++++++++++++++++++++++++---- 2387 1 file changed, 39 insertions(+), 4 deletions(-) 2388 2389commit fa14c8aaf0d0266b7e0c3b7c766159299c1a0f18 2390Author: Lasse Collin <lasse.collin@tukaani.org> 2391Date: 2024-03-15 17:15:50 +0200 2392 2393 Build: Use only the generic symbol versioning with NVIDIA HPC Compiler. 2394 2395 This does the previous commit with CMake. 2396 2397 AC_EGREP_CPP uses AC_REQUIRE so the outermost if-commands must 2398 be changed to AS_IF to ensure that things wont break some day. 2399 See 5a5bd7f871818029d5ccbe189f087f591258c294. 2400 2401 (cherry picked from commit 49324b711f9d42b3543bf2f3ae598eaa03360bd5) 2402 2403 configure.ac | 18 +++++++++++++----- 2404 1 file changed, 13 insertions(+), 5 deletions(-) 2405 2406commit 73baa8d99b51c7623ed95afe6411302d9ff56864 2407Author: Lasse Collin <lasse.collin@tukaani.org> 2408Date: 2024-03-15 16:36:35 +0200 2409 2410 CMake: Use only the generic symbol versioning with NVIDIA HPC Compiler. 2411 2412 It doesn't support the __symver__ attribute or __asm__(".symver ..."). 2413 The generic symbol versioning can still be used since it only needs 2414 linker support. 2415 2416 (cherry picked from commit c273123ed0ebaebf49994057a7fe98aae7f42c40) 2417 2418 CMakeLists.txt | 7 ++++++- 2419 1 file changed, 6 insertions(+), 1 deletion(-) 2420 2421commit 886633f42376f4648d931917733c8a59fb2e1f6c 2422Author: Lasse Collin <lasse.collin@tukaani.org> 2423Date: 2024-03-13 21:38:24 +0200 2424 2425 Update THANKS. 2426 2427 (cherry picked from commit df7f487648d18a3992386a59b8a061edca862d17) 2428 2429 THANKS | 1 + 2430 1 file changed, 1 insertion(+) 2431 2432commit 760f622f0d73632df2347aaca7ac7ff5761e98b6 2433Author: Lasse Collin <lasse.collin@tukaani.org> 2434Date: 2024-03-13 21:30:18 +0200 2435 2436 liblzma: Minor comment edits. 2437 2438 (cherry picked from commit 3217b82b3ec023bf8338249134a076bea0ea30ec) 2439 2440 src/liblzma/common/string_conversion.c | 4 ++-- 2441 src/liblzma/delta/delta_decoder.c | 2 ++ 2442 2 files changed, 4 insertions(+), 2 deletions(-) 2443 2444commit 403b4c78b81f67bc3787542f55f555407253316c 2445Author: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> 2446Date: 2024-03-13 13:07:13 +0100 2447 2448 liblzma: Fix building with NVHPC (NVIDIA HPC SDK). 2449 2450 NVHPC compiler has several issues that make it impossible to 2451 build liblzma: 2452 - the compiler cannot handle unions that contain pointers that 2453 are not the first members; 2454 - the compiler cannot handle the assembler code in range_decoder.h 2455 (LZMA_RANGE_DECODER_CONFIG has to be set to zero); 2456 - the compiler fails to produce valid code for delta_decode if the 2457 vectorization is enabled, which results in failed tests. 2458 2459 This introduces NVHPC-specific workarounds that address the issues. 2460 2461 (cherry picked from commit 096bc0e3f8fb4bfc4d2f3f64a7f219401ffb4c31) 2462 2463 src/liblzma/common/string_conversion.c | 6 ++++-- 2464 src/liblzma/delta/delta_decoder.c | 3 +++ 2465 src/liblzma/rangecoder/range_decoder.h | 1 + 2466 3 files changed, 8 insertions(+), 2 deletions(-) 2467 2468commit 1888fb49f629340758e98e69d5aa328f6f73c5e1 2469Author: Lasse Collin <lasse.collin@tukaani.org> 2470Date: 2024-03-13 21:17:10 +0200 2471 2472 CMake: Disable symbol versioning on non-glibc Linux. 2473 2474 This better matches what configure.ac does. For example, musl has 2475 only basic symbol versioning support: 2476 2477 https://wiki.musl-libc.org/functional-differences-from-glibc.html#Symbol_versioning 2478 2479 configure.ac tries to enable symbol versioning only with glibc 2480 so now CMake does the same. 2481 2482 (cherry picked from commit 2ad7fad67080e88fa7fc191f9d613d8b7add9c62) 2483 2484 CMakeLists.txt | 22 ++++++++++++++++++++-- 2485 1 file changed, 20 insertions(+), 2 deletions(-) 2486 2487commit 4b3c84e8eebbcf712fc2396dbb8117cce2d72464 2488Author: Lasse Collin <lasse.collin@tukaani.org> 2489Date: 2024-03-13 20:32:46 +0200 2490 2491 CMake: Make symbol versioning configurable. 2492 2493 (cherry picked from commit 82f0c0d39eb2c026b1d96ee706f70ace868d4ed4) 2494 2495 CMakeLists.txt | 62 +++++++++++++++++++++++++++++++++++++++------------------- 2496 1 file changed, 42 insertions(+), 20 deletions(-) 2497 2498commit 69d1e20208eb9bd1f4f1c8ee4e49cc82d681a877 2499Author: Lasse Collin <lasse.collin@tukaani.org> 2500Date: 2024-03-13 19:47:36 +0200 2501 2502 Build: Style tweaks to configure.ac. 2503 2504 The AC_MSG_ERROR line is overlong anyway as are a few other 2505 AC_MSG_ERROR lines already. 2506 2507 (cherry picked from commit 45d33bfc45e4295b8ad743bc2ae61cc724f98076) 2508 2509 configure.ac | 16 +++++++++------- 2510 1 file changed, 9 insertions(+), 7 deletions(-) 2511 2512commit 051d6b5c85a874c78249693865fd751088f403a2 2513Author: Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> 2514Date: 2024-03-12 20:03:49 +0100 2515 2516 Build: Let the users override the symbol versioning variant. 2517 2518 There are cases when the users want to decide themselves whether 2519 they want to have the generic (even on GNU/Linux) or the linux 2520 (even if we do not recommend that) symbol versioning variant. 2521 The former might be needed to circumvent compiler issues (i.e. 2522 the compiler does not support all features that are required 2523 for the linux versioning), the latter might help in overriding 2524 the assumptions made in the configure script. 2525 2526 (cherry picked from commit f56ed6fac6619b56b005878d3b5210e2f0d721c0) 2527 2528 configure.ac | 91 +++++++++++++++++++++++++++++++++--------------------------- 2529 1 file changed, 50 insertions(+), 41 deletions(-) 2530 2531commit 95dcea4b5df0b180af461e4584d2bcf7725e3aef 2532Author: Lasse Collin <lasse.collin@tukaani.org> 2533Date: 2024-04-09 18:22:16 +0300 2534 2535 Update THANKS. 2536 2537 THANKS | 1 + 2538 1 file changed, 1 insertion(+) 2539 2540commit 1107712e372f7593ad729764c0c2644d0e4aa675 2541Author: Lasse Collin <lasse.collin@tukaani.org> 2542Date: 2024-04-08 15:32:58 +0300 2543 2544 Remove the backdoor found in 5.6.0 and 5.6.1 (CVE-2024-3094). 2545 2546 While the backdoor was inactive (and thus harmless) without inserting 2547 a small trigger code into the build system when the source package was 2548 created, it's good to remove this anyway: 2549 2550 - The executable payloads were embedded as binary blobs in 2551 the test files. This was a blatant violation of the 2552 Debian Free Software Guidelines. 2553 2554 - On machines that see lots bots poking at the SSH port, the backdoor 2555 noticeably increased CPU load, resulting in degraded user experience 2556 and thus overwhelmingly negative user feedback. 2557 2558 - The maintainer who added the backdoor has disappeared. 2559 2560 - Backdoors are bad for security. 2561 2562 This reverts the following without making any other changes: 2563 2564 6e636819 Tests: Update two test files. 2565 a3a29bbd Tests: Test --single-stream can decompress bad-3-corrupt_lzma2.xz. 2566 0b4ccc91 Tests: Update RISC-V test files. 2567 8c9b8b20 liblzma: Fix typos in crc32_fast.c and crc64_fast.c. 2568 82ecc538 liblzma: Fix false Valgrind error report with GCC. 2569 cf44e4b7 Tests: Add a few test files. 2570 3060e107 Tests: Use smaller dictionary size in RISC-V test files. 2571 e2870db5 Tests: Add two RISC-V Filter test files. 2572 2573 The RISC-V test files also have real content that tests the filter 2574 but the real content would fit into much smaller files. A generator 2575 program would need to be available as well. 2576 2577 Thanks to Andres Freund for finding and reporting it and making 2578 it public quickly so others could act without a delay. 2579 See: https://www.openwall.com/lists/oss-security/2024/03/29/4 2580 2581 src/liblzma/check/crc32_fast.c | 7 +++++-- 2582 src/liblzma/check/crc64_fast.c | 4 +++- 2583 src/liblzma/check/crc_common.h | 25 ------------------------- 2584 tests/files/README | 27 --------------------------- 2585 tests/files/bad-3-corrupt_lzma2.xz | Bin 512 -> 0 bytes 2586 tests/files/bad-dict_size.lzma | Bin 41 -> 0 bytes 2587 tests/files/good-1-riscv-lzma2-1.xz | Bin 7424 -> 0 bytes 2588 tests/files/good-1-riscv-lzma2-2.xz | Bin 7432 -> 0 bytes 2589 tests/files/good-2cat.xz | Bin 136 -> 0 bytes 2590 tests/files/good-large_compressed.lzma | Bin 35421 -> 0 bytes 2591 tests/files/good-small_compressed.lzma | Bin 258 -> 0 bytes 2592 tests/test_files.sh | 11 ----------- 2593 12 files changed, 8 insertions(+), 66 deletions(-) 2594 2595commit fd1b975b7851e081ed6e5cf63df946cd5cbdbb94 2596Author: Jia Tan <jiat0218@gmail.com> 2597Date: 2024-03-09 11:42:50 +0800 2598 2599 Bump version and soname for 5.6.1. 2600 2601 src/liblzma/Makefile.am | 2 +- 2602 src/liblzma/api/lzma/version.h | 2 +- 2603 2 files changed, 2 insertions(+), 2 deletions(-) 2604 2605commit a2cda572498e96163fe4e2bde096d5dd7b814668 2606Author: Jia Tan <jiat0218@gmail.com> 2607Date: 2024-03-09 11:27:27 +0800 2608 2609 Add NEWS for 5.6.1 2610 2611 NEWS | 26 ++++++++++++++++++++++++++ 2612 1 file changed, 26 insertions(+) 2613 2614commit 8583c6021124e388bce044a09f00ebabfd6165a7 2615Author: Jia Tan <jiat0218@gmail.com> 2616Date: 2024-03-09 10:43:20 +0800 2617 2618 Translations: Add missing --riscv option to man page translations. 2619 2620 po4a/de.po | 702 +++++++++++++++++++++++++++++----------------------------- 2621 po4a/fr.po | 549 ++++++++++++++++++++++----------------------- 2622 po4a/ko.po | 702 +++++++++++++++++++++++++++++----------------------------- 2623 po4a/pt_BR.po | 641 +++++++++++++++++++++++++++-------------------------- 2624 po4a/ro.po | 702 +++++++++++++++++++++++++++++----------------------------- 2625 po4a/uk.po | 702 +++++++++++++++++++++++++++++----------------------------- 2626 6 files changed, 2024 insertions(+), 1974 deletions(-) 2627 2628commit 74b138d2a6529f2c07729d7c77b1725a8e8b16f1 2629Author: Jia Tan <jiat0218@gmail.com> 2630Date: 2024-03-09 10:18:29 +0800 2631 2632 Tests: Update two test files. 2633 2634 The original files were generated with random local to my machine. 2635 To better reproduce these files in the future, a constant seed was used 2636 to recreate these files. 2637 2638 tests/files/bad-3-corrupt_lzma2.xz | Bin 484 -> 512 bytes 2639 tests/files/good-large_compressed.lzma | Bin 35430 -> 35421 bytes 2640 2 files changed, 0 insertions(+), 0 deletions(-) 2641 2642commit 3ec6dfd656bdd40ede2a5f11e6be338988e38be4 2643Author: Jia Tan <jiat0218@gmail.com> 2644Date: 2024-03-09 10:08:32 +0800 2645 2646 Tests: Test --single-stream can decompress bad-3-corrupt_lzma2.xz. 2647 2648 The first stream in this file is valid, so this tests that xz properly 2649 stops after decompressing it. 2650 2651 tests/test_files.sh | 11 +++++++++++ 2652 1 file changed, 11 insertions(+) 2653 2654commit a67dcce6109c2f932a0a86abb0d7a95d3c31fb3e 2655Author: Jia Tan <jiat0218@gmail.com> 2656Date: 2024-03-09 10:05:32 +0800 2657 2658 Tests: Update RISC-V test files. 2659 2660 This increases code coverage and tests for possible shifting bugs. 2661 2662 tests/files/good-1-riscv-lzma2-1.xz | Bin 7512 -> 7424 bytes 2663 tests/files/good-1-riscv-lzma2-2.xz | Bin 7512 -> 7432 bytes 2664 2 files changed, 0 insertions(+), 0 deletions(-) 2665 2666commit 058337b0f1da9f166049ecc972fa5c499c1af08c 2667Author: Jia Tan <jiat0218@gmail.com> 2668Date: 2024-03-09 09:52:32 +0800 2669 2670 liblzma: Fix typos in crc32_fast.c and crc64_fast.c. 2671 2672 src/liblzma/check/crc32_fast.c | 4 ++-- 2673 src/liblzma/check/crc64_fast.c | 3 +-- 2674 2 files changed, 3 insertions(+), 4 deletions(-) 2675 2676commit cd5de9c1bbab3dd41b34b37a89c193fb6ff51ca5 2677Author: Jia Tan <jiat0218@gmail.com> 2678Date: 2024-03-09 09:49:55 +0800 2679 2680 Tests: Replace HAVE_MICROLZMA usage in CMake and Autotools builds. 2681 2682 This reverts commit adaacafde6661496ca2814b1e94a3ba5186428cb. 2683 2684 CMakeLists.txt | 15 ++++++++++----- 2685 configure.ac | 9 ++------- 2686 tests/Makefile.am | 9 ++++++--- 2687 tests/test_microlzma.c | 12 ++++-------- 2688 4 files changed, 22 insertions(+), 23 deletions(-) 2689 2690commit 651a1545c8b6150051a0b44857136efd419afc6f 2691Author: Jia Tan <jiat0218@gmail.com> 2692Date: 2024-03-09 09:20:57 +0800 2693 2694 liblzma: Fix false Valgrind error report with GCC. 2695 2696 With GCC and a certain combination of flags, Valgrind will falsely 2697 trigger an invalid write. This appears to be due to the omission of 2698 instructions to properly save, set up, and restore the frame pointer. 2699 2700 The IFUNC resolver is a leaf function since it only calls a function 2701 that is inlined. So sometimes GCC omits the frame pointer instructions 2702 in the resolver unless this optimization is explictly disabled. 2703 2704 This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2267598. 2705 2706 src/liblzma/check/crc32_fast.c | 9 +++------ 2707 src/liblzma/check/crc64_fast.c | 7 +++---- 2708 src/liblzma/check/crc_common.h | 25 +++++++++++++++++++++++++ 2709 3 files changed, 31 insertions(+), 10 deletions(-) 2710 2711commit 6e97b299f1b22e366ec42ba5dc5b9d0746e87b84 2712Author: Lasse Collin <lasse.collin@tukaani.org> 2713Date: 2024-03-05 23:21:26 +0200 2714 2715 liblzma: Fix a typo in a comment in the RISC-V filter. 2716 2717 src/liblzma/simple/riscv.c | 2 +- 2718 1 file changed, 1 insertion(+), 1 deletion(-) 2719 2720commit 4e1c97052b5f14f4d6dda99d12cbbd01e66e3712 2721Author: Jia Tan <jiat0218@gmail.com> 2722Date: 2024-03-05 00:34:46 +0800 2723 2724 liblzma: Use attribute no_profile_instrument_function with ifunc. 2725 2726 Thanks to Sam James for determining this was the attribute needed to 2727 workaround the GCC bug and for his version of the patch in Gentoo. 2728 2729 src/liblzma/check/crc32_fast.c | 5 +++++ 2730 src/liblzma/check/crc64_fast.c | 3 +++ 2731 2 files changed, 8 insertions(+) 2732 2733commit ed957d39426695e948b06de0ed952a2fbbe84bd1 2734Author: Jia Tan <jiat0218@gmail.com> 2735Date: 2024-03-05 00:27:31 +0800 2736 2737 Build: Require attribute no_profile_instrument_function for ifunc usage. 2738 2739 Using __attribute__((__no_profile_instrument_function__)) on the ifunc 2740 resolver works around a bug in GCC -fprofile-generate: 2741 it adds profiling code even to ifunc resolvers which can make 2742 the ifunc resolver crash at program startup. This attribute 2743 was not introduced until GCC 7 and Clang 13, so ifunc won't 2744 be used with prior versions of these compilers. 2745 2746 This bug was brought to our attention by: 2747 2748 https://bugs.gentoo.org/925415 2749 2750 And was reported to upstream GCC by: 2751 2752 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=11411 2753 2754 CMakeLists.txt | 7 +++++++ 2755 configure.ac | 7 +++++++ 2756 2 files changed, 14 insertions(+) 2757 2758commit e98ddaf85a1a8fb3cc863637f83356cc9db31e13 2759Author: Lasse Collin <lasse.collin@tukaani.org> 2760Date: 2024-03-04 19:23:18 +0200 2761 2762 liblzma: Fix a comment in the RISC-V filter. 2763 2764 src/liblzma/simple/riscv.c | 4 ++-- 2765 1 file changed, 2 insertions(+), 2 deletions(-) 2766 2767commit 319cec142f67fe294e0486402f1569f223d9a83d 2768Author: Lasse Collin <lasse.collin@tukaani.org> 2769Date: 2024-02-29 16:35:52 +0200 2770 2771 CMake: Warn if translated man pages are missing. 2772 2773 CMakeLists.txt | 9 +++++++++ 2774 1 file changed, 9 insertions(+) 2775 2776commit 46c3e113d8eeb1a731a60829fa7f5d1b519f7f26 2777Author: Lasse Collin <lasse.collin@tukaani.org> 2778Date: 2024-02-29 16:35:52 +0200 2779 2780 CMake: Warn if gettext tools and pre-created .gmo files are missing. 2781 2782 It's only done with CMake >= 3.20 and if library support 2783 for translation was already found. 2784 2785 Sort of fixes: https://github.com/tukaani-project/xz/issues/82 2786 2787 CMakeLists.txt | 25 +++++++++++++++++++++++++ 2788 1 file changed, 25 insertions(+) 2789 2790commit 86bec8334bb1dcb6d9293a11cdccd895b17f364b 2791Author: Lasse Collin <lasse.collin@tukaani.org> 2792Date: 2024-02-28 18:26:25 +0200 2793 2794 xz: Add comments. 2795 2796 src/xz/coder.c | 10 ++++++++++ 2797 1 file changed, 10 insertions(+) 2798 2799commit 5c91b454c24e043ca8f2cc7d2b09bd091dafe655 2800Author: Jia Tan <jiat0218@gmail.com> 2801Date: 2024-02-27 23:42:41 +0800 2802 2803 xz: Change logging level for thread reduction to highest verbosity only. 2804 2805 Now that multi threaded encoding is the default, users do not need to 2806 see a warning message everytime the number of threads is reduced. On 2807 some machines, this could happen very often. It is not unreasonable for 2808 users to need to set double verbose mode to see this kind of 2809 information. 2810 2811 To see these warning messages -vv or --verbose --verbose must be passed 2812 to set xz into the highest possible verbosity mode. 2813 2814 These warnings had caused automated testing frameworks to fail when they 2815 expected no output to stderr. 2816 2817 Thanks to Sebastian Andrzej Siewior for reporting this and for the 2818 initial version of the patch. 2819 2820 src/xz/coder.c | 4 ++-- 2821 1 file changed, 2 insertions(+), 2 deletions(-) 2822 2823commit d0e57b2f159f8fd03a9a89f2f593a768d0487898 2824Author: Lasse Collin <lasse.collin@tukaani.org> 2825Date: 2024-02-26 23:06:13 +0200 2826 2827 Fix sorting in THANKS. 2828 2829 THANKS | 4 ++-- 2830 1 file changed, 2 insertions(+), 2 deletions(-) 2831 2832commit d416be55ac02af1144fed455fb18b710147bb490 2833Author: Jia Tan <jiat0218@gmail.com> 2834Date: 2024-02-26 23:39:29 +0800 2835 2836 Update THANKS. 2837 2838 THANKS | 1 + 2839 1 file changed, 1 insertion(+) 2840 2841commit f06b33edd2aeabdb11836a2bf0b681768dad29d3 2842Author: Chien Wong <m@xv97.com> 2843Date: 2024-02-25 21:38:13 +0800 2844 2845 xz: Add missing RISC-V on the filter list in the man page 2846 2847 Signed-off-by: Chien Wong <m@xv97.com> 2848 2849 src/xz/xz.1 | 4 +++- 2850 1 file changed, 3 insertions(+), 1 deletion(-) 2851 2852commit a100f9111c8cc7f5b5f0e4a5e8af3de7161c7975 2853Author: Jia Tan <jiat0218@gmail.com> 2854Date: 2024-02-26 23:02:06 +0800 2855 2856 Build: Fix Linux Landlock feature test in Autotools and CMake builds. 2857 2858 The previous Linux Landlock feature test assumed that having the 2859 linux/landlock.h header file was enough. The new feature tests also 2860 requires that prctl() and the required Landlock system calls are 2861 supported. 2862 2863 CMakeLists.txt | 25 ++++++++++++++++++++++--- 2864 configure.ac | 27 ++++++++++++++++++++++++++- 2865 src/xz/sandbox.c | 2 +- 2866 src/xz/sandbox.h | 2 +- 2867 src/xzdec/xzdec.c | 8 ++++---- 2868 5 files changed, 54 insertions(+), 10 deletions(-) 2869 2870commit d85efdc8911e6e8964ec920af44c8a6fe0a4c3c2 2871Author: Jia Tan <jiat0218@gmail.com> 2872Date: 2024-02-26 20:06:10 +0800 2873 2874 Tests: Add test_microlzma to .gitignore and CMakeLists.txt. 2875 2876 .gitignore | 1 + 2877 CMakeLists.txt | 1 + 2878 2 files changed, 2 insertions(+) 2879 2880commit 42ee4256739779005a7f921946c8a8e483d1f2ed 2881Author: Jia Tan <jiat0218@gmail.com> 2882Date: 2024-02-26 19:56:25 +0800 2883 2884 Tests: Correct license header in test_microlzma.c. 2885 2886 tests/test_microlzma.c | 5 ++--- 2887 1 file changed, 2 insertions(+), 3 deletions(-) 2888 2889commit c83349dfd9cf9c495005b6d30e2fd34a9cafc18a 2890Author: Jia Tan <jiat0218@gmail.com> 2891Date: 2024-02-25 21:41:55 +0800 2892 2893 Fix typos in NEWS and CMakeLists. 2894 2895 CMakeLists.txt | 2 +- 2896 NEWS | 2 +- 2897 2 files changed, 2 insertions(+), 2 deletions(-) 2898 2899commit 2d7d862e3ffa8cec4fd3fdffcd84e984a17aa429 2900Author: Jia Tan <jiat0218@gmail.com> 2901Date: 2024-02-24 15:55:08 +0800 2902 2903 Bump version and soname for 5.6.0. 2904 2905 src/liblzma/Makefile.am | 2 +- 2906 src/liblzma/api/lzma/version.h | 6 +++--- 2907 src/liblzma/liblzma_generic.map | 2 +- 2908 src/liblzma/liblzma_linux.map | 2 +- 2909 4 files changed, 6 insertions(+), 6 deletions(-) 2910 2911commit a18fb1edef0d0aac12a09eed05e9c448c777af7b 2912Author: Jia Tan <jiat0218@gmail.com> 2913Date: 2024-02-24 15:50:36 +0800 2914 2915 Add NEWS for 5.6.0. 2916 2917 NEWS | 143 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2918 1 file changed, 143 insertions(+) 2919 2920commit 24355c5280bc95e3d594432d60bb8432aa6af173 2921Author: Jia Tan <jiat0218@gmail.com> 2922Date: 2024-02-22 22:27:01 +0800 2923 2924 Translations: Remove obsolete and fuzzy matches from some translations. 2925 2926 The French and Brazilian Portuguese man page translations have not been 2927 updated since the switch from public domain to 0BSD. The old GPLv2 2928 strings have now been removed from these files. 2929 2930 po4a/fr.po | 4702 +++++++++++++++++++++++++++++++++++++---------------- 2931 po4a/pt_BR.po | 4987 ++++++++++++++++++++++++++++++++++++++++----------------- 2932 2 files changed, 6832 insertions(+), 2857 deletions(-) 2933 2934commit 02ca4a7d7b703e2ec63e00b70feec825e919dbc1 2935Author: Jia Tan <jiat0218@gmail.com> 2936Date: 2024-02-21 00:31:54 +0800 2937 2938 Translations: Patch man pages to avoid fuzzy matches. 2939 2940 This will be fixed in the next round of translations, but this avoids 2941 having a fuzzy match or not fixing the English version. 2942 2943 po4a/de.po | 2 +- 2944 po4a/ko.po | 2 +- 2945 po4a/ro.po | 2 +- 2946 po4a/uk.po | 2 +- 2947 4 files changed, 4 insertions(+), 4 deletions(-) 2948 2949commit 898aad9fc711e03452d24d9e2c5b7f77a6f9ce64 2950Author: Jia Tan <jiat0218@gmail.com> 2951Date: 2024-02-21 00:30:43 +0800 2952 2953 xzmore: Fix typo in xzmore.1. 2954 2955 Thanks to Yuri Chornoivan. 2956 2957 src/scripts/xzmore.1 | 2 +- 2958 1 file changed, 1 insertion(+), 1 deletion(-) 2959 2960commit 5631aa206c8d16b4eeab85a46b8b698f4fc4cdba 2961Author: Jia Tan <jiat0218@gmail.com> 2962Date: 2024-02-24 12:12:16 +0800 2963 2964 Translations: Update the Vietnamese translation. 2965 2966 po/vi.po | 505 ++++++++++++++++++++++++++++++++++++++------------------------- 2967 1 file changed, 309 insertions(+), 196 deletions(-) 2968 2969commit a65fd7ce9d6228e87faf61dc56a35984d0088248 2970Author: Jia Tan <jiat0218@gmail.com> 2971Date: 2024-02-24 12:06:40 +0800 2972 2973 Translations: Update the Esperanto translation. 2974 2975 po/eo.po | 502 ++++++++++++++++++++++++++++++++++++++------------------------- 2976 1 file changed, 306 insertions(+), 196 deletions(-) 2977 2978commit cf44e4b7f5dfdbf8c78aef377c10f71e274f63c0 2979Author: Jia Tan <jiat0218@gmail.com> 2980Date: 2024-02-23 23:09:59 +0800 2981 2982 Tests: Add a few test files. 2983 2984 tests/files/README | 19 +++++++++++++++++++ 2985 tests/files/bad-3-corrupt_lzma2.xz | Bin 0 -> 484 bytes 2986 tests/files/bad-dict_size.lzma | Bin 0 -> 41 bytes 2987 tests/files/good-2cat.xz | Bin 0 -> 136 bytes 2988 tests/files/good-large_compressed.lzma | Bin 0 -> 35430 bytes 2989 tests/files/good-small_compressed.lzma | Bin 0 -> 258 bytes 2990 6 files changed, 19 insertions(+) 2991 2992commit 39f4a1a86ad80b2d064b812cee42668e6c8b8c73 2993Author: Jia Tan <jiat0218@gmail.com> 2994Date: 2024-02-23 20:58:36 +0800 2995 2996 Tests: Add MicroLZMA test. 2997 2998 tests/Makefile.am | 4 +- 2999 tests/test_microlzma.c | 548 +++++++++++++++++++++++++++++++++++++++++++++++++ 3000 2 files changed, 551 insertions(+), 1 deletion(-) 3001 3002commit adaacafde6661496ca2814b1e94a3ba5186428cb 3003Author: Jia Tan <jiat0218@gmail.com> 3004Date: 2024-02-23 20:57:59 +0800 3005 3006 Build: Define HAVE_MICROLZMA when it is configured. 3007 3008 CMakeLists.txt | 4 ++++ 3009 configure.ac | 9 +++++++-- 3010 2 files changed, 11 insertions(+), 2 deletions(-) 3011 3012commit eea78216d27182ca917bf00e02feaab058a4d21e 3013Author: Jia Tan <jiat0218@gmail.com> 3014Date: 2024-02-23 20:27:15 +0800 3015 3016 xz: Fix Capsicum sandbox compile error. 3017 3018 user_abort_pipe[] was still being used instead of the parameters. 3019 3020 src/xz/sandbox.c | 4 ++-- 3021 1 file changed, 2 insertions(+), 2 deletions(-) 3022 3023commit 32b0a3ce19224f9074d01a4ffbc1655b05fcb82d 3024Author: Jia Tan <jiat0218@gmail.com> 3025Date: 2024-02-23 16:12:32 +0800 3026 3027 Build: Fix ARM64 CRC32 instruction feature test. 3028 3029 Old versions of Clang reported the unsupported function attribute and 3030 __crc32d() function as warnings instead of errors, so the feature test 3031 passed when it shouldn't have, causing a compile error at build time. 3032 -Werror was added to this feature test to fix this. The change is not 3033 needed for CMake because check_c_source_compiles() also performs 3034 linking and the error is caught then. 3035 3036 Thanks to Sebastian Andrzej Siewior for reporting this. 3037 3038 configure.ac | 10 ++++++++++ 3039 1 file changed, 10 insertions(+) 3040 3041commit 4c81c9611f8b2e1ad65eb7fa166afc570c58607e 3042Author: Lasse Collin <lasse.collin@tukaani.org> 3043Date: 2024-02-22 19:16:35 +0200 3044 3045 CMake: Add LOCALEDIR to the windres workaround. 3046 3047 LOCALEDIR may contain spaces like in "C:\Program Files". 3048 3049 CMakeLists.txt | 16 +++++++++++----- 3050 1 file changed, 11 insertions(+), 5 deletions(-) 3051 3052commit de4337fd89ca7db5feb97b5c40143404f6e22986 3053Author: Lasse Collin <lasse.collin@tukaani.org> 3054Date: 2024-02-22 15:18:25 +0200 3055 3056 xz: Landlock: Fix error message if input file is a directory. 3057 3058 If xz is given a directory, it should look like this: 3059 3060 $ xz /usr/bin 3061 xz: /usr/bin: Is a directory, skipping 3062 3063 The Landlock rules didn't allow opening directories for reading: 3064 3065 $ xz /usr/bin 3066 xz: /usr/bin: Permission denied 3067 3068 The simplest fix was to allow opening directories for reading. 3069 While it's a bit silly to allow it solely for the error message, 3070 it shouldn't make the sandbox significantly weaker. 3071 3072 The single-file use case (like when called from GNU tar) is 3073 still as strict as possible: all Landlock restrictions are 3074 enabled before (de)compression starts. 3075 3076 src/xz/sandbox.c | 15 ++++++++++++++- 3077 1 file changed, 14 insertions(+), 1 deletion(-) 3078 3079commit 120da10ae139ea52ca4275452adf8eda02d07cc8 3080Author: Lasse Collin <lasse.collin@tukaani.org> 3081Date: 2024-02-22 14:41:29 +0200 3082 3083 liblzma: Disable branchless C version in range decoder. 3084 3085 Thanks to Sebastian Andrzej Siewior and Sam James for 3086 benchmarking on various systems. 3087 3088 src/liblzma/rangecoder/range_decoder.h | 13 ++++++++++--- 3089 1 file changed, 10 insertions(+), 3 deletions(-) 3090 3091commit 00440f52be9ac2c7438c7b0cb1082f12399632c6 3092Author: Lasse Collin <lasse.collin@tukaani.org> 3093Date: 2024-02-21 17:41:32 +0200 3094 3095 INSTALL: Clarify that --disable-assembler affects only 32-bit x86. 3096 3097 INSTALL | 18 +++++++++--------- 3098 1 file changed, 9 insertions(+), 9 deletions(-) 3099 3100commit 11405be84ea294497e12d03d7219f607063f4a00 3101Author: Lasse Collin <lasse.collin@tukaani.org> 3102Date: 2024-02-19 18:41:37 +0200 3103 3104 Windows: build.bash: Include COPYING.0BSD in the package. 3105 3106 windows/build.bash | 2 +- 3107 1 file changed, 1 insertion(+), 1 deletion(-) 3108 3109commit c27cf64e3e27f4968431d65be7098a12a3a80d30 3110Author: Lasse Collin <lasse.collin@tukaani.org> 3111Date: 2024-02-18 17:59:46 +0200 3112 3113 Windows: build.bash: include liblzma-crt-mixing.txt in the package. 3114 3115 windows/build.bash | 6 ++++-- 3116 1 file changed, 4 insertions(+), 2 deletions(-) 3117 3118commit 8d38941baed05de4ff7cc775de14833108f62184 3119Author: Lasse Collin <lasse.collin@tukaani.org> 3120Date: 2024-02-18 17:17:43 +0200 3121 3122 Windows: Major update to Windows build instructions. 3123 3124 INSTALL | 68 ++++----- 3125 windows/INSTALL-MSVC.txt | 23 +-- 3126 windows/INSTALL-MinGW-w64_with_Autotools.txt | 49 +++++++ 3127 windows/INSTALL-MinGW-w64_with_CMake.txt | 203 +++++++++++++++++++++++++++ 3128 windows/INSTALL-MinGW.txt | 138 ------------------ 3129 windows/README-Windows.txt | 2 + 3130 windows/build-with-cmake.bat | 35 +++++ 3131 windows/liblzma-crt-mixing.txt | 70 +++++++++ 3132 8 files changed, 404 insertions(+), 184 deletions(-) 3133 3134commit 4b5b0d352348ff510ffb50a3b5b71788857d37a1 3135Author: Lasse Collin <lasse.collin@tukaani.org> 3136Date: 2024-02-18 15:15:04 +0200 3137 3138 Windows: Update windows/README-Windows.txt. 3139 3140 It's for binary packages built with windows/build.bash. 3141 3142 windows/README-Windows.txt | 104 ++++++++++++++++++--------------------------- 3143 1 file changed, 41 insertions(+), 63 deletions(-) 3144 3145commit 1ee716f74085223c8fbcae1d5a384e6bf53c0f6a 3146Author: Lasse Collin <lasse.collin@tukaani.org> 3147Date: 2024-02-18 15:15:04 +0200 3148 3149 Windows: Update windows/build.bash. 3150 3151 Support for the old MinGW was dropped. Only MinGW-w64 with GCC 3152 is supported now. 3153 3154 The script now supports also cross-compilation from GNU/Linux 3155 (tests are not run). MSYS2 and also the old MSYS 1.0.11 work 3156 for building on Windows. The i686 and x86_64 toolchains must 3157 be in PATH to build both 32-bit and 64-bit versions. 3158 3159 Parallel builds are done if "nproc" from GNU coreutils is available. 3160 3161 MinGW-w64 runtime copyright information file was renamed from 3162 COPYING-Windows.txt to COPYING.MinGW-w64-runtime.txt which 3163 is the filename used by MinGW-w64 itself. Its existence 3164 is now mandatory, it's checked at the beginning of the script. 3165 3166 The file TODO is no longer copied to the package. 3167 3168 windows/build.bash | 191 +++++++++++++++++++++++++++++++---------------------- 3169 1 file changed, 112 insertions(+), 79 deletions(-) 3170 3171commit 60462e42609a1d961868a1d1ebecc713c6d27e2e 3172Author: Jia Tan <jiat0218@gmail.com> 3173Date: 2024-02-20 23:32:22 +0800 3174 3175 Translations: Update the Romanian man page translations. 3176 3177 po4a/ro.po | 1715 +++++++++++++++++++++++++++++++----------------------------- 3178 1 file changed, 875 insertions(+), 840 deletions(-) 3179 3180commit 10d733e5b8929c642e00891cfa9ead9c2cdd2e05 3181Author: Jia Tan <jiat0218@gmail.com> 3182Date: 2024-02-20 23:30:25 +0800 3183 3184 Translations: Update the Korean man page translations. 3185 3186 po4a/ko.po | 6 +++--- 3187 1 file changed, 3 insertions(+), 3 deletions(-) 3188 3189commit 797a34b72ac6baff237d7a546fa941d8f78f2f62 3190Author: Jia Tan <jiat0218@gmail.com> 3191Date: 2024-02-20 21:03:53 +0800 3192 3193 Translations: Update the Spanish translation. 3194 3195 po/es.po | 6 +++--- 3196 1 file changed, 3 insertions(+), 3 deletions(-) 3197 3198commit 5c3751d019f023e091df9a653e2bb1f6ea8b0d49 3199Author: Jia Tan <jiat0218@gmail.com> 3200Date: 2024-02-20 20:18:07 +0800 3201 3202 Translations: Update the Romanian translation. 3203 3204 po/ro.po | 470 ++++++++++++++++++++++++++++++--------------------------------- 3205 1 file changed, 227 insertions(+), 243 deletions(-) 3206 3207commit e2d31154ecc750935436e8b62c6b073b2cfa84e3 3208Author: Jia Tan <jiat0218@gmail.com> 3209Date: 2024-02-20 20:15:50 +0800 3210 3211 Translations: Update the Croatian translation. 3212 3213 po/hr.po | 648 ++++++++++++++++++++++++++++++++++----------------------------- 3214 1 file changed, 355 insertions(+), 293 deletions(-) 3215 3216commit 704500f994d5ac271bfcfd592275c5a7da4dc8d2 3217Author: Jia Tan <jiat0218@gmail.com> 3218Date: 2024-02-20 20:05:44 +0800 3219 3220 Translations: Update the German man page translations. 3221 3222 po4a/de.po | 1696 +++++++++++++++++++++++++++++++----------------------------- 3223 1 file changed, 873 insertions(+), 823 deletions(-) 3224 3225commit 1cfd3dca3fef321b06db73c3c9e13f347c2e2f5f 3226Author: Jia Tan <jiat0218@gmail.com> 3227Date: 2024-02-20 19:58:25 +0800 3228 3229 Translations: Update the German translation. 3230 3231 po/de.po | 427 +++++++++++++++++++++++++++++++++------------------------------ 3232 1 file changed, 225 insertions(+), 202 deletions(-) 3233 3234commit 28b9b3f16cc7c6e5b42e691994569c17f4561c9a 3235Author: Jia Tan <jiat0218@gmail.com> 3236Date: 2024-02-20 19:56:52 +0800 3237 3238 Translations: Update the Hungarian translation. 3239 3240 po/hu.po | 556 ++++++++++++++++++++++++++++++++++++++------------------------- 3241 1 file changed, 338 insertions(+), 218 deletions(-) 3242 3243commit 00b06cd0af6ad2ee93d3006bf80417db060c2b04 3244Author: Lasse Collin <lasse.collin@tukaani.org> 3245Date: 2024-02-19 16:48:05 +0200 3246 3247 CMake: Fix building of lzmainfo when translations are enabled. 3248 3249 CMakeLists.txt | 2 ++ 3250 1 file changed, 2 insertions(+) 3251 3252commit b0d1422b6037bfea6f6723683bd82a8e6d77026c 3253Author: Lasse Collin <lasse.collin@tukaani.org> 3254Date: 2024-02-19 13:38:42 +0200 3255 3256 CMake: Don't assume that -fvisibility=hidden is supported outside Windows. 3257 3258 The original code was good enough for supporting GNU/Linux 3259 and a few others but it wasn't very portable. 3260 3261 CMake doesn't support Solaris Studio's -xldscope=hidden. 3262 If it ever does, things should still work with this commit 3263 as Solaris Studio supports not only its own __global but also 3264 the GNU C __attribute__((visibility("default"))). Support for the 3265 attribute was added in 2007 to Sun Studio 12 compiler version 5.9. 3266 3267 CMakeLists.txt | 26 ++++++++++++++++++++++---- 3268 1 file changed, 22 insertions(+), 4 deletions(-) 3269 3270commit 2ced9d34bef4dce52ecbbf84d0903ab0aae1442c 3271Author: Lasse Collin <lasse.collin@tukaani.org> 3272Date: 2024-02-19 12:20:59 +0200 3273 3274 CMake: Revise the component splitting. 3275 3276 CMakeLists.txt | 57 +++++++++++++++++++++++++++++++-------------------------- 3277 1 file changed, 31 insertions(+), 26 deletions(-) 3278 3279commit 426bdc709c169d39b31dec410016779de117ef69 3280Author: Lasse Collin <lasse.collin@tukaani.org> 3281Date: 2024-02-17 21:45:07 +0200 3282 3283 CMake: Update the main comment and document CMAKE_BUILD_TYPE=Release. 3284 3285 CMakeLists.txt | 79 ++++++++++++++++++++++++++++++++++++++++++++++------------ 3286 1 file changed, 63 insertions(+), 16 deletions(-) 3287 3288commit 4430e075f7ccfc47972d6ca0aa1c3779fc265e10 3289Author: Lasse Collin <lasse.collin@tukaani.org> 3290Date: 2024-02-17 21:27:48 +0200 3291 3292 CMake: Use -O2 instead of -O3 in CMAKE_BUILD_TYPE=Release. 3293 3294 -O3 doesn't seem useful for speed but it makes the code bigger. 3295 CMake makes is difficult for users to simply override the 3296 optimization level: CFLAGS / CMAKE_C_FLAGS aren't helpful because 3297 they go before CMAKE_C_FLAGS_RELEASE. Of course, users can override 3298 CMAKE_C_FLAGS_RELEASE directly but then they have to remember to 3299 add also -DNDEBUG to disable assertions. 3300 3301 This commit changes -O3 to -O2 in CMAKE_C_FLAGS_RELEASE if and only if 3302 CMAKE_C_FLAGS_RELEASE cache variable doesn't already exist. So if 3303 a custom value is passed on the command line (or reconfiguring an 3304 already-configured build), the cache variable won't be modified. 3305 3306 CMakeLists.txt | 19 +++++++++++++++++++ 3307 1 file changed, 19 insertions(+) 3308 3309commit 025eb6d7879e4c4e8cb29716b371e0f4c1aea660 3310Author: Lasse Collin <lasse.collin@tukaani.org> 3311Date: 2024-02-18 14:59:52 +0200 3312 3313 CMake: Handle symbol versioning on MicroBlaze specially. 3314 3315 This is to match configure.ac. 3316 3317 CMakeLists.txt | 23 +++++++++++++++++++---- 3318 1 file changed, 19 insertions(+), 4 deletions(-) 3319 3320commit 2edd1a35b2507d1ce68b52dbaebe23c4850a74ce 3321Author: Lasse Collin <lasse.collin@tukaani.org> 3322Date: 2024-02-17 22:18:12 +0200 3323 3324 CMake: Keep build working even if lib/*.[ch] are removed. 3325 3326 CMakeLists.txt | 7 ++++++- 3327 1 file changed, 6 insertions(+), 1 deletion(-) 3328 3329commit d753e2ce4715552884afadc4ed6fbf8ccca6efac 3330Author: Lasse Collin <lasse.collin@tukaani.org> 3331Date: 2024-02-17 18:10:40 +0200 3332 3333 CMake: Install documentation. 3334 3335 CMakeLists.txt | 32 ++++++++++++++++++++++++++++++++ 3336 1 file changed, 32 insertions(+) 3337 3338commit 7a0405bea9cb0df9318b70f779f82b2c473e98ac 3339Author: Lasse Collin <lasse.collin@tukaani.org> 3340Date: 2024-02-17 15:35:35 +0200 3341 3342 CMake: Bump maximum policy version to 3.28. 3343 3344 CMP0154 doesn't affect us since we don't use FILE_SET. 3345 3346 CMakeLists.txt | 2 +- 3347 1 file changed, 1 insertion(+), 1 deletion(-) 3348 3349commit c2264ffbe3892d28930b89b0123efc369cabc143 3350Author: Lasse Collin <lasse.collin@tukaani.org> 3351Date: 2024-02-17 15:35:35 +0200 3352 3353 CMake: Build lzmainfo. 3354 3355 CMakeLists.txt | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3356 1 file changed, 54 insertions(+) 3357 3358commit 998d0b29536094a89cf385a3b894e157db1ccefe 3359Author: Lasse Collin <lasse.collin@tukaani.org> 3360Date: 2024-02-17 15:35:35 +0200 3361 3362 CMake: Build lzmadec. 3363 3364 CMakeLists.txt | 76 ++++++++++++++++++++++++++++++++-------------------------- 3365 1 file changed, 42 insertions(+), 34 deletions(-) 3366 3367commit 74e8bc7417a0f37ca7ed5ee0127d33c69b3100b9 3368Author: Lasse Collin <lasse.collin@tukaani.org> 3369Date: 2024-02-17 15:35:35 +0200 3370 3371 CMake: Add test_scripts.sh to the tests. 3372 3373 In contrast to Automake, skipping of this test when decoders 3374 are disabled is handled at CMake side instead of test_scripts.sh 3375 because CMake-build doesn't create config.h. 3376 3377 CMakeLists.txt | 14 ++++++++++++++ 3378 tests/test_scripts.sh | 13 ++++++++----- 3379 2 files changed, 22 insertions(+), 5 deletions(-) 3380 3381commit 4808f238a731befcd46c2117c62a1caaf4403989 3382Author: Lasse Collin <lasse.collin@tukaani.org> 3383Date: 2024-02-17 15:35:35 +0200 3384 3385 CMake: Install scripts. 3386 3387 Compared to the Autotools-based build, this has simpler handling 3388 for the shell (@POSIX_SHELL@) and extra PATH entry for the scripts 3389 (configure has --enable-path-for-scripts=PREFIX). The simpler 3390 metho should be enough for non-ancient systems and Solaris. 3391 3392 CMakeLists.txt | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 3393 1 file changed, 82 insertions(+), 1 deletion(-) 3394 3395commit 3462362ebd94d835c664e94ad8f414cfe7590ca7 3396Author: Lasse Collin <lasse.collin@tukaani.org> 3397Date: 2024-02-17 15:35:35 +0200 3398 3399 Scripts: Use @PACKAGE_VERSION@ instead of @VERSION@. 3400 3401 PACKAGE_VERSION was already used in liblzma.pc.in. 3402 This way only one version @foo@ is used. 3403 3404 src/scripts/xzdiff.in | 2 +- 3405 src/scripts/xzgrep.in | 2 +- 3406 src/scripts/xzless.in | 2 +- 3407 src/scripts/xzmore.in | 2 +- 3408 4 files changed, 4 insertions(+), 4 deletions(-) 3409 3410commit 67610c245ba6c68cf65991693bab9312b7dc987b 3411Author: Lasse Collin <lasse.collin@tukaani.org> 3412Date: 2024-02-17 15:35:35 +0200 3413 3414 CMake: Simplify symlink creation and install translated man pages. 3415 3416 It helps that cmake_install.cmake doesn't parallelize installation 3417 so symlinks can be created so that the target is always known to 3418 exist (a requirement on Windows in some cases). 3419 3420 This bumps the minimum CMake version from 3.13 to 3.14 to use 3421 file(CREATE_LINK ...). It could be made to work on 3.13 by 3422 calling "cmake -E create_symlink" but it's uglier code and 3423 slower in "make install". 3.14 should be a reasonable version 3424 to require nowadays, especially since the Autotools build 3425 is still the primary build system for most OSes. 3426 3427 CMakeLists.txt | 195 +++++++++++++++++++++++++++++---------------------------- 3428 1 file changed, 98 insertions(+), 97 deletions(-) 3429 3430commit 50cc1d8a5a8154428bf240c7e4972e32b17d99bf 3431Author: Lasse Collin <lasse.collin@tukaani.org> 3432Date: 2024-02-17 15:35:35 +0200 3433 3434 CMake: Add support for building and installing xz with translations. 3435 3436 If gettext tools are available, the .po files listed in po/LINGUAS 3437 are converted using msgfmt. This allows building with translations 3438 directly from xz.git without Autotools. 3439 3440 If gettext tools aren't available, the Autotools-created .gmo files 3441 in the "po" directory will be used. This allows CMake-based build 3442 to use translations from Autotools-generated tarball. 3443 3444 If translation support is found (Intl_FOUND) but both the 3445 gettext tools and the pre-generated .gmo files are missing, 3446 then "make" will fail. 3447 3448 CMakeLists.txt | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 3449 1 file changed, 66 insertions(+), 2 deletions(-) 3450 3451commit 746c471643009947f94a3494a1148f74c7381b56 3452Author: Lasse Collin <lasse.collin@tukaani.org> 3453Date: 2024-02-19 11:58:33 +0200 3454 3455 liblzma: Remove commented-out code. 3456 3457 src/liblzma/rangecoder/range_decoder.h | 3 --- 3458 1 file changed, 3 deletions(-) 3459 3460commit 4ce300ce0884c6e552de2af9ae8050b47b01f0e7 3461Author: Lasse Collin <lasse.collin@tukaani.org> 3462Date: 2024-02-17 23:07:35 +0200 3463 3464 xz: Delete old commented-out code. 3465 3466 src/xz/message.c | 19 ------------------- 3467 1 file changed, 19 deletions(-) 3468 3469commit cae9a5e0bf422e6c5e64180805904f7ed02dc3aa 3470Author: Lasse Collin <lasse.collin@tukaani.org> 3471Date: 2024-02-17 23:07:35 +0200 3472 3473 xz: Use stricter pledge(2) and Landlock sandbox. 3474 3475 This makes these sandboxing methods stricter when no files are 3476 created or deleted. That is, it's a middle ground between the 3477 initial sandbox and the strictest single-file-to-stdout sandbox: 3478 this allows opening files for reading but output has to go to stdout. 3479 3480 src/xz/main.c | 46 +++++++++++++++++++++++++++++++++------------- 3481 src/xz/sandbox.c | 32 ++++++++++++++++++++++++++++++++ 3482 src/xz/sandbox.h | 4 ++++ 3483 3 files changed, 69 insertions(+), 13 deletions(-) 3484 3485commit 02e3505991233901575b7eabc06b2c6c62a96899 3486Author: Lasse Collin <lasse.collin@tukaani.org> 3487Date: 2024-02-17 23:07:35 +0200 3488 3489 xz: Support Landlock ABI version 4. 3490 3491 Linux 6.7 added support for ABI version 4 which restricts 3492 TCP connections which xz won't need and thus those can be 3493 forbidden now. Since the ABI version is handled at runtime, 3494 supporting version 4 won't cause any compatibility issues. 3495 3496 Note that new enough kernel headers are required to get 3497 version 4 support enabled at build time. 3498 3499 src/xz/sandbox.c | 25 ++++++++++++++++++++----- 3500 1 file changed, 20 insertions(+), 5 deletions(-) 3501 3502commit 374868d81d473ab56556a1cfd6b1b36a1fab348b 3503Author: Lasse Collin <lasse.collin@tukaani.org> 3504Date: 2024-02-17 23:07:35 +0200 3505 3506 xz: Move sandboxing code to sandbox.c and improve Landlock sandbox. 3507 3508 Landlock is now always used just like pledge(2) is: first in more 3509 permissive mode and later (under certain common conditions) in 3510 a strict mode that doesn't allow opening more files. 3511 3512 I put pledge(2) first in sandbox.c because it's the simplest API 3513 to use and still somewhat fine-grained for basic applications. 3514 So it's the simplest thing to understand for anyone reading sandbox.c. 3515 3516 CMakeLists.txt | 2 + 3517 src/xz/Makefile.am | 2 + 3518 src/xz/file_io.c | 170 +----------------------------- 3519 src/xz/file_io.h | 6 -- 3520 src/xz/main.c | 50 +++------ 3521 src/xz/private.h | 6 +- 3522 src/xz/sandbox.c | 295 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3523 src/xz/sandbox.h | 39 +++++++ 3524 8 files changed, 357 insertions(+), 213 deletions(-) 3525 3526commit 7312dfbb02197c7f990c7a3cefd027a9387d1473 3527Author: Lasse Collin <lasse.collin@tukaani.org> 3528Date: 2024-02-17 23:07:35 +0200 3529 3530 xz: Tweak comments. 3531 3532 src/xz/main.c | 4 +++- 3533 1 file changed, 3 insertions(+), 1 deletion(-) 3534 3535commit c701a5909ad9882469fbab4fab5d2d5556d3ba78 3536Author: Lasse Collin <lasse.collin@tukaani.org> 3537Date: 2024-02-17 23:07:35 +0200 3538 3539 xz: Fix message_init() description. 3540 3541 Also explicitly initialize progress_automatic to make it clear 3542 that it can be read before message_init() sets it. Static variable 3543 was initialized to false by default already so this is only for 3544 clarity. 3545 3546 src/xz/main.c | 3 ++- 3547 src/xz/message.c | 2 +- 3548 src/xz/message.h | 5 ++++- 3549 3 files changed, 7 insertions(+), 3 deletions(-) 3550 3551commit 9466306719f3b76e92fac4e55fbfd89ec92295fa 3552Author: Lasse Collin <lasse.collin@tukaani.org> 3553Date: 2024-02-17 19:35:47 +0200 3554 3555 Build: Makefile.am: Sort EXTRA_DIST. 3556 3557 Dirs first, then files in case-sensitive ASCII order. 3558 3559 Makefile.am | 14 +++++++------- 3560 1 file changed, 7 insertions(+), 7 deletions(-) 3561 3562commit f3440e78c9517db75bfa52e1a378fad60b073bbe 3563Author: Lasse Collin <lasse.collin@tukaani.org> 3564Date: 2024-02-17 19:25:05 +0200 3565 3566 Build: Don't install TODO. 3567 3568 Makefile.am | 2 +- 3569 1 file changed, 1 insertion(+), 1 deletion(-) 3570 3571commit a7a3b62e2ab03c82b2bd5c78da1d1fb8b8490381 3572Author: Jia Tan <jiat0218@gmail.com> 3573Date: 2024-02-18 01:09:11 +0800 3574 3575 Translations: Update the Korean man page translations. 3576 3577 po4a/ko.po | 1707 +++++++++++++++++++++++++++++++----------------------------- 3578 1 file changed, 871 insertions(+), 836 deletions(-) 3579 3580commit 9b315db2d5e74700f3dc0755eb86c27947c0b393 3581Author: Jia Tan <jiat0218@gmail.com> 3582Date: 2024-02-18 01:08:32 +0800 3583 3584 Translations: Update the Korean translation. 3585 3586 po/ko.po | 423 +++++++++++++++++++++++++++++++++------------------------------ 3587 1 file changed, 223 insertions(+), 200 deletions(-) 3588 3589commit 56246607dff177b0410d140fcca4a42c865723dc 3590Author: Lasse Collin <lasse.collin@tukaani.org> 3591Date: 2024-02-17 16:23:14 +0200 3592 3593 Build: Install translated lzmainfo man pages. 3594 3595 All other translated man pages were being installed but 3596 lzmainfo had been forgotten. 3597 3598 src/lzmainfo/Makefile.am | 26 ++++++++++++++++++++++++++ 3599 1 file changed, 26 insertions(+) 3600 3601commit f1d6b88aefcced538403c5c2606ba57065b16e70 3602Author: Lasse Collin <lasse.collin@tukaani.org> 3603Date: 2024-02-17 16:01:32 +0200 3604 3605 liblzma: Avoid implementation-defined behavior in the RISC-V filter. 3606 3607 GCC docs promise that it works and a few other compilers do 3608 too. Clang/LLVM is documented source code only but unsurprisingly 3609 it behaves the same as others on x86-64 at least. But the 3610 certainly-portable way is good enough here so use that. 3611 3612 src/liblzma/simple/riscv.c | 30 ++++++++++++++++++++++-------- 3613 1 file changed, 22 insertions(+), 8 deletions(-) 3614 3615commit 843ddc5f617b91ae132d6bab0f2f2d9c9fcd214a 3616Author: Lasse Collin <lasse.collin@tukaani.org> 3617Date: 2024-02-17 15:48:28 +0200 3618 3619 liblzma: Wrap a line exceeding 80 chars. 3620 3621 src/liblzma/rangecoder/range_decoder.h | 3 ++- 3622 1 file changed, 2 insertions(+), 1 deletion(-) 3623 3624commit e9053c907250c70d98b319d95fa54cb94fc76869 3625Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> 3626Date: 2024-02-16 21:50:15 +0100 3627 3628 liblzma/rangecoder: Exclude x32 from the x86-64 optimisation. 3629 3630 The x32 port has a x86-64 ABI in term of all registers but uses only 3631 32bit pointer like x86-32. The assembly optimisation fails to compile on 3632 x32. Given the state of x32 I suggest to exclude it from the 3633 optimisation rather than trying to fix it. 3634 3635 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> 3636 3637 src/liblzma/rangecoder/range_decoder.h | 2 +- 3638 1 file changed, 1 insertion(+), 1 deletion(-) 3639 3640commit 3d198fb13b87f8803442e5799d465f7434a70555 3641Author: Jia Tan <jiat0218@gmail.com> 3642Date: 2024-02-17 21:05:07 +0800 3643 3644 Translations: Update the Spanish translation. 3645 3646 po/es.po | 427 +++++++++++++++++++++++++++++++++------------------------------ 3647 1 file changed, 226 insertions(+), 201 deletions(-) 3648 3649commit cf278bfe60a25b54b3786f06503bc61272970820 3650Author: Jia Tan <jiat0218@gmail.com> 3651Date: 2024-02-17 20:43:29 +0800 3652 3653 Translations: Update the Swedish translation. 3654 3655 po/sv.po | 434 +++++++++++++++++++++++++++++++++------------------------------ 3656 1 file changed, 230 insertions(+), 204 deletions(-) 3657 3658commit b0f1a41be50560cc6cb528e8e96b02b2067c52c2 3659Author: Jia Tan <jiat0218@gmail.com> 3660Date: 2024-02-17 20:41:38 +0800 3661 3662 Translations: Update the Polish translation. 3663 3664 po/pl.po | 424 +++++++++++++++++++++++++++++++++------------------------------ 3665 1 file changed, 224 insertions(+), 200 deletions(-) 3666 3667commit d74ed48b30c631b6a4c7e7858b06828293bf8520 3668Author: Jia Tan <jiat0218@gmail.com> 3669Date: 2024-02-17 20:41:02 +0800 3670 3671 Translations: Update the Ukrainian translation. 3672 3673 po/uk.po | 2 +- 3674 1 file changed, 1 insertion(+), 1 deletion(-) 3675 3676commit 711e22d5c5f3bac39ac904efb3ede874a66e2045 3677Author: Lasse Collin <lasse.collin@tukaani.org> 3678Date: 2024-02-16 17:53:34 +0200 3679 3680 Translations: Use the same sentence in xz.pot-header that the TP uses. 3681 3682 po/xz.pot-header | 2 +- 3683 1 file changed, 1 insertion(+), 1 deletion(-) 3684 3685commit fb5f6aaf18584672d0fee5dbe41fd30fc6bf5422 3686Author: Jia Tan <jiat0218@gmail.com> 3687Date: 2024-02-16 22:53:46 +0800 3688 3689 Fix typos discovered by codespell. 3690 3691 AUTHORS | 2 +- 3692 NEWS | 2 +- 3693 src/liblzma/rangecoder/range_decoder.h | 4 ++-- 3694 3 files changed, 4 insertions(+), 4 deletions(-) 3695 3696commit c64723bbb094e29b4edd98f6fcce866e1b569b42 3697Author: Jia Tan <jiat0218@gmail.com> 3698Date: 2024-02-16 22:52:41 +0800 3699 3700 Translations: Update the Ukrainian man page translations. 3701 3702 po4a/uk.po | 1710 +++++++++++++++++++++++++++++++----------------------------- 3703 1 file changed, 873 insertions(+), 837 deletions(-) 3704 3705commit 2895195ed0f68b245c7bd568c126ba6e685fa1d6 3706Author: Jia Tan <jiat0218@gmail.com> 3707Date: 2024-02-16 22:51:04 +0800 3708 3709 Translations: Update the Ukrainian translation. 3710 3711 po/uk.po | 466 ++++++++++++++++++++++++++++++--------------------------------- 3712 1 file changed, 225 insertions(+), 241 deletions(-) 3713 3714commit 4c20781f4c8f04879b64d631a4f44b4909147bde 3715Author: Lasse Collin <lasse.collin@tukaani.org> 3716Date: 2024-02-15 22:32:52 +0200 3717 3718 Translations: Omit the generic copyright line from man page headers. 3719 3720 po4a/update-po | 1 + 3721 1 file changed, 1 insertion(+) 3722 3723commit 4323bc3e0c1e1d2037d5e670a3bf6633e8a3031e 3724Author: Jia Tan <jiat0218@gmail.com> 3725Date: 2024-02-15 22:26:43 +0800 3726 3727 Update m4/.gitignore. 3728 3729 m4/.gitignore | 1 + 3730 1 file changed, 1 insertion(+) 3731 3732commit 5394a1665b7a108a54cb8b4ef3ebe59d3dbcca3a 3733Author: Lasse Collin <lasse.collin@tukaani.org> 3734Date: 2024-02-14 21:11:49 +0200 3735 3736 Tests: tuktest.h: Treat Clang separately from GCC. 3737 3738 Don't assume that Clang defines __GNUC__ as the extensions 3739 are available in clang-cl as well (and possibly in some other 3740 Clang variants?). 3741 3742 tests/tuktest.h | 6 +++--- 3743 1 file changed, 3 insertions(+), 3 deletions(-) 3744 3745commit cce7330b9f23485a0879422e0c3395a7065439ac 3746Author: Lasse Collin <lasse.collin@tukaani.org> 3747Date: 2024-02-14 21:11:03 +0200 3748 3749 Tests: tuktest.h: Add a missing word to a comment. 3750 3751 tests/tuktest.h | 4 ++-- 3752 1 file changed, 2 insertions(+), 2 deletions(-) 3753 3754commit 5dd8fc9452a3373cedc27379067ce638f992c741 3755Author: Lasse Collin <lasse.collin@tukaani.org> 3756Date: 2024-02-14 21:10:10 +0200 3757 3758 Tests: tuktest.h: Fix the comment about STest. 3759 3760 tests/tuktest.h | 3 ++- 3761 1 file changed, 2 insertions(+), 1 deletion(-) 3762 3763commit 6f1790254a03c5edf0f2976f773220f070450acd 3764Author: Jia Tan <jiat0218@gmail.com> 3765Date: 2024-02-15 01:53:40 +0800 3766 3767 Bump version for 5.5.2beta. 3768 3769 src/liblzma/api/lzma/version.h | 4 ++-- 3770 src/liblzma/liblzma_generic.map | 2 +- 3771 src/liblzma/liblzma_linux.map | 2 +- 3772 3 files changed, 4 insertions(+), 4 deletions(-) 3773 3774commit 924fdeedf48113fb1e0646d86bd89a356d21a055 3775Author: Lasse Collin <lasse.collin@tukaani.org> 3776Date: 2024-02-14 19:46:11 +0200 3777 3778 liblzma: Fix validate_map.sh. 3779 3780 Adding the SPDX license identifier changed the line numbers. 3781 3782 src/liblzma/validate_map.sh | 2 +- 3783 1 file changed, 1 insertion(+), 1 deletion(-) 3784 3785commit 22140a2df6161b0110e6b4afa5ea0a07c5b60b01 3786Author: Lasse Collin <lasse.collin@tukaani.org> 3787Date: 2024-02-14 19:38:34 +0200 3788 3789 Build: Start the generated ChangeLog from around 5.4.0 instead of 5.2.0. 3790 3791 Makefile.am | 2 +- 3792 1 file changed, 1 insertion(+), 1 deletion(-) 3793 3794commit 0b8cefa136c21d403a01b78517f4decb50172bdb 3795Author: Lasse Collin <lasse.collin@tukaani.org> 3796Date: 2024-02-14 19:27:46 +0200 3797 3798 Fixed NEWS for 5.5.2beta. 3799 3800 NEWS | 8 ++++++-- 3801 1 file changed, 6 insertions(+), 2 deletions(-) 3802 3803commit a4557bad96361d93ea171ed859ac5a696fca824f 3804Author: Lasse Collin <lasse.collin@tukaani.org> 3805Date: 2024-02-14 19:21:45 +0200 3806 3807 liblzma: Silence warnings in --enable-small build. 3808 3809 src/liblzma/lzma/lzma_decoder.c | 2 ++ 3810 src/liblzma/rangecoder/range_decoder.h | 1 + 3811 2 files changed, 3 insertions(+) 3812 3813commit 38edf473236d00b3e100dc4c4f0bf43a4993fed2 3814Author: Lasse Collin <lasse.collin@tukaani.org> 3815Date: 2024-02-14 19:15:58 +0200 3816 3817 Build: Install COPYING.0BSD as part of docs. 3818 3819 Makefile.am | 1 + 3820 1 file changed, 1 insertion(+) 3821 3822commit b74e10bd839bcdc239afb5300ffaee195f34c217 3823Author: Lasse Collin <lasse.collin@tukaani.org> 3824Date: 2024-02-14 19:14:05 +0200 3825 3826 Docs: List COPYING.0BSD in README. 3827 3828 README | 1 + 3829 1 file changed, 1 insertion(+) 3830 3831commit dfdb60ffe933a1f1497d300dbb4513ed17ec6f0e 3832Author: Lasse Collin <lasse.collin@tukaani.org> 3833Date: 2024-02-14 19:11:48 +0200 3834 3835 Docs: Include doc/examples/11_file_info.c in tarballs. 3836 3837 It was added in 2017 in c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd 3838 but it never got into any release tarballs because it was 3839 forgotten to be added to Makefile.am. 3840 3841 Makefile.am | 1 + 3842 1 file changed, 1 insertion(+) 3843 3844commit 160b6862646d95dfdbd73ab7f1031ede0f54992d 3845Author: Lasse Collin <lasse.collin@tukaani.org> 3846Date: 2024-02-14 19:05:58 +0200 3847 3848 liblzma: Silence a warning. 3849 3850 src/liblzma/rangecoder/range_decoder.h | 2 +- 3851 1 file changed, 1 insertion(+), 1 deletion(-) 3852 3853commit eeedd4d0925ea417add04ceb42a6c0829244b50c 3854Author: Lasse Collin <lasse.collin@tukaani.org> 3855Date: 2024-02-14 18:32:27 +0200 3856 3857 Add NEWS for 5.5.2beta. 3858 3859 NEWS | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3860 1 file changed, 60 insertions(+) 3861 3862commit 8af7db854f903068d72a9a0d21103cb0c5027fa8 3863Author: Lasse Collin <lasse.collin@tukaani.org> 3864Date: 2024-02-13 14:32:47 +0200 3865 3866 xz: Mention lzmainfo if trying to use 'lzma --list'. 3867 3868 This kind of fixes the problem reported here: 3869 https://bugs.launchpad.net/ubuntu/+source/xz-utils/+bug/1291020 3870 3871 src/xz/list.c | 16 ++++++++++++++-- 3872 1 file changed, 14 insertions(+), 2 deletions(-) 3873 3874commit 0668907ff736e4cd16738c10d39a2bc9e851aefb 3875Author: Lasse Collin <lasse.collin@tukaani.org> 3876Date: 2024-02-14 14:58:36 +0200 3877 3878 liblzma: Add comments. 3879 3880 src/liblzma/lzma/lzma_decoder.c | 9 +++++++++ 3881 src/liblzma/rangecoder/range_decoder.h | 11 +++++++++-- 3882 2 files changed, 18 insertions(+), 2 deletions(-) 3883 3884commit 109f1913d4824c8214d5bbd38ebebf62c37572da 3885Author: Lasse Collin <lasse.collin@tukaani.org> 3886Date: 2024-02-13 17:00:17 +0200 3887 3888 Scripts: Add lz4 support to xzgrep and xzdiff. 3889 3890 src/scripts/xzdiff.1 | 8 +++++--- 3891 src/scripts/xzdiff.in | 14 +++++++++----- 3892 src/scripts/xzgrep.1 | 6 ++++-- 3893 src/scripts/xzgrep.in | 1 + 3894 4 files changed, 19 insertions(+), 10 deletions(-) 3895 3896commit de55485cb23af56c5adbe3239b935c957ff8ac4f 3897Author: Lasse Collin <lasse.collin@tukaani.org> 3898Date: 2024-02-13 14:05:13 +0200 3899 3900 liblzma: Choose the range decoder variants using a bitmask macro. 3901 3902 src/liblzma/rangecoder/range_decoder.h | 64 ++++++++++++++++++++++++++++------ 3903 1 file changed, 53 insertions(+), 11 deletions(-) 3904 3905commit 0709c2b2d7c1d8f437b003f691880fd7810e5be5 3906Author: Lasse Collin <lasse.collin@tukaani.org> 3907Date: 2024-02-13 11:38:10 +0200 3908 3909 xz: Fix outdated threading related info on the man page. 3910 3911 src/xz/xz.1 | 22 ++++++++++++++-------- 3912 1 file changed, 14 insertions(+), 8 deletions(-) 3913 3914commit 3182a330c1512cc1f5c87b5c5a272578e60a5158 3915Author: Lasse Collin <lasse.collin@tukaani.org> 3916Date: 2024-02-12 17:09:10 +0200 3917 3918 liblzma: Range decoder: Add x86-64 inline assembly. 3919 3920 It's compatible with GCC and Clang. 3921 3922 src/liblzma/rangecoder/range_decoder.h | 491 +++++++++++++++++++++++++++++++++ 3923 1 file changed, 491 insertions(+) 3924 3925commit cba2edc991dffba7cd4891dbc1bd26cb950cf053 3926Author: Lasse Collin <lasse.collin@tukaani.org> 3927Date: 2024-02-12 17:09:10 +0200 3928 3929 liblzma: Range decoder: Add branchless C code. 3930 3931 It's used only for basic bittrees and fixed-size reverse bittree 3932 because those showed a clear benefit on x86-64 with GCC and Clang. 3933 The other methods were more mixed and thus are commented out but 3934 they should be tested on other archs. 3935 3936 src/liblzma/rangecoder/range_decoder.h | 76 ++++++++++++++++++++++++++++++++++ 3937 1 file changed, 76 insertions(+) 3938 3939commit e290a72d6dee71faf3a90c9678b2f730083666a7 3940Author: Lasse Collin <lasse.collin@tukaani.org> 3941Date: 2024-02-12 17:09:10 +0200 3942 3943 liblzma: Clarify a comment. 3944 3945 src/liblzma/lzma/lzma_decoder.c | 9 ++++++--- 3946 1 file changed, 6 insertions(+), 3 deletions(-) 3947 3948commit 5e04706b91ca90d6befd4da24a588a55e631d4a9 3949Author: Lasse Collin <lasse.collin@tukaani.org> 3950Date: 2024-02-12 17:09:10 +0200 3951 3952 liblzma: LZMA decoder: Optimize loop comparison. 3953 3954 But now it needs one more local variable. 3955 3956 src/liblzma/lzma/lzma_decoder.c | 5 ++--- 3957 src/liblzma/rangecoder/range_decoder.h | 10 +++++++++- 3958 2 files changed, 11 insertions(+), 4 deletions(-) 3959 3960commit 88276f9f2cb4871c7eb86952d93d07c1cf6caa66 3961Author: Lasse Collin <lasse.collin@tukaani.org> 3962Date: 2024-02-12 17:09:10 +0200 3963 3964 liblzma: Optimize literal_subcoder() macro slightly. 3965 3966 src/liblzma/lzma/lzma_common.h | 22 ++++++++++++---------- 3967 src/liblzma/lzma/lzma_decoder.c | 12 ++++++------ 3968 src/liblzma/lzma/lzma_encoder.c | 6 +++--- 3969 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 +- 3970 src/liblzma/lzma/lzma_encoder_private.h | 4 ++-- 3971 5 files changed, 24 insertions(+), 22 deletions(-) 3972 3973commit 5938f6de4d8ec9656776cd69e78ddfd6c3ad84e5 3974Author: Lasse Collin <lasse.collin@tukaani.org> 3975Date: 2024-02-12 17:09:10 +0200 3976 3977 liblzma: LZ decoder: Add unlikely(). 3978 3979 src/liblzma/lz/lz_decoder.h | 2 +- 3980 1 file changed, 1 insertion(+), 1 deletion(-) 3981 3982commit 9c252e3ed086c6b72590b2531586c42596d4a9d9 3983Author: Lasse Collin <lasse.collin@tukaani.org> 3984Date: 2024-02-12 17:09:10 +0200 3985 3986 liblzma: LZ decoder: Remove a useless unlikely(). 3987 3988 src/liblzma/lz/lz_decoder.h | 2 +- 3989 1 file changed, 1 insertion(+), 1 deletion(-) 3990 3991commit f3872a59475456c5d365cad9f1c5be514cfa54b5 3992Author: Lasse Collin <lasse.collin@tukaani.org> 3993Date: 2024-02-12 17:09:10 +0200 3994 3995 liblzma: Optimize LZ decoder slightly. 3996 3997 Now extra buffer space is reserved so that repeating bytes for 3998 any single match will never need to copy from two places (both 3999 the beginning and the end of the buffer). This simplifies 4000 dict_repeat() and helps a little with speed. 4001 4002 This seems to reduce .lzma decompression time about 2 %, so 4003 with .xz and CRC it could be slightly less. The small things 4004 add up still. 4005 4006 src/liblzma/lz/lz_decoder.c | 43 ++++++++++++----- 4007 src/liblzma/lz/lz_decoder.h | 101 +++++++++++++++++++++------------------- 4008 src/liblzma/lzma/lzma_decoder.c | 4 +- 4009 3 files changed, 88 insertions(+), 60 deletions(-) 4010 4011commit eb518446e578acf079abae5f1ce28db7b6e59bc1 4012Author: Lasse Collin <lasse.collin@tukaani.org> 4013Date: 2024-02-12 17:09:10 +0200 4014 4015 liblzma: LZMA decoder: Get rid of next_state[]. 4016 4017 It's not completely obvious if this is better in the decoder. 4018 It should be good if compiler can avoid creating a branch 4019 (like using CMOV on x86). 4020 4021 This also makes lzma_encoder.c use the new macros. 4022 4023 src/liblzma/lzma/lzma_common.h | 14 ++++++++++++++ 4024 src/liblzma/lzma/lzma_decoder.c | 30 ++++++++---------------------- 4025 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 4026 3 files changed, 24 insertions(+), 24 deletions(-) 4027 4028commit e0c0ee475c0800c08291ae45e0d66aa00d5ce604 4029Author: Lasse Collin <lasse.collin@tukaani.org> 4030Date: 2024-02-12 17:09:10 +0200 4031 4032 liblzma: LZMA decoder improvements. 4033 4034 This adds macros for bittree decoding which prepares the code 4035 for alternative C versions and inline assembly. 4036 4037 src/liblzma/lzma/lzma_decoder.c | 264 ++++++++++----------------------- 4038 src/liblzma/rangecoder/range_common.h | 4 + 4039 src/liblzma/rangecoder/range_decoder.h | 142 ++++++++++++++++-- 4040 3 files changed, 210 insertions(+), 200 deletions(-) 4041 4042commit de5c5e417645ad8906ef914bc059d08c1462fc29 4043Author: Jia Tan <jiat0218@gmail.com> 4044Date: 2024-02-12 17:09:10 +0200 4045 4046 liblzma: Creates Non-resumable and Resumable modes for lzma_decoder. 4047 4048 The new decoder resumes the first decoder loop in the Resumable mode. 4049 Then, the code executes in Non-resumable mode until it detects that it 4050 cannot guarantee to have enough input/output to decode another symbol. 4051 4052 The Resumable mode is how the decoder has always worked. Before decoding 4053 every input bit, it checks if there is enough space and will save its 4054 location to be resumed later. When the decoder has more input/output, 4055 it jumps back to the correct sequence in the Resumable mode code. 4056 4057 When the input/output buffers are large, the Resumable mode is much 4058 slower than the Non-resumable because it has more branches and is harder 4059 for the compiler to optimize since it is in a large switch block. 4060 4061 Early benchmarking shows significant time improvement (8-10% on gcc and 4062 clang x86) by using the Non-resumable code as much as possible. 4063 4064 src/liblzma/lz/lz_decoder.h | 14 +- 4065 src/liblzma/lzma/lzma_decoder.c | 720 ++++++++++++++++++++++++++++------------ 4066 2 files changed, 521 insertions(+), 213 deletions(-) 4067 4068commit e446ab7a18abfde18f8d1cf02a914df72b1370e3 4069Author: Jia Tan <jiat0218@gmail.com> 4070Date: 2024-02-12 17:09:10 +0200 4071 4072 liblzma: Creates separate "safe" range decoder mode. 4073 4074 The new "safe" range decoder mode is the same as old range decoder, but 4075 now the default behavior of the range decoder will not check if there is 4076 enough input or output to complete the operation. When the buffers are 4077 close to fully consumed, the "safe" operations must be used instead. This 4078 will improve speed because it will reduce the number of branches needed 4079 for most of the range decoder operations. 4080 4081 src/liblzma/lzma/lzma_decoder.c | 108 ++++++++------------------------- 4082 src/liblzma/rangecoder/range_decoder.h | 77 +++++++++++++++++------ 4083 2 files changed, 82 insertions(+), 103 deletions(-) 4084 4085commit 7f6d9ca329ff3e01d4b0be7366eb4f5c93da41b9 4086Author: Lasse Collin <lasse.collin@tukaani.org> 4087Date: 2024-02-12 17:09:10 +0200 4088 4089 doxygen/footer.html: Add missing closing tags and don't open a new tab. 4090 4091 The footer template from Doxygen has the closing </body> </html> 4092 as Doxygen doesn't add them otherwise. 4093 4094 target="_blank" was omitted as it's not useful here but 4095 it can be slightly annoying as one cannot just go back 4096 in the browser history. 4097 4098 Since the footer links to the license file in the same 4099 directory and not to CC website, the rel attributes 4100 can be omitted. 4101 4102 doxygen/footer.html | 6 ++++-- 4103 1 file changed, 4 insertions(+), 2 deletions(-) 4104 4105commit 26d1527d34d52b0f5d632d4fb636fb33d0867e92 4106Author: Lasse Collin <lasse.collin@tukaani.org> 4107Date: 2024-02-13 13:19:10 +0200 4108 4109 Tweak the expressions in AUTHORS. 4110 4111 AUTHORS | 31 +++++++++++++++++++++++-------- 4112 1 file changed, 23 insertions(+), 8 deletions(-) 4113 4114commit d231d56580175fa040fdd3c6207a58243ce6217b 4115Author: Lasse Collin <lasse.collin@tukaani.org> 4116Date: 2024-02-13 13:07:33 +0200 4117 4118 Translations: Add the man page translators into man page header comment. 4119 4120 It looked odd to only have the original English authors listed 4121 in the header comments of the translated files. 4122 4123 po4a/.gitignore | 1 + 4124 po4a/po4a.conf | 14 +++++++------- 4125 po4a/update-po | 18 ++++++++++++++++++ 4126 3 files changed, 26 insertions(+), 7 deletions(-) 4127 4128commit 6d35fcb936474fca1acaebfd9502c097b6fde88e 4129Author: Lasse Collin <lasse.collin@tukaani.org> 4130Date: 2024-02-12 17:09:10 +0200 4131 4132 Translations: Translate also messages of lzmainfo. 4133 4134 lzmainfo has had translation support since 2009 at least but 4135 it was never added to po/POTFILES.in so the messages weren't 4136 translated. It's a very rarely needed tool so it's not too bad. 4137 4138 This also adds src/xz/mytime.c to po/POTFILES.in although there 4139 are no translatable strings. It's simpler this way so that it 4140 won't be forgotten if strings were ever added to that file. 4141 4142 po/POTFILES.in | 2 ++ 4143 1 file changed, 2 insertions(+) 4144 4145commit a9f369dd54b05f9ac4e00ead9d765d04fc259868 4146Author: Lasse Collin <lasse.collin@tukaani.org> 4147Date: 2024-02-12 17:09:10 +0200 4148 4149 Translations: Add custom .pot header with SPDX license identifier. 4150 4151 The same is used for both po/xz.pot and po4a/xz-man.pot. 4152 4153 Makefile.am | 1 + 4154 po/xz.pot-header | 7 +++++++ 4155 po4a/update-po | 8 ++++++++ 4156 3 files changed, 16 insertions(+) 4157 4158commit 469cd6653bb96e83c5cf1031c204d34566b15f44 4159Author: Lasse Collin <lasse.collin@tukaani.org> 4160Date: 2024-02-12 17:09:10 +0200 4161 4162 Translations: po4a/update-po: Add copyright notice to xz-man.pot. 4163 4164 All man pages are under 0BSD now so this is simple now. 4165 4166 po4a/update-po | 2 +- 4167 1 file changed, 1 insertion(+), 1 deletion(-) 4168 4169commit 28ce45e38fbed4b5f54f2013e38dab47d22bf699 4170Author: Lasse Collin <lasse.collin@tukaani.org> 4171Date: 2024-02-12 17:09:10 +0200 4172 4173 Update COPYING about the man pages of the scripts. 4174 4175 COPYING | 6 +++--- 4176 1 file changed, 3 insertions(+), 3 deletions(-) 4177 4178commit e48287bf51afd5184ea74de1dcade9e153f873f7 4179Author: Lasse Collin <lasse.collin@tukaani.org> 4180Date: 2024-02-12 17:09:10 +0200 4181 4182 xzdiff, xzgrep, and xzmore: Rewrite the man pages. 4183 4184 The main reason is a kind of silly one: 4185 4186 xz-man.pot contains strings from all man pages in XZ Utils. 4187 The man pages of xzdiff, xzgrep, and xzmore were under GPLv2 4188 and the rest under 0BSD. Thus xz-man.pot contained strings 4189 under two licences. po4a creates the translated man pages 4190 from the combined 0BSD+GPLv2 xz-man.pot. 4191 4192 I haven't liked this mixing in xz-man.pot but the 4193 Translation Project requires that all man pages must be 4194 in the same .pot file. So a separate xz-man-gpl.pot 4195 wasn't an option. 4196 4197 Since these man pages are short, rewriting them was quick enough. 4198 Now xz-man.pot is entirely under 0BSD and marking the per-file 4199 licenses is simpler. 4200 4201 As a bonus, some wording hopefully is now slightly better 4202 although it's perhaps a matter of taste. 4203 4204 NOTE: In xzgrep.1, the EXIT STATUS section was written by me 4205 in the commit d796b6d7fdb8b7238b277056cf9146cce25db604 so that's 4206 why that section could be taken as is from the old xzgrep.1. 4207 4208 src/scripts/xzdiff.1 | 94 ++++++++++++++++++++++++----------------- 4209 src/scripts/xzgrep.1 | 116 ++++++++++++++++++++++++++++++++------------------- 4210 src/scripts/xzmore.1 | 79 ++++++++++++++++++++--------------- 4211 3 files changed, 173 insertions(+), 116 deletions(-) 4212 4213commit 3e551b111b8ae8150f1a1040364dbafc034f22be 4214Author: Lasse Collin <lasse.collin@tukaani.org> 4215Date: 2024-02-12 17:09:10 +0200 4216 4217 xzless: Update man page slightly. 4218 4219 The xz tool can decompress three file formats and xzless 4220 has always supported uncompressed files too. 4221 4222 src/scripts/xzless.1 | 8 ++++---- 4223 1 file changed, 4 insertions(+), 4 deletions(-) 4224 4225commit 40f36da2262d13d6e1ba8449caa855512ae626d7 4226Author: Lasse Collin <lasse.collin@tukaani.org> 4227Date: 2024-02-12 17:09:10 +0200 4228 4229 Translations: Change po/Makevars to add a copyright notice to po/xz.pot. 4230 4231 po/Makevars | 4 ++-- 4232 1 file changed, 2 insertions(+), 2 deletions(-) 4233 4234commit 24192854e2ea5c06997431a98bda3c36c5da1497 4235Author: Lasse Collin <lasse.collin@tukaani.org> 4236Date: 2024-02-12 17:09:10 +0200 4237 4238 Translations: Update po/Makevars to use the template from gettext 0.22.4. 4239 4240 Also add SPDX license identifier now that there is a known license. 4241 4242 po/Makevars | 51 ++++++++++++++++++++++++++++++++++++++++++++++----- 4243 1 file changed, 46 insertions(+), 5 deletions(-) 4244 4245commit b94154957370116480b43bcabca25fc52deb9853 4246Author: Lasse Collin <lasse.collin@tukaani.org> 4247Date: 2024-02-12 17:09:10 +0200 4248 4249 liblzma: Include the SPDX license identifier 0BSD to generated files. 4250 4251 Perhaps the generated files aren't even copyrightable but 4252 using the same license for them as for the rest of the liblzma 4253 keeps things more consistent for tools that look for license info. 4254 4255 src/liblzma/check/crc32_table_be.h | 4 +++- 4256 src/liblzma/check/crc32_table_le.h | 4 +++- 4257 src/liblzma/check/crc32_tablegen.c | 16 ++++++++++------ 4258 src/liblzma/check/crc64_table_be.h | 4 +++- 4259 src/liblzma/check/crc64_table_le.h | 4 +++- 4260 src/liblzma/check/crc64_tablegen.c | 8 +++++--- 4261 src/liblzma/lz/lz_encoder_hash_table.h | 4 +++- 4262 src/liblzma/lzma/fastpos_table.c | 4 +++- 4263 src/liblzma/lzma/fastpos_tablegen.c | 12 +++++++----- 4264 src/liblzma/rangecoder/price_table.c | 4 +++- 4265 src/liblzma/rangecoder/price_tablegen.c | 12 +++++++----- 4266 11 files changed, 50 insertions(+), 26 deletions(-) 4267 4268commit 8e4ec794836bc1701d8c9bd5e347b8ce8cc5bbb4 4269Author: Lasse Collin <lasse.collin@tukaani.org> 4270Date: 2024-02-12 17:09:10 +0200 4271 4272 liblzma: Fix compilation of price_tablegen.c. 4273 4274 It is built and run only manually so this didn't matter 4275 unless one wanted to regenerate the price_table.c. 4276 4277 src/liblzma/rangecoder/price_tablegen.c | 5 +++++ 4278 src/liblzma/rangecoder/range_common.h | 5 ++++- 4279 2 files changed, 9 insertions(+), 1 deletion(-) 4280 4281commit e99bff3ffbcdf2634fd5bd13887627ec7dbfecaf 4282Author: Lasse Collin <lasse.collin@tukaani.org> 4283Date: 2024-02-12 17:09:10 +0200 4284 4285 Add SPDX license identifiers to GPL, LGPL, and FSFULLR files. 4286 4287 extra/scanlzma/scanlzma.c | 2 ++ 4288 lib/Makefile.am | 2 ++ 4289 lib/getopt-cdefs.h | 2 ++ 4290 lib/getopt-core.h | 2 ++ 4291 lib/getopt-ext.h | 2 ++ 4292 lib/getopt-pfx-core.h | 2 ++ 4293 lib/getopt-pfx-ext.h | 2 ++ 4294 lib/getopt.c | 2 ++ 4295 lib/getopt.in.h | 2 ++ 4296 lib/getopt1.c | 2 ++ 4297 lib/getopt_int.h | 2 ++ 4298 m4/ax_pthread.m4 | 2 ++ 4299 m4/getopt.m4 | 2 ++ 4300 m4/posix-shell.m4 | 2 ++ 4301 m4/visibility.m4 | 2 ++ 4302 src/scripts/xzdiff.1 | 3 +-- 4303 src/scripts/xzdiff.in | 1 + 4304 src/scripts/xzgrep.1 | 3 +-- 4305 src/scripts/xzgrep.in | 1 + 4306 src/scripts/xzless.in | 1 + 4307 src/scripts/xzmore.1 | 3 +-- 4308 src/scripts/xzmore.in | 1 + 4309 22 files changed, 37 insertions(+), 6 deletions(-) 4310 4311commit 22af94128b89a131f5e58ae69bee5e50227c15da 4312Author: Lasse Collin <lasse.collin@tukaani.org> 4313Date: 2024-02-12 17:09:10 +0200 4314 4315 Add SPDX license identifier into 0BSD source code files. 4316 4317 .github/workflows/ci.yml | 2 ++ 4318 .github/workflows/windows-ci.yml | 2 ++ 4319 CMakeLists.txt | 2 ++ 4320 Makefile.am | 3 +-- 4321 autogen.sh | 1 + 4322 build-aux/ci_build.sh | 3 ++- 4323 build-aux/manconv.sh | 3 ++- 4324 build-aux/version.sh | 3 ++- 4325 cmake/remove-ordinals.cmake | 2 ++ 4326 cmake/tuklib_common.cmake | 4 ++++ 4327 cmake/tuklib_cpucores.cmake | 4 ++++ 4328 cmake/tuklib_integer.cmake | 4 ++++ 4329 cmake/tuklib_large_file_support.cmake | 4 ++++ 4330 cmake/tuklib_mbstr.cmake | 4 ++++ 4331 cmake/tuklib_physmem.cmake | 4 ++++ 4332 cmake/tuklib_progname.cmake | 4 ++++ 4333 configure.ac | 4 +++- 4334 debug/Makefile.am | 3 +-- 4335 debug/crc32.c | 2 ++ 4336 debug/full_flush.c | 2 ++ 4337 debug/hex2bin.c | 2 ++ 4338 debug/known_sizes.c | 2 ++ 4339 debug/memusage.c | 2 ++ 4340 debug/repeat.c | 2 ++ 4341 debug/sync_flush.c | 2 ++ 4342 debug/translation.bash | 1 + 4343 doc/examples/01_compress_easy.c | 2 ++ 4344 doc/examples/02_decompress.c | 2 ++ 4345 doc/examples/03_compress_custom.c | 2 ++ 4346 doc/examples/04_compress_easy_mt.c | 2 ++ 4347 doc/examples/11_file_info.c | 2 ++ 4348 doc/examples/Makefile | 3 +-- 4349 dos/Makefile | 2 ++ 4350 dos/config.h | 2 ++ 4351 doxygen/update-doxygen | 3 ++- 4352 extra/7z2lzma/7z2lzma.bash | 3 ++- 4353 m4/tuklib_common.m4 | 8 ++++++-- 4354 m4/tuklib_cpucores.m4 | 8 ++++++-- 4355 m4/tuklib_integer.m4 | 8 ++++++-- 4356 m4/tuklib_mbstr.m4 | 8 ++++++-- 4357 m4/tuklib_physmem.m4 | 8 ++++++-- 4358 m4/tuklib_progname.m4 | 8 ++++++-- 4359 po/POTFILES.in | 2 ++ 4360 po4a/po4a.conf | 2 ++ 4361 po4a/update-po | 3 ++- 4362 src/Makefile.am | 3 +-- 4363 src/common/common_w32res.rc | 2 ++ 4364 src/common/mythread.h | 2 ++ 4365 src/common/sysdefs.h | 2 ++ 4366 src/common/tuklib_common.h | 2 ++ 4367 src/common/tuklib_config.h | 2 ++ 4368 src/common/tuklib_cpucores.c | 2 ++ 4369 src/common/tuklib_cpucores.h | 2 ++ 4370 src/common/tuklib_exit.c | 2 ++ 4371 src/common/tuklib_exit.h | 2 ++ 4372 src/common/tuklib_gettext.h | 2 ++ 4373 src/common/tuklib_integer.h | 2 ++ 4374 src/common/tuklib_mbstr.h | 2 ++ 4375 src/common/tuklib_mbstr_fw.c | 2 ++ 4376 src/common/tuklib_mbstr_width.c | 2 ++ 4377 src/common/tuklib_open_stdxxx.c | 2 ++ 4378 src/common/tuklib_open_stdxxx.h | 2 ++ 4379 src/common/tuklib_physmem.c | 2 ++ 4380 src/common/tuklib_physmem.h | 2 ++ 4381 src/common/tuklib_progname.c | 2 ++ 4382 src/common/tuklib_progname.h | 2 ++ 4383 src/liblzma/Makefile.am | 3 +-- 4384 src/liblzma/api/Makefile.am | 3 +-- 4385 src/liblzma/api/lzma.h | 2 ++ 4386 src/liblzma/api/lzma/base.h | 2 ++ 4387 src/liblzma/api/lzma/bcj.h | 2 ++ 4388 src/liblzma/api/lzma/block.h | 2 ++ 4389 src/liblzma/api/lzma/check.h | 2 ++ 4390 src/liblzma/api/lzma/container.h | 2 ++ 4391 src/liblzma/api/lzma/delta.h | 2 ++ 4392 src/liblzma/api/lzma/filter.h | 2 ++ 4393 src/liblzma/api/lzma/hardware.h | 2 ++ 4394 src/liblzma/api/lzma/index.h | 2 ++ 4395 src/liblzma/api/lzma/index_hash.h | 2 ++ 4396 src/liblzma/api/lzma/lzma12.h | 2 ++ 4397 src/liblzma/api/lzma/stream_flags.h | 2 ++ 4398 src/liblzma/api/lzma/version.h | 2 ++ 4399 src/liblzma/api/lzma/vli.h | 2 ++ 4400 src/liblzma/check/Makefile.inc | 4 ++-- 4401 src/liblzma/check/check.c | 2 ++ 4402 src/liblzma/check/check.h | 2 ++ 4403 src/liblzma/check/crc32_arm64.h | 2 ++ 4404 src/liblzma/check/crc32_fast.c | 2 ++ 4405 src/liblzma/check/crc32_small.c | 2 ++ 4406 src/liblzma/check/crc32_table.c | 2 ++ 4407 src/liblzma/check/crc32_tablegen.c | 2 ++ 4408 src/liblzma/check/crc32_x86.S | 2 ++ 4409 src/liblzma/check/crc64_fast.c | 2 ++ 4410 src/liblzma/check/crc64_small.c | 2 ++ 4411 src/liblzma/check/crc64_table.c | 2 ++ 4412 src/liblzma/check/crc64_tablegen.c | 2 ++ 4413 src/liblzma/check/crc64_x86.S | 2 ++ 4414 src/liblzma/check/crc_common.h | 2 ++ 4415 src/liblzma/check/crc_x86_clmul.h | 2 ++ 4416 src/liblzma/check/sha256.c | 2 ++ 4417 src/liblzma/common/Makefile.inc | 3 +-- 4418 src/liblzma/common/alone_decoder.c | 2 ++ 4419 src/liblzma/common/alone_decoder.h | 2 ++ 4420 src/liblzma/common/alone_encoder.c | 2 ++ 4421 src/liblzma/common/auto_decoder.c | 2 ++ 4422 src/liblzma/common/block_buffer_decoder.c | 2 ++ 4423 src/liblzma/common/block_buffer_encoder.c | 2 ++ 4424 src/liblzma/common/block_buffer_encoder.h | 2 ++ 4425 src/liblzma/common/block_decoder.c | 2 ++ 4426 src/liblzma/common/block_decoder.h | 2 ++ 4427 src/liblzma/common/block_encoder.c | 2 ++ 4428 src/liblzma/common/block_encoder.h | 2 ++ 4429 src/liblzma/common/block_header_decoder.c | 2 ++ 4430 src/liblzma/common/block_header_encoder.c | 2 ++ 4431 src/liblzma/common/block_util.c | 2 ++ 4432 src/liblzma/common/common.c | 2 ++ 4433 src/liblzma/common/common.h | 2 ++ 4434 src/liblzma/common/easy_buffer_encoder.c | 2 ++ 4435 src/liblzma/common/easy_decoder_memusage.c | 2 ++ 4436 src/liblzma/common/easy_encoder.c | 2 ++ 4437 src/liblzma/common/easy_encoder_memusage.c | 2 ++ 4438 src/liblzma/common/easy_preset.c | 2 ++ 4439 src/liblzma/common/easy_preset.h | 2 ++ 4440 src/liblzma/common/file_info.c | 2 ++ 4441 src/liblzma/common/filter_buffer_decoder.c | 2 ++ 4442 src/liblzma/common/filter_buffer_encoder.c | 2 ++ 4443 src/liblzma/common/filter_common.c | 2 ++ 4444 src/liblzma/common/filter_common.h | 2 ++ 4445 src/liblzma/common/filter_decoder.c | 2 ++ 4446 src/liblzma/common/filter_decoder.h | 2 ++ 4447 src/liblzma/common/filter_encoder.c | 2 ++ 4448 src/liblzma/common/filter_encoder.h | 2 ++ 4449 src/liblzma/common/filter_flags_decoder.c | 2 ++ 4450 src/liblzma/common/filter_flags_encoder.c | 2 ++ 4451 src/liblzma/common/hardware_cputhreads.c | 2 ++ 4452 src/liblzma/common/hardware_physmem.c | 2 ++ 4453 src/liblzma/common/index.c | 2 ++ 4454 src/liblzma/common/index.h | 2 ++ 4455 src/liblzma/common/index_decoder.c | 2 ++ 4456 src/liblzma/common/index_decoder.h | 2 ++ 4457 src/liblzma/common/index_encoder.c | 2 ++ 4458 src/liblzma/common/index_encoder.h | 2 ++ 4459 src/liblzma/common/index_hash.c | 2 ++ 4460 src/liblzma/common/lzip_decoder.c | 2 ++ 4461 src/liblzma/common/lzip_decoder.h | 2 ++ 4462 src/liblzma/common/memcmplen.h | 2 ++ 4463 src/liblzma/common/microlzma_decoder.c | 2 ++ 4464 src/liblzma/common/microlzma_encoder.c | 2 ++ 4465 src/liblzma/common/outqueue.c | 2 ++ 4466 src/liblzma/common/outqueue.h | 2 ++ 4467 src/liblzma/common/stream_buffer_decoder.c | 2 ++ 4468 src/liblzma/common/stream_buffer_encoder.c | 2 ++ 4469 src/liblzma/common/stream_decoder.c | 2 ++ 4470 src/liblzma/common/stream_decoder.h | 2 ++ 4471 src/liblzma/common/stream_decoder_mt.c | 2 ++ 4472 src/liblzma/common/stream_encoder.c | 2 ++ 4473 src/liblzma/common/stream_encoder_mt.c | 2 ++ 4474 src/liblzma/common/stream_flags_common.c | 2 ++ 4475 src/liblzma/common/stream_flags_common.h | 2 ++ 4476 src/liblzma/common/stream_flags_decoder.c | 2 ++ 4477 src/liblzma/common/stream_flags_encoder.c | 2 ++ 4478 src/liblzma/common/string_conversion.c | 2 ++ 4479 src/liblzma/common/vli_decoder.c | 2 ++ 4480 src/liblzma/common/vli_encoder.c | 2 ++ 4481 src/liblzma/common/vli_size.c | 2 ++ 4482 src/liblzma/delta/Makefile.inc | 3 +-- 4483 src/liblzma/delta/delta_common.c | 2 ++ 4484 src/liblzma/delta/delta_common.h | 2 ++ 4485 src/liblzma/delta/delta_decoder.c | 2 ++ 4486 src/liblzma/delta/delta_decoder.h | 2 ++ 4487 src/liblzma/delta/delta_encoder.c | 2 ++ 4488 src/liblzma/delta/delta_encoder.h | 2 ++ 4489 src/liblzma/delta/delta_private.h | 2 ++ 4490 src/liblzma/liblzma.pc.in | 3 +-- 4491 src/liblzma/liblzma_generic.map | 2 ++ 4492 src/liblzma/liblzma_linux.map | 2 ++ 4493 src/liblzma/liblzma_w32res.rc | 2 ++ 4494 src/liblzma/lz/Makefile.inc | 3 +-- 4495 src/liblzma/lz/lz_decoder.c | 2 ++ 4496 src/liblzma/lz/lz_decoder.h | 2 ++ 4497 src/liblzma/lz/lz_encoder.c | 2 ++ 4498 src/liblzma/lz/lz_encoder.h | 2 ++ 4499 src/liblzma/lz/lz_encoder_hash.h | 2 ++ 4500 src/liblzma/lz/lz_encoder_mf.c | 2 ++ 4501 src/liblzma/lzma/Makefile.inc | 3 +-- 4502 src/liblzma/lzma/fastpos.h | 2 ++ 4503 src/liblzma/lzma/fastpos_tablegen.c | 2 ++ 4504 src/liblzma/lzma/lzma2_decoder.c | 2 ++ 4505 src/liblzma/lzma/lzma2_decoder.h | 2 ++ 4506 src/liblzma/lzma/lzma2_encoder.c | 2 ++ 4507 src/liblzma/lzma/lzma2_encoder.h | 2 ++ 4508 src/liblzma/lzma/lzma_common.h | 2 ++ 4509 src/liblzma/lzma/lzma_decoder.c | 2 ++ 4510 src/liblzma/lzma/lzma_decoder.h | 2 ++ 4511 src/liblzma/lzma/lzma_encoder.c | 2 ++ 4512 src/liblzma/lzma/lzma_encoder.h | 2 ++ 4513 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 ++ 4514 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 ++ 4515 src/liblzma/lzma/lzma_encoder_presets.c | 2 ++ 4516 src/liblzma/lzma/lzma_encoder_private.h | 2 ++ 4517 src/liblzma/rangecoder/Makefile.inc | 3 +-- 4518 src/liblzma/rangecoder/price.h | 2 ++ 4519 src/liblzma/rangecoder/price_tablegen.c | 2 ++ 4520 src/liblzma/rangecoder/range_common.h | 2 ++ 4521 src/liblzma/rangecoder/range_decoder.h | 2 ++ 4522 src/liblzma/rangecoder/range_encoder.h | 2 ++ 4523 src/liblzma/simple/Makefile.inc | 3 +-- 4524 src/liblzma/simple/arm.c | 2 ++ 4525 src/liblzma/simple/arm64.c | 2 ++ 4526 src/liblzma/simple/armthumb.c | 2 ++ 4527 src/liblzma/simple/ia64.c | 2 ++ 4528 src/liblzma/simple/powerpc.c | 2 ++ 4529 src/liblzma/simple/riscv.c | 2 ++ 4530 src/liblzma/simple/simple_coder.c | 2 ++ 4531 src/liblzma/simple/simple_coder.h | 2 ++ 4532 src/liblzma/simple/simple_decoder.c | 2 ++ 4533 src/liblzma/simple/simple_decoder.h | 2 ++ 4534 src/liblzma/simple/simple_encoder.c | 2 ++ 4535 src/liblzma/simple/simple_encoder.h | 2 ++ 4536 src/liblzma/simple/simple_private.h | 2 ++ 4537 src/liblzma/simple/sparc.c | 2 ++ 4538 src/liblzma/simple/x86.c | 2 ++ 4539 src/liblzma/validate_map.sh | 1 + 4540 src/lzmainfo/Makefile.am | 3 +-- 4541 src/lzmainfo/lzmainfo.c | 2 ++ 4542 src/lzmainfo/lzmainfo_w32res.rc | 2 ++ 4543 src/scripts/Makefile.am | 3 +-- 4544 src/xz/Makefile.am | 3 +-- 4545 src/xz/args.c | 2 ++ 4546 src/xz/args.h | 2 ++ 4547 src/xz/coder.c | 2 ++ 4548 src/xz/coder.h | 2 ++ 4549 src/xz/file_io.c | 2 ++ 4550 src/xz/file_io.h | 2 ++ 4551 src/xz/hardware.c | 2 ++ 4552 src/xz/hardware.h | 2 ++ 4553 src/xz/list.c | 2 ++ 4554 src/xz/list.h | 2 ++ 4555 src/xz/main.c | 2 ++ 4556 src/xz/main.h | 2 ++ 4557 src/xz/message.c | 2 ++ 4558 src/xz/message.h | 2 ++ 4559 src/xz/mytime.c | 2 ++ 4560 src/xz/mytime.h | 2 ++ 4561 src/xz/options.c | 2 ++ 4562 src/xz/options.h | 2 ++ 4563 src/xz/private.h | 2 ++ 4564 src/xz/signals.c | 2 ++ 4565 src/xz/signals.h | 2 ++ 4566 src/xz/suffix.c | 2 ++ 4567 src/xz/suffix.h | 2 ++ 4568 src/xz/util.c | 2 ++ 4569 src/xz/util.h | 2 ++ 4570 src/xz/xz_w32res.rc | 2 ++ 4571 src/xzdec/Makefile.am | 3 +-- 4572 src/xzdec/lzmadec_w32res.rc | 2 ++ 4573 src/xzdec/xzdec.c | 2 ++ 4574 src/xzdec/xzdec_w32res.rc | 2 ++ 4575 tests/Makefile.am | 3 +-- 4576 tests/bcj_test.c | 2 ++ 4577 tests/code_coverage.sh | 1 + 4578 tests/create_compress_files.c | 2 ++ 4579 tests/ossfuzz/fuzz_common.h | 2 ++ 4580 tests/ossfuzz/fuzz_decode_alone.c | 2 ++ 4581 tests/ossfuzz/fuzz_decode_stream.c | 2 ++ 4582 tests/ossfuzz/fuzz_encode_stream.c | 2 ++ 4583 tests/test_bcj_exact_size.c | 2 ++ 4584 tests/test_block_header.c | 2 ++ 4585 tests/test_check.c | 2 ++ 4586 tests/test_compress.sh | 1 + 4587 tests/test_compress_generated_abc | 1 + 4588 tests/test_compress_generated_random | 1 + 4589 tests/test_compress_generated_text | 1 + 4590 tests/test_compress_prepared_bcj_sparc | 1 + 4591 tests/test_compress_prepared_bcj_x86 | 1 + 4592 tests/test_files.sh | 1 + 4593 tests/test_filter_flags.c | 2 ++ 4594 tests/test_filter_str.c | 2 ++ 4595 tests/test_hardware.c | 2 ++ 4596 tests/test_index.c | 2 ++ 4597 tests/test_index_hash.c | 2 ++ 4598 tests/test_lzip_decoder.c | 2 ++ 4599 tests/test_memlimit.c | 2 ++ 4600 tests/test_scripts.sh | 1 + 4601 tests/test_stream_flags.c | 2 ++ 4602 tests/test_suffix.sh | 1 + 4603 tests/test_vli.c | 2 ++ 4604 tests/tests.h | 2 ++ 4605 tests/tuktest.h | 2 ++ 4606 windows/build.bash | 3 ++- 4607 290 files changed, 588 insertions(+), 58 deletions(-) 4608 4609commit 23de53421ea258cde6a3c33a038b1e9d08f771d1 4610Author: Lasse Collin <lasse.collin@tukaani.org> 4611Date: 2024-02-12 23:25:54 +0200 4612 4613 liblzma: Sync the AUTHORS fix about SHA-256 to lzma.h. 4614 4615 src/liblzma/api/lzma.h | 10 ++++------ 4616 1 file changed, 4 insertions(+), 6 deletions(-) 4617 4618commit 689e0228baeb95232430e90d628379db89583d71 4619Author: Lasse Collin <lasse.collin@tukaani.org> 4620Date: 2024-02-12 17:09:10 +0200 4621 4622 Change most public domain parts to 0BSD. 4623 4624 Translations and doc/xz-file-format.txt and doc/lzma-file-format.txt 4625 were not touched. 4626 4627 COPYING.0BSD was added. 4628 4629 .github/workflows/ci.yml | 3 - 4630 .github/workflows/windows-ci.yml | 3 - 4631 CMakeLists.txt | 3 - 4632 COPYING | 112 ++++++++++++++----------- 4633 COPYING.0BSD | 11 +++ 4634 Makefile.am | 3 - 4635 PACKAGERS | 11 +-- 4636 autogen.sh | 3 - 4637 build-aux/ci_build.sh | 3 - 4638 build-aux/manconv.sh | 3 - 4639 build-aux/version.sh | 3 - 4640 cmake/remove-ordinals.cmake | 3 - 4641 cmake/tuklib_common.cmake | 3 - 4642 cmake/tuklib_cpucores.cmake | 3 - 4643 cmake/tuklib_integer.cmake | 3 - 4644 cmake/tuklib_large_file_support.cmake | 3 - 4645 cmake/tuklib_mbstr.cmake | 3 - 4646 cmake/tuklib_physmem.cmake | 3 - 4647 cmake/tuklib_progname.cmake | 3 - 4648 configure.ac | 3 - 4649 debug/Makefile.am | 3 - 4650 debug/crc32.c | 3 - 4651 debug/full_flush.c | 3 - 4652 debug/hex2bin.c | 3 - 4653 debug/known_sizes.c | 3 - 4654 debug/memusage.c | 3 - 4655 debug/repeat.c | 3 - 4656 debug/sync_flush.c | 3 - 4657 debug/translation.bash | 3 - 4658 doc/examples/01_compress_easy.c | 3 - 4659 doc/examples/02_decompress.c | 3 - 4660 doc/examples/03_compress_custom.c | 3 - 4661 doc/examples/04_compress_easy_mt.c | 3 - 4662 doc/examples/11_file_info.c | 3 - 4663 doc/examples/Makefile | 3 - 4664 dos/Makefile | 3 - 4665 doxygen/update-doxygen | 3 - 4666 extra/7z2lzma/7z2lzma.bash | 3 - 4667 m4/tuklib_common.m4 | 3 - 4668 m4/tuklib_cpucores.m4 | 3 - 4669 m4/tuklib_integer.m4 | 3 - 4670 m4/tuklib_mbstr.m4 | 3 - 4671 m4/tuklib_physmem.m4 | 3 - 4672 m4/tuklib_progname.m4 | 3 - 4673 po4a/update-po | 3 - 4674 src/Makefile.am | 3 - 4675 src/common/common_w32res.rc | 3 - 4676 src/common/mythread.h | 3 - 4677 src/common/sysdefs.h | 3 - 4678 src/common/tuklib_common.h | 3 - 4679 src/common/tuklib_cpucores.c | 3 - 4680 src/common/tuklib_cpucores.h | 3 - 4681 src/common/tuklib_exit.c | 3 - 4682 src/common/tuklib_exit.h | 3 - 4683 src/common/tuklib_gettext.h | 3 - 4684 src/common/tuklib_integer.h | 3 - 4685 src/common/tuklib_mbstr.h | 3 - 4686 src/common/tuklib_mbstr_fw.c | 3 - 4687 src/common/tuklib_mbstr_width.c | 3 - 4688 src/common/tuklib_open_stdxxx.c | 3 - 4689 src/common/tuklib_open_stdxxx.h | 3 - 4690 src/common/tuklib_physmem.c | 3 - 4691 src/common/tuklib_physmem.h | 3 - 4692 src/common/tuklib_progname.c | 3 - 4693 src/common/tuklib_progname.h | 3 - 4694 src/liblzma/Makefile.am | 3 - 4695 src/liblzma/api/Makefile.am | 3 - 4696 src/liblzma/api/lzma.h | 13 ++- 4697 src/liblzma/api/lzma/base.h | 3 - 4698 src/liblzma/api/lzma/bcj.h | 3 - 4699 src/liblzma/api/lzma/block.h | 3 - 4700 src/liblzma/api/lzma/check.h | 3 - 4701 src/liblzma/api/lzma/container.h | 3 - 4702 src/liblzma/api/lzma/delta.h | 3 - 4703 src/liblzma/api/lzma/filter.h | 3 - 4704 src/liblzma/api/lzma/hardware.h | 3 - 4705 src/liblzma/api/lzma/index.h | 3 - 4706 src/liblzma/api/lzma/index_hash.h | 3 - 4707 src/liblzma/api/lzma/lzma12.h | 3 - 4708 src/liblzma/api/lzma/stream_flags.h | 3 - 4709 src/liblzma/api/lzma/version.h | 3 - 4710 src/liblzma/api/lzma/vli.h | 3 - 4711 src/liblzma/check/Makefile.inc | 3 - 4712 src/liblzma/check/check.c | 3 - 4713 src/liblzma/check/check.h | 3 - 4714 src/liblzma/check/crc32_arm64.h | 3 - 4715 src/liblzma/check/crc32_fast.c | 3 - 4716 src/liblzma/check/crc32_small.c | 3 - 4717 src/liblzma/check/crc32_table.c | 3 - 4718 src/liblzma/check/crc32_tablegen.c | 3 - 4719 src/liblzma/check/crc32_x86.S | 3 - 4720 src/liblzma/check/crc64_fast.c | 3 - 4721 src/liblzma/check/crc64_small.c | 3 - 4722 src/liblzma/check/crc64_table.c | 3 - 4723 src/liblzma/check/crc64_tablegen.c | 3 - 4724 src/liblzma/check/crc64_x86.S | 3 - 4725 src/liblzma/check/crc_common.h | 3 - 4726 src/liblzma/check/crc_x86_clmul.h | 3 - 4727 src/liblzma/check/sha256.c | 3 - 4728 src/liblzma/common/Makefile.inc | 3 - 4729 src/liblzma/common/alone_decoder.c | 3 - 4730 src/liblzma/common/alone_decoder.h | 3 - 4731 src/liblzma/common/alone_encoder.c | 3 - 4732 src/liblzma/common/auto_decoder.c | 3 - 4733 src/liblzma/common/block_buffer_decoder.c | 3 - 4734 src/liblzma/common/block_buffer_encoder.c | 3 - 4735 src/liblzma/common/block_buffer_encoder.h | 3 - 4736 src/liblzma/common/block_decoder.c | 3 - 4737 src/liblzma/common/block_decoder.h | 3 - 4738 src/liblzma/common/block_encoder.c | 3 - 4739 src/liblzma/common/block_encoder.h | 3 - 4740 src/liblzma/common/block_header_decoder.c | 3 - 4741 src/liblzma/common/block_header_encoder.c | 3 - 4742 src/liblzma/common/block_util.c | 3 - 4743 src/liblzma/common/common.c | 3 - 4744 src/liblzma/common/common.h | 3 - 4745 src/liblzma/common/easy_buffer_encoder.c | 3 - 4746 src/liblzma/common/easy_decoder_memusage.c | 3 - 4747 src/liblzma/common/easy_encoder.c | 3 - 4748 src/liblzma/common/easy_encoder_memusage.c | 3 - 4749 src/liblzma/common/easy_preset.c | 3 - 4750 src/liblzma/common/easy_preset.h | 3 - 4751 src/liblzma/common/file_info.c | 3 - 4752 src/liblzma/common/filter_buffer_decoder.c | 3 - 4753 src/liblzma/common/filter_buffer_encoder.c | 3 - 4754 src/liblzma/common/filter_common.c | 3 - 4755 src/liblzma/common/filter_common.h | 3 - 4756 src/liblzma/common/filter_decoder.c | 3 - 4757 src/liblzma/common/filter_decoder.h | 3 - 4758 src/liblzma/common/filter_encoder.c | 3 - 4759 src/liblzma/common/filter_encoder.h | 3 - 4760 src/liblzma/common/filter_flags_decoder.c | 3 - 4761 src/liblzma/common/filter_flags_encoder.c | 3 - 4762 src/liblzma/common/hardware_cputhreads.c | 3 - 4763 src/liblzma/common/hardware_physmem.c | 3 - 4764 src/liblzma/common/index.c | 3 - 4765 src/liblzma/common/index.h | 3 - 4766 src/liblzma/common/index_decoder.c | 3 - 4767 src/liblzma/common/index_decoder.h | 3 - 4768 src/liblzma/common/index_encoder.c | 3 - 4769 src/liblzma/common/index_encoder.h | 3 - 4770 src/liblzma/common/index_hash.c | 3 - 4771 src/liblzma/common/lzip_decoder.c | 3 - 4772 src/liblzma/common/lzip_decoder.h | 3 - 4773 src/liblzma/common/memcmplen.h | 3 - 4774 src/liblzma/common/microlzma_decoder.c | 3 - 4775 src/liblzma/common/microlzma_encoder.c | 3 - 4776 src/liblzma/common/outqueue.c | 3 - 4777 src/liblzma/common/outqueue.h | 3 - 4778 src/liblzma/common/stream_buffer_decoder.c | 3 - 4779 src/liblzma/common/stream_buffer_encoder.c | 3 - 4780 src/liblzma/common/stream_decoder.c | 3 - 4781 src/liblzma/common/stream_decoder.h | 3 - 4782 src/liblzma/common/stream_decoder_mt.c | 3 - 4783 src/liblzma/common/stream_encoder.c | 3 - 4784 src/liblzma/common/stream_encoder_mt.c | 3 - 4785 src/liblzma/common/stream_flags_common.c | 3 - 4786 src/liblzma/common/stream_flags_common.h | 3 - 4787 src/liblzma/common/stream_flags_decoder.c | 3 - 4788 src/liblzma/common/stream_flags_encoder.c | 3 - 4789 src/liblzma/common/string_conversion.c | 3 - 4790 src/liblzma/common/vli_decoder.c | 3 - 4791 src/liblzma/common/vli_encoder.c | 3 - 4792 src/liblzma/common/vli_size.c | 3 - 4793 src/liblzma/delta/Makefile.inc | 3 - 4794 src/liblzma/delta/delta_common.c | 3 - 4795 src/liblzma/delta/delta_common.h | 3 - 4796 src/liblzma/delta/delta_decoder.c | 3 - 4797 src/liblzma/delta/delta_decoder.h | 3 - 4798 src/liblzma/delta/delta_encoder.c | 3 - 4799 src/liblzma/delta/delta_encoder.h | 3 - 4800 src/liblzma/delta/delta_private.h | 3 - 4801 src/liblzma/liblzma.pc.in | 3 - 4802 src/liblzma/liblzma_w32res.rc | 3 - 4803 src/liblzma/lz/Makefile.inc | 3 - 4804 src/liblzma/lz/lz_decoder.c | 3 - 4805 src/liblzma/lz/lz_decoder.h | 3 - 4806 src/liblzma/lz/lz_encoder.c | 3 - 4807 src/liblzma/lz/lz_encoder.h | 3 - 4808 src/liblzma/lz/lz_encoder_hash.h | 3 - 4809 src/liblzma/lz/lz_encoder_mf.c | 3 - 4810 src/liblzma/lzma/Makefile.inc | 3 - 4811 src/liblzma/lzma/fastpos.h | 3 - 4812 src/liblzma/lzma/fastpos_tablegen.c | 3 - 4813 src/liblzma/lzma/lzma2_decoder.c | 3 - 4814 src/liblzma/lzma/lzma2_decoder.h | 3 - 4815 src/liblzma/lzma/lzma2_encoder.c | 3 - 4816 src/liblzma/lzma/lzma2_encoder.h | 3 - 4817 src/liblzma/lzma/lzma_common.h | 3 - 4818 src/liblzma/lzma/lzma_decoder.c | 3 - 4819 src/liblzma/lzma/lzma_decoder.h | 3 - 4820 src/liblzma/lzma/lzma_encoder.c | 3 - 4821 src/liblzma/lzma/lzma_encoder.h | 3 - 4822 src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 - 4823 src/liblzma/lzma/lzma_encoder_optimum_normal.c | 3 - 4824 src/liblzma/lzma/lzma_encoder_presets.c | 3 - 4825 src/liblzma/lzma/lzma_encoder_private.h | 3 - 4826 src/liblzma/rangecoder/Makefile.inc | 3 - 4827 src/liblzma/rangecoder/price.h | 3 - 4828 src/liblzma/rangecoder/price_tablegen.c | 3 - 4829 src/liblzma/rangecoder/range_common.h | 3 - 4830 src/liblzma/rangecoder/range_decoder.h | 3 - 4831 src/liblzma/rangecoder/range_encoder.h | 3 - 4832 src/liblzma/simple/Makefile.inc | 3 - 4833 src/liblzma/simple/arm.c | 3 - 4834 src/liblzma/simple/arm64.c | 3 - 4835 src/liblzma/simple/armthumb.c | 3 - 4836 src/liblzma/simple/ia64.c | 3 - 4837 src/liblzma/simple/powerpc.c | 3 - 4838 src/liblzma/simple/riscv.c | 3 - 4839 src/liblzma/simple/simple_coder.c | 3 - 4840 src/liblzma/simple/simple_coder.h | 3 - 4841 src/liblzma/simple/simple_decoder.c | 3 - 4842 src/liblzma/simple/simple_decoder.h | 3 - 4843 src/liblzma/simple/simple_encoder.c | 3 - 4844 src/liblzma/simple/simple_encoder.h | 3 - 4845 src/liblzma/simple/simple_private.h | 3 - 4846 src/liblzma/simple/sparc.c | 3 - 4847 src/liblzma/simple/x86.c | 3 - 4848 src/liblzma/validate_map.sh | 3 - 4849 src/lzmainfo/Makefile.am | 3 - 4850 src/lzmainfo/lzmainfo.1 | 4 +- 4851 src/lzmainfo/lzmainfo.c | 3 - 4852 src/lzmainfo/lzmainfo_w32res.rc | 3 - 4853 src/scripts/Makefile.am | 3 - 4854 src/scripts/xzless.1 | 4 +- 4855 src/xz/Makefile.am | 3 - 4856 src/xz/args.c | 3 - 4857 src/xz/args.h | 3 - 4858 src/xz/coder.c | 3 - 4859 src/xz/coder.h | 3 - 4860 src/xz/file_io.c | 3 - 4861 src/xz/file_io.h | 3 - 4862 src/xz/hardware.c | 3 - 4863 src/xz/hardware.h | 3 - 4864 src/xz/list.c | 3 - 4865 src/xz/list.h | 3 - 4866 src/xz/main.c | 3 - 4867 src/xz/main.h | 3 - 4868 src/xz/message.c | 3 - 4869 src/xz/message.h | 3 - 4870 src/xz/mytime.c | 3 - 4871 src/xz/mytime.h | 3 - 4872 src/xz/options.c | 3 - 4873 src/xz/options.h | 3 - 4874 src/xz/private.h | 3 - 4875 src/xz/signals.c | 3 - 4876 src/xz/signals.h | 3 - 4877 src/xz/suffix.c | 3 - 4878 src/xz/suffix.h | 3 - 4879 src/xz/util.c | 3 - 4880 src/xz/util.h | 3 - 4881 src/xz/xz.1 | 4 +- 4882 src/xz/xz_w32res.rc | 3 - 4883 src/xzdec/Makefile.am | 3 - 4884 src/xzdec/lzmadec_w32res.rc | 3 - 4885 src/xzdec/xzdec.1 | 4 +- 4886 src/xzdec/xzdec.c | 3 - 4887 src/xzdec/xzdec_w32res.rc | 3 - 4888 tests/Makefile.am | 3 - 4889 tests/bcj_test.c | 3 - 4890 tests/code_coverage.sh | 3 - 4891 tests/create_compress_files.c | 3 - 4892 tests/files/README | 3 +- 4893 tests/ossfuzz/fuzz_common.h | 3 - 4894 tests/ossfuzz/fuzz_decode_alone.c | 3 - 4895 tests/ossfuzz/fuzz_decode_stream.c | 3 - 4896 tests/ossfuzz/fuzz_encode_stream.c | 3 - 4897 tests/test_bcj_exact_size.c | 3 - 4898 tests/test_block_header.c | 3 - 4899 tests/test_check.c | 3 - 4900 tests/test_compress.sh | 3 - 4901 tests/test_files.sh | 3 - 4902 tests/test_filter_flags.c | 3 - 4903 tests/test_filter_str.c | 3 - 4904 tests/test_hardware.c | 3 - 4905 tests/test_index.c | 3 - 4906 tests/test_index_hash.c | 3 - 4907 tests/test_lzip_decoder.c | 3 - 4908 tests/test_memlimit.c | 3 - 4909 tests/test_scripts.sh | 3 - 4910 tests/test_stream_flags.c | 3 - 4911 tests/test_suffix.sh | 3 - 4912 tests/test_vli.c | 3 - 4913 tests/tests.h | 3 - 4914 tests/tuktest.h | 3 - 4915 windows/README-Windows.txt | 11 +-- 4916 windows/build.bash | 3 - 4917 288 files changed, 100 insertions(+), 911 deletions(-) 4918 4919commit 76946dc4336c831fe2cc26696a035d807dd3cf13 4920Author: Lasse Collin <lasse.collin@tukaani.org> 4921Date: 2024-02-09 17:20:31 +0200 4922 4923 Fix SHA-256 authors. 4924 4925 The initial commit 5d018dc03549c1ee4958364712fb0c94e1bf2741 4926 in 2007 had a comment in sha256.c that the code is based on 4927 Crypto++ Library 5.5.1. In 2009 the Authors list in sha256.c 4928 and the AUTHORS file was updated with information that the 4929 code had come from Crypto++ but via 7-Zip. I know I had viewed 4930 7-Zip's SHA-256 code but back then the C code has been identical 4931 enough with Crypto++, so I don't why I thought the author info 4932 would need that extra step via 7-Zip for this single file. 4933 4934 Another error is that I had mixed sha.* and shacal2.* files 4935 when checking for author info in Crypto++. The shacal2.* files 4936 aren't related to liblzma's sha256.c and thus Kevin Springle's 4937 code in Crypto++ isn't either. 4938 4939 AUTHORS | 6 ++---- 4940 src/liblzma/check/sha256.c | 14 ++++---------- 4941 2 files changed, 6 insertions(+), 14 deletions(-) 4942 4943commit 21d9cbae9eecca28ce373d3d9464defd2cf5d851 4944Author: Lasse Collin <lasse.collin@tukaani.org> 4945Date: 2024-02-09 17:20:31 +0200 4946 4947 Remove macosx/build.sh. 4948 4949 It was last updated in 2013. 4950 4951 Makefile.am | 1 - 4952 macosx/build.sh | 113 -------------------------------------------------------- 4953 2 files changed, 114 deletions(-) 4954 4955commit eac2c3c67f9113a225fb6667df862edd30366931 4956Author: Lasse Collin <lasse.collin@tukaani.org> 4957Date: 2024-02-09 17:20:31 +0200 4958 4959 Doc: Remove doc/examples_old. 4960 4961 It was good to keep these around in parallel with the newer examples 4962 but I think it's OK to remove the old ones at this point. 4963 4964 Makefile.am | 5 -- 4965 doc/examples_old/xz_pipe_comp.c | 127 -------------------------------------- 4966 doc/examples_old/xz_pipe_decomp.c | 123 ------------------------------------ 4967 3 files changed, 255 deletions(-) 4968 4969commit 89ea1a22f4ed3685b053b7260bc5acf6c75d1664 4970Author: Jia Tan <jiat0218@gmail.com> 4971Date: 2024-02-13 22:38:58 +0800 4972 4973 Tests: Add RISC-V filter support in a few places. 4974 4975 tests/test_filter_flags.c | 6 ++++++ 4976 tests/test_filter_str.c | 6 ++++++ 4977 2 files changed, 12 insertions(+) 4978 4979commit 45663443eb2b377e6171529380fee312f1adcdf4 4980Author: Jia Tan <jiat0218@gmail.com> 4981Date: 2024-02-13 22:37:07 +0800 4982 4983 liblzma: Fix build error if only RISC-V BCJ filter is enabled. 4984 4985 If any other BCJ filter was enabled for encoding or decoding, then this 4986 was not a problem. 4987 4988 src/liblzma/common/string_conversion.c | 4 +++- 4989 1 file changed, 3 insertions(+), 1 deletion(-) 4990 4991commit 2f15597d677bc35743c777d4cf3bfa698b478681 4992Author: Jia Tan <jiat0218@gmail.com> 4993Date: 2024-02-13 22:56:24 +0800 4994 4995 Translations: Update the Korean translation. 4996 4997 po/ko.po | 526 ++++++++++++++++++++++++++++++++++----------------------------- 4998 1 file changed, 284 insertions(+), 242 deletions(-) 4999 5000commit df873143ad1615c6d6aaa1bf8808b1676091dfe3 5001Author: Jia Tan <jiat0218@gmail.com> 5002Date: 2024-02-13 01:55:53 +0800 5003 5004 Translations: Update the Korean man page translations. 5005 5006 po4a/ko.po | 1375 ++++++++++++++++++++++++++++++++++-------------------------- 5007 1 file changed, 770 insertions(+), 605 deletions(-) 5008 5009commit b3f415eddb150341865a1af47959c3baba076b33 5010Author: Jia Tan <jiat0218@gmail.com> 5011Date: 2024-02-13 01:53:33 +0800 5012 5013 Translations: Update the Chinese (simplified) translation. 5014 5015 po/zh_CN.po | 424 ++++++++++++++++++++++++++++++++++++++---------------------- 5016 1 file changed, 268 insertions(+), 156 deletions(-) 5017 5018commit 9860d418d296eb3c721e5384fb367c0499b579c8 5019Author: Lasse Collin <lasse.collin@tukaani.org> 5020Date: 2024-02-09 23:21:01 +0200 5021 5022 xzless: Use ||- in LESSOPEN with with "less" 451 and newer. 5023 5024 src/scripts/xzless.in | 9 ++++++++- 5025 1 file changed, 8 insertions(+), 1 deletion(-) 5026 5027commit fd0692b0525e6c26b496492be9e2c865cab734f8 5028Author: Lasse Collin <lasse.collin@tukaani.org> 5029Date: 2024-02-09 23:00:05 +0200 5030 5031 xzless: Use --show-preproc-errors with "less" 632 and newer. 5032 5033 This makes "less" show a warning if a decompression error occurred. 5034 5035 src/scripts/xzless.in | 11 +++++++++-- 5036 1 file changed, 9 insertions(+), 2 deletions(-) 5037 5038commit adb073da76a920b5a81e6b32254f4ddb054dc57a 5039Author: Jia Tan <jiat0218@gmail.com> 5040Date: 2024-02-09 23:59:54 +0800 5041 5042 liblzma: Fix typo discovered by codespell. 5043 5044 src/liblzma/check/crc32_arm64.h | 2 +- 5045 1 file changed, 1 insertion(+), 1 deletion(-) 5046 5047commit 55d9fc883d221cbace951a370f1fb144698f8c2e 5048Author: Jia Tan <jiat0218@gmail.com> 5049Date: 2024-02-09 20:01:06 +0800 5050 5051 Translations: Update the Swedish translation. 5052 5053 po/sv.po | 420 ++++++++++++++++++++++++++++++++++++++------------------------- 5054 1 file changed, 254 insertions(+), 166 deletions(-) 5055 5056commit 55ba4a1ea321499c805eedfa811ffde690bae311 5057Author: Jia Tan <jiat0218@gmail.com> 5058Date: 2024-02-08 20:09:04 +0800 5059 5060 Translations: Update the Spanish translation. 5061 5062 po/es.po | 22 +++++++++++----------- 5063 1 file changed, 11 insertions(+), 11 deletions(-) 5064 5065commit 7f2293cd804a89d3c3b2d3ed573560ca9e1520ae 5066Author: Jia Tan <jiat0218@gmail.com> 5067Date: 2024-02-07 21:34:35 +0800 5068 5069 Translations: Update the Spanish translation. 5070 5071 po/es.po | 419 ++++++++++++++++++++++++++++++++++++++------------------------- 5072 1 file changed, 253 insertions(+), 166 deletions(-) 5073 5074commit f4af2036bc625739d6d33d9e1fede583a25c3828 5075Author: Jia Tan <jiat0218@gmail.com> 5076Date: 2024-02-07 21:28:32 +0800 5077 5078 Translations: Update the Polish translation. 5079 5080 po/pl.po | 411 ++++++++++++++++++++++++++++++++++++++------------------------- 5081 1 file changed, 249 insertions(+), 162 deletions(-) 5082 5083commit e5e93bb816043c559cddf03a3b7ba13bec353ee4 5084Author: Jia Tan <jiat0218@gmail.com> 5085Date: 2024-02-07 19:40:12 +0800 5086 5087 Translations: Update the German translation. 5088 5089 po/de.po | 396 ++++++++++++++++++++++++++++++++++++++------------------------- 5090 1 file changed, 242 insertions(+), 154 deletions(-) 5091 5092commit 28f18ff8e26902762fb007c13be235b4ac1ac071 5093Author: Jia Tan <jiat0218@gmail.com> 5094Date: 2024-02-07 19:27:25 +0800 5095 5096 Translations: Update the German man page translations. 5097 5098 po4a/de.po | 1353 +++++++++++++++++++++++++++++++++--------------------------- 5099 1 file changed, 752 insertions(+), 601 deletions(-) 5100 5101commit cabfbc7947da05aa5dfe39bec9759e076f940e3c 5102Author: Jia Tan <jiat0218@gmail.com> 5103Date: 2024-02-06 23:44:06 +0800 5104 5105 Translations: Update the Romanian translation. 5106 5107 po/ro.po | 416 ++++++++++++++++++++++++++++++++++++++------------------------- 5108 1 file changed, 252 insertions(+), 164 deletions(-) 5109 5110commit bf20c94f5d748cea2147779f4fa7e2fd2eb8555e 5111Author: Jia Tan <jiat0218@gmail.com> 5112Date: 2024-02-06 23:45:02 +0800 5113 5114 Translations: Update the Romanian man page translations. 5115 5116 po4a/ro.po | 1759 +++++++++++++++++++++++++++++++++--------------------------- 5117 1 file changed, 966 insertions(+), 793 deletions(-) 5118 5119commit 7c25ec9feb0241e4affb7432681cc4f5696f3a96 5120Author: Jia Tan <jiat0218@gmail.com> 5121Date: 2024-02-07 20:56:57 +0800 5122 5123 Translations: Update the Ukrainian translation. 5124 5125 po/uk.po | 397 ++++++++++++++++++++++++++++++++++++++------------------------- 5126 1 file changed, 242 insertions(+), 155 deletions(-) 5127 5128commit b3523250e9eef10b017473754c1e1c9e31f10374 5129Author: Jia Tan <jiat0218@gmail.com> 5130Date: 2024-02-06 23:30:03 +0800 5131 5132 Translations: Update the Ukrainian man page translations. 5133 5134 po4a/uk.po | 1363 ++++++++++++++++++++++++++++++++++-------------------------- 5135 1 file changed, 764 insertions(+), 599 deletions(-) 5136 5137commit a5c177f514f4c90e0d2f6045636fca6c2e80a20d 5138Author: Jia Tan <jiat0218@gmail.com> 5139Date: 2024-02-02 01:39:28 +0800 5140 5141 Update AUTHORS. 5142 5143 AUTHORS | 3 ++- 5144 1 file changed, 2 insertions(+), 1 deletion(-) 5145 5146commit 7f68a68c19d0ae57bd0e802be0ea8f974e41299f 5147Author: Jia Tan <jiat0218@gmail.com> 5148Date: 2024-02-02 01:38:51 +0800 5149 5150 liblzma: Update Authors list in crc32_arm64.h. 5151 5152 src/liblzma/check/crc32_arm64.h | 1 + 5153 1 file changed, 1 insertion(+) 5154 5155commit 97f9ba50b84e67b3dcb5b17dd5d3e1d14f9ad1d0 5156Author: Jia Tan <jiat0218@gmail.com> 5157Date: 2024-02-01 16:07:03 +0800 5158 5159 liblzma: Check HAVE_USABLE_CLMUL before omitting CRC32 table. 5160 5161 This was split from the prior commit so it could be easily applied to 5162 the 5.4 branch. 5163 5164 Closes: https://github.com/tukaani-project/xz/pull/77 5165 5166 src/liblzma/check/crc32_table.c | 4 ++-- 5167 1 file changed, 2 insertions(+), 2 deletions(-) 5168 5169commit ca9015f4dead2c97b48f5a6933631b0a448b65b9 5170Author: Jia Tan <jiat0218@gmail.com> 5171Date: 2024-02-01 16:06:29 +0800 5172 5173 liblzma: Check HAVE_USABLE_CLMUL before omitting CRC64 table. 5174 5175 If liblzma is configured with --disable-clmul-crc 5176 CFLAGS="-msse4.1 -mpclmul", then it will fail to compile because the 5177 generic version must be used but the CRC tables were not included. 5178 5179 src/liblzma/check/crc64_table.c | 4 ++-- 5180 1 file changed, 2 insertions(+), 2 deletions(-) 5181 5182commit 2f1552a91c825e87013925e1a67a0930e7aef592 5183Author: Jia Tan <jiat0218@gmail.com> 5184Date: 2024-01-23 18:02:13 +0800 5185 5186 liblzma: Only use ifunc in crcXX_fast.c if its needed. 5187 5188 The code was using HAVE_FUNC_ATTRIBUTE_IFUNC instead of CRC_USE_IFUNC. 5189 With ARM64, ifunc is incompatible because it requires non-inline 5190 function calls for runtime detection. 5191 5192 src/liblzma/check/crc32_fast.c | 6 +++--- 5193 src/liblzma/check/crc64_fast.c | 6 +++--- 5194 2 files changed, 6 insertions(+), 6 deletions(-) 5195 5196commit 30a25f3742287697bc57a1bef86c19ecf5129322 5197Author: Jia Tan <jiat0218@gmail.com> 5198Date: 2024-01-22 22:08:45 +0800 5199 5200 Docs: Add --disable-arm64-crc32 description to INSTALL. 5201 5202 INSTALL | 12 +++++++++++- 5203 1 file changed, 11 insertions(+), 1 deletion(-) 5204 5205commit 1940f0ec28f08c0ac72c1413d9706fb82eabe6ad 5206Author: Jia Tan <jiat0218@gmail.com> 5207Date: 2024-01-22 21:36:09 +0800 5208 5209 liblzma: Omit CRC tables when not needed with ARM64 optimizations. 5210 5211 This is similar to the existing x86-64 CLMUL conditions to omit the 5212 tables. They were slightly refactored to improve readability. 5213 5214 src/liblzma/check/crc32_table.c | 18 +++++++++++++++--- 5215 src/liblzma/check/crc64_table.c | 7 ++++++- 5216 src/liblzma/check/crc_common.h | 5 ++++- 5217 3 files changed, 25 insertions(+), 5 deletions(-) 5218 5219commit 761f5b69a4c778c8bcb09279b845b07c28790575 5220Author: Jia Tan <jiat0218@gmail.com> 5221Date: 2024-01-22 20:54:56 +0800 5222 5223 liblzma: Rename crc32_aarch64.h to crc32_arm64.h. 5224 5225 Even though the proper name for the architecture is aarch64, this 5226 project uses ARM64 throughout. So the rename is for consistency. 5227 5228 Additionally, crc32_arm64.h was slightly refactored for the following 5229 changes: 5230 5231 * Added MSVC, FreeBSD, and macOS support in 5232 is_arch_extension_supported(). 5233 5234 * crc32_arch_optimized() now checks the size when aligning the 5235 buffer. 5236 5237 * crc32_arch_optimized() loop conditions were slightly modified to 5238 avoid both decrementing the size and incrementing the buffer 5239 pointer. 5240 5241 * Use the intrinsic wrappers defined in <arm_acle.h> because GCC and 5242 Clang name them differently. 5243 5244 * Minor spacing and comment changes. 5245 5246 CMakeLists.txt | 2 +- 5247 src/liblzma/check/Makefile.inc | 2 +- 5248 src/liblzma/check/crc32_aarch64.h | 109 ---------------------------------- 5249 src/liblzma/check/crc32_arm64.h | 119 ++++++++++++++++++++++++++++++++++++++ 5250 src/liblzma/check/crc32_fast.c | 3 +- 5251 src/liblzma/check/crc64_fast.c | 3 - 5252 6 files changed, 122 insertions(+), 116 deletions(-) 5253 5254commit 455a08609caa3223066a717fb01bfa42c5dba47d 5255Author: Jia Tan <jiat0218@gmail.com> 5256Date: 2024-01-22 20:49:30 +0800 5257 5258 liblzma: Refactor crc_common.h. 5259 5260 The CRC_GENERIC is now split into CRC32_GENERIC and CRC64_GENERIC, since 5261 the ARM64 optimizations will be different between CRC32 and CRC64. 5262 5263 For the same reason, CRC_ARCH_OPTIMIZED is split into 5264 CRC32_ARCH_OPTIMIZED and CRC64_ARCH_OPTIMIZED. 5265 5266 ifunc will only be used with x86-64 CLMUL because the runtime detection 5267 methods needed with ARM64 are not compatible with ifunc. 5268 5269 src/liblzma/check/crc32_fast.c | 8 +-- 5270 src/liblzma/check/crc64_fast.c | 8 +-- 5271 src/liblzma/check/crc_common.h | 108 ++++++++++++++++++++++++++++------------- 5272 3 files changed, 82 insertions(+), 42 deletions(-) 5273 5274commit 61908e816049af7a9f43ea804a57ee8570e2e644 5275Author: Jia Tan <jiat0218@gmail.com> 5276Date: 2024-01-22 00:42:28 +0800 5277 5278 CMake: Add support for ARM64 CRC32 instruction detection. 5279 5280 CMakeLists.txt | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 5281 1 file changed, 50 insertions(+) 5282 5283commit c5f6d79cc9515a7f22d7ea4860c6cc394b295732 5284Author: Jia Tan <jiat0218@gmail.com> 5285Date: 2024-01-22 00:36:47 +0800 5286 5287 Build: Add support for ARM64 CRC32 instruction detection. 5288 5289 This adds --enable-arm64-crc32/--disable-arm64-crc32 (enabled by 5290 default) for using the ARM64 CRC32 instruction. This can be disabled if 5291 one knows the binary will never need to run on an ARM64 machine 5292 with this instruction extension. 5293 5294 configure.ac | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 5295 1 file changed, 52 insertions(+) 5296 5297commit 849d0f282a6a890c5cf5a0e0f02980b12d9ebb0f 5298Author: Chenxi Mao <chenxi.mao2013@gmail.com> 5299Date: 2024-01-09 17:23:11 +0800 5300 5301 Speed up CRC32 calculation on ARM64 5302 5303 The CRC32 instructions in ARM64 can calculate the CRC32 result 5304 for 8 bytes in a single operation, making the use of ARM64 5305 instructions much faster compared to the general CRC32 algorithm. 5306 5307 Optimized CRC32 will be enabled if ARM64 has CRC extension 5308 running on Linux. 5309 5310 Signed-off-by: Chenxi Mao <chenxi.mao2013@gmail.com> 5311 5312 CMakeLists.txt | 1 + 5313 src/liblzma/check/Makefile.inc | 3 +- 5314 src/liblzma/check/crc32_aarch64.h | 109 ++++++++++++++++++++++++++++++++++++++ 5315 src/liblzma/check/crc32_fast.c | 5 +- 5316 src/liblzma/check/crc64_fast.c | 5 +- 5317 src/liblzma/check/crc_common.h | 16 +++--- 5318 6 files changed, 130 insertions(+), 9 deletions(-) 5319 5320commit b43c3e48bf6097095eef36d44cdbec811074940a 5321Author: Jia Tan <jiat0218@gmail.com> 5322Date: 2024-01-26 19:05:51 +0800 5323 5324 Bump version number for 5.5.1alpha. 5325 5326 src/liblzma/api/lzma/version.h | 2 +- 5327 src/liblzma/liblzma_generic.map | 2 +- 5328 src/liblzma/liblzma_linux.map | 2 +- 5329 3 files changed, 3 insertions(+), 3 deletions(-) 5330 5331commit c7a7ae1500ea90bd3c2d54533e4f433933eb598f 5332Author: Jia Tan <jiat0218@gmail.com> 5333Date: 2024-01-26 19:00:52 +0800 5334 5335 Add NEWS for 5.5.1alpha 5336 5337 NEWS | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5338 1 file changed, 80 insertions(+) 5339 5340commit 0ef8192e8d5af4e6200d5d4aee22d1f177f7a2df 5341Author: Jia Tan <jiat0218@gmail.com> 5342Date: 2024-01-26 18:54:24 +0800 5343 5344 Add NEWS for 5.4.6. 5345 5346 NEWS | 22 ++++++++++++++++++++++ 5347 1 file changed, 22 insertions(+) 5348 5349commit 93de7e751d17731315a899264f2a7239d7d2d316 5350Author: Lasse Collin <lasse.collin@tukaani.org> 5351Date: 2024-01-24 20:00:57 +0200 5352 5353 Move doc/logo/xz-logo.png to "doc" and Doxygen footer to "doxygen". 5354 5355 The footer isn't a complete HTML file so having it in the doxygen 5356 directory is a tiny bit clearer. 5357 5358 Makefile.am | 2 +- 5359 doc/{logo => }/xz-logo.png | Bin 5360 doxygen/Doxyfile | 4 ++-- 5361 doc/logo/copyright.html => doxygen/footer.html | 0 5362 4 files changed, 3 insertions(+), 3 deletions(-) 5363 5364commit 00fa01698df51c58ae2acf8c7fa4e1fb159f75a9 5365Author: Jia Tan <jiat0218@gmail.com> 5366Date: 2024-01-09 17:05:01 +0800 5367 5368 README: Add COPYING.CC-BY-SA-4.0 entry to section 1.1. 5369 5370 The Overall documentation section (1.1) table spacing had to be adjusted 5371 since the filename was very long. 5372 5373 README | 38 ++++++++++++++++++++------------------ 5374 1 file changed, 20 insertions(+), 18 deletions(-) 5375 5376commit e280470040b27c5e58d78b25b9e2bb71fc6c3882 5377Author: Jia Tan <jiat0218@gmail.com> 5378Date: 2024-01-09 16:56:16 +0800 5379 5380 Build: Add the logo and license to the release. 5381 5382 Makefile.am | 2 ++ 5383 1 file changed, 2 insertions(+) 5384 5385commit b1ee6cf259bb49ce91abe9f622294524e37edf4c 5386Author: Jia Tan <jiat0218@gmail.com> 5387Date: 2024-01-09 16:44:42 +0800 5388 5389 COPYING: Add the license for the XZ logo. 5390 5391 COPYING | 5 + 5392 COPYING.CC-BY-SA-4.0 | 427 +++++++++++++++++++++++++++++++++++++++++++++++++++ 5393 2 files changed, 432 insertions(+) 5394 5395commit 31293ae7074802cc7286089a89c7b552d930c97f 5396Author: Jia Tan <jiat0218@gmail.com> 5397Date: 2024-01-09 16:40:56 +0800 5398 5399 Doxygen: Added the XZ logo and copyright information. 5400 5401 The PROJECT_LOGO field is now used to include the XZ logo. The footer 5402 of each page now lists the copyright information instead of the default 5403 footer. The license is also copied to statisfy the copyright and so the 5404 link in the documentation can be local. 5405 5406 doc/logo/copyright.html | 11 +++++++++++ 5407 doc/logo/xz-logo.png | Bin 0 -> 6771 bytes 5408 doxygen/Doxyfile | 6 +++--- 5409 3 files changed, 14 insertions(+), 3 deletions(-) 5410 5411commit 6daa4d0ea46a8441f21f609149f3633158bf4704 5412Author: Lasse Collin <lasse.collin@tukaani.org> 5413Date: 2024-01-23 18:29:28 +0200 5414 5415 xz: Use threaded mode by defaut (as if --threads=0 was used). 5416 5417 This hopefully does more good than bad: 5418 5419 + It's faster by default. 5420 5421 + Only the threaded compressor creates files that 5422 can be decompressed in threaded mode. 5423 5424 - Compression ratio is worse, usually not too much though. 5425 When it matters, -T1 must be used. 5426 5427 - Memory usage increases. 5428 5429 - Scripts that assume single-threaded mode but don't use -T1 will 5430 possibly use too much resources, for example, if they run 5431 multiple xz processes in parallel to compress multiple files. 5432 5433 - Output from single-threaded and multi-threaded compressors 5434 differ but such changes could happen for other reasons too 5435 (they just haven't happened since 5.0.0). 5436 5437 src/xz/hardware.c | 6 +++++- 5438 src/xz/message.c | 4 ++-- 5439 src/xz/xz.1 | 9 +++++++++ 5440 3 files changed, 16 insertions(+), 3 deletions(-) 5441 5442commit a2dd2dc8e5307a7280bb99868bc478560facba2c 5443Author: Jia Tan <jiat0218@gmail.com> 5444Date: 2024-01-23 23:52:49 +0800 5445 5446 CI: Use RISC-V filter when building with BCJ support. 5447 5448 build-aux/ci_build.sh | 4 ++-- 5449 1 file changed, 2 insertions(+), 2 deletions(-) 5450 5451commit 3060e1070b2421b26c0e17794c1307ec5622f11d 5452Author: Jia Tan <jiat0218@gmail.com> 5453Date: 2024-01-23 23:52:14 +0800 5454 5455 Tests: Use smaller dictionary size in RISC-V test files. 5456 5457 tests/files/good-1-riscv-lzma2-1.xz | Bin 7512 -> 7512 bytes 5458 tests/files/good-1-riscv-lzma2-2.xz | Bin 7516 -> 7512 bytes 5459 2 files changed, 0 insertions(+), 0 deletions(-) 5460 5461commit 44ff2fa5c94dc345c4dd69195a19fc5238df60b3 5462Author: Jia Tan <jiat0218@gmail.com> 5463Date: 2024-01-23 23:50:57 +0800 5464 5465 Tests: Skip RISC-V test files if decoder was not built. 5466 5467 tests/test_files.sh | 5 +++++ 5468 1 file changed, 5 insertions(+) 5469 5470commit 6133a3f30049d3beaf7d22535b1e5d38e109be4e 5471Author: Lasse Collin <lasse.collin@tukaani.org> 5472Date: 2024-01-23 16:11:54 +0200 5473 5474 xz: Man page: Add more examples of LZMA2 options with BCJ filters. 5475 5476 src/xz/xz.1 | 38 +++++++++++++++++++++++++++++++------- 5477 1 file changed, 31 insertions(+), 7 deletions(-) 5478 5479commit 50255feeaabcc7e7db22b858a6bd64a9b5b4f16d 5480Author: Lasse Collin <lasse.collin@tukaani.org> 5481Date: 2024-01-23 00:09:48 +0200 5482 5483 liblzma: RISC-V filter: Use byte-by-byte access. 5484 5485 Not all RISC-V processors support fast unaligned access so 5486 it's better to read only one byte in the main loop. This can 5487 be faster even on x86-64 when compared to reading 32 bits at 5488 a time as half the time the address is only 16-bit aligned. 5489 5490 The downside is larger code size on archs that do support 5491 fast unaligned access. 5492 5493 src/liblzma/simple/riscv.c | 114 +++++++++++++++++++++++++++++++++------------ 5494 1 file changed, 84 insertions(+), 30 deletions(-) 5495 5496commit db5eb5f563e8baa8d912ecf576f53391ff861596 5497Author: Jia Tan <jiat0218@gmail.com> 5498Date: 2024-01-22 23:33:39 +0800 5499 5500 xz: Update xz -lvv for RISC-V filter. 5501 5502 Version 5.6.0 will be shown, even though upcoming alphas and betas 5503 will be able to support this filter. 5.6.0 looks nicer in the output and 5504 people shouldn't be encouraged to use an unstable version in production 5505 in any way. 5506 5507 src/xz/list.c | 10 ++++++++++ 5508 1 file changed, 10 insertions(+) 5509 5510commit e2870db5be1503e6a489fc3d47daf950d6f62723 5511Author: Jia Tan <jiat0218@gmail.com> 5512Date: 2024-01-22 23:33:39 +0800 5513 5514 Tests: Add two RISC-V Filter test files. 5515 5516 These test files achieve 100% code coverage in 5517 src/liblzma/simple/riscv.c. They contain all of the instructions that 5518 should be filtered and a few cases that should not. 5519 5520 tests/files/README | 8 ++++++++ 5521 tests/files/good-1-riscv-lzma2-1.xz | Bin 0 -> 7512 bytes 5522 tests/files/good-1-riscv-lzma2-2.xz | Bin 0 -> 7516 bytes 5523 3 files changed, 8 insertions(+) 5524 5525commit b26a89869315ece2f6d9d10d32d45f672550f245 5526Author: Jia Tan <jiat0218@gmail.com> 5527Date: 2024-01-22 23:33:39 +0800 5528 5529 xz: Update message in --long-help for RISC-V Filter. 5530 5531 src/xz/message.c | 1 + 5532 1 file changed, 1 insertion(+) 5533 5534commit 283f778908873eca61388029fc418fa800c9d7d7 5535Author: Jia Tan <jiat0218@gmail.com> 5536Date: 2024-01-22 23:33:39 +0800 5537 5538 xz: Update the man page for the RISC-V Filter. 5539 5540 A special note was added to suggest using four-byte alignment when the 5541 compressed instruction extension is not present in a RISC-V binary. 5542 5543 src/xz/xz.1 | 3 ++- 5544 1 file changed, 2 insertions(+), 1 deletion(-) 5545 5546commit ac3691ccca051d67f60b4a3b05b88e511d0b1b28 5547Author: Jia Tan <jiat0218@gmail.com> 5548Date: 2024-01-22 23:33:39 +0800 5549 5550 Tests: Add RISC-V Filter test in test_compress.sh. 5551 5552 tests/test_compress.sh | 1 + 5553 1 file changed, 1 insertion(+) 5554 5555commit 2959dbc7358efcf421ce51bc9cd7eae8fdd8fec4 5556Author: Jia Tan <jiat0218@gmail.com> 5557Date: 2024-01-22 23:33:39 +0800 5558 5559 liblzma: Update string_conversion.c to support RISC-V Filter. 5560 5561 src/liblzma/common/string_conversion.c | 5 +++++ 5562 1 file changed, 5 insertions(+) 5563 5564commit 34372a5adbe5a7f6bf29498410ba3a463a720966 5565Author: Jia Tan <jiat0218@gmail.com> 5566Date: 2024-01-22 23:33:39 +0800 5567 5568 CMake: Support RISC-V BCJ Filter for encoding and decoding. 5569 5570 CMakeLists.txt | 1 + 5571 1 file changed, 1 insertion(+) 5572 5573commit 440a2eccb082dc13400c09e22308a58fef85146c 5574Author: Jia Tan <jiat0218@gmail.com> 5575Date: 2024-01-22 23:33:39 +0800 5576 5577 liblzma: Add RISC-V BCJ filter. 5578 5579 The new Filter ID is 0x0B. 5580 5581 Thanks to Chien Wong <m@xv97.com> for the initial version of the Filter, 5582 the xz CLI updates, and the Autotools build system modifications. 5583 5584 Thanks to Igor Pavlov for his many contributions to the design of 5585 the filter. 5586 5587 configure.ac | 4 +- 5588 src/liblzma/api/lzma/bcj.h | 5 + 5589 src/liblzma/common/filter_common.c | 9 + 5590 src/liblzma/common/filter_decoder.c | 8 + 5591 src/liblzma/common/filter_encoder.c | 10 + 5592 src/liblzma/simple/Makefile.inc | 4 + 5593 src/liblzma/simple/riscv.c | 688 ++++++++++++++++++++++++++++++++++++ 5594 src/liblzma/simple/simple_coder.h | 9 + 5595 src/xz/args.c | 7 + 5596 9 files changed, 742 insertions(+), 2 deletions(-) 5597 5598commit 5540f4329bbdb4deb4850d4af48b18ad074bba19 5599Author: Jia Tan <jiat0218@gmail.com> 5600Date: 2024-01-19 23:08:14 +0800 5601 5602 Docs: Update .xz file format specification to 1.2.0. 5603 5604 The new RISC-V filter was added to the specification, in addition to 5605 updating the specification URL. 5606 5607 doc/xz-file-format.txt | 29 +++++++++++++++++------------ 5608 1 file changed, 17 insertions(+), 12 deletions(-) 5609 5610commit 22d86192f8cf00902a1f90ee2a83ca600794459b 5611Author: Jia Tan <jiat0218@gmail.com> 5612Date: 2024-01-19 23:08:14 +0800 5613 5614 xz: Update website URLs in the man pages. 5615 5616 src/xz/xz.1 | 6 +++--- 5617 src/xzdec/xzdec.1 | 4 ++-- 5618 2 files changed, 5 insertions(+), 5 deletions(-) 5619 5620commit 6b63c4c6139fa1bb21b570521d3d2b4a608bc34d 5621Author: Jia Tan <jiat0218@gmail.com> 5622Date: 2024-01-19 23:08:14 +0800 5623 5624 liblzma: Update website URL. 5625 5626 dos/config.h | 2 +- 5627 src/liblzma/api/lzma.h | 6 +++--- 5628 2 files changed, 4 insertions(+), 4 deletions(-) 5629 5630commit fce4758018f3a3589236f3fe7999fd9dd08c77e9 5631Author: Jia Tan <jiat0218@gmail.com> 5632Date: 2024-01-19 23:08:14 +0800 5633 5634 Docs: Update website URLs. 5635 5636 .github/SECURITY.md | 2 +- 5637 COPYING | 3 ++- 5638 README | 4 ++-- 5639 doc/faq.txt | 2 +- 5640 doc/lzma-file-format.txt | 18 +++++++++--------- 5641 windows/README-Windows.txt | 3 ++- 5642 6 files changed, 17 insertions(+), 15 deletions(-) 5643 5644commit c26812c5b2c8a2a47f43214afe6b0b840c73e4f5 5645Author: Jia Tan <jiat0218@gmail.com> 5646Date: 2024-01-19 23:08:14 +0800 5647 5648 Build: Update website URL. 5649 5650 CMakeLists.txt | 2 +- 5651 configure.ac | 2 +- 5652 2 files changed, 2 insertions(+), 2 deletions(-) 5653 5654commit fbb3ce541ef79cad1710e88a27a5babb5f6f8e5b 5655Author: Lasse Collin <lasse.collin@tukaani.org> 5656Date: 2024-01-11 15:01:50 +0200 5657 5658 liblzma: CRC: Add a comment to crc_x86_clmul.h about BUILDING_ macros. 5659 5660 src/liblzma/check/crc_x86_clmul.h | 6 ++++++ 5661 1 file changed, 6 insertions(+) 5662 5663commit 4f518c1b6b7b7ce5dcefea81acd44d7a086a8882 5664Author: Lasse Collin <lasse.collin@tukaani.org> 5665Date: 2024-01-11 15:22:36 +0200 5666 5667 liblzma: CRC: Remove crc_always_inline, use lzma_always_inline instead. 5668 5669 Now crc_simd_body() in crc_x86_clmul.h is only called once 5670 in a translation unit, we no longer need to be so cautious 5671 about ensuring the always-inline behavior. 5672 5673 src/liblzma/check/crc_common.h | 20 -------------------- 5674 src/liblzma/check/crc_x86_clmul.h | 2 +- 5675 2 files changed, 1 insertion(+), 21 deletions(-) 5676 5677commit 35c03ec6bf66f1b159964c9721a2dce0e2859b20 5678Author: Lasse Collin <lasse.collin@tukaani.org> 5679Date: 2024-01-11 14:39:46 +0200 5680 5681 liblzma: CRC: Update CLMUL comments to more generic wording. 5682 5683 src/liblzma/check/crc32_fast.c | 16 ++++++++-------- 5684 src/liblzma/check/crc64_fast.c | 10 +++++----- 5685 2 files changed, 13 insertions(+), 13 deletions(-) 5686 5687commit 66f080e8016129576536482ac377e2ecac7a2b90 5688Author: Lasse Collin <lasse.collin@tukaani.org> 5689Date: 2024-01-10 18:23:31 +0200 5690 5691 liblzma: Rename arch-specific CRC functions and macros. 5692 5693 CRC_CLMUL was split to CRC_ARCH_OPTIMIZED and CRC_X86_CLMUL. 5694 CRC_ARCH_OPTIMIZED is defined when an arch-optimized version is used. 5695 Currently the x86 CLMUL implementations are the only arch-optimized 5696 versions, and these also use the CRC_x86_CLMUL macro to tell when 5697 crc_x86_clmul.h needs to be included. 5698 5699 is_clmul_supported() was renamed to is_arch_extension_supported(). 5700 crc32_clmul() and crc64_clmul() were renamed to 5701 crc32_arch_optimized() and crc64_arch_optimized(). 5702 This way the names make sense with arch-specific non-CLMUL 5703 implementations as well. 5704 5705 src/liblzma/check/crc32_fast.c | 13 +++++++------ 5706 src/liblzma/check/crc64_fast.c | 13 +++++++------ 5707 src/liblzma/check/crc_common.h | 9 ++++++--- 5708 src/liblzma/check/crc_x86_clmul.h | 21 +++++++++++---------- 5709 4 files changed, 31 insertions(+), 25 deletions(-) 5710 5711commit 3dbed75b0b9c7087c76fe687acb5cf582cd57b99 5712Author: Lasse Collin <lasse.collin@tukaani.org> 5713Date: 2024-01-10 18:19:21 +0200 5714 5715 liblzma: Fix a comment in crc_common.h. 5716 5717 src/liblzma/check/crc_common.h | 3 ++- 5718 1 file changed, 2 insertions(+), 1 deletion(-) 5719 5720commit 419f55f9dfc2df8792902b8953d50690121afeea 5721Author: Lasse Collin <lasse.collin@tukaani.org> 5722Date: 2023-10-20 23:35:10 +0300 5723 5724 liblzma: Avoid extern lzma_crc32_clmul() and lzma_crc64_clmul(). 5725 5726 A CLMUL-only build will have the crcxx_clmul() inlined into 5727 lzma_crcxx(). Previously a jump to the extern lzma_crcxx_clmul() 5728 was needed. Notes about shared liblzma on ELF platforms: 5729 5730 - On platforms that support ifunc and -fvisibility=hidden, this 5731 was silly because CLMUL-only build would have that single extra 5732 jump instruction of extra overhead. 5733 5734 - On platforms that support neither -fvisibility=hidden nor linker 5735 version script (liblzma*.map), jumping to lzma_crcxx_clmul() 5736 would go via PLT so a few more instructions of overhead (still 5737 not a big issue but silly nevertheless). 5738 5739 There was a downside with static liblzma too: if an application only 5740 needs lzma_crc64(), static linking would make the linker include the 5741 CLMUL code for both CRC32 and CRC64 from crc_x86_clmul.o even though 5742 the CRC32 code wouldn't be needed, thus increasing code size of the 5743 executable (assuming that -ffunction-sections isn't used). 5744 5745 Also, now compilers are likely to inline crc_simd_body() 5746 even if they don't support the always_inline attribute 5747 (or MSVC's __forceinline). Quite possibly all compilers 5748 that build the code do support such an attribute. But now 5749 it likely isn't a problem even if the attribute wasn't supported. 5750 5751 Now all x86-specific stuff is in crc_x86_clmul.h. If other archs 5752 The other archs can then have their own headers with their own 5753 is_clmul_supported() and crcxx_clmul(). 5754 5755 Another bonus is that the build system doesn't need to care if 5756 crc_clmul.c is needed. 5757 5758 is_clmul_supported() stays as inline function as it's not needed 5759 when doing a CLMUL-only build (avoids a warning about unused function). 5760 5761 CMakeLists.txt | 7 +- 5762 configure.ac | 1 - 5763 src/liblzma/check/Makefile.inc | 6 +- 5764 src/liblzma/check/crc32_fast.c | 9 ++- 5765 src/liblzma/check/crc64_fast.c | 9 ++- 5766 src/liblzma/check/crc_common.h | 64 ---------------- 5767 src/liblzma/check/{crc_clmul.c => crc_x86_clmul.h} | 86 ++++++++++++++++++---- 5768 7 files changed, 91 insertions(+), 91 deletions(-) 5769 5770commit e3833e297dfb5021a197bda34ba2a795e30aaf8a 5771Author: Lasse Collin <lasse.collin@tukaani.org> 5772Date: 2023-10-21 00:06:52 +0300 5773 5774 liblzma: crc_clmul.c: Add crc_attr_target macro. 5775 5776 This reduces the number of the complex #if directives. 5777 5778 src/liblzma/check/crc_clmul.c | 30 ++++++++++++++++-------------- 5779 1 file changed, 16 insertions(+), 14 deletions(-) 5780 5781commit d164ac0e62904126f7920c25f9a2875c8cd28b97 5782Author: Lasse Collin <lasse.collin@tukaani.org> 5783Date: 2023-10-20 22:49:48 +0300 5784 5785 liblzma: Simplify existing cases with lzma_attr_no_sanitize_address. 5786 5787 src/liblzma/check/crc_clmul.c | 12 +++--------- 5788 1 file changed, 3 insertions(+), 9 deletions(-) 5789 5790commit 9523c1300d22fa715765c181cf991d14d6112fb1 5791Author: Lasse Collin <lasse.collin@tukaani.org> 5792Date: 2023-10-20 21:53:35 +0300 5793 5794 liblzma: #define crc_attr_no_sanitize_address in crc_common.h. 5795 5796 src/liblzma/check/crc_common.h | 10 ++++++++++ 5797 1 file changed, 10 insertions(+) 5798 5799commit 93d144f0930821590524247bd174afd38003d7f0 5800Author: Lasse Collin <lasse.collin@tukaani.org> 5801Date: 2023-10-20 23:25:14 +0300 5802 5803 liblzma: CRC: Add empty lines. 5804 5805 And remove one too. 5806 5807 src/liblzma/check/crc32_fast.c | 2 ++ 5808 src/liblzma/check/crc64_fast.c | 3 +++ 5809 src/liblzma/check/crc_clmul.c | 1 - 5810 3 files changed, 5 insertions(+), 1 deletion(-) 5811 5812commit 0c7e854ffd27f1cec2e9b0e61601d6f90bfa10ae 5813Author: Lasse Collin <lasse.collin@tukaani.org> 5814Date: 2023-10-20 23:19:33 +0300 5815 5816 liblzma: crc_clmul.c: Tidy up the location of MSVC pragma. 5817 5818 It makes no difference in practice. 5819 5820 src/liblzma/check/crc_clmul.c | 4 ++-- 5821 1 file changed, 2 insertions(+), 2 deletions(-) 5822 5823commit 15cf3f04f270d707a5c91cc0208b23b6db42b774 5824Author: Lasse Collin <lasse.collin@tukaani.org> 5825Date: 2023-12-20 21:16:24 +0200 5826 5827 Update THANKS. 5828 5829 THANKS | 1 + 5830 1 file changed, 1 insertion(+) 5831 5832commit cd64dd70d5665b6048829c45772d08606f44672e 5833Author: Lasse Collin <lasse.collin@tukaani.org> 5834Date: 2023-12-20 21:15:16 +0200 5835 5836 liblzma: Use 8-byte method in memcmplen.h on ARM64. 5837 5838 It requires fast unaligned access to 64-bit integers 5839 and a fast instruction to count leading zeros in 5840 a 64-bit integer (__builtin_ctzll()). This perhaps 5841 should be enabled on some other archs too. 5842 5843 Thanks to Chenxi Mao for the original patch: 5844 https://github.com/tukaani-project/xz/pull/75 (the first commit) 5845 According to the numbers there, this may improve encoding 5846 speed by about 3-5 %. 5847 5848 This enables the 8-byte method on MSVC ARM64 too which 5849 should work but wasn't tested. 5850 5851 src/liblzma/common/memcmplen.h | 18 ++++++++++-------- 5852 1 file changed, 10 insertions(+), 8 deletions(-) 5853 5854commit 12c90c00f05e19da3c0c91d8cd8e0d0d45965606 5855Author: Lasse Collin <lasse.collin@tukaani.org> 5856Date: 2023-12-20 21:01:06 +0200 5857 5858 liblzma: Check also for __clang__ in memcmplen.h. 5859 5860 This change hopefully makes no practical difference as Clang 5861 likely was detected via __GNUC__ or _MSC_VER already. 5862 5863 src/liblzma/common/memcmplen.h | 3 ++- 5864 1 file changed, 2 insertions(+), 1 deletion(-) 5865 5866commit 133c5851eb917c6d99d0b623c1689c8518e65f38 5867Author: Jia Tan <jiat0218@gmail.com> 5868Date: 2023-12-21 21:39:08 +0800 5869 5870 Translations: Update the French translation. 5871 5872 po/fr.po | 632 +++++++++++++++++++++++++++++++++++++-------------------------- 5873 1 file changed, 370 insertions(+), 262 deletions(-) 5874 5875commit 710cbc186cad0ac601c38bd6bf31167648a5581e 5876Author: Jia Tan <jiat0218@gmail.com> 5877Date: 2023-12-21 16:39:53 +0800 5878 5879 xz: Add a comment to Capsicum sandbox setup. 5880 5881 This comment is repeated in xzdec.c to help remind us why all the 5882 capabilities are removed from stdin in certain situations. 5883 5884 src/xz/file_io.c | 1 + 5885 1 file changed, 1 insertion(+) 5886 5887commit 4e1c695676bafbaecc9fb307f6ee94138ae72c12 5888Author: Jia Tan <jiat0218@gmail.com> 5889Date: 2023-12-20 22:19:19 +0800 5890 5891 Docs: Update --enable-sandbox option in INSTALL. 5892 5893 xzdec now also uses the sandbox when its configured. 5894 5895 INSTALL | 17 ++++++++++------- 5896 1 file changed, 10 insertions(+), 7 deletions(-) 5897 5898commit ebddf20214143a8e002ab897e95e880bb4c5ac44 5899Author: Jia Tan <jiat0218@gmail.com> 5900Date: 2023-12-20 22:39:13 +0800 5901 5902 CMake: Move sandbox detection outside of xz section. 5903 5904 The sandbox is now enabled for xzdec as well, so it no longer belongs 5905 in just the xz section. xz and xzdec are always built, except for older 5906 MSVC versions, so there isn't a need to conditionally show the sandbox 5907 configuration. CMake will do a little unecessary work on older MSVC 5908 versions that can't build xz or xzdec, but this is a very small 5909 downside. 5910 5911 CMakeLists.txt | 178 +++++++++++++++++++++++++++++++-------------------------- 5912 1 file changed, 98 insertions(+), 80 deletions(-) 5913 5914commit 5feb09266fd2928ec0a4dcb98c1dc7f053111316 5915Author: Jia Tan <jiat0218@gmail.com> 5916Date: 2023-12-20 22:43:44 +0800 5917 5918 Build: Allow sandbox to be configured for just xzdec. 5919 5920 If xz is disabled, then xzdec can still use the sandbox. 5921 5922 configure.ac | 10 +++++----- 5923 1 file changed, 5 insertions(+), 5 deletions(-) 5924 5925commit d74fb5f060b76db709b50f5fd37490394e52f975 5926Author: Jia Tan <jiat0218@gmail.com> 5927Date: 2023-12-19 21:18:28 +0800 5928 5929 xzdec: Add sandbox support for Pledge, Capsicum, and Landlock. 5930 5931 A very strict sandbox is used when the last file is decompressed. The 5932 likely most common use case of xzdec is to decompress a single file. 5933 The Pledge sandbox is applied to the entire process with slightly more 5934 relaxed promises, until the last file is processed. 5935 5936 Thanks to Christian Weisgerber for the initial patch adding Pledge 5937 sandboxing. 5938 5939 src/xzdec/xzdec.c | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 5940 1 file changed, 139 insertions(+), 7 deletions(-) 5941 5942commit b34b6a9912d6165e34ba0db151b7f9941d2e06d5 5943Author: Jia Tan <jiat0218@gmail.com> 5944Date: 2023-12-20 21:31:34 +0800 5945 5946 liblzma: Initialize lzma_lz_encoder pointers with NULL. 5947 5948 This fixes the recent change to lzma_lz_encoder that used memzero 5949 instead of the NULL constant. On some compilers the NULL constant 5950 (always 0) may not equal the NULL pointer (this only needs to guarentee 5951 to not point to valid memory address). 5952 5953 Later code compares the pointers to the NULL pointer so we must 5954 initialize them with the NULL pointer instead of 0 to guarentee 5955 code correctness. 5956 5957 src/liblzma/lz/lz_encoder.c | 6 +++++- 5958 1 file changed, 5 insertions(+), 1 deletion(-) 5959 5960commit 183a62f0b540ff4d23cc19b2b6bc2525f0bd64df 5961Author: Jia Tan <jiat0218@gmail.com> 5962Date: 2023-12-16 20:51:38 +0800 5963 5964 liblzma: Set all values in lzma_lz_encoder to NULL after allocation. 5965 5966 The first member of lzma_lz_encoder doesn't necessarily need to be set 5967 to NULL since it will always be set before anything tries to use it. 5968 However the function pointer members must be set to NULL since other 5969 functions rely on this NULL value to determine if this behavior is 5970 supported or not. 5971 5972 This fixes a somewhat serious bug, where the options_update() and 5973 set_out_limit() function pointers are not set to NULL. This seems to 5974 have been forgotten since these function pointers were added many years 5975 after the original two (code() and end()). 5976 5977 The problem is that by not setting this to NULL we are relying on the 5978 memory allocation to zero things out if lzma_filters_update() is called 5979 on a LZMA1 encoder. The function pointer for set_out_limit() is less 5980 serious because there is not an API function that could call this in an 5981 incorrect way. set_out_limit() is only called by the MicroLZMA encoder, 5982 which must use LZMA1 where set_out_limit() is always set. Its currently 5983 not possible to call set_out_limit() on an LZMA2 encoder at this time. 5984 5985 So calling lzma_filters_update() on an LZMA1 encoder had undefined 5986 behavior since its possible that memory could be manipulated so the 5987 options_update member pointed to a different instruction sequence. 5988 5989 This is unlikely to be a bug in an existing application since it relies 5990 on calling lzma_filters_update() on an LZMA1 encoder in the first place. 5991 For instance, it does not affect xz because lzma_filters_update() can 5992 only be used when encoding to the .xz format. 5993 5994 This is fixed by using memzero() to set all members of lzma_lz_encoder 5995 to NULL after it is allocated. This ensures this mistake will not occur 5996 here in the future if any additional function pointers are added. 5997 5998 src/liblzma/lz/lz_encoder.c | 4 +--- 5999 1 file changed, 1 insertion(+), 3 deletions(-) 6000 6001commit 1a1bb381db7a20cf86cb45a350e5cca35224d017 6002Author: Jia Tan <jiat0218@gmail.com> 6003Date: 2023-12-16 20:30:55 +0800 6004 6005 liblzma: Tweak a comment. 6006 6007 src/liblzma/lz/lz_encoder.c | 2 +- 6008 1 file changed, 1 insertion(+), 1 deletion(-) 6009 6010commit 55810780e04f759747b02683fb8020b8cd022a85 6011Author: Jia Tan <jiat0218@gmail.com> 6012Date: 2023-12-16 20:28:21 +0800 6013 6014 liblzma: Make parameter names in function definition match declaration. 6015 6016 lzma_raw_encoder() and lzma_raw_encoder_init() used "options" as the 6017 parameter name instead of "filters" (used by the declaration). "filters" 6018 is more clear since the parameter represents the list of filters passed 6019 to the raw encoder, each of which contains filter options. 6020 6021 src/liblzma/common/filter_encoder.c | 8 ++++---- 6022 1 file changed, 4 insertions(+), 4 deletions(-) 6023 6024commit 5dad6f628af742bab826819760deb677597445f7 6025Author: Jia Tan <jiat0218@gmail.com> 6026Date: 2023-12-16 20:18:47 +0800 6027 6028 liblzma: Improve lzma encoder init function consistency. 6029 6030 lzma_encoder_init() did not check for NULL options, but 6031 lzma2_encoder_init() did. This is more of a code style improvement than 6032 anything else to help make lzma_encoder_init() and lzma2_encoder_init() 6033 more similar. 6034 6035 src/liblzma/lzma/lzma_encoder.c | 3 +++ 6036 1 file changed, 3 insertions(+) 6037 6038commit e1b1a9d6370b788bd6078952c6c201e12bc27cbf 6039Author: Jia Tan <jiat0218@gmail.com> 6040Date: 2023-12-16 11:20:20 +0800 6041 6042 Docs: Update repository URL in Changelog. 6043 6044 ChangeLog | 2 +- 6045 1 file changed, 1 insertion(+), 1 deletion(-) 6046 6047commit f9b82bc64a9405e486575c65c1729229eb0a8198 6048Author: Jia Tan <jiat0218@gmail.com> 6049Date: 2023-12-15 16:56:31 +0800 6050 6051 CI: Update Upload Artifact Action. 6052 6053 .github/workflows/ci.yml | 2 +- 6054 .github/workflows/windows-ci.yml | 2 +- 6055 2 files changed, 2 insertions(+), 2 deletions(-) 6056 6057commit d0b24efe6cdc47db5b0fdf6306f70a2e0e63e49e 6058Author: Jia Tan <jiat0218@gmail.com> 6059Date: 2023-12-07 21:48:07 +0800 6060 6061 Tests: Silence -Wsign-conversion warning on GCC version < 10. 6062 6063 Since GCC version 10, GCC no longer complains about simple implicit 6064 integer conversions with Arithmetic operators. 6065 6066 For instance: 6067 6068 uint8_t a = 5; 6069 uint32_t b = a + 5; 6070 6071 Give a warning on GCC 9 and earlier but this: 6072 6073 uint8_t a = 5; 6074 uint32_t b = (a + 5) * 2; 6075 6076 Gives a warning with GCC 10+. 6077 6078 tests/test_block_header.c | 2 +- 6079 1 file changed, 1 insertion(+), 1 deletion(-) 6080 6081commit 4a972a8ee3ed88ac14067c1d2f15b78988e5dae8 6082Author: Jia Tan <jiat0218@gmail.com> 6083Date: 2023-12-06 18:39:03 +0800 6084 6085 Update THANKS. 6086 6087 THANKS | 1 + 6088 1 file changed, 1 insertion(+) 6089 6090commit ee2f48350099201694a7586e41d7aa2f09fc74da 6091Author: Jia Tan <jiat0218@gmail.com> 6092Date: 2023-12-06 18:30:25 +0800 6093 6094 Tests: Minor cleanups to OSS-Fuzz files. 6095 6096 Most of these fixes are small typos and tweaks. A few were caused by bad 6097 advice from me. Here is the summary of what is changed: 6098 6099 - Author line edits 6100 6101 - Small comment changes/additions 6102 6103 - Using the return value in the error messages in the fuzz targets' 6104 coder initialization code 6105 6106 - Removed fuzz_encode_stream.options. This set a max length, which may 6107 prevent some worthwhile code paths from being properly exercised. 6108 6109 - Removed the max_len option from fuzz_decode_stream.options for the 6110 same reason as fuzz_encode_stream. The alone decoder fuzz target still 6111 has this restriction. 6112 6113 - Altered the dictionary contents for fuzz_lzma.dict. Instead of keeping 6114 the properties static and varying the dictionary size, the properties 6115 are varied and the dictionary size is kept small. The dictionary size 6116 doesn't have much impact on the code paths but the properties do. 6117 6118 Closes: https://github.com/tukaani-project/xz/pull/73 6119 6120 tests/ossfuzz/Makefile | 3 ++ 6121 tests/ossfuzz/config/fuzz_decode_stream.options | 1 - 6122 tests/ossfuzz/config/fuzz_lzma.dict | 34 +++++++++++----------- 6123 tests/ossfuzz/fuzz_common.h | 16 +++++------ 6124 tests/ossfuzz/fuzz_decode_alone.c | 15 +++++----- 6125 tests/ossfuzz/fuzz_decode_stream.c | 15 +++++----- 6126 tests/ossfuzz/fuzz_encode_stream.c | 38 +++++++++++++++---------- 6127 7 files changed, 66 insertions(+), 56 deletions(-) 6128 6129commit 483bb90eec7c83e1c2bcd06287714afd62d8c17d 6130Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 6131Date: 2023-12-05 16:31:09 +0100 6132 6133 Tests: Add fuzz_encode_stream ossfuzz target. 6134 6135 This fuzz target handles .xz stream encoding. The first byte of input 6136 is used to dynamically set the preset level in order to increase the 6137 fuzz coverage of complex critical code paths. 6138 6139 tests/ossfuzz/config/fuzz_encode_stream.options | 2 + 6140 tests/ossfuzz/fuzz_encode_stream.c | 79 +++++++++++++++++++++++++ 6141 2 files changed, 81 insertions(+) 6142 6143commit 7ca8c9869df82756c3128c4fcf1058da4d18aa48 6144Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 6145Date: 2023-12-04 17:23:24 +0100 6146 6147 Tests: Add fuzz_decode_alone OSS-Fuzz target 6148 6149 This fuzz target that handles LZMA alone decoding. A new fuzz 6150 dictionary .dict was also created with common LZMA header values to 6151 help speed up the discovery of valid headers. 6152 6153 tests/ossfuzz/config/fuzz_decode_alone.options | 3 ++ 6154 tests/ossfuzz/config/fuzz_lzma.dict | 22 ++++++++++++++ 6155 tests/ossfuzz/fuzz_decode_alone.c | 41 ++++++++++++++++++++++++++ 6156 3 files changed, 66 insertions(+) 6157 6158commit 37581a77ad5a49615325b1d1925fdc402b1e1d5a 6159Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 6160Date: 2023-12-04 17:21:29 +0100 6161 6162 Tests: Update OSS-Fuzz Makefile. 6163 6164 All .c files can be built as separate fuzz targets. This simplifies 6165 the Makefile by allowing us to use wildcards instead of having a 6166 Makefile target for each fuzz target. 6167 6168 tests/ossfuzz/Makefile | 13 +++++++++---- 6169 1 file changed, 9 insertions(+), 4 deletions(-) 6170 6171commit 28ce6a1c2a74866c51f7996a6869679c236d3c94 6172Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 6173Date: 2023-12-04 17:20:08 +0100 6174 6175 Tests: Move common OSS-Fuzz target code to .h file. 6176 6177 tests/ossfuzz/fuzz_common.h | 56 ++++++++++++++++++++++++++++++++++++ 6178 tests/ossfuzz/fuzz_decode_stream.c | 59 ++++++++++---------------------------- 6179 2 files changed, 71 insertions(+), 44 deletions(-) 6180 6181commit bf0521ea1591c25b9d510c1b8be86073e9d847c6 6182Author: Maksym Vatsyk <maksym.vatsyk@leviathansecurity.com> 6183Date: 2023-12-04 17:18:20 +0100 6184 6185 Tests: Rename OSS-Fuzz files. 6186 6187 tests/ossfuzz/config/fuzz.options | 2 -- 6188 tests/ossfuzz/config/fuzz_decode_stream.options | 3 +++ 6189 tests/ossfuzz/config/{fuzz.dict => fuzz_xz.dict} | 0 6190 tests/ossfuzz/{fuzz.c => fuzz_decode_stream.c} | 0 6191 4 files changed, 3 insertions(+), 2 deletions(-) 6192 6193commit 685094b8e1c1aa1bf934de0366ca42ef599d25f7 6194Author: Jia Tan <jiat0218@gmail.com> 6195Date: 2023-11-30 23:10:43 +0800 6196 6197 Update THANKS. 6198 6199 THANKS | 1 + 6200 1 file changed, 1 insertion(+) 6201 6202commit 3b3023e00b0071e10f589bbc3674e0ec432b8add 6203Author: Kian-Meng Ang <kianmeng@cpan.org> 6204Date: 2023-11-30 23:01:19 +0800 6205 6206 Tests: Fix typos 6207 6208 tests/test_index.c | 2 +- 6209 tests/test_lzip_decoder.c | 4 ++-- 6210 2 files changed, 3 insertions(+), 3 deletions(-) 6211 6212commit 424d46ead8cbc0da57f406b76926ec4ed47437f5 6213Author: Kian-Meng Ang <kianmeng@cpan.org> 6214Date: 2023-11-30 22:59:47 +0800 6215 6216 xz: Fix typo 6217 6218 src/xz/file_io.c | 2 +- 6219 1 file changed, 1 insertion(+), 1 deletion(-) 6220 6221commit 35558adf9c45e5597f2c8dbd969885dd484038d2 6222Author: Jia Tan <jiat0218@gmail.com> 6223Date: 2023-11-30 20:41:00 +0800 6224 6225 Update THANKS. 6226 6227 THANKS | 1 + 6228 1 file changed, 1 insertion(+) 6229 6230commit fd170e8557727bed6bec0518c16415064d972e4e 6231Author: Jia Tan <jiat0218@gmail.com> 6232Date: 2023-11-22 21:20:12 +0800 6233 6234 CI: Test musl libc builds on Ubuntu runner. 6235 6236 .github/workflows/ci.yml | 19 +++++++++++++++++-- 6237 1 file changed, 17 insertions(+), 2 deletions(-) 6238 6239commit db2b4aa068a492c0013279a4ed43803e8ff9bb3e 6240Author: Jia Tan <jiat0218@gmail.com> 6241Date: 2023-11-22 21:12:15 +0800 6242 6243 CI: Allow ci_build.sh to set a different C compiler. 6244 6245 build-aux/ci_build.sh | 11 ++++++++++- 6246 1 file changed, 10 insertions(+), 1 deletion(-) 6247 6248commit ff7badef53c2cd698d4b72b945f34dfd0835e13c 6249Author: Jia Tan <jiat0218@gmail.com> 6250Date: 2023-11-24 21:19:12 +0800 6251 6252 CMake: Use consistent indentation with check_c_source_compiles(). 6253 6254 CMakeLists.txt | 4 ++-- 6255 1 file changed, 2 insertions(+), 2 deletions(-) 6256 6257commit d4af167570f2c14b002ee18a39d5b1e7e5a892b1 6258Author: Jia Tan <jiat0218@gmail.com> 6259Date: 2023-11-22 20:33:36 +0800 6260 6261 CMake: Change __attribute__((__ifunc__())) detection. 6262 6263 This renames ALLOW_ATTR_IFUNC to USE_ATTR_IFUNC and applies the ifunc 6264 detection changes that were made to the Autotools build. 6265 6266 Fixes: https://github.com/tukaani-project/xz/issues/70 6267 6268 CMakeLists.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++-------- 6269 1 file changed, 45 insertions(+), 8 deletions(-) 6270 6271commit 20ecee40a0053fd16371ef0628046bf45e548d72 6272Author: Jia Tan <jiat0218@gmail.com> 6273Date: 2023-11-24 20:19:11 +0800 6274 6275 Docs: Update INSTALL for --enable_ifunc change. 6276 6277 INSTALL | 16 ++++++++-------- 6278 1 file changed, 8 insertions(+), 8 deletions(-) 6279 6280commit ffb456593d695d70052a2f71c7a2e6269217d194 6281Author: Jia Tan <jiat0218@gmail.com> 6282Date: 2023-11-21 20:56:55 +0800 6283 6284 Build: Change --enable-ifunc handling. 6285 6286 Some compilers support __attribute__((__ifunc__())) even though the 6287 dynamic linker does not. The compiler is able to create the binary 6288 but it will fail on startup. So it is not enough to just test if 6289 the attribute is supported. 6290 6291 The default value for enable_ifunc is now auto, which will attempt 6292 to compile a program using __attribute__((__ifunc__())). There are 6293 additional checks in this program if glibc is being used or if it 6294 is running on FreeBSD. 6295 6296 Setting --enable-ifunc will skip this test and always enable 6297 __attribute__((__ifunc__())), even if is not supported. 6298 6299 configure.ac | 61 +++++++++++++++++++++++++++++++++++++++++++----------------- 6300 1 file changed, 44 insertions(+), 17 deletions(-) 6301 6302commit 12b89bcc9915090eb42ae638e565af44b6832a23 6303Author: Lasse Collin <lasse.collin@tukaani.org> 6304Date: 2023-11-23 17:39:10 +0200 6305 6306 xz: Tweak a comment. 6307 6308 src/xz/util.c | 4 ++-- 6309 1 file changed, 2 insertions(+), 2 deletions(-) 6310 6311commit 2ab2e4b5a542eab93902985ce4e642719a8b7a4e 6312Author: Jia Tan <jiat0218@gmail.com> 6313Date: 2023-11-23 22:13:39 +0800 6314 6315 xz: Use is_tty() in message.c. 6316 6317 src/xz/message.c | 7 +------ 6318 1 file changed, 1 insertion(+), 6 deletions(-) 6319 6320commit 584e3a258f32d579b1d07f99b4dc6e856c10ac7e 6321Author: Jia Tan <jiat0218@gmail.com> 6322Date: 2023-11-23 22:04:35 +0800 6323 6324 xz: Create separate is_tty() function. 6325 6326 The new is_tty() will report if a file descriptor is a terminal or not. 6327 On POSIX systems, it is a wrapper around isatty(). However, the native 6328 Windows implementation of isatty() will return true for all character 6329 devices, not just terminals. So is_tty() has a special case for Windows 6330 so it can use alternative Windows API functions to determine if a file 6331 descriptor is a terminal. 6332 6333 This fixes a bug with MSVC and MinGW-w64 builds that refused to read from 6334 or write to non-terminal character devices because xz thought it was a 6335 terminal. For instance: 6336 6337 xz foo -c > /dev/null 6338 6339 would fail because /dev/null was assumed to be a terminal. 6340 6341 src/xz/util.c | 30 +++++++++++++++++++++++------- 6342 src/xz/util.h | 14 ++++++++++++++ 6343 2 files changed, 37 insertions(+), 7 deletions(-) 6344 6345commit 6b05f827f50e686537e9a23c49c5aa4c0aa6b23d 6346Author: Jia Tan <jiat0218@gmail.com> 6347Date: 2023-11-22 20:39:41 +0800 6348 6349 tuklib_integer: Fix typo discovered by codespell. 6350 6351 Based on internet dictionary searches, 'choise' is an outdated spelling 6352 of 'choice'. 6353 6354 src/common/tuklib_integer.h | 2 +- 6355 1 file changed, 1 insertion(+), 1 deletion(-) 6356 6357commit 659aca0d695807c0762d4101765189e4e33d1e2c 6358Author: Lasse Collin <lasse.collin@tukaani.org> 6359Date: 2023-11-17 19:35:19 +0200 6360 6361 xz: Move the check for --suffix with --format=raw a few lines earlier. 6362 6363 Now it reads from argv[] instead of args->arg_names. 6364 6365 src/xz/args.c | 44 ++++++++++++++++++++++---------------------- 6366 1 file changed, 22 insertions(+), 22 deletions(-) 6367 6368commit ca278eb2b7f5a4940f5ab18955297b398d423824 6369Author: Jia Tan <jiat0218@gmail.com> 6370Date: 2023-11-17 20:35:11 +0800 6371 6372 Tests: Create test_suffix.sh. 6373 6374 This tests some complicated interactions with the --suffix= option. 6375 The suffix option must be used with --format=raw, but can optionally 6376 be used to override the default .xz suffix. 6377 6378 This test also verifies some recent bugs have been correctly solved 6379 and to hopefully avoid further regressions in the future. 6380 6381 tests/Makefile.am | 2 + 6382 tests/test_suffix.sh | 189 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6383 2 files changed, 191 insertions(+) 6384 6385commit 2a732aba22da1b0d4a1241cb32280ed010ba03ce 6386Author: Jia Tan <jiat0218@gmail.com> 6387Date: 2023-11-17 20:19:26 +0800 6388 6389 xz: Fix a bug with --files and --files0 in raw mode without a suffix. 6390 6391 The following command caused a segmentation fault: 6392 6393 xz -Fraw --lzma1 --files=foo 6394 6395 when foo was a valid file. The usage of --files or --files0 was not 6396 being checked when compressing or decompressing in raw mode without a 6397 suffix. The suffix checking code was meant to validate that all files 6398 to be processed are "-" (if not writing to standard out), meaning the 6399 data is only coming from standard in. In this case, there were no file 6400 names to check since --files and --files0 store their file name in a 6401 different place. 6402 6403 Later code assumed the suffix was set and caused a segmentation fault. 6404 Now, the above command results in an error. 6405 6406 src/xz/args.c | 5 +++++ 6407 1 file changed, 5 insertions(+) 6408 6409commit 299920bab9ae258a247366339264e8aefca9e3ce 6410Author: Jia Tan <jiat0218@gmail.com> 6411Date: 2023-11-17 20:04:58 +0800 6412 6413 Tests: Fix typo in a comment. 6414 6415 tests/test_files.sh | 2 +- 6416 1 file changed, 1 insertion(+), 1 deletion(-) 6417 6418commit f481523baac946fa3bc13d79186ffaf0c0b818a7 6419Author: Jia Tan <jiat0218@gmail.com> 6420Date: 2023-11-15 23:40:13 +0800 6421 6422 xz: Refactor suffix test with raw format. 6423 6424 The previous version set opt_stdout, but this caused an issue with 6425 copying an input file to standard out when decompressing an unknown file 6426 type. The following needs to result in an error: 6427 6428 echo foo | xz -df 6429 6430 since -c, --stdout is not used. This fixes the previous error by not 6431 setting opt_stdout. 6432 6433 src/xz/args.c | 38 +++++++++++++------------------------- 6434 1 file changed, 13 insertions(+), 25 deletions(-) 6435 6436commit 837ea40b1c9d4998cac4500b55171bf33e0c31a6 6437Author: Jia Tan <jiat0218@gmail.com> 6438Date: 2023-11-14 20:27:46 +0800 6439 6440 xz: Move suffix check after stdout mode is detected. 6441 6442 This fixes a bug introduced in cc5aa9ab138beeecaee5a1e81197591893ee9ca0 6443 when the suffix check was initially moved. This caused a situation that 6444 previously worked: 6445 6446 echo foo | xz -Fraw --lzma1 | wc -c 6447 6448 to fail because the old code knew that this would write to standard out 6449 so a suffix was not needed. 6450 6451 src/xz/args.c | 16 ++++++++-------- 6452 1 file changed, 8 insertions(+), 8 deletions(-) 6453 6454commit d4f4a4d040ef47a5e82dffd0f067e92716606ddf 6455Author: Jia Tan <jiat0218@gmail.com> 6456Date: 2023-11-14 20:27:04 +0800 6457 6458 xz: Detect when all data will be written to standard out earlier. 6459 6460 If the -c, --stdout argument is not used, then we can still detect when 6461 the data will be written to standard out if all of the provided 6462 filenames are "-" (denoting standard in) or if no filenames are 6463 provided. 6464 6465 src/xz/args.c | 21 +++++++++++++++++++++ 6466 1 file changed, 21 insertions(+) 6467 6468commit 2ade7246e7ba729a91460d2fab0f4c7b89d3998b 6469Author: Jia Tan <jiat0218@gmail.com> 6470Date: 2023-11-09 01:21:53 +0800 6471 6472 liblzma: Add missing comments to lz_encoder.h. 6473 6474 src/liblzma/lz/lz_encoder.h | 6 +++++- 6475 1 file changed, 5 insertions(+), 1 deletion(-) 6476 6477commit 5fe1450603dc625340b8b7866fb4a83ff748ad06 6478Author: Jia Tan <jiat0218@gmail.com> 6479Date: 2023-11-01 20:18:30 +0800 6480 6481 Add NEWS for 5.4.5. 6482 6483 NEWS | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6484 1 file changed, 74 insertions(+) 6485 6486commit 46007049cd42e606543dbe650feb17bdf4469c29 6487Author: Lasse Collin <lasse.collin@tukaani.org> 6488Date: 2023-10-31 21:41:09 +0200 6489 6490 liblzma: Fix compilation of fastpos_tablegen.c. 6491 6492 The macro lzma_attr_visibility_hidden has to be defined to make 6493 fastpos.h usable. The visibility attribute is irrelevant to 6494 fastpos_tablegen.c so simply #define the macro to an empty value. 6495 6496 fastpos_tablegen.c is never built by the included build systems 6497 and so the problem wasn't noticed earlier. It's just a standalone 6498 program for generating fastpos_table.c. 6499 6500 Fixes: https://github.com/tukaani-project/xz/pull/69 6501 Thanks to GitHub user Jamaika1. 6502 6503 src/liblzma/lzma/fastpos_tablegen.c | 2 ++ 6504 1 file changed, 2 insertions(+) 6505 6506commit 148e20607e95781558bdfc823ecba07b7af4b590 6507Author: Jia Tan <jiat0218@gmail.com> 6508Date: 2023-10-31 21:51:40 +0800 6509 6510 Build: Fix text wrapping in an output message. 6511 6512 configure.ac | 9 +++++---- 6513 1 file changed, 5 insertions(+), 4 deletions(-) 6514 6515commit 8c36ab79cbf23104ce7a3d533d5ac98cd492e57c 6516Author: Lasse Collin <lasse.collin@tukaani.org> 6517Date: 2023-10-30 18:09:53 +0200 6518 6519 liblzma: Add a note why crc_always_inline exists for now. 6520 6521 Solaris Studio is a possible example (not tested) which 6522 supports the always_inline attribute but might not get 6523 detected by the common.h #ifdefs. 6524 6525 src/liblzma/check/crc_common.h | 5 +++++ 6526 1 file changed, 5 insertions(+) 6527 6528commit e7a86b94cd247435ac96bc79ba528b690b9ca388 6529Author: Lasse Collin <lasse.collin@tukaani.org> 6530Date: 2023-10-22 17:59:11 +0300 6531 6532 liblzma: Use lzma_always_inline in memcmplen.h. 6533 6534 src/liblzma/common/memcmplen.h | 3 +-- 6535 1 file changed, 1 insertion(+), 2 deletions(-) 6536 6537commit dcfe5632992fb7f06f921da13fcdd84f83d0d285 6538Author: Lasse Collin <lasse.collin@tukaani.org> 6539Date: 2023-10-30 17:43:03 +0200 6540 6541 liblzma: #define lzma_always_inline in common.h. 6542 6543 src/liblzma/common/common.h | 17 +++++++++++++++++ 6544 1 file changed, 17 insertions(+) 6545 6546commit 41113fe30a47f6fd3e30cb4494dd538e86212edf 6547Author: Lasse Collin <lasse.collin@tukaani.org> 6548Date: 2023-10-22 17:15:32 +0300 6549 6550 liblzma: Use lzma_attr_visibility_hidden on private extern declarations. 6551 6552 These variables are internal to liblzma and not exposed in the API. 6553 6554 src/liblzma/check/check.h | 7 +++++++ 6555 src/liblzma/common/stream_flags_common.h | 3 +++ 6556 src/liblzma/lz/lz_encoder_hash.h | 1 + 6557 src/liblzma/lzma/fastpos.h | 1 + 6558 src/liblzma/rangecoder/price.h | 1 + 6559 5 files changed, 13 insertions(+) 6560 6561commit a2f5ca706acc6f7715b8d260a8c6ed50d7717478 6562Author: Lasse Collin <lasse.collin@tukaani.org> 6563Date: 2023-10-22 17:08:39 +0300 6564 6565 liblzma: #define lzma_attr_visibility_hidden in common.h. 6566 6567 In ELF shared libs: 6568 6569 -fvisibility=hidden affects definitions of symbols but not 6570 declarations.[*] This doesn't affect direct calls to functions 6571 inside liblzma as a linker can replace a call to lzma_foo@plt 6572 with a call directly to lzma_foo when -fvisibility=hidden is used. 6573 6574 [*] It has to be like this because otherwise every installed 6575 header file would need to explictly set the symbol visibility 6576 to default. 6577 6578 When accessing extern variables that aren't defined in the 6579 same translation unit, compiler assumes that the variable has 6580 the default visibility and thus indirection is needed. Unlike 6581 function calls, linker cannot optimize this. 6582 6583 Using __attribute__((__visibility__("hidden"))) with the extern 6584 variable declarations tells the compiler that indirection isn't 6585 needed because the definition is in the same shared library. 6586 6587 About 15+ years ago, someone told me that it would be good if 6588 the CRC tables would be defined in the same translation unit 6589 as the C code of the CRC functions. While I understood that it 6590 could help a tiny amount, I didn't want to change the code because 6591 a separate translation unit for the CRC tables was needed for the 6592 x86 assembly code anyway. But when visibility attributes are 6593 supported, simply marking the extern declaration with the 6594 hidden attribute will get identical result. When there are only 6595 a few affected variables, this is trivial to do. I wish I had 6596 understood this back then already. 6597 6598 src/liblzma/common/common.h | 11 +++++++++++ 6599 1 file changed, 11 insertions(+) 6600 6601commit 2c7ee92e44e1e66f0a427555233eb22c78f6c4f8 6602Author: Lasse Collin <lasse.collin@tukaani.org> 6603Date: 2023-09-30 22:54:28 +0300 6604 6605 liblzma: Refer to MinGW-w64 instead of MinGW in the API headers. 6606 6607 MinGW (formely a MinGW.org Project, later the MinGW.OSDN Project 6608 at <https://osdn.net/projects/mingw/>) has GCC 9.2.0 as the 6609 most recent GCC package (released 2021-02-02). The project might 6610 still be alive but majority of people have switched to MinGW-w64. 6611 Thus it seems clearer to refer to MinGW-w64 in our API headers too. 6612 Building with MinGW is likely to still work but I haven't tested it 6613 in the recent years. 6614 6615 src/liblzma/api/lzma.h | 4 ++-- 6616 src/liblzma/api/lzma/version.h | 2 +- 6617 2 files changed, 3 insertions(+), 3 deletions(-) 6618 6619commit 597f49b61475438a43a417236989b2acc968a686 6620Author: Lasse Collin <lasse.collin@tukaani.org> 6621Date: 2023-09-27 00:58:17 +0300 6622 6623 CMake: Use -D_FILE_OFFSET_BITS=64 if (and only if) needed. 6624 6625 A CMake option LARGE_FILE_SUPPORT is created if and only if 6626 -D_FILE_OFFSET_BITS=64 affects sizeof(off_t). 6627 6628 This is needed on many 32-bit platforms and even with 64-bit builds 6629 with MinGW-w64 to get support for files larger than 2 GiB. 6630 6631 CMakeLists.txt | 7 ++++- 6632 cmake/tuklib_large_file_support.cmake | 52 +++++++++++++++++++++++++++++++++++ 6633 2 files changed, 58 insertions(+), 1 deletion(-) 6634 6635commit 1bc548b8210366e44ba35b0b11577a8e328c1228 6636Author: Lasse Collin <lasse.collin@tukaani.org> 6637Date: 2023-09-30 02:14:25 +0300 6638 6639 CMake: Generate and install liblzma.pc if not using MSVC. 6640 6641 Autotools based build uses -pthread and thus adds it to Libs.private 6642 in liblzma.pc. CMake doesn't use -pthread at all if pthread functions 6643 are available in libc so Libs.private doesn't get -pthread either. 6644 6645 CMakeLists.txt | 21 +++++++++++++++++++++ 6646 1 file changed, 21 insertions(+) 6647 6648commit 2add71966f891d315105d6245f724ed4f43a4eff 6649Author: Lasse Collin <lasse.collin@tukaani.org> 6650Date: 2023-09-30 01:13:13 +0300 6651 6652 CMake: Rearrange the PACKAGE_ variables. 6653 6654 The windres workaround now replaces spaces with \x20 so 6655 the package name isn't repeated. 6656 6657 These changes will help with creation of liblzma.pc. 6658 6659 CMakeLists.txt | 26 +++++++++++++++----------- 6660 1 file changed, 15 insertions(+), 11 deletions(-) 6661 6662commit a7d1b2825c49dc83f1910eeb8ba0f1dfbd886d91 6663Author: Lasse Collin <lasse.collin@tukaani.org> 6664Date: 2023-09-29 20:46:11 +0300 6665 6666 liblzma: Add Cflags.private to liblzma.pc.in for MSYS2. 6667 6668 It properly adds -DLZMA_API_STATIC when compiling code that 6669 will be linked against static liblzma. Having it there on 6670 systems other than Windows does no harm. 6671 6672 See: https://www.msys2.org/docs/pkgconfig/ 6673 6674 src/liblzma/liblzma.pc.in | 1 + 6675 1 file changed, 1 insertion(+) 6676 6677commit 80e0750e3996c1c659e972ce9cf789ca2e99f702 6678Author: Lasse Collin <lasse.collin@tukaani.org> 6679Date: 2023-09-27 22:46:20 +0300 6680 6681 CMake: Create liblzma.def when building liblzma.dll with MinGW-w64. 6682 6683 CMakeLists.txt | 20 ++++++++++++++++++++ 6684 cmake/remove-ordinals.cmake | 26 ++++++++++++++++++++++++++ 6685 2 files changed, 46 insertions(+) 6686 6687commit 08d12595f486890cf601b87f36ee0ddbce57728e 6688Author: Lasse Collin <lasse.collin@tukaani.org> 6689Date: 2023-10-26 21:44:42 +0300 6690 6691 CMake: Change one CMAKE_CURRENT_SOURCE_DIR to CMAKE_CURRENT_LIST_DIR. 6692 6693 In this case they have identical values. 6694 6695 CMakeLists.txt | 2 +- 6696 1 file changed, 1 insertion(+), 1 deletion(-) 6697 6698commit e67aaf698de75c73443a5ec786781cbf2034461d 6699Author: Lasse Collin <lasse.collin@tukaani.org> 6700Date: 2023-10-01 19:10:57 +0300 6701 6702 CMake/Windows: Fix the import library filename. 6703 6704 Both PREFIX and IMPORT_PERFIX have to be set to "" to get 6705 liblzma.dll and liblzma.dll.a. 6706 6707 CMakeLists.txt | 1 + 6708 1 file changed, 1 insertion(+) 6709 6710commit 88588b1246d8c26ffbc138b3e5c413c5f14c3179 6711Author: Lasse Collin <lasse.collin@tukaani.org> 6712Date: 2023-10-25 19:13:25 +0300 6713 6714 Build: Detect -fsanitize= in CFLAGS and incompatible build options. 6715 6716 Now configure will fail if -fsanitize= is found in CFLAGS 6717 and sanitizer-incompatible ifunc or Landlock sandboxing 6718 would be used. These are incompatible with one or more sanitizers. 6719 It's simpler to reject all -fsanitize= uses instead of trying to 6720 pass those that might not cause problems. 6721 6722 CMake-based build was updated similarly. It lets the configuration 6723 finish (SEND_ERROR instead of FATAL_ERROR) so that both error 6724 messages can be seen at once. 6725 6726 CMakeLists.txt | 29 +++++++++++++++++++++++++++++ 6727 configure.ac | 37 +++++++++++++++++++++++++++++++++---- 6728 2 files changed, 62 insertions(+), 4 deletions(-) 6729 6730commit 5e3d890f8862a7d4fbef5e38e11b6c9fbd98f468 6731Author: Jia Tan <jiat0218@gmail.com> 6732Date: 2023-10-24 00:50:08 +0800 6733 6734 CI: Disable sandboxing in fsanitize=address,undefined job. 6735 6736 The sandboxing on Linux now supports Landlock, which restricts all 6737 supported filesystem actions after xz opens the files it needs. The 6738 sandbox is only enabled when one file is input and we are writing to 6739 standard out. With fsanitize=address,undefined, the instrumentation 6740 needs to read additional files after the sandbox is in place. This 6741 forces all xz based test to fail, so the sandbox must instead be 6742 disabled. 6743 6744 .github/workflows/ci.yml | 8 ++++++-- 6745 1 file changed, 6 insertions(+), 2 deletions(-) 6746 6747commit b1408987ea832e2760e478ae960a636df17a1363 6748Author: Jia Tan <jiat0218@gmail.com> 6749Date: 2023-10-24 00:15:39 +0800 6750 6751 CI: Allow disabling the sandbox in ci_build.sh. 6752 6753 build-aux/ci_build.sh | 5 ++++- 6754 1 file changed, 4 insertions(+), 1 deletion(-) 6755 6756commit 91c435cf1c7a1e893706d4d716dfd361621ed824 6757Author: Lasse Collin <lasse.collin@tukaani.org> 6758Date: 2023-10-11 19:47:44 +0300 6759 6760 CMake: Don't shadow the cache entry ENABLE_THREADS with a normal variable. 6761 6762 Using set(ENABLE_THREADS "posix") is confusing because it sets 6763 a new normal variable and leaves the cache entry with the same 6764 name unchanged. The intent wasn't to change the cache entry so 6765 this switches to a different variable name. 6766 6767 CMakeLists.txt | 10 +++++++--- 6768 1 file changed, 7 insertions(+), 3 deletions(-) 6769 6770commit fa1609eb9393ecd30decfed4891c907829f06710 6771Author: Lasse Collin <lasse.collin@tukaani.org> 6772Date: 2023-10-09 22:28:49 +0300 6773 6774 Docs: Update INSTALL about sandboxing support. 6775 6776 INSTALL | 7 ++++++- 6777 1 file changed, 6 insertions(+), 1 deletion(-) 6778 6779commit 8276c7f41c671eee4aa3239490658b23dcfd3021 6780Author: Lasse Collin <lasse.collin@tukaani.org> 6781Date: 2023-10-09 22:07:52 +0300 6782 6783 xz: Support basic sandboxing with Linux Landlock (ABI versions 1-3). 6784 6785 It is enabled only when decompressing one file to stdout, 6786 similar to how Capsicum is used. 6787 6788 Landlock was added in Linux 5.13. 6789 6790 CMakeLists.txt | 12 +++++++++++- 6791 configure.ac | 11 ++++++++--- 6792 src/xz/file_io.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 6793 src/xz/main.c | 19 +++++++++++++++++++ 6794 src/xz/private.h | 3 ++- 6795 5 files changed, 98 insertions(+), 5 deletions(-) 6796 6797commit 3a1e9fd031b9320d769d63b503ef4e82e1b6ea8c 6798Author: Lasse Collin <lasse.collin@tukaani.org> 6799Date: 2023-10-09 21:12:31 +0300 6800 6801 CMake: Edit threading related messages. 6802 6803 It's mostly to change from "thread method" to "threading method". 6804 6805 CMakeLists.txt | 19 ++++++++++--------- 6806 1 file changed, 10 insertions(+), 9 deletions(-) 6807 6808commit bf011352528ae3539ea7b780b45b96736ee57a99 6809Author: Lasse Collin <lasse.collin@tukaani.org> 6810Date: 2023-10-09 20:59:24 +0300 6811 6812 CMake: Use FATAL_ERROR if user-supplied options aren't understood. 6813 6814 This way typos are caught quickly and compounding error messages 6815 are avoided (a single typo could cause more than one error). 6816 6817 This keeps using SEND_ERROR when the system is lacking a feature 6818 (like threading library or sandboxing method). This way the whole 6819 configuration log will be generated in case someone wishes to 6820 report a problem upstream. 6821 6822 CMakeLists.txt | 28 ++++++++++++++-------------- 6823 1 file changed, 14 insertions(+), 14 deletions(-) 6824 6825commit 3f53870c249945d657ca3d75e0993e6267d71f75 6826Author: Lasse Collin <lasse.collin@tukaani.org> 6827Date: 2023-10-09 18:37:32 +0300 6828 6829 CMake: Add sandboxing support. 6830 6831 CMakeLists.txt | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 6832 1 file changed, 49 insertions(+), 1 deletion(-) 6833 6834commit 2e2cd11535ad77364cf021297e0b3f162fa3a3d0 6835Author: Lasse Collin <lasse.collin@tukaani.org> 6836Date: 2023-10-09 18:13:08 +0300 6837 6838 Simplify detection of Capsicum support. 6839 6840 This removes support for FreeBSD 10.0 and 10.1 which used 6841 <sys/capability.h> instead of <sys/capsicum.h>. Support for 6842 FreeBSD 10.1 ended on 2016-12-31. So now FreeBSD >= 10.2 is 6843 required to enable Capsicum support. 6844 6845 This also removes support for Capsicum on Linux (libcaprights) 6846 which seems to have been unmaintained since 2017 and Linux 4.11: 6847 https://github.com/google/capsicum-linux 6848 6849 configure.ac | 4 +-- 6850 m4/ax_check_capsicum.m4 | 85 ------------------------------------------------- 6851 src/xz/Makefile.am | 2 +- 6852 src/xz/file_io.c | 14 +++----- 6853 src/xz/private.h | 2 +- 6854 5 files changed, 9 insertions(+), 98 deletions(-) 6855 6856commit c57858b60e186d020b2dbaf7aabd9b32c71da824 6857Author: Lasse Collin <lasse.collin@tukaani.org> 6858Date: 2023-09-25 01:46:36 +0300 6859 6860 xz/Windows: Allow clock_gettime with POSIX threads. 6861 6862 If winpthreads are used for threading, it's OK to use clock_gettime() 6863 from winpthreads too. 6864 6865 src/xz/mytime.c | 9 ++++++--- 6866 1 file changed, 6 insertions(+), 3 deletions(-) 6867 6868commit dd32f628bb5541ef4e8ce66966ef456a1934084c 6869Author: Lasse Collin <lasse.collin@tukaani.org> 6870Date: 2023-09-25 01:39:26 +0300 6871 6872 mythread.h: Make MYTHREAD_POSIX compatible with MinGW-w64's winpthreads. 6873 6874 This might be almost useless but it doesn't need much extra code either. 6875 6876 src/common/mythread.h | 23 ++++++++++++++++++++++- 6877 1 file changed, 22 insertions(+), 1 deletion(-) 6878 6879commit 680e52cdd086e92691d8a0bca2c98815565f60ca 6880Author: Lasse Collin <lasse.collin@tukaani.org> 6881Date: 2023-09-23 03:06:36 +0300 6882 6883 CMake: Check for clock_gettime() even on Windows. 6884 6885 This mirrors configure.ac although currently MinGW-w64 builds 6886 don't use clock_gettime() even if it is found. 6887 6888 CMakeLists.txt | 44 +++++++++++++++++++++----------------------- 6889 1 file changed, 21 insertions(+), 23 deletions(-) 6890 6891commit 1c1a8c3ee4dad0064dbe63b8dbc4ac4bc679f419 6892Author: Lasse Collin <lasse.collin@tukaani.org> 6893Date: 2023-09-23 03:23:32 +0300 6894 6895 Build: Check for clock_gettime() even if not using POSIX threads. 6896 6897 See the new comment in the code. 6898 6899 This also makes the check for clock_gettime() run with MinGW-w64 6900 with which we don't want to use clock_gettime(). The previous 6901 commit already took care of this situation. 6902 6903 configure.ac | 31 ++++++++++++++++++------------- 6904 1 file changed, 18 insertions(+), 13 deletions(-) 6905 6906commit 46fd991cd2808ef62554853864c946232e7547f0 6907Author: Lasse Collin <lasse.collin@tukaani.org> 6908Date: 2023-09-24 22:58:53 +0300 6909 6910 xz/Windows: Ensure that clock_gettime() isn't used with MinGW-w64. 6911 6912 This commit alone doesn't change anything in the real-world: 6913 6914 - configure.ac currently checks for clock_gettime() only 6915 when using pthreads. 6916 6917 - CMakeLists.txt doesn't check for clock_gettime() on Windows. 6918 6919 So clock_gettime() wasn't used with MinGW-w64 before either. 6920 6921 clock_gettime() provides monotonic time and it's better than 6922 gettimeofday() in this sense. But clock_gettime() is defined 6923 in winpthreads, and liblzma or xz needs nothing else from 6924 winpthreads. By avoiding clock_gettime(), we avoid the dependency on 6925 libwinpthread-1.dll or the need to link against the static version. 6926 6927 As a bonus, GetTickCount64() and MinGW-w64's gettimeofday() can be 6928 faster than clock_gettime(CLOCK_MONOTONIC, &tv). The resolution 6929 is more than good enough for the progress indicator in xz. 6930 6931 src/xz/mytime.c | 9 +++++++-- 6932 1 file changed, 7 insertions(+), 2 deletions(-) 6933 6934commit cdb4d91f2464b50c985ef7b9517314ea237ddda7 6935Author: Lasse Collin <lasse.collin@tukaani.org> 6936Date: 2023-09-24 00:21:22 +0300 6937 6938 xz/Windows: Use GetTickCount64() with MinGW-w64 if using Vista threads. 6939 6940 src/xz/mytime.c | 14 +++++++++++--- 6941 1 file changed, 11 insertions(+), 3 deletions(-) 6942 6943commit 988e09f27b9b04a43d45d10f92782e0092ee27a9 6944Author: Jia Tan <jiat0218@gmail.com> 6945Date: 2023-10-20 19:17:46 +0800 6946 6947 liblzma: Move is_clmul_supported() back to crc_common.h. 6948 6949 This partially reverts creating crc_clmul.c 6950 (8c0f9376f58c0696d5d6719705164d35542dd891) where is_clmul_supported() 6951 was moved, extern'ed, and renamed to lzma_is_clmul_supported(). This 6952 caused a problem when the function call to lzma_is_clmul_supported() 6953 results in a call through the PLT. ifunc resolvers run very early in 6954 the dynamic loading sequence, so the PLT may not be setup properly at 6955 this point. Whether the PLT is used or not for 6956 lzma_is_clmul_supported() depened upon the compiler-toolchain used and 6957 flags. 6958 6959 In liblzma compiled with GCC, for instance, GCC will go through the PLT 6960 for function calls internal to liblzma if the version scripts and 6961 symbol visibility hiding are not used. If lazy-binding is disabled, 6962 then it would have made any program linked with liblzma fail during 6963 dynamic loading in the ifunc resolver. 6964 6965 src/liblzma/check/crc32_fast.c | 2 +- 6966 src/liblzma/check/crc64_fast.c | 2 +- 6967 src/liblzma/check/crc_clmul.c | 45 ------------------------------------ 6968 src/liblzma/check/crc_common.h | 52 +++++++++++++++++++++++++++++++++++++++--- 6969 4 files changed, 51 insertions(+), 50 deletions(-) 6970 6971commit 105c7ca90d4152942e0798580a37f736d02faa22 6972Author: Jia Tan <jiat0218@gmail.com> 6973Date: 2023-10-19 16:23:32 +0800 6974 6975 Build: Remove check for COND_CHECK_CRC32 in check/Makefile.inc. 6976 6977 Currently crc32 is always enabled, so COND_CHECK_CRC32 must always be 6978 set. Because of this, it makes the recent change to conditionally 6979 compile check/crc_clmul.c appear wrong since that file has CLMUL 6980 implementations for both CRC32 and CRC64. 6981 6982 src/liblzma/check/Makefile.inc | 4 ++-- 6983 1 file changed, 2 insertions(+), 2 deletions(-) 6984 6985commit 139757170468f0f1fafdf0a8ffa74363d1ea1d0c 6986Author: Jia Tan <jiat0218@gmail.com> 6987Date: 2023-10-19 16:09:01 +0800 6988 6989 CMake: Add ALLOW_CLMUL_CRC option to enable/disable CLMUL. 6990 6991 The option is enabled by default, but will only be visible to a user 6992 listing cache variables or using a CMake GUI application if the 6993 immintrin.h header file is found. 6994 6995 This mirrors our Autotools build --disable-clmul-crc functionality. 6996 6997 CMakeLists.txt | 44 +++++++++++++++++++++++++------------------- 6998 1 file changed, 25 insertions(+), 19 deletions(-) 6999 7000commit c60b25569d414bb73b705977a4dd342f8f9f1965 7001Author: Jia Tan <jiat0218@gmail.com> 7002Date: 2023-10-19 00:22:50 +0800 7003 7004 liblzma: Fix -fsanitize=address failure with crc_clmul functions. 7005 7006 After forcing crc_simd_body() to always be inlined it caused 7007 -fsanitize=address to fail for lzma_crc32_clmul() and 7008 lzma_crc64_clmul(). The __no_sanitize_address__ attribute was added 7009 to lzma_crc32_clmul() and lzma_crc64_clmul(), but not removed from 7010 crc_simd_body(). ASAN and inline functions behavior has changed over 7011 the years for GCC specifically, so while strictly required we will 7012 keep __attribute__((__no_sanitize_address__)) on crc_simd_body() in 7013 case this becomes a requirement in the future. 7014 7015 Older GCC versions refuse to inline a function with ASAN if the 7016 caller and callee do not agree on sanitization flags 7017 (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89124#c3). If the 7018 function was forced to be inlined, it will not compile if the callee 7019 function has __no_sanitize_address__ but the caller doesn't. 7020 7021 src/liblzma/check/crc_clmul.c | 6 ++++++ 7022 1 file changed, 6 insertions(+) 7023 7024commit 9a78971261bc67622cbd7dae02f6966968ac1393 7025Author: Lasse Collin <lasse.collin@tukaani.org> 7026Date: 2023-10-14 20:16:13 +0300 7027 7028 tuklib_integer: Update the CMake test for fast unaligned access. 7029 7030 cmake/tuklib_integer.cmake | 69 ++++++++++++++++++++++++++++++++++++---------- 7031 1 file changed, 54 insertions(+), 15 deletions(-) 7032 7033commit 2f81ac852bc5aafc91c8e2adc66b5114761703c4 7034Author: Lasse Collin <lasse.collin@tukaani.org> 7035Date: 2023-09-23 23:28:48 +0300 7036 7037 Build: Enabled unaligned access by default on PowerPC64LE and some RISC-V. 7038 7039 PowerPC64LE wasn't tested but it seems like a safe change. 7040 POWER8 supports unaligned access in little endian mode. Testing 7041 on godbolt.org shows that GCC uses unaligned access by default. 7042 7043 The RISC-V macro __riscv_misaligned_fast is very new and not 7044 in any stable compiler release yet. 7045 7046 Documentation in INSTALL was updated to match. 7047 7048 Documentation about an autodetection bug when using ARM64 GCC 7049 with -mstrict-align was added to INSTALL. 7050 7051 CMake files weren't updated yet. 7052 7053 INSTALL | 39 +++++++++++++++++++++++++++++++++++++-- 7054 m4/tuklib_integer.m4 | 34 +++++++++++++++++++++++++++------- 7055 2 files changed, 64 insertions(+), 9 deletions(-) 7056 7057commit c8f715f1bca4c30db814fcf1fd2fe88b8992ede2 7058Author: Lasse Collin <lasse.collin@tukaani.org> 7059Date: 2023-10-14 17:56:59 +0300 7060 7061 tuklib_integer: Revise unaligned reads and writes on strict-align archs. 7062 7063 In XZ Utils context this doesn't matter much because 7064 unaligned reads and writes aren't used in hot code 7065 when TUKLIB_FAST_UNALIGNED_ACCESS isn't #defined. 7066 7067 src/common/tuklib_integer.h | 256 ++++++++++++++++++++++++++++++++------------ 7068 1 file changed, 189 insertions(+), 67 deletions(-) 7069 7070commit 6828242735cbf61b93d140383336e1e51a006f2d 7071Author: Lasse Collin <lasse.collin@tukaani.org> 7072Date: 2023-09-23 02:21:49 +0300 7073 7074 tuklib_integer: Add missing write64be and write64le fallback functions. 7075 7076 src/common/tuklib_integer.h | 34 ++++++++++++++++++++++++++++++++++ 7077 1 file changed, 34 insertions(+) 7078 7079commit 1c8884f0af28b3a4690bb573cdf3240a8ec73416 7080Author: Jia Tan <jiat0218@gmail.com> 7081Date: 2023-10-18 19:57:10 +0800 7082 7083 liblzma: Set the MSVC optimization fix to only cover lzma_crc64_clmul(). 7084 7085 After testing a 32-bit Release build on MSVC, only lzma_crc64_clmul() 7086 has the bug. crc_simd_body() and lzma_crc32_clmul() do not need the 7087 optimizations disabled. 7088 7089 src/liblzma/check/crc_clmul.c | 30 +++++++++++++++--------------- 7090 1 file changed, 15 insertions(+), 15 deletions(-) 7091 7092commit 5ce0f7a48bdf5c3b45430850a4487307afac6143 7093Author: Lasse Collin <lasse.collin@tukaani.org> 7094Date: 2023-10-18 14:30:00 +0300 7095 7096 liblzma: CRC_USE_GENERIC_FOR_SMALL_INPUTS cannot be used with ifunc. 7097 7098 src/liblzma/check/crc_common.h | 4 +++- 7099 1 file changed, 3 insertions(+), 1 deletion(-) 7100 7101commit 27735380491bb5ce0d0f41d5244d89c1d0825f6b 7102Author: Lasse Collin <lasse.collin@tukaani.org> 7103Date: 2023-10-17 21:53:11 +0300 7104 7105 liblzma: Include common.h in crc_common.h. 7106 7107 crc_common.h depends on common.h. The headers include common.h except 7108 when there is a reason to not do so. 7109 7110 src/liblzma/check/crc_clmul.c | 1 - 7111 src/liblzma/check/crc_common.h | 3 +++ 7112 2 files changed, 3 insertions(+), 1 deletion(-) 7113 7114commit e13b7947b92355c334edd594295d3a2c99c4bca1 7115Author: Jia Tan <jiat0218@gmail.com> 7116Date: 2023-10-18 01:23:26 +0800 7117 7118 liblzma: Add include guards to crc_common.h. 7119 7120 src/liblzma/check/crc_common.h | 5 +++++ 7121 1 file changed, 5 insertions(+) 7122 7123commit 40abd88afcc61a8157fcd12d78d491caeb8e12be 7124Author: Jia Tan <jiat0218@gmail.com> 7125Date: 2023-10-18 22:50:25 +0800 7126 7127 liblzma: Add the crc_always_inline macro to crc_simd_body(). 7128 7129 Forcing this to be inline has a significant speed improvement at the 7130 cost of a few repeated instructions. The compilers tested on did not 7131 inline this function since it is large and is used twice in the same 7132 translation unit. 7133 7134 src/liblzma/check/crc_clmul.c | 2 +- 7135 1 file changed, 1 insertion(+), 1 deletion(-) 7136 7137commit a5966c276bd6fa975f0389f8a8dc61393de750b0 7138Author: Jia Tan <jiat0218@gmail.com> 7139Date: 2023-10-18 22:48:19 +0800 7140 7141 liblzma: Create crc_always_inline macro. 7142 7143 This macro must be used instead of the inline keyword. On MSVC, it is 7144 a replacement for __forceinline which is an MSVC specific keyword that 7145 should not be used with inline (it will issue a warning if it is). 7146 7147 It does not use a build system check to determine if 7148 __attribute__((__always_inline__)) since all compilers that can use 7149 CLMUL extensions (except the special case for MSVC) should support this 7150 attribute. If this assumption is incorrect then it will result in a bug 7151 report instead of silently producing slow code. 7152 7153 src/liblzma/check/crc_common.h | 15 +++++++++++++++ 7154 1 file changed, 15 insertions(+) 7155 7156commit 96b663f67c0e738a99ba8f35d9f4ced9add74544 7157Author: Jia Tan <jiat0218@gmail.com> 7158Date: 2023-10-14 13:23:23 +0800 7159 7160 liblzma: Refactor CRC comments. 7161 7162 A detailed description of the three dispatch methods was added. Also, 7163 duplicated comments now only appear in crc32_fast.c or were removed from 7164 both crc32_fast.c and crc64_fast.c if they appeared in crc_clmul.c. 7165 7166 src/liblzma/check/crc32_fast.c | 64 +++++++++++++++++++++++++++++------------- 7167 src/liblzma/check/crc64_fast.c | 61 ++++++---------------------------------- 7168 2 files changed, 53 insertions(+), 72 deletions(-) 7169 7170commit 8c0f9376f58c0696d5d6719705164d35542dd891 7171Author: Jia Tan <jiat0218@gmail.com> 7172Date: 2023-10-14 12:17:57 +0800 7173 7174 liblzma: Create crc_clmul.c. 7175 7176 Both crc32_clmul() and crc64_clmul() are now exported from 7177 crc32_clmul.c as lzma_crc32_clmul() and lzma_crc64_clmul(). This 7178 ensures that is_clmul_supported() (now lzma_is_clmul_supported()) is 7179 not duplicated between crc32_fast.c and crc64_fast.c. 7180 7181 Also, it encapsulates the complexity of the CLMUL implementations into a 7182 single file and reduces the complexity of crc32_fast.c and crc64_fast.c. 7183 Before, CLMUL code was present in crc32_fast.c, crc64_fast.c, and 7184 crc_common.h. 7185 7186 During the conversion, various cleanups were applied to code (thanks to 7187 Lasse Collin) including: 7188 7189 - Require using semicolons with MASK_/L/H/LH macros. 7190 - Variable typing and const handling improvements. 7191 - Improvements to comments. 7192 - Fixes to the pragmas used. 7193 - Removed unneeded variables. 7194 - Whitespace improvements. 7195 - Fixed CRC_USE_GENERIC_FOR_SMALL_INPUTS handling. 7196 - Silenced warnings and removed the need for some #pragmas 7197 7198 CMakeLists.txt | 6 +- 7199 configure.ac | 6 +- 7200 src/liblzma/check/Makefile.inc | 3 + 7201 src/liblzma/check/crc32_fast.c | 120 +----------- 7202 src/liblzma/check/crc64_fast.c | 128 +------------ 7203 src/liblzma/check/crc_clmul.c | 414 +++++++++++++++++++++++++++++++++++++++++ 7204 src/liblzma/check/crc_common.h | 190 +------------------ 7205 7 files changed, 444 insertions(+), 423 deletions(-) 7206 7207commit a3ebc2c516b09616638060806c841bd4bcf7bce3 7208Author: Jia Tan <jiat0218@gmail.com> 7209Date: 2023-10-14 10:23:03 +0800 7210 7211 liblzma: Define CRC_USE_IFUNC in crc_common.h. 7212 7213 When ifunc is supported, we can define a simpler macro instead of 7214 repeating the more complex check in both crc32_fast.c and crc64_fast.c. 7215 7216 src/liblzma/check/crc32_fast.c | 3 +-- 7217 src/liblzma/check/crc64_fast.c | 3 +-- 7218 src/liblzma/check/crc_common.h | 5 +++++ 7219 3 files changed, 7 insertions(+), 4 deletions(-) 7220 7221commit f1cd9d7194f005cd66ec03c6635ceae75f90ef17 7222Author: Hans Jansen <hansjansen162@outlook.com> 7223Date: 2023-10-12 19:37:01 +0200 7224 7225 liblzma: Added crc32_clmul to crc32_fast.c. 7226 7227 src/liblzma/check/crc32_fast.c | 247 ++++++++++++++++++++++++++++++++++++++-- 7228 src/liblzma/check/crc32_table.c | 19 +++- 7229 2 files changed, 255 insertions(+), 11 deletions(-) 7230 7231commit 93e6fb08b22c7c13be2dd1e7274fe78413436254 7232Author: Hans Jansen <hansjansen162@outlook.com> 7233Date: 2023-10-12 19:23:40 +0200 7234 7235 liblzma: Moved CLMUL CRC logic to crc_common.h. 7236 7237 crc64_fast.c was updated to use the code from crc_common.h instead. 7238 7239 src/liblzma/check/crc64_fast.c | 257 ++--------------------------------------- 7240 src/liblzma/check/crc_common.h | 230 +++++++++++++++++++++++++++++++++++- 7241 2 files changed, 240 insertions(+), 247 deletions(-) 7242 7243commit 233885a437f8b55a5c8442984ebc0aaa579e92de 7244Author: Hans Jansen <hansjansen162@outlook.com> 7245Date: 2023-10-12 19:07:50 +0200 7246 7247 liblzma: Rename crc_macros.h to crc_common.h. 7248 7249 CMakeLists.txt | 2 +- 7250 src/liblzma/check/Makefile.inc | 2 +- 7251 src/liblzma/check/crc32_fast.c | 2 +- 7252 src/liblzma/check/crc64_fast.c | 2 +- 7253 src/liblzma/check/{crc_macros.h => crc_common.h} | 2 +- 7254 5 files changed, 5 insertions(+), 5 deletions(-) 7255 7256commit 37947d4a7565b87e4cec8b89229d35b0a3f8d2cd 7257Author: Gabriela Gutierrez <gabigutierrez@google.com> 7258Date: 2023-09-26 15:55:13 +0000 7259 7260 CI: Bump and ref actions by commit SHA in windows-ci.yml 7261 7262 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. 7263 7264 It's important to make sure the SHA's are from the original repositories and not forks. 7265 7266 For reference: 7267 7268 https://github.com/msys2/setup-msys2/releases/tag/v2.20.1 7269 https://github.com/msys2/setup-msys2/commit/27b3aa77f672cb6b3054121cfd80c3d22ceebb1d 7270 7271 https://github.com/actions/checkout/releases/tag/v4.1.0 7272 https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608 7273 7274 https://github.com/actions/upload-artifact/releases/tag/v3.1.3 7275 https://github.com/actions/upload-artifact/commit/a8a3f3ad30e3422c9c7b888a15615d19a852ae32 7276 7277 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 7278 7279 .github/workflows/windows-ci.yml | 6 +++--- 7280 1 file changed, 3 insertions(+), 3 deletions(-) 7281 7282commit f28cc9bd481ce493da11f98c18526d324211599a 7283Author: Gabriela Gutierrez <gabigutierrez@google.com> 7284Date: 2023-09-26 14:35:08 +0000 7285 7286 CI: Bump and ref actions by commit SHA in ci.yml 7287 7288 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. 7289 7290 It's important to make sure the SHA's are from the original repositories and not forks. 7291 7292 For reference: 7293 7294 https://github.com/actions/checkout/releases/tag/v4.1.0 7295 https://github.com/actions/checkout/commit/8ade135a41bc03ea155e62e844d188df1ea18608 7296 7297 https://github.com/actions/upload-artifact/releases/tag/v3.1.3 7298 https://github.com/actions/upload-artifact/commit/a8a3f3ad30e3422c9c7b888a15615d19a852ae32 7299 7300 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 7301 7302 .github/workflows/ci.yml | 4 ++-- 7303 1 file changed, 2 insertions(+), 2 deletions(-) 7304 7305commit f74f1740067b75042497edbfa6ea457ff75484b9 7306Author: Jia Tan <jiat0218@gmail.com> 7307Date: 2023-10-12 20:12:18 +0800 7308 7309 Build: Update visibility.m4 from Gnulib. 7310 7311 Updating from version 6 -> 8 from upstream. Declarations for variables 7312 and function bodies were added to avoid unnecessary failures with 7313 -Werror. 7314 7315 m4/visibility.m4 | 9 +++++++-- 7316 1 file changed, 7 insertions(+), 2 deletions(-) 7317 7318commit 5c4bca521e6fb435898a0012b3276eee70a6dadf 7319Author: Lasse Collin <lasse.collin@tukaani.org> 7320Date: 2023-10-06 19:36:35 +0300 7321 7322 Update THANKS. 7323 7324 THANKS | 1 + 7325 1 file changed, 1 insertion(+) 7326 7327commit d91cb6e884c73d0b05d7e7d68ad4e6eb29f4b44b 7328Author: Lasse Collin <lasse.collin@tukaani.org> 7329Date: 2023-10-06 18:55:57 +0300 7330 7331 CMake/Windows: Fix when the windres workaround is applied. 7332 7333 CMake doesn't set WIN32 on CYGWIN but the workaround is 7334 probably needed on Cygwin too. Same for MSYS and MSYS2. 7335 7336 The workaround must not be used with Clang that is acting in 7337 MSVC mode. This fixes it by checking for the known environments 7338 that need the workaround instead of using "NOT MSVC". 7339 7340 Thanks to Martin Storsjö. 7341 https://github.com/tukaani-project/xz/commit/0570308ddd9c0e39e85597ebc0e31d4fc81d436f#commitcomment-129098431 7342 7343 CMakeLists.txt | 6 +++--- 7344 1 file changed, 3 insertions(+), 3 deletions(-) 7345 7346commit 01e34aa1171b04f8b28960b1cc6135a903e0c13d 7347Author: Jia Tan <jiat0218@gmail.com> 7348Date: 2023-09-29 22:11:54 +0800 7349 7350 CI: Disable CLANG64 MSYS2 environment until bug is resolved. 7351 7352 lld 17.0.1 searches for libraries to link first in the toolchain 7353 directories before the local directory when building. The is a problem 7354 for us because liblzma.a is installed in MSYS2 CLANG64 by default and 7355 xz.exe will thus use the installed library instead of the one being 7356 built. 7357 7358 This causes tests to fail when they are expecting features to be 7359 disabled. More importantly, it will compile xz.exe with an incorrect 7360 liblzma and could cause unexpected behavior by being unable to update 7361 liblzma code in static builds. The CLANG64 environment can be tested 7362 again once this is fixed. 7363 7364 Link to bug: https://github.com/llvm/llvm-project/issues/67779. 7365 7366 .github/workflows/windows-ci.yml | 8 +++++--- 7367 1 file changed, 5 insertions(+), 3 deletions(-) 7368 7369commit 30d0c35327f3639cb11224872aa58fdbf0b1526e 7370Author: Jia Tan <jiat0218@gmail.com> 7371Date: 2023-09-29 20:14:39 +0800 7372 7373 CMake: Rename xz and man page symlink custom targets. 7374 7375 The Ninja Generator for CMake cannot have a custom target and its 7376 BYPRODUCTS have the same name. This has prevented Ninja builds on 7377 Unix-like systems since the xz symlinks were introduced in 7378 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 7379 7380 CMakeLists.txt | 6 +++--- 7381 1 file changed, 3 insertions(+), 3 deletions(-) 7382 7383commit 506d03127a8565442b028ec991e1578124fd3025 7384Author: Jia Tan <jiat0218@gmail.com> 7385Date: 2023-09-29 19:58:44 +0800 7386 7387 CMake: Specify LINKER_LANGUAGE for libgnu target to fix Ninja Generator. 7388 7389 CMake is unable to guess the linker language for just a header file so 7390 it must be explicitly set. 7391 7392 CMakeLists.txt | 6 ++++++ 7393 1 file changed, 6 insertions(+) 7394 7395commit 0570308ddd9c0e39e85597ebc0e31d4fc81d436f 7396Author: Lasse Collin <lasse.collin@tukaani.org> 7397Date: 2023-09-27 19:54:35 +0300 7398 7399 CMake: Fix Windows build with Clang/LLVM 17. 7400 7401 llvm-windres 17.0.0 has more accurate emulation of GNU windres, so 7402 the hack for GNU windres must now be used with llvm-windres too. 7403 7404 LLVM 16.0.6 has the old behavior and there likely won't be more 7405 16.x releases. So we can simply check for >= 17.0.0. 7406 7407 See also: 7408 https://github.com/llvm/llvm-project/commit/2bcc0fdc58a220cb9921b47ec8a32c85f2511a47 7409 7410 CMakeLists.txt | 26 ++++++++++++++------------ 7411 1 file changed, 14 insertions(+), 12 deletions(-) 7412 7413commit 5a9af95f85a7e5d4f9c10cb8cf737651a921f1d1 7414Author: Lasse Collin <lasse.collin@tukaani.org> 7415Date: 2023-09-26 21:47:13 +0300 7416 7417 liblzma: Update a comment. 7418 7419 The C standards don't allow an empty translation unit which can be 7420 avoided by declaring something, without exporting any symbols. 7421 7422 When I committed f644473a211394447824ea00518d0a214ff3f7f2 I had 7423 a feeling that some specific toolchain somewhere didn't like 7424 empty object files (assembler or maybe "ar" complained) but 7425 I cannot find anything to confirm this now. Quite likely I 7426 remembered nonsense. I leave this here as a note to my future self. :-) 7427 7428 src/liblzma/check/crc64_table.c | 3 +-- 7429 1 file changed, 1 insertion(+), 2 deletions(-) 7430 7431commit 8ebaf3f665ddc7e4f19c613005050dde5ccbe499 7432Author: Jia Tan <jiat0218@gmail.com> 7433Date: 2023-09-27 00:02:11 +0800 7434 7435 liblzma: Avoid compiler warning without creating extra symbol. 7436 7437 When the generic fast crc64 method is used, then we omit 7438 lzma_crc64_table[][]. Similar to 7439 d9166b52cf3458a4da3eb92224837ca8fc208d79, we can avoid compiler warnings 7440 with -Wempty-translation-unit (Clang) or -pedantic (GCC) by creating a 7441 never used typedef instead of an extra symbol. 7442 7443 src/liblzma/check/crc64_table.c | 3 +-- 7444 1 file changed, 1 insertion(+), 2 deletions(-) 7445 7446commit 092d21db2e5eea19fe079264ce48c178989c7606 7447Author: Lasse Collin <lasse.collin@tukaani.org> 7448Date: 2023-09-26 17:24:15 +0300 7449 7450 Build: Update the comment about -Werror usage in checks. 7451 7452 configure.ac | 10 ++++++++-- 7453 1 file changed, 8 insertions(+), 2 deletions(-) 7454 7455commit a37a2763383e6c204fe878e1416dd35e7711d3a9 7456Author: Lasse Collin <lasse.collin@tukaani.org> 7457Date: 2023-09-26 15:00:43 +0300 7458 7459 Build: Fix __attribute__((ifunc(...))) detection with clang -Wall. 7460 7461 Now if user-supplied CFLAGS contains -Wall -Wextra -Wpedantic 7462 the two checks that need -Werror will still work. 7463 7464 At CMake side there is add_compile_options(-Wall -Wextra) 7465 but it didn't affect the -Werror tests. So with both Autotools 7466 and CMake only user-supplied CFLAGS could make the checks fail 7467 when they shouldn't. 7468 7469 This is not a full fix as things like -Wunused-macros in 7470 user-supplied CFLAGS will still cause problems with both 7471 GCC and Clang. 7472 7473 CMakeLists.txt | 8 ++++++++ 7474 configure.ac | 8 ++++++++ 7475 2 files changed, 16 insertions(+) 7476 7477commit 9c42f936939b813f25d0ff4e99c3eb9c2d17a0d2 7478Author: Lasse Collin <lasse.collin@tukaani.org> 7479Date: 2023-09-26 13:51:31 +0300 7480 7481 Build: Fix underquoted AC_LANG_SOURCE. 7482 7483 It made no practical difference in this case. 7484 7485 configure.ac | 2 +- 7486 1 file changed, 1 insertion(+), 1 deletion(-) 7487 7488commit 9f1444a8a5c0e724b2c7ef83424f642f07a95982 7489Author: Lasse Collin <lasse.collin@tukaani.org> 7490Date: 2023-09-26 13:14:37 +0300 7491 7492 Build: Silence two Autoconf warnings. 7493 7494 There were two uses of AC_COMPILE_IFELSE that didn't use 7495 AC_LANG_SOURCE and Autoconf warned about these. The omission 7496 had been intentional but it turned out that this didn't do 7497 what I thought it would. 7498 7499 Autoconf 2.71 manual gives an impression that AC_LANG_SOURCE 7500 inserts all #defines that have been made with AC_DEFINE so 7501 far (confdefs.h). The idea was that omitting AC_LANG_SOURCE 7502 would mean that only the exact code included in the 7503 AC_COMPILE_IFELSE call would be compiled. 7504 7505 With C programs this is not true: the #defines get added without 7506 AC_LANG_SOURCE too. There seems to be no neat way to avoid this. 7507 Thus, with the C language at least, adding AC_LANG_SOURCE makes 7508 no other difference than silencing a warning from Autoconf. The 7509 generated "configure" remains identical. (Docs of AC_LANG_CONFTEST 7510 say that the #defines have been inserted since Autoconf 2.63b and 7511 that AC_COMPILE_IFELSE uses AC_LANG_CONFTEST. So the behavior is 7512 documented if one also reads the docs of macros that one isn't 7513 calling directly.) 7514 7515 Any extra code, including #defines, can cause problems for 7516 these two tests because these tests must use -Werror. 7517 CC=clang CFLAGS=-Weverything is the most extreme example. 7518 It enables -Wreserved-macro-identifier which warns about 7519 #define __EXTENSIONS__ 1 because it begins with two underscores. 7520 It's possible to write a test file that passes -Weverything but 7521 it becomes impossible when Autoconf inserts confdefs.h. 7522 7523 So this commit adds AC_LANG_SOURCE to silence Autoconf warnings. 7524 A different solution is needed for -Werror tests. 7525 7526 configure.ac | 9 ++++----- 7527 1 file changed, 4 insertions(+), 5 deletions(-) 7528 7529commit 519e47c2818acde571fadc79551294527fe6cc22 7530Author: Jia Tan <jiat0218@gmail.com> 7531Date: 2023-09-26 01:17:11 +0800 7532 7533 CMake: Remove accidental extra newline. 7534 7535 CMakeLists.txt | 1 - 7536 1 file changed, 1 deletion(-) 7537 7538commit bbb42412da6a02705ba3e668e90840c2683e4e67 7539Author: Jia Tan <jiat0218@gmail.com> 7540Date: 2023-09-26 00:47:26 +0800 7541 7542 Build: Remove Gnulib dependency from tests. 7543 7544 The tests do not use any Gnulib replacements so they do not need to link 7545 libgnu.a or have /lib in the include path. 7546 7547 tests/Makefile.am | 7 +------ 7548 1 file changed, 1 insertion(+), 6 deletions(-) 7549 7550commit d265f6b75691c6c8fa876eb5320c3ff5aed17dfa 7551Author: Jia Tan <jiat0218@gmail.com> 7552Date: 2023-09-26 00:43:43 +0800 7553 7554 CMake: Remove /lib from tests include path. 7555 7556 The tests never included anything from /lib, so this was not needed. 7557 7558 CMakeLists.txt | 1 - 7559 1 file changed, 1 deletion(-) 7560 7561commit 9fb5de41f2fb654ca952d4bda15cf3777c2b720f 7562Author: Jia Tan <jiat0218@gmail.com> 7563Date: 2023-09-24 22:10:41 +0800 7564 7565 Scripts: Change quoting style from `...' to '...'. 7566 7567 src/scripts/xzdiff.in | 2 +- 7568 src/scripts/xzgrep.in | 2 +- 7569 2 files changed, 2 insertions(+), 2 deletions(-) 7570 7571commit eaebdef4d4de3c088b0905f42626b74e0d23abf3 7572Author: Jia Tan <jiat0218@gmail.com> 7573Date: 2023-09-24 22:10:18 +0800 7574 7575 xz: Change quoting style from `...' to '...'. 7576 7577 src/xz/args.c | 6 +++--- 7578 src/xz/file_io.c | 2 +- 7579 src/xz/main.c | 4 ++-- 7580 src/xz/message.c | 14 +++++++------- 7581 src/xz/options.c | 2 +- 7582 src/xz/suffix.c | 2 +- 7583 src/xz/util.c | 6 +++--- 7584 7 files changed, 18 insertions(+), 18 deletions(-) 7585 7586commit f6667702bf075a05fbe336dbf3576ad1a82ec645 7587Author: Jia Tan <jiat0218@gmail.com> 7588Date: 2023-09-24 22:09:47 +0800 7589 7590 liblzma: Change quoting style from `...' to '...'. 7591 7592 This was done for both internal and API headers. 7593 7594 src/liblzma/api/lzma/base.h | 18 +++++++++--------- 7595 src/liblzma/api/lzma/container.h | 10 +++++----- 7596 src/liblzma/api/lzma/filter.h | 6 +++--- 7597 src/liblzma/api/lzma/index.h | 8 ++++---- 7598 src/liblzma/api/lzma/lzma12.h | 2 +- 7599 src/liblzma/lz/lz_encoder.h | 2 +- 7600 src/liblzma/rangecoder/range_decoder.h | 2 +- 7601 7 files changed, 24 insertions(+), 24 deletions(-) 7602 7603commit be012b8097a4eaee335b51357d6befa745f753ce 7604Author: Jia Tan <jiat0218@gmail.com> 7605Date: 2023-09-24 22:09:16 +0800 7606 7607 Build: Change quoting style from `...' to '...'. 7608 7609 configure.ac | 18 +++++++++--------- 7610 dos/config.h | 6 +++--- 7611 m4/getopt.m4 | 2 +- 7612 m4/tuklib_progname.m4 | 2 +- 7613 windows/build.bash | 2 +- 7614 5 files changed, 15 insertions(+), 15 deletions(-) 7615 7616commit ce162db07f03495bd333696e66883c8f36abdc1e 7617Author: Jia Tan <jiat0218@gmail.com> 7618Date: 2023-09-24 22:05:02 +0800 7619 7620 Docs: Change quoting style from `...' to '...'. 7621 7622 These days the ` and ' do not look symmetric. This quoting style has 7623 been changed in various apps over the years including the GNU tools. 7624 7625 INSTALL | 6 +++--- 7626 doc/examples/01_compress_easy.c | 2 +- 7627 doc/examples/11_file_info.c | 16 ++++++++-------- 7628 3 files changed, 12 insertions(+), 12 deletions(-) 7629 7630commit db17656721e43939bfa4ec13506e7c76f4b86da6 7631Author: Jia Tan <jiat0218@gmail.com> 7632Date: 2023-09-24 21:25:01 +0800 7633 7634 lib: Silence -Wsign-conversion in getopt.c. 7635 7636 lib/getopt.c | 6 +++--- 7637 1 file changed, 3 insertions(+), 3 deletions(-) 7638 7639commit a6234f677d66888f435010bc0b67de6a32fefcf6 7640Author: Jia Tan <jiat0218@gmail.com> 7641Date: 2023-09-24 20:48:52 +0800 7642 7643 Build: Update getopt.m4 from Gnulib. 7644 7645 This file was modified from upstream since we do not need to replace 7646 getopt() and can avoid complexity and feature tests. 7647 7648 m4/getopt.m4 | 79 ++++++++++++++++++++++++++++++------------------------------ 7649 1 file changed, 39 insertions(+), 40 deletions(-) 7650 7651commit 84808b68f1075e8603a8ef95d361a61fdc6a5b10 7652Author: Jia Tan <jiat0218@gmail.com> 7653Date: 2023-09-26 00:09:53 +0800 7654 7655 CMake: Add /lib to include path. 7656 7657 CMakeLists.txt | 5 +++++ 7658 1 file changed, 5 insertions(+) 7659 7660commit 01804a0b4b64e0f33568e947e0579263808c59d3 7661Author: Jia Tan <jiat0218@gmail.com> 7662Date: 2023-09-24 20:36:34 +0800 7663 7664 CMake: Update libgnu target with new header files. 7665 7666 CMakeLists.txt | 5 +++++ 7667 1 file changed, 5 insertions(+) 7668 7669commit d34558388fe1d8929f6478d61dc322eb4f2900af 7670Author: Jia Tan <jiat0218@gmail.com> 7671Date: 2023-09-23 00:47:52 +0800 7672 7673 lib: Update Makefile.am for new header files. 7674 7675 lib/Makefile.am | 12 +++++++++++- 7676 1 file changed, 11 insertions(+), 1 deletion(-) 7677 7678commit 52bf644bdf536e20fcc743b712cede135e05eec5 7679Author: Jia Tan <jiat0218@gmail.com> 7680Date: 2023-09-24 20:34:03 +0800 7681 7682 lib: Update getopt1.c from Gnulib. 7683 7684 The only difference was maintaining the conditional inclusion for 7685 config.h. 7686 7687 lib/getopt1.c | 56 ++++++++++++++++++++++---------------------------------- 7688 1 file changed, 22 insertions(+), 34 deletions(-) 7689 7690commit 7e884c00d0093c38339f17fb1d280eec493f42ca 7691Author: Jia Tan <jiat0218@gmail.com> 7692Date: 2023-09-23 03:27:00 +0800 7693 7694 lib: Update getopt.in.h from Gnulib with modifications. 7695 7696 We can still avoid modifying the contents of this file during 7697 configuration to simplify the build systems. Gnulib added replacements 7698 for inclusions guards for Cygwin. Cygwin should not need getopt_long 7699 replacement so this feature can be omitted. 7700 7701 <unistd.h> is conditionally included to avoid MSVC since it is not 7702 available. 7703 7704 The definition for _GL_ARG_NONNULL was also copied into this file from 7705 Gnulib since this stage is usually done during gnulib-tool. 7706 7707 lib/getopt.in.h | 228 +++++++------------------------------------------------- 7708 1 file changed, 29 insertions(+), 199 deletions(-) 7709 7710commit cff05f82066ca3ce9425dafdb086325a8eef8de3 7711Author: Jia Tan <jiat0218@gmail.com> 7712Date: 2023-09-23 00:31:55 +0800 7713 7714 lib: Update getopt_int.h from Gnulib. 7715 7716 lib/getopt_int.h | 109 ++++++++++++++++++++++++------------------------------- 7717 1 file changed, 48 insertions(+), 61 deletions(-) 7718 7719commit 04bd86a4b010d43c6a016a3857ecb38dc1d5b024 7720Author: Jia Tan <jiat0218@gmail.com> 7721Date: 2023-09-23 00:27:23 +0800 7722 7723 lib: Update getopt.c from Gnulib with modifications. 7724 7725 The code maintains the prior modifications of conditionally including 7726 config.h and disabling NLS support. 7727 7728 _GL_UNUSED is repalced with the simple cast to void trick. _GL_UNUSED 7729 is only used for these two parameters so its simpler than having to 7730 define it. 7731 7732 lib/getopt.c | 1134 +++++++++++++++++++--------------------------------------- 7733 1 file changed, 377 insertions(+), 757 deletions(-) 7734 7735commit 56b42be7287844db20b3a3bc1372c6ae8c040d63 7736Author: Jia Tan <jiat0218@gmail.com> 7737Date: 2023-09-23 00:18:56 +0800 7738 7739 lib: Add getopt-cdefs.h for getopt_long update. 7740 7741 This was modified slightly from Gnulib. In Gnulib, it expects the 7742 @HAVE_SYS_CDEFS_H@ to be replaced. Instead, we can set HAVE_SYS_CDEFS_H 7743 on systems that have it and avoid copying another file into the build 7744 directory. Since we are not using gnulib-tool, copying extra files 7745 requires extra build system updates (and special handling with CMake) so 7746 we should avoid when possible. 7747 7748 lib/getopt-cdefs.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7749 1 file changed, 70 insertions(+) 7750 7751commit 9834e591a4cf9dc2f49e42e26bf28d1d247bc196 7752Author: Jia Tan <jiat0218@gmail.com> 7753Date: 2023-09-23 00:15:25 +0800 7754 7755 lib: Copy new header files from Gnulib without modification. 7756 7757 The getopt related files have changed from Gnulib by splitting up 7758 getopt.in.h into more modular header files. We could have kept 7759 everything in just getopt.in.h, but this will help us continue to update 7760 in the future. 7761 7762 lib/getopt-core.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++ 7763 lib/getopt-ext.h | 77 +++++++++++++++++++++++++++++++++++++++++ 7764 lib/getopt-pfx-core.h | 66 +++++++++++++++++++++++++++++++++++ 7765 lib/getopt-pfx-ext.h | 70 +++++++++++++++++++++++++++++++++++++ 7766 4 files changed, 309 insertions(+) 7767 7768commit 5b7a6f06e93d99d6635a740fd2e12fab66096c93 7769Author: Lasse Collin <lasse.collin@tukaani.org> 7770Date: 2023-09-22 21:16:52 +0300 7771 7772 Windows: Update the version requirement comments from Win95 to W2k. 7773 7774 windows/README-Windows.txt | 10 ++++------ 7775 windows/build.bash | 6 +++--- 7776 2 files changed, 7 insertions(+), 9 deletions(-) 7777 7778commit e582f8e0fee46e7cd967f42f465d6bb608b73bc1 7779Author: Lasse Collin <lasse.collin@tukaani.org> 7780Date: 2023-09-22 21:12:54 +0300 7781 7782 tuklib_physmem: Comment out support for Windows versions older than 2000. 7783 7784 src/common/tuklib_physmem.c | 20 +++++++++----------- 7785 1 file changed, 9 insertions(+), 11 deletions(-) 7786 7787commit 7d73d1f0e08f96c4ab7aac91b958e37a3dadf07a 7788Author: Lasse Collin <lasse.collin@tukaani.org> 7789Date: 2023-09-24 16:32:32 +0300 7790 7791 sysdefs.h: Update the comment about __USE_MINGW_ANSI_STDIO. 7792 7793 src/common/sysdefs.h | 10 +++++++++- 7794 1 file changed, 9 insertions(+), 1 deletion(-) 7795 7796commit 2a9929af0ab7e6c0ab725565034afe3293e51d71 7797Author: Lasse Collin <lasse.collin@tukaani.org> 7798Date: 2023-09-22 02:33:29 +0300 7799 7800 xz: Windows: Don't (de)compress to special files like "con" or "nul". 7801 7802 Before this commit, the following writes "foo" to the 7803 console and deletes the input file: 7804 7805 echo foo | xz > con_xz 7806 xz --suffix=_xz --decompress con_xz 7807 7808 It cannot happen without --suffix because names like con.xz 7809 are also special and so attempting to decompress con.xz 7810 (or compress con to con.xz) will already fail when opening 7811 the input file. 7812 7813 Similar thing is possible when compressing. The following 7814 writes to "nul" and the input file "n" is deleted. 7815 7816 echo foo | xz > n 7817 xz --suffix=ul n 7818 7819 Now xz checks if the destination is a special file before 7820 continuing. DOS/DJGPP version had a check for this but 7821 Windows (and OS/2) didn't. 7822 7823 src/xz/file_io.c | 35 ++++++++++++++++++++++++++++------- 7824 1 file changed, 28 insertions(+), 7 deletions(-) 7825 7826commit 01311b81f03cce1c0ce847a3d556f84dbd439343 7827Author: Lasse Collin <lasse.collin@tukaani.org> 7828Date: 2023-09-21 20:42:52 +0300 7829 7830 CMake: Wrap two overlong lines that are possible to wrap. 7831 7832 CMakeLists.txt | 6 ++++-- 7833 1 file changed, 4 insertions(+), 2 deletions(-) 7834 7835commit 152d0771ddd0cffcac9042ad1a66f110d228eee2 7836Author: Lasse Collin <lasse.collin@tukaani.org> 7837Date: 2023-09-21 20:36:31 +0300 7838 7839 CMake: Add a comment about threads on Cygwin. 7840 7841 CMakeLists.txt | 1 + 7842 1 file changed, 1 insertion(+) 7843 7844commit 6df988cceffaa3100b428ed816fad334935b27bf 7845Author: Lasse Collin <lasse.collin@tukaani.org> 7846Date: 2023-09-12 23:53:25 +0300 7847 7848 MSVC: Remove Visual Studio project files and update INSTALL-MSVC.txt. 7849 7850 CMake is now the preferred build file generator when building 7851 with MSVC. 7852 7853 windows/INSTALL-MSVC.txt | 37 ++-- 7854 windows/vs2013/config.h | 157 --------------- 7855 windows/vs2013/liblzma.vcxproj | 363 --------------------------------- 7856 windows/vs2013/liblzma_dll.vcxproj | 398 ------------------------------------ 7857 windows/vs2013/xz_win.sln | 48 ----- 7858 windows/vs2017/config.h | 157 --------------- 7859 windows/vs2017/liblzma.vcxproj | 363 --------------------------------- 7860 windows/vs2017/liblzma_dll.vcxproj | 398 ------------------------------------ 7861 windows/vs2017/xz_win.sln | 48 ----- 7862 windows/vs2019/config.h | 157 --------------- 7863 windows/vs2019/liblzma.vcxproj | 364 --------------------------------- 7864 windows/vs2019/liblzma_dll.vcxproj | 399 ------------------------------------- 7865 windows/vs2019/xz_win.sln | 51 ----- 7866 13 files changed, 12 insertions(+), 2928 deletions(-) 7867 7868commit edd563daf0da1d00018684614803c77ab62efcd6 7869Author: Lasse Collin <lasse.collin@tukaani.org> 7870Date: 2023-09-21 19:17:40 +0300 7871 7872 CMake: Require VS2015 or later for building xzdec. 7873 7874 xzdec might build with VS2013 but it hasn't been tested. 7875 It was never supported before and VS2013 is old anyway 7876 so for simplicity only liblzma is supported with VS2013. 7877 7878 CMakeLists.txt | 2 +- 7879 1 file changed, 1 insertion(+), 1 deletion(-) 7880 7881commit daea64d158a7151ca6c255a0e4554c6d521cd589 7882Author: Lasse Collin <lasse.collin@tukaani.org> 7883Date: 2023-09-12 23:43:49 +0300 7884 7885 CMake: Allow building xz with Visual Studio 2015 and later. 7886 7887 Building the command line tools xz and xzdec with the combination 7888 of CMake + Visual Studio 2015/2017/2019/2022 works now. 7889 7890 VS2013 update 2 should still be able to build liblzma. 7891 VS2013 cannot build the xz command line tool because xz 7892 needs snprintf() that roughly conforms to C99. 7893 VS2013 is old and no extra code will be added to support it. 7894 7895 Thanks to Kelvin Lee and Jia Tan for testing. 7896 7897 CMakeLists.txt | 2 +- 7898 1 file changed, 1 insertion(+), 1 deletion(-) 7899 7900commit 8c2d197c940d246849b2ec48109bb22e54036927 7901Author: Lasse Collin <lasse.collin@tukaani.org> 7902Date: 2023-09-12 23:34:31 +0300 7903 7904 MSVC: #define inline and restrict only when needed. 7905 7906 This also drops the check for _WIN32 as that shouldn't be needed. 7907 7908 src/common/sysdefs.h | 13 ++++++++----- 7909 1 file changed, 8 insertions(+), 5 deletions(-) 7910 7911commit af66cd585902045e5689a0418103ec81f19f1d0a 7912Author: Lasse Collin <lasse.collin@tukaani.org> 7913Date: 2023-09-12 22:16:56 +0300 7914 7915 CMake: Add support for replacement getopt_long (lib/getopt*). 7916 7917 Thanks to Jia Tan for the initial work. I added the libgnu target 7918 and made a few related minor edits. 7919 7920 CMakeLists.txt | 54 +++++++++++++++++++++++++++++++++++++++++++++++------- 7921 1 file changed, 47 insertions(+), 7 deletions(-) 7922 7923commit e3288fdb45c580cb849f6799cf419c4922004ae5 7924Author: Lasse Collin <lasse.collin@tukaani.org> 7925Date: 2023-09-12 21:12:34 +0300 7926 7927 CMake: Bump maximum policy version to 3.27. 7928 7929 There are several new policies. CMP0149 may affect the Windows SDK 7930 version that CMake will choose by default. The new behavior is more 7931 predictable, always choosing the latest SDK version by default. 7932 7933 The other new policies shouldn't affect this package. 7934 7935 CMakeLists.txt | 2 +- 7936 1 file changed, 1 insertion(+), 1 deletion(-) 7937 7938commit aff1b479c7b168652bd20305ceed4317d5db6661 7939Author: Lasse Collin <lasse.collin@tukaani.org> 7940Date: 2023-09-12 20:55:10 +0300 7941 7942 lib/getopt*.c: Include <config.h> only HAVE_CONFIG_H is defined. 7943 7944 The CMake-based build doesn't use config.h. 7945 7946 Up-to-date getopt_long in Gnulib is LGPLv2 so at some 7947 point it could be included in XZ Utils too but for now 7948 this commit is enough to make CMake-based build possible. 7949 7950 lib/getopt.c | 4 +++- 7951 lib/getopt1.c | 4 +++- 7952 2 files changed, 6 insertions(+), 2 deletions(-) 7953 7954commit aa0cd585d2ed1455d35732798e0d90e3520e8ba5 7955Author: Lasse Collin <lasse.collin@tukaani.org> 7956Date: 2023-09-08 19:08:57 +0300 7957 7958 Doxygen: Add more C macro names to PREDEFINED. 7959 7960 doxygen/Doxyfile | 7 +++++-- 7961 1 file changed, 5 insertions(+), 2 deletions(-) 7962 7963commit ee7709bae53637e1765ce142ef102914f1423cb5 7964Author: Lasse Collin <lasse.collin@tukaani.org> 7965Date: 2023-09-11 18:47:26 +0300 7966 7967 liblzma: Move a few __attribute__ uses in function declarations. 7968 7969 The API headers have many attributes but these were left 7970 as is for now. 7971 7972 src/liblzma/common/common.c | 6 ++++-- 7973 src/liblzma/common/common.h | 8 ++++---- 7974 src/liblzma/common/memcmplen.h | 3 ++- 7975 3 files changed, 10 insertions(+), 7 deletions(-) 7976 7977commit 217958d88713b5dc73d366d24dd64b2b311b86fe 7978Author: Lasse Collin <lasse.collin@tukaani.org> 7979Date: 2023-09-11 19:03:35 +0300 7980 7981 xz, xzdec, lzmainfo: Use tuklib_attr_noreturn. 7982 7983 For compatibility with C23's [[noreturn]], tuklib_attr_noreturn 7984 must be at the beginning of declaration (before "extern" or 7985 "static", and even before any GNU C's __attribute__). 7986 7987 This commit also moves all other function attributes to 7988 the beginning of function declarations. "extern" is kept 7989 at the beginning of a line so the attributes are listed on 7990 separate lines before "extern" or "static". 7991 7992 src/lzmainfo/lzmainfo.c | 6 ++++-- 7993 src/xz/coder.c | 3 ++- 7994 src/xz/hardware.h | 3 ++- 7995 src/xz/message.h | 30 +++++++++++++++++------------- 7996 src/xz/options.c | 3 ++- 7997 src/xz/util.h | 8 ++++---- 7998 src/xzdec/xzdec.c | 9 ++++++--- 7999 7 files changed, 37 insertions(+), 25 deletions(-) 8000 8001commit 18a66fbac031c98f9c2077fc88846e4d07849197 8002Author: Lasse Collin <lasse.collin@tukaani.org> 8003Date: 2023-09-11 18:53:31 +0300 8004 8005 Remove incorrect uses of __attribute__((__malloc__)). 8006 8007 xrealloc() is obviously incorrect, modern GCC docs even 8008 mention realloc() as an example where this attribute 8009 cannot be used. 8010 8011 liblzma's lzma_alloc() and lzma_alloc_zero() would be 8012 correct uses most of the time but custom allocators 8013 may use a memory pool or otherwise hold the pointer 8014 so aliasing issues could happen in theory. 8015 8016 The xstrdup() case likely was correct but I removed it anyway. 8017 Now there are no __malloc__ attributes left in the code. 8018 The allocations aren't in hot paths so this should make 8019 no practical difference. 8020 8021 src/liblzma/common/common.c | 4 ++-- 8022 src/liblzma/common/common.h | 4 ++-- 8023 src/xz/util.h | 4 ++-- 8024 3 files changed, 6 insertions(+), 6 deletions(-) 8025 8026commit 74b0e900c92d5b222b36f474f1efa431f8e262f7 8027Author: Lasse Collin <lasse.collin@tukaani.org> 8028Date: 2023-09-08 18:41:25 +0300 8029 8030 Build: Omit -Wc99-c11-compat since it warns about _Noreturn. 8031 8032 configure.ac | 1 - 8033 1 file changed, 1 deletion(-) 8034 8035commit 90c94dddfd57b7d744bfad64c54e10d15778144b 8036Author: Lasse Collin <lasse.collin@tukaani.org> 8037Date: 2023-09-08 18:19:26 +0300 8038 8039 tuklib: Update tuklib_attr_noreturn for C11/C17 and C23. 8040 8041 This makes no difference for GCC or Clang as they support 8042 GNU C's __attribute__((__noreturn__)) but this helps with MSVC: 8043 8044 - VS 2019 version 16.7 and later support _Noreturn if the 8045 options /std:c11 or /std:c17 are used. This gets handled 8046 with the check for __STDC_VERSION__ >= 201112. 8047 8048 - When MSVC isn't in C11/C17 mode, __declspec(noreturn) is used. 8049 8050 C23 will deprecate _Noreturn (and <stdnoreturn.h>) 8051 for [[noreturn]]. This commit anticipates that but 8052 the final __STDC_VERSION__ value isn't known yet. 8053 8054 src/common/tuklib_common.h | 22 +++++++++++++++++++++- 8055 src/common/tuklib_exit.h | 4 ++-- 8056 2 files changed, 23 insertions(+), 3 deletions(-) 8057 8058commit 189f72581329ab281ad6af37f60135910cb1b146 8059Author: Lasse Collin <lasse.collin@tukaani.org> 8060Date: 2023-09-11 17:22:44 +0300 8061 8062 Update THANKS. 8063 8064 THANKS | 1 + 8065 1 file changed, 1 insertion(+) 8066 8067commit 79334e7f20f2bf9e0de095835b48868f1238f584 8068Author: Lasse Collin <lasse.collin@tukaani.org> 8069Date: 2023-09-05 22:42:10 +0300 8070 8071 MSVC: xz: Make file_io.c and file_io.h compatible with MSVC. 8072 8073 Thanks to Kelvin Lee for the original patches 8074 and testing the modifications I made. 8075 8076 src/xz/file_io.c | 26 ++++++++++++++++++++++++++ 8077 src/xz/file_io.h | 10 ++++++++++ 8078 2 files changed, 36 insertions(+) 8079 8080commit c660b8d78b7bda43b12b285550d8c70e8ccec698 8081Author: Lasse Collin <lasse.collin@tukaani.org> 8082Date: 2023-09-05 21:33:35 +0300 8083 8084 MSVC: xz: Use GetTickCount64() to implement mytime_now(). 8085 8086 It's available since Windows Vista. 8087 8088 src/xz/mytime.c | 11 +++++++++-- 8089 1 file changed, 9 insertions(+), 2 deletions(-) 8090 8091commit 5c6f892d411670e3060f4bc309402617a209e57c 8092Author: Kelvin Lee <kiyolee@gmail.com> 8093Date: 2023-09-05 15:05:09 +0300 8094 8095 MSVC: xz: Use _stricmp() instead of strcasecmp() in suffix.c. 8096 8097 src/xz/suffix.c | 10 ++++++++-- 8098 1 file changed, 8 insertions(+), 2 deletions(-) 8099 8100commit e241051f50044259d174e8b4633dd9a1c4478408 8101Author: Kelvin Lee <kiyolee@gmail.com> 8102Date: 2023-09-05 15:01:10 +0300 8103 8104 MSVC: xz: Use _isatty() from <io.h> to implement isatty(). 8105 8106 src/xz/message.c | 5 +++++ 8107 src/xz/util.c | 5 +++++ 8108 2 files changed, 10 insertions(+) 8109 8110commit d14bba8fc2be02a9fed8c9bcaaf61103451755f8 8111Author: Kelvin Lee <kiyolee@gmail.com> 8112Date: 2023-09-05 15:10:31 +0300 8113 8114 MSVC: xz: Use _fileno() instead of fileno(). 8115 8116 src/xz/private.h | 4 ++++ 8117 1 file changed, 4 insertions(+) 8118 8119commit c4edd367678e6a38c42b149856159bf417da7fe1 8120Author: Kelvin Lee <kiyolee@gmail.com> 8121Date: 2023-09-05 15:00:07 +0300 8122 8123 MSVC: xzdec: Use _fileno and _setmode. 8124 8125 src/xzdec/xzdec.c | 4 ++++ 8126 1 file changed, 4 insertions(+) 8127 8128commit cfd1054b9b539ee92524901e95d7bb5a1fe670a0 8129Author: Kelvin Lee <kiyolee@gmail.com> 8130Date: 2023-09-05 14:37:50 +0300 8131 8132 MSVC: Don't #include <unistd.h>. 8133 8134 lib/getopt.c | 4 +++- 8135 lib/getopt.in.h | 4 +++- 8136 src/xz/private.h | 5 ++++- 8137 src/xzdec/xzdec.c | 5 ++++- 8138 4 files changed, 14 insertions(+), 4 deletions(-) 8139 8140commit adef92f23563a2cc088b31ddee9040ecc96bc996 8141Author: Lasse Collin <lasse.collin@tukaani.org> 8142Date: 2023-09-19 14:03:45 +0300 8143 8144 Update THANKS. 8145 8146 THANKS | 1 + 8147 1 file changed, 1 insertion(+) 8148 8149commit 953e775941a25bfcfa353f802b13e66acb1edf2c 8150Author: Jia Tan <jiat0218@gmail.com> 8151Date: 2023-09-14 21:13:23 +0800 8152 8153 CI: Enable CLMUL in address sanitization test. 8154 8155 The crc64_clmul() function should be ignored by the address sanitizer 8156 now so these builds should still pass. 8157 8158 .github/workflows/ci.yml | 12 ++++-------- 8159 1 file changed, 4 insertions(+), 8 deletions(-) 8160 8161commit f167e79bc98f3f56af2e767b83aa81c2d2b9ed77 8162Author: Lasse Collin <lasse.collin@tukaani.org> 8163Date: 2023-09-14 16:35:46 +0300 8164 8165 Update THANKS. 8166 8167 THANKS | 1 + 8168 1 file changed, 1 insertion(+) 8169 8170commit 4f44ef86758a41a8ec814096f4cb6ee6de04c82e 8171Author: Lasse Collin <lasse.collin@tukaani.org> 8172Date: 2023-09-14 16:34:07 +0300 8173 8174 liblzma: Mark crc64_clmul() with __attribute__((__no_sanitize_address__)). 8175 8176 Thanks to Agostino Sarubbo. 8177 Fixes: https://github.com/tukaani-project/xz/issues/62 8178 8179 src/liblzma/check/crc64_fast.c | 8 ++++++++ 8180 1 file changed, 8 insertions(+) 8181 8182commit 7379bb3eed428c0ae734d0cc4a1fd04359d53f08 8183Author: Jia Tan <jiat0218@gmail.com> 8184Date: 2023-09-12 22:36:12 +0800 8185 8186 CMake: Fix time.h checks not running on second CMake run. 8187 8188 If CMake was configured more than once, HAVE_CLOCK_GETTIME and 8189 HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check 8190 for librt being needed to provide HAVE_CLOCK_GETTIME was also 8191 simplified. 8192 8193 CMakeLists.txt | 18 ++++++++++-------- 8194 1 file changed, 10 insertions(+), 8 deletions(-) 8195 8196commit 5d691fe58286b92d704c0dc5cd0c4df22881c6c6 8197Author: Jia Tan <jiat0218@gmail.com> 8198Date: 2023-09-12 22:34:06 +0800 8199 8200 CMake: Fix unconditionally defining HAVE_CLOCK_MONOTONIC. 8201 8202 If HAVE_CLOCK_GETTIME was defined, then HAVE_CLOCK_MONOTONIC was always 8203 added as a compile definition even if the check for it failed. 8204 8205 CMakeLists.txt | 8 +++----- 8206 1 file changed, 3 insertions(+), 5 deletions(-) 8207 8208commit eccf12866527b8d24c7d7f92f755142be8ef9b11 8209Author: Lasse Collin <lasse.collin@tukaani.org> 8210Date: 2023-08-31 19:50:05 +0300 8211 8212 xz: Refactor thousand separator detection and disable it on MSVC. 8213 8214 Now the two variations of the format strings are created with 8215 a macro, and the whole detection code can be easily disabled 8216 on platforms where thousand separator formatting is known to 8217 not work (MSVC has no support, and on DJGPP 2.05 it can have 8218 problems in some cases). 8219 8220 src/xz/util.c | 89 ++++++++++++++++++++++++++++++----------------------------- 8221 1 file changed, 45 insertions(+), 44 deletions(-) 8222 8223commit f7093cd9d130477c234b40aeda613964171f8f21 8224Author: Lasse Collin <lasse.collin@tukaani.org> 8225Date: 2023-08-31 18:14:43 +0300 8226 8227 xz: Fix a too relaxed assertion and remove uses of SSIZE_MAX. 8228 8229 SSIZE_MAX isn't readily available on MSVC. Removing it means 8230 that there is one thing less to worry when porting to MSVC. 8231 8232 src/xz/file_io.c | 5 ++--- 8233 src/xz/file_io.h | 4 ++-- 8234 2 files changed, 4 insertions(+), 5 deletions(-) 8235 8236commit 74c3449d8b816a724b12ebce7417e00fb597309a 8237Author: Jia Tan <jiat0218@gmail.com> 8238Date: 2023-08-28 23:14:45 +0800 8239 8240 Tests: Improve invalid unpadded size check in test_lzma_index_append(). 8241 8242 This check was extended to test the code added to fix a failing assert 8243 in ae5c07b22a6b3766b84f409f1b6b5c100469068a. 8244 8245 tests/test_index.c | 26 +++++++++++++++++++++++--- 8246 1 file changed, 23 insertions(+), 3 deletions(-) 8247 8248commit 2544274a8b8a27f4ea6c457d2c4c32eb1e4cd336 8249Author: Jia Tan <jiat0218@gmail.com> 8250Date: 2023-08-28 21:54:41 +0800 8251 8252 Tests: Improve comments in test_index.c. 8253 8254 tests/test_index.c | 6 +++--- 8255 1 file changed, 3 insertions(+), 3 deletions(-) 8256 8257commit 49be29d6380b94e6fb26e511dd2cdbd9afce0f8b 8258Author: Jia Tan <jiat0218@gmail.com> 8259Date: 2023-08-28 21:52:54 +0800 8260 8261 Update THANKS. 8262 8263 THANKS | 1 + 8264 1 file changed, 1 insertion(+) 8265 8266commit 721e3d9f7a82f59f32795d5fb97e0210d1aa839a 8267Author: Jia Tan <jiat0218@gmail.com> 8268Date: 2023-08-28 21:50:16 +0800 8269 8270 liblzma: Update assert in vli_ceil4(). 8271 8272 The argument to vli_ceil4() should always guarantee the return value 8273 is also a valid lzma_vli. Thus the highest three valid lzma_vli values 8274 are invalid arguments. All uses of the function ensure this so the 8275 assert is updated to match this. 8276 8277 src/liblzma/common/index.h | 2 +- 8278 1 file changed, 1 insertion(+), 1 deletion(-) 8279 8280commit ae5c07b22a6b3766b84f409f1b6b5c100469068a 8281Author: Jia Tan <jiat0218@gmail.com> 8282Date: 2023-08-28 21:31:25 +0800 8283 8284 liblzma: Add overflow check for Unpadded size in lzma_index_append(). 8285 8286 This was not a security bug since there was no path to overflow 8287 UINT64_MAX in lzma_index_append() or when it calls index_file_size(). 8288 The bug was discovered by a failing assert() in vli_ceil4() when called 8289 from index_file_size() when unpadded_sum (the sum of the compressed size 8290 of current Stream and the unpadded_size parameter) exceeds LZMA_VLI_MAX. 8291 8292 Previously, the unpadded_size parameter was checked to be not greater 8293 than UNPADDED_SIZE_MAX, but no check was done once compressed_base was 8294 added. 8295 8296 This could not have caused an integer overflow in index_file_size() when 8297 called by lzma_index_append(). The calculation for file_size breaks down 8298 into the sum of: 8299 8300 - Compressed base from all previous Streams 8301 - 2 * LZMA_STREAM_HEADER_SIZE (size of the current Streams header and 8302 footer) 8303 - stream_padding (can be set by lzma_index_stream_padding()) 8304 - Compressed base from the current Stream 8305 - Unpadded size (parameter to lzma_index_append()) 8306 8307 The sum of everything except for Unpadded size must be less than 8308 LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions 8309 that can set these values including lzma_index_stream_padding(), 8310 lzma_index_append(), and lzma_index_cat(). The maximum value for 8311 Unpadded size is enforced by lzma_index_append() to be less than or 8312 equal UNPADDED_SIZE_MAX. Thus, the sum cannot exceed UINT64_MAX since 8313 LZMA_VLI_MAX is half of UINT64_MAX. 8314 8315 Thanks to Joona Kannisto for reporting this. 8316 8317 src/liblzma/common/index.c | 6 ++++++ 8318 1 file changed, 6 insertions(+) 8319 8320commit 1057765aaabfe0f1397b8094531846655376ae38 8321Author: Jia Tan <jiat0218@gmail.com> 8322Date: 2023-08-28 22:18:29 +0800 8323 8324 Translations: Update the Esperanto translation. 8325 8326 po/eo.po | 4 ++-- 8327 1 file changed, 2 insertions(+), 2 deletions(-) 8328 8329commit f2e94d064f305bb8ad77ca70f91d93e55f5cf856 8330Author: Jia Tan <jiat0218@gmail.com> 8331Date: 2023-08-26 20:10:23 +0800 8332 8333 Translations: Update the Esperanto translation. 8334 8335 po/eo.po | 47 +++++++++++++++++++++++++++++------------------ 8336 1 file changed, 29 insertions(+), 18 deletions(-) 8337 8338commit 2b871f4dbffe3801d0da3f89806b5935f758d5f3 8339Author: Jia Tan <jiat0218@gmail.com> 8340Date: 2023-08-09 20:55:36 +0800 8341 8342 Docs: Update INSTALL for --enable-threads method win95. 8343 8344 The Autotools build allows win95 threads and --enable-small together now 8345 if the compiler supports __attribute__((__constructor__)). 8346 8347 INSTALL | 6 ++++-- 8348 1 file changed, 4 insertions(+), 2 deletions(-) 8349 8350commit 356ad5b26b4196f085ce3afa1869154ca81faad8 8351Author: Jia Tan <jiat0218@gmail.com> 8352Date: 2023-08-09 20:54:15 +0800 8353 8354 CMake: Conditionally allow win95 threads and --enable-small. 8355 8356 CMakeLists.txt | 28 ++++++++++++++++++++-------- 8357 1 file changed, 20 insertions(+), 8 deletions(-) 8358 8359commit de574404c4c2f87aca049f232c38526e3ce092aa 8360Author: Jia Tan <jiat0218@gmail.com> 8361Date: 2023-08-09 20:35:16 +0800 8362 8363 Build: Conditionally allow win95 threads and --enable-small. 8364 8365 When the compiler supports __attribute__((__constructor__)) 8366 mythread_once() is never used, even with --enable-small. A configuration 8367 with win95 threads and --enable-small will compile and be thread safe so 8368 it can be allowed. 8369 8370 This isn't a very common configuration since MSVC does not support 8371 __attribute__((__constructor__)), but MINGW32 and CLANG32 environments 8372 for MSYS2 can use win95 threads and have 8373 __attribute__((__constructor__)) support. 8374 8375 configure.ac | 21 +++++++++++++-------- 8376 1 file changed, 13 insertions(+), 8 deletions(-) 8377 8378commit 6bf33b704cd31dccf25e68480464aa22d3fcad5a 8379Author: Jamaika1 <lukaszcz18@wp.pl> 8380Date: 2023-08-08 14:07:59 +0200 8381 8382 mythread.h: Fix typo error in Vista threads mythread_once(). 8383 8384 The "once_" variable was accidentally referred to as just "once". This 8385 prevented building with Vista threads when 8386 HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR was not defined. 8387 8388 src/common/mythread.h | 2 +- 8389 1 file changed, 1 insertion(+), 1 deletion(-) 8390 8391commit 80cb961e5380a3878246d41341ff91378ca59e05 8392Author: Jia Tan <jiat0218@gmail.com> 8393Date: 2023-08-04 22:17:11 +0800 8394 8395 codespell: Add .codespellrc to set default options. 8396 8397 The .codespellrc allows setting default options to avoid false positive 8398 matches, set additional dictionaries, etc. For now, codespell can be 8399 used locally before committing doc and comment changes. 8400 8401 It should help prevent silly errors and fix up commits in the future. 8402 8403 .codespellrc | 24 ++++++++++++++++++++++++ 8404 1 file changed, 24 insertions(+) 8405 8406commit cd678a6077358935249b64a4a16fe8d17434f9c9 8407Author: Jia Tan <jiat0218@gmail.com> 8408Date: 2023-08-03 20:10:21 +0800 8409 8410 Tests: Style fixes to test_lzip_decoder.c. 8411 8412 tests/test_lzip_decoder.c | 36 ++++++++++++++++++++++++------------ 8413 1 file changed, 24 insertions(+), 12 deletions(-) 8414 8415commit 1cac5ed4fa45c9861d745b02d80575cb2ff01d81 8416Author: Jia Tan <jiat0218@gmail.com> 8417Date: 2023-08-03 15:56:20 +0800 8418 8419 Translations: Update the Chinese (simplified) translation. 8420 8421 po/zh_CN.po | 2 +- 8422 1 file changed, 1 insertion(+), 1 deletion(-) 8423 8424commit 16068f6c30b888cdb873f6285af941d00f95741d 8425Author: Lasse Collin <lasse.collin@tukaani.org> 8426Date: 2023-08-02 17:15:12 +0300 8427 8428 xz: Omit an empty paragraph on the man page. 8429 8430 src/xz/xz.1 | 1 - 8431 1 file changed, 1 deletion(-) 8432 8433commit 9ae4371b5106189486e850ce777e40f7b6021c0b 8434Author: Jia Tan <jiat0218@gmail.com> 8435Date: 2023-08-02 20:30:07 +0800 8436 8437 Add NEWS for 5.4.4. 8438 8439 NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 8440 1 file changed, 43 insertions(+) 8441 8442commit e8c2203b2c76466d8d3387c5212b46151de8e605 8443Author: Lasse Collin <lasse.collin@tukaani.org> 8444Date: 2023-08-02 15:19:43 +0300 8445 8446 build-aux/manconv.sh: Fix US-ASCII and UTF-8 output. 8447 8448 groff defaults to SGR escapes. Using -P-c passes -c to grotty 8449 which restores the old behavior. Perhaps there is a better way to 8450 get pure plain text output but this works for now. 8451 8452 build-aux/manconv.sh | 4 ++-- 8453 1 file changed, 2 insertions(+), 2 deletions(-) 8454 8455commit 9a706167b0d903d92fd134895acb4bc6a5e3e688 8456Author: Lasse Collin <lasse.collin@tukaani.org> 8457Date: 2023-08-01 19:10:43 +0300 8458 8459 Update THANKS. 8460 8461 THANKS | 1 + 8462 1 file changed, 1 insertion(+) 8463 8464commit 33e25a0f5650754c38bed640deedefe3b4fec5ef 8465Author: Lasse Collin <lasse.collin@tukaani.org> 8466Date: 2023-08-01 18:22:24 +0300 8467 8468 Update THANKS. 8469 8470 THANKS | 1 + 8471 1 file changed, 1 insertion(+) 8472 8473commit 81db3b889830132334d1f2129bdc93177ac2ca7d 8474Author: ChanTsune <41658782+ChanTsune@users.noreply.github.com> 8475Date: 2023-08-01 18:17:17 +0300 8476 8477 mythread.h: Disable signal functions in builds targeting Wasm + WASI. 8478 8479 signal.h in WASI SDK doesn't currently provide sigprocmask() 8480 or sigset_t. liblzma doesn't need them so this change makes 8481 liblzma and xzdec build against WASI SDK. xz doesn't build yet 8482 and the tests don't either as tuktest needs setjmp() which 8483 isn't (yet?) implemented in WASI SDK. 8484 8485 Closes: https://github.com/tukaani-project/xz/pull/57 8486 See also: https://github.com/tukaani-project/xz/pull/56 8487 8488 (The original commit was edited a little by Lasse Collin.) 8489 8490 src/common/mythread.h | 2 +- 8491 1 file changed, 1 insertion(+), 1 deletion(-) 8492 8493commit 71c638c611324e606d324c8189fef8fe79db6991 8494Author: Jia Tan <jiat0218@gmail.com> 8495Date: 2023-08-01 21:58:51 +0800 8496 8497 Add newline to end of .gitignore. 8498 8499 Newline was accidentally removed in commit 8500 01cbb7f023ee7fda8ddde04bd17cf7d3c2418706. 8501 8502 .gitignore | 2 +- 8503 1 file changed, 1 insertion(+), 1 deletion(-) 8504 8505commit 42df7c7aa1cca385e509eb33c65136e61890f0bf 8506Author: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> 8507Date: 2023-07-31 14:02:21 +0200 8508 8509 Docs: Fix typos found by codespell 8510 8511 CMakeLists.txt | 4 ++-- 8512 NEWS | 2 +- 8513 configure.ac | 2 +- 8514 src/liblzma/api/lzma/container.h | 4 ++-- 8515 src/liblzma/api/lzma/filter.h | 2 +- 8516 src/liblzma/api/lzma/lzma12.h | 4 ++-- 8517 src/liblzma/common/block_buffer_encoder.c | 2 +- 8518 src/liblzma/common/common.h | 2 +- 8519 src/liblzma/common/file_info.c | 2 +- 8520 src/liblzma/common/lzip_decoder.c | 2 +- 8521 src/liblzma/common/stream_decoder_mt.c | 8 ++++---- 8522 src/liblzma/common/string_conversion.c | 6 +++--- 8523 src/liblzma/lz/lz_encoder.h | 2 +- 8524 src/liblzma/lzma/lzma_encoder.c | 4 ++-- 8525 src/xz/hardware.c | 4 ++-- 8526 tests/test_filter_flags.c | 4 ++-- 8527 tests/test_index.c | 2 +- 8528 tests/test_vli.c | 2 +- 8529 18 files changed, 29 insertions(+), 29 deletions(-) 8530 8531commit 01cbb7f023ee7fda8ddde04bd17cf7d3c2418706 8532Author: Jia Tan <jiat0218@gmail.com> 8533Date: 2023-07-26 20:26:23 +0800 8534 8535 Update .gitignore. 8536 8537 .gitignore | 4 ++++ 8538 1 file changed, 4 insertions(+) 8539 8540commit f97a1afd564c48ad9cb94682e10972a72e11fa08 8541Author: Jia Tan <jiat0218@gmail.com> 8542Date: 2023-07-28 22:03:08 +0800 8543 8544 CMake: Conditionally allow the creation of broken symlinks. 8545 8546 The CMake build will try to create broken symlinks on Unix and Unix-like 8547 platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create 8548 broken symlinks. The value of the CYGWIN or MSYS environment variables 8549 determine if broken symlinks are valid. 8550 8551 The default for MSYS2 does not allow for broken symlinks, so the CMake 8552 build has been broken for MSYS2 since commit 8553 80a1a8bb838842a2be343bd88ad1462c21c5e2c9. 8554 8555 CMakeLists.txt | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++----- 8556 1 file changed, 75 insertions(+), 7 deletions(-) 8557 8558commit 7190f4cc7c9ade5b9b3675d0cbfa3b6d6ec9cb4f 8559Author: Jia Tan <jiat0218@gmail.com> 8560Date: 2023-07-28 21:56:48 +0800 8561 8562 CI: Fix windows-ci dependency installation. 8563 8564 All of the MSYS2 environments need make, and it does not come with the 8565 toolchain package. The toolchain package will install the needed 8566 compiler toolchains since without this package CMake cannot properly 8567 generate the Makefiles. 8568 8569 .github/workflows/windows-ci.yml | 6 +++--- 8570 1 file changed, 3 insertions(+), 3 deletions(-) 8571 8572commit a048f472cd9a2245265cb292853cbbcdd4f02001 8573Author: Jia Tan <jiat0218@gmail.com> 8574Date: 2023-07-28 21:54:22 +0800 8575 8576 CI: Update ci_build.sh CMake to always make Unix Makefiles. 8577 8578 The default for many of the MSYS2 environments is for CMake to create 8579 Ninja build files. This would complicate the build script since we would 8580 need a different command to run the tests. Its simpler to always use 8581 Unix Makefiles so that "make test" is always a usable target for 8582 testing. 8583 8584 build-aux/ci_build.sh | 4 ++-- 8585 1 file changed, 2 insertions(+), 2 deletions(-) 8586 8587commit 7870396a0ca945473aa0d1d790f4cbef456610bd 8588Author: Jia Tan <jiat0218@gmail.com> 8589Date: 2023-07-25 20:17:23 +0800 8590 8591 CI: Test CMake builds and test framework with MSYS2. 8592 8593 .github/workflows/windows-ci.yml | 32 ++++++++++++++++++++------------ 8594 1 file changed, 20 insertions(+), 12 deletions(-) 8595 8596commit 6497d1f8875cb7e3007f714336cc09c06fed235b 8597Author: Jia Tan <jiat0218@gmail.com> 8598Date: 2023-07-25 20:14:53 +0800 8599 8600 CI: Windows CI rename system matrix variable -> msys2_env. 8601 8602 Calling the MSYS2 environment "system" was a bit vague and should be 8603 more specific. 8604 8605 .github/workflows/windows-ci.yml | 15 +++++---------- 8606 1 file changed, 5 insertions(+), 10 deletions(-) 8607 8608commit 785e4121d9b2921ad36bd3af1cf61fa20a9265bd 8609Author: Jia Tan <jiat0218@gmail.com> 8610Date: 2023-07-24 23:11:45 +0800 8611 8612 CI: Add Clang64 MSYS2 environment to Windows CI. 8613 8614 .github/workflows/windows-ci.yml | 1 + 8615 1 file changed, 1 insertion(+) 8616 8617commit d9166b52cf3458a4da3eb92224837ca8fc208d79 8618Author: Jia Tan <jiat0218@gmail.com> 8619Date: 2023-07-24 21:43:44 +0800 8620 8621 liblzma: Prevent an empty translation unit in Windows builds. 8622 8623 To workaround Automake lacking Windows resource compiler support, an 8624 empty source file is compiled to overwrite the resource files for static 8625 library builds. Translation units without an external declaration are 8626 not allowed by the C standard and result in a warning when used with 8627 -Wempty-translation-unit (Clang) or -pedantic (GCC). 8628 8629 src/liblzma/Makefile.am | 6 +++++- 8630 1 file changed, 5 insertions(+), 1 deletion(-) 8631 8632commit db5019d691f980d622fb56fdcf383af2c3519c98 8633Author: Jia Tan <jiat0218@gmail.com> 8634Date: 2023-07-22 18:37:56 +0800 8635 8636 Translations: Update the Vietnamese translation. 8637 8638 po/vi.po | 45 ++++++++++++++++++++++++++++----------------- 8639 1 file changed, 28 insertions(+), 17 deletions(-) 8640 8641commit f3a055f762ba5b71b746fc2d44a6ababde2c61b5 8642Author: Jia Tan <jiat0218@gmail.com> 8643Date: 2023-07-22 14:55:42 +0800 8644 8645 CI: Add Windows runner for Autotools builds with MSYS2. 8646 8647 Only a subset of the tests run by the Linux and MacOS Autotools builds 8648 are run. The most interesting tests are the ones that disable threads, 8649 encoders, and decoders. 8650 8651 The Windows runner will only be run manually since these tests will 8652 likely take much longer than the Linux and MacOS runners. This runner 8653 should be used before merging any large features and before releases. 8654 8655 Currently the clang64 environment fails to due to a warning and 8656 -Werror is enabled for the CI tests. This is still an early version 8657 since the CMake build can be done for MSVC and optionally each of the 8658 MSYS2 environments. GitHub does not allow manually running the CI tests 8659 unless the workflow is checked on the default branch so checking in a 8660 minimum version is a good idea. 8661 8662 Thanks to Arthur S for the original proposing the original patch. 8663 8664 Closes: https://github.com/tukaani-project/xz/pull/34 8665 8666 .github/workflows/windows-ci.yml | 119 +++++++++++++++++++++++++++++++++++++++ 8667 1 file changed, 119 insertions(+) 8668 8669commit 556536a3525df9e5ed78b8c7057991cfa9edfac8 8670Author: Jia Tan <jiat0218@gmail.com> 8671Date: 2023-07-21 22:11:01 +0800 8672 8673 CI: Add argument to ci_build.sh to pass flags to autogen.sh. 8674 8675 build-aux/ci_build.sh | 9 +++++++-- 8676 1 file changed, 7 insertions(+), 2 deletions(-) 8677 8678commit 39a32d36fc465c4e70f13192eea380e518ba6e8a 8679Author: Jia Tan <jiat0218@gmail.com> 8680Date: 2023-07-21 18:05:44 +0800 8681 8682 Tests: Skip .lz files in test_files.sh if not configured. 8683 8684 Previously if the lzip decoder was not configured then test_files.sh 8685 would pass the lzip tests instead of skipping them. 8686 8687 tests/test_files.sh | 2 +- 8688 1 file changed, 1 insertion(+), 1 deletion(-) 8689 8690commit 194d12724b30fe42789d12a0184f9d412c449347 8691Author: Jia Tan <jiat0218@gmail.com> 8692Date: 2023-07-20 22:11:13 +0800 8693 8694 Tests: Add ARM64 filter test to test_compress.sh. 8695 8696 tests/test_compress.sh | 1 + 8697 1 file changed, 1 insertion(+) 8698 8699commit d850365c444368102c69beaddf849ed463c33467 8700Author: Jia Tan <jiat0218@gmail.com> 8701Date: 2023-07-20 20:30:05 +0800 8702 8703 Translations: Update the Croatian translation. 8704 8705 po/hr.po | 49 ++++++++++++++++++++++++++++++------------------- 8706 1 file changed, 30 insertions(+), 19 deletions(-) 8707 8708commit 24049eb7acf6d42a60f00efe4e7289fe8e1797fe 8709Author: Jia Tan <jiat0218@gmail.com> 8710Date: 2023-07-20 20:28:32 +0800 8711 8712 Translations: Update the Korean man page translations. 8713 8714 po4a/ko.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 8715 1 file changed, 629 insertions(+), 626 deletions(-) 8716 8717commit 4d4a4fa07de6cb9d913fb2f97712fddda2527b49 8718Author: Jia Tan <jiat0218@gmail.com> 8719Date: 2023-07-20 20:25:24 +0800 8720 8721 Translations: Update the Korean translation. 8722 8723 po/ko.po | 45 ++++++++++++++++++++++++++++----------------- 8724 1 file changed, 28 insertions(+), 17 deletions(-) 8725 8726commit 237f06d9c55cf438a7538a598354bcf103f23711 8727Author: Jia Tan <jiat0218@gmail.com> 8728Date: 2023-07-20 20:24:05 +0800 8729 8730 Translations: Update the Polish translation. 8731 8732 po/pl.po | 47 +++++++++++++++++++++++++++++------------------ 8733 1 file changed, 29 insertions(+), 18 deletions(-) 8734 8735commit 80c2c832136656d5ac7a1bca8bc42d95e13d281a 8736Author: Jia Tan <jiat0218@gmail.com> 8737Date: 2023-07-20 20:22:23 +0800 8738 8739 Translations: Update the German man page translations. 8740 8741 po4a/de.po | 1255 ++++++++++++++++++++++++++++++------------------------------ 8742 1 file changed, 629 insertions(+), 626 deletions(-) 8743 8744commit fdbde14503ca03069d3649aa51926f5f796b89d8 8745Author: Jia Tan <jiat0218@gmail.com> 8746Date: 2023-07-20 20:18:44 +0800 8747 8748 Translations: Update the German translation. 8749 8750 po/de.po | 47 +++++++++++++++++++++++++++++------------------ 8751 1 file changed, 29 insertions(+), 18 deletions(-) 8752 8753commit 9f3bf5ff5b2b5cf0b252a2bf381238ca49dc4101 8754Author: Jia Tan <jiat0218@gmail.com> 8755Date: 2023-07-20 20:17:10 +0800 8756 8757 Translations: Update the Chinese (simplified) translation. 8758 8759 po/zh_CN.po | 47 +++++++++++++++++++++++++++++------------------ 8760 1 file changed, 29 insertions(+), 18 deletions(-) 8761 8762commit 376938c588011567c74f1d5a160c0ccce6336d46 8763Author: Jia Tan <jiat0218@gmail.com> 8764Date: 2023-07-20 20:15:47 +0800 8765 8766 Translations: Update the Swedish translation. 8767 8768 po/sv.po | 47 +++++++++++++++++++++++++++++------------------ 8769 1 file changed, 29 insertions(+), 18 deletions(-) 8770 8771commit 26b0bc6eb82c84559936a7c7080de5c71c8276f8 8772Author: Jia Tan <jiat0218@gmail.com> 8773Date: 2023-07-20 20:14:00 +0800 8774 8775 Translations: Update the Ukrainian man page translations. 8776 8777 po4a/uk.po | 1253 ++++++++++++++++++++++++++++++------------------------------ 8778 1 file changed, 628 insertions(+), 625 deletions(-) 8779 8780commit 2d02c8b7640b54f3c5aa1c8b5990ba56f322393b 8781Author: Jia Tan <jiat0218@gmail.com> 8782Date: 2023-07-20 20:09:15 +0800 8783 8784 Translations: Update the Ukrainian translation. 8785 8786 po/uk.po | 45 ++++++++++++++++++++++++++++----------------- 8787 1 file changed, 28 insertions(+), 17 deletions(-) 8788 8789commit f881018b503fd334331c24a09075429558abbce1 8790Author: Jia Tan <jiat0218@gmail.com> 8791Date: 2023-07-20 20:06:57 +0800 8792 8793 Translations: Update the Spanish translation. 8794 8795 po/es.po | 47 +++++++++++++++++++++++++++++------------------ 8796 1 file changed, 29 insertions(+), 18 deletions(-) 8797 8798commit 791fe6d3ffd6877fa5f852be69d9251397dfaa31 8799Author: Jia Tan <jiat0218@gmail.com> 8800Date: 2023-07-20 20:05:19 +0800 8801 8802 Translations: Update the Romanian translation. 8803 8804 po/ro.po | 48 ++++++++++++++++++++++++++++++------------------ 8805 1 file changed, 30 insertions(+), 18 deletions(-) 8806 8807commit 8827e90704f699fe08bb5bed56b1717a2bc0eb77 8808Author: Jia Tan <jiat0218@gmail.com> 8809Date: 2023-07-20 20:02:56 +0800 8810 8811 Translations: Update the Romanian man page translations. 8812 8813 po4a/ro.po | 1254 ++++++++++++++++++++++++++++++------------------------------ 8814 1 file changed, 629 insertions(+), 625 deletions(-) 8815 8816commit 0184d344fa4f215cd345bb131db9068e077c69b8 8817Author: Jia Tan <jiat0218@gmail.com> 8818Date: 2023-07-19 23:36:00 +0800 8819 8820 liblzma: Suppress -Wunused-function warning. 8821 8822 Clang 16.0.0 and earlier have a bug that the ifunc resolver function 8823 triggers the -Wunused-function warning. The resolver function is static 8824 and only "used" by the __attribute__((__ifunc()__)). 8825 8826 At this time, the bug is still unresolved, but has been reported: 8827 https://github.com/llvm/llvm-project/issues/63957 8828 8829 This is not a problem in GCC. 8830 8831 src/liblzma/check/crc64_fast.c | 10 ++++++++++ 8832 1 file changed, 10 insertions(+) 8833 8834commit 43845fa70fc751736c44c18f4cee42d49bfd1392 8835Author: Jia Tan <jiat0218@gmail.com> 8836Date: 2023-07-18 22:52:25 +0800 8837 8838 liblzma: Reword lzma_str_list_filters() documentation. 8839 8840 This further improves the documentation from commit 8841 f36ca7982f6bd5e9827219ed4f3c5a1fbf5d7bdf. The previous wording of 8842 "supported options" was slightly misleading since the options that are 8843 printed are the ones that are relevant for encoding/decoding. It is not 8844 about which options can or must be specified. 8845 8846 src/liblzma/api/lzma/filter.h | 2 +- 8847 1 file changed, 1 insertion(+), 1 deletion(-) 8848 8849commit 818701ba1c9dff780b7fbf28f9ab8eb11a25dd67 8850Author: Jia Tan <jiat0218@gmail.com> 8851Date: 2023-07-18 22:49:57 +0800 8852 8853 liblzma: Improve comment in string_conversion.c. 8854 8855 The comment used "flag" when referring to decoder options. Just 8856 referring to them as options is more clear and consistent. 8857 8858 src/liblzma/common/string_conversion.c | 4 ++-- 8859 1 file changed, 2 insertions(+), 2 deletions(-) 8860 8861commit b6b7d065853cd4c3f5b8d9be8aea0b6dcb0fe090 8862Author: Lasse Collin <lasse.collin@tukaani.org> 8863Date: 2023-07-18 17:37:33 +0300 8864 8865 xz: Translate the second "%s: " in message.c since French needs "%s : ". 8866 8867 This string is used to print a filename when using "xz -v" and 8868 stderr isn't a terminal. 8869 8870 src/xz/message.c | 2 +- 8871 1 file changed, 1 insertion(+), 1 deletion(-) 8872 8873commit be644042c3066d8e7a2834f989671ba74d27f749 8874Author: Lasse Collin <lasse.collin@tukaani.org> 8875Date: 2023-07-18 14:35:33 +0300 8876 8877 xz: Make "%s: %s" translatable because French needs "%s : %s". 8878 8879 src/xz/args.c | 5 ++++- 8880 src/xz/coder.c | 8 ++++---- 8881 src/xz/file_io.c | 8 ++++---- 8882 src/xz/list.c | 11 ++++++----- 8883 4 files changed, 18 insertions(+), 14 deletions(-) 8884 8885commit 97fd5cb669ee0afc48d2087675ab166aff89eaa2 8886Author: Lasse Collin <lasse.collin@tukaani.org> 8887Date: 2023-07-18 13:57:54 +0300 8888 8889 liblzma: Tweak #if condition in memcmplen.h. 8890 8891 Maybe ICC always #defines _MSC_VER on Windows but now 8892 it's very clear which code will get used. 8893 8894 src/liblzma/common/memcmplen.h | 4 ++-- 8895 1 file changed, 2 insertions(+), 2 deletions(-) 8896 8897commit 40392c19f71985852d75997f109dea97177d6f3f 8898Author: Lasse Collin <lasse.collin@tukaani.org> 8899Date: 2023-07-18 13:49:43 +0300 8900 8901 liblzma: Omit unnecessary parenthesis in a preprocessor directive. 8902 8903 src/liblzma/common/memcmplen.h | 4 ++-- 8904 1 file changed, 2 insertions(+), 2 deletions(-) 8905 8906commit abc1d5601b7e419ebc28a1ab4b268613b52e6f98 8907Author: Jia Tan <jiat0218@gmail.com> 8908Date: 2023-07-18 00:51:48 +0800 8909 8910 xz: Update Authors list in a few files. 8911 8912 src/xz/args.c | 3 ++- 8913 src/xz/args.h | 3 ++- 8914 src/xz/coder.c | 3 ++- 8915 src/xz/coder.h | 3 ++- 8916 src/xz/message.c | 3 ++- 8917 5 files changed, 10 insertions(+), 5 deletions(-) 8918 8919commit 289034a168878baa9df6ff6e159110aade69cba5 8920Author: Jia Tan <jiat0218@gmail.com> 8921Date: 2023-07-14 23:20:33 +0800 8922 8923 Docs: Add a new section to INSTALL for Tests. 8924 8925 The new Tests section describes basic information about the tests, how 8926 to run them, and important details when cross compiling. We have had a 8927 few questions about how to compile the tests without running them, so 8928 hopefully this information will help others with the same question in the 8929 future. 8930 8931 Fixes: https://github.com/tukaani-project/xz/issues/54 8932 8933 INSTALL | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 8934 1 file changed, 64 insertions(+), 17 deletions(-) 8935 8936commit 1119e5f5a519b0ab71c81fc4dc84c0cc72abe513 8937Author: Jia Tan <jiat0218@gmail.com> 8938Date: 2023-07-14 21:10:27 +0800 8939 8940 Docs: Update README. 8941 8942 This adds an entry to "Other implementations of the .xz format" for 8943 XZ for Java. 8944 8945 README | 4 ++++ 8946 1 file changed, 4 insertions(+) 8947 8948commit f99e2e4e53b7ea89e4eef32ddd4882e0416357c9 8949Author: Jia Tan <jiat0218@gmail.com> 8950Date: 2023-07-13 23:32:10 +0800 8951 8952 xz: Fix typo in man page. 8953 8954 The Memory limit information section described three output 8955 columns when it actually has six. This was reworded to 8956 "multiple" to make it more future proof. 8957 8958 src/xz/xz.1 | 2 +- 8959 1 file changed, 1 insertion(+), 1 deletion(-) 8960 8961commit f907705eb1f6c5edaafc9668a34c51a989932f1d 8962Author: Jia Tan <jiat0218@gmail.com> 8963Date: 2023-07-13 21:46:12 +0800 8964 8965 xz: Minor clean up for coder.c 8966 8967 * Moved max_block_list_size from a global to local variable. 8968 * Reworded error message in validate_block_list_filter(). 8969 * Removed helper function filter_chain_error(). 8970 * Changed 1 << X to 1U << X in many places 8971 8972 src/xz/coder.c | 53 +++++++++++++++++++++-------------------------------- 8973 1 file changed, 21 insertions(+), 32 deletions(-) 8974 8975commit 9adc9e56157ecbf2948e5036df8567809b9ae177 8976Author: Jia Tan <jiat0218@gmail.com> 8977Date: 2023-07-13 21:26:47 +0800 8978 8979 xz: Update man page Authors and date. 8980 8981 src/xz/xz.1 | 5 +++-- 8982 1 file changed, 3 insertions(+), 2 deletions(-) 8983 8984commit c12e429f2635da8d8f5749e5f733f451baca6945 8985Author: Jia Tan <jiat0218@gmail.com> 8986Date: 2023-06-20 20:32:59 +0800 8987 8988 xz: Add a section to man page for robot mode --filters-help. 8989 8990 src/xz/xz.1 | 32 ++++++++++++++++++++++++++++++-- 8991 1 file changed, 30 insertions(+), 2 deletions(-) 8992 8993commit e10f2db5d10300c16fa482a136ed31c1aa6e8e8d 8994Author: Jia Tan <jiat0218@gmail.com> 8995Date: 2023-06-19 23:11:41 +0800 8996 8997 xz: Slight reword in xz man page for consistency. 8998 8999 Changed will print => prints in xz --robot --version description to 9000 match --robot --info-memory description. 9001 9002 src/xz/xz.1 | 2 +- 9003 1 file changed, 1 insertion(+), 1 deletion(-) 9004 9005commit f5dc172a402fa946f3c45a16929d7fe14c9f5e81 9006Author: Jia Tan <jiat0218@gmail.com> 9007Date: 2023-06-19 23:07:10 +0800 9008 9009 xz: Reorder robot mode subsections in the man page. 9010 9011 The order is now consistent with the order the command line arguments 9012 are documented earlier in the man page. The new order is: 9013 1. --list 9014 2. --info-memory 9015 3. --version 9016 9017 Instead of the previous order: 9018 1. --version 9019 2. --info-memory 9020 3. --list 9021 9022 src/xz/xz.1 | 192 ++++++++++++++++++++++++++++++------------------------------ 9023 1 file changed, 96 insertions(+), 96 deletions(-) 9024 9025commit 9628be23aef2784249fd9f3199799d785d2ec5cc 9026Author: Jia Tan <jiat0218@gmail.com> 9027Date: 2023-05-13 00:46:50 +0800 9028 9029 xz: Update man page for new --filters-help option. 9030 9031 src/xz/xz.1 | 10 ++++++++++ 9032 1 file changed, 10 insertions(+) 9033 9034commit a165d7df1964121eb9df715e6f836a31c865beef 9035Author: Jia Tan <jiat0218@gmail.com> 9036Date: 2023-05-13 00:44:41 +0800 9037 9038 xz: Add a new --filters-help option. 9039 9040 The --filters-help can be used to help create filter chains with the 9041 --filters and --filtersX options. The message in --long-help is too 9042 short to fully explain the syntax to construct complex filter chains. 9043 9044 In --robot mode, xz will only print the output from liblzma function 9045 lzma_str_list_filters. 9046 9047 src/xz/args.c | 8 ++++++++ 9048 src/xz/message.c | 30 ++++++++++++++++++++++++++++++ 9049 src/xz/message.h | 5 +++++ 9050 3 files changed, 43 insertions(+) 9051 9052commit 95f1a414b156ee35d3e71862a14915fdd138f913 9053Author: Jia Tan <jiat0218@gmail.com> 9054Date: 2023-04-21 20:28:11 +0800 9055 9056 xz: Update the man page for --block-list and --filtersX 9057 9058 The --block-list option description needed updating since the new 9059 --filtersX option changes how it can be used. The new entry for 9060 --filters1=FILTERS ... --filter9=FILTERS was created right after 9061 the --filters option. 9062 9063 src/xz/xz.1 | 106 +++++++++++++++++++++++++++++++++++++++++++++--------------- 9064 1 file changed, 80 insertions(+), 26 deletions(-) 9065 9066commit 47a63cad2aa778280e0c1926b7159427ea028cb1 9067Author: Jia Tan <jiat0218@gmail.com> 9068Date: 2023-04-21 19:50:14 +0800 9069 9070 xz: Update --long-help for the new --filtersX option. 9071 9072 src/xz/message.c | 12 ++++++++++-- 9073 1 file changed, 10 insertions(+), 2 deletions(-) 9074 9075commit 8b9913a13daca2550d02dfdcdc9be15f55ca4d13 9076Author: Jia Tan <jiat0218@gmail.com> 9077Date: 2023-06-17 20:46:21 +0800 9078 9079 xz: Ignore filter chains that are set but never used in --block-list. 9080 9081 If a filter chain is set but not used in --block-list, it introduced 9082 unexpected behavior such as requiring an unneeded amount of memory to 9083 compress, reducing the number of threads in multi-threaded encoding, and 9084 printing an incorrect amount of memory needed to decompress. 9085 9086 This also renames filters_init_mask => filters_used_mask. A filter is 9087 assumed to be used if it is specified in --filtersX until 9088 coder_set_compression_settings() determines which filters are referenced 9089 in --block-list. 9090 9091 src/xz/coder.c | 66 ++++++++++++++++++++++++++++++++++++++++++---------------- 9092 1 file changed, 48 insertions(+), 18 deletions(-) 9093 9094commit 183819bfd9efac8c184d9bf123325719b7eee30f 9095Author: Jia Tan <jiat0218@gmail.com> 9096Date: 2023-05-13 20:11:13 +0800 9097 9098 xz: Set the Block size for mt encoding correctly. 9099 9100 When opt_block_size is not used, the Block size for mt encoder is 9101 derived from the minimum of the largest Block specified by 9102 --block-list and the recommended Block size on all filter chains 9103 calculated by lzma_mt_block_size(). This avoids using unnecessary 9104 memory and ensures that all Blocks are large enough for the most memory 9105 needy filter chain. 9106 9107 src/xz/coder.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 9108 1 file changed, 67 insertions(+), 1 deletion(-) 9109 9110commit afb2dbec3d857b026486b75e42a4728e12d234cb 9111Author: Jia Tan <jiat0218@gmail.com> 9112Date: 2023-05-11 00:09:41 +0800 9113 9114 xz: Validate --flush-timeout for all specified filter chains. 9115 9116 src/xz/coder.c | 24 ++++++++++++++++-------- 9117 1 file changed, 16 insertions(+), 8 deletions(-) 9118 9119commit 5f0c5a04388f8334962c70bc37a8c2ff8f605e0a 9120Author: Jia Tan <jiat0218@gmail.com> 9121Date: 2023-05-13 19:54:33 +0800 9122 9123 xz: Allows --block-list filters to scale down memory usage. 9124 9125 Previously, only the default filter chain could have its memory usage 9126 adjusted. The filter chains specified with --filtersX were not checked 9127 for memory usage. Now, all used filter chains will be adjusted if 9128 necessary. 9129 9130 src/xz/coder.c | 269 +++++++++++++++++++++++++++++++++++++++++++++------------ 9131 1 file changed, 214 insertions(+), 55 deletions(-) 9132 9133commit 479fd58d60622331fcbe48fddf756927b9f80d9a 9134Author: Jia Tan <jiat0218@gmail.com> 9135Date: 2023-05-10 21:50:33 +0800 9136 9137 xz: Do not include block splitting if encoders are disabled. 9138 9139 The block splitting logic and split_block() function are not needed if 9140 encoders are disabled. This will help slightly reduce the binary size 9141 when built without encoders and allow split_block() to use functions 9142 that require encoders being enabled. 9143 9144 src/xz/coder.c | 29 ++++++++++++++++++++--------- 9145 1 file changed, 20 insertions(+), 9 deletions(-) 9146 9147commit f86ede22500f7ae024ec3ec3f3489ab5a857a3b3 9148Author: Jia Tan <jiat0218@gmail.com> 9149Date: 2023-05-10 22:38:59 +0800 9150 9151 xz: Free filters[] in debug mode. 9152 9153 This will only free filter chains created with --filters1-9 since the 9154 default filter chain may be set from a static function variable. The 9155 complexity to free the default filter chain is not worth the burden on 9156 code maintenance. 9157 9158 src/xz/coder.c | 10 ++++++++++ 9159 1 file changed, 10 insertions(+) 9160 9161commit f281cd0d692ac0c70fc7669b80dddb863ea947e1 9162Author: Jia Tan <jiat0218@gmail.com> 9163Date: 2023-05-13 19:28:23 +0800 9164 9165 xz: Add a message if --block-list is used outside of xz compresssion. 9166 9167 --block-list is only supported with compression in xz format. This avoids 9168 silently ignoring when --block-list is unused. 9169 9170 src/xz/args.c | 11 +++++++++++ 9171 1 file changed, 11 insertions(+) 9172 9173commit d6af7f347077b22403133239592e478931307759 9174Author: Jia Tan <jiat0218@gmail.com> 9175Date: 2023-04-18 20:29:09 +0800 9176 9177 xz: Create command line options for filters[1-9]. 9178 9179 The new command line options are meant to be combined with --block-list. 9180 They work as an optional extension to --block-list to specify a custom 9181 filter chain for each block listed. The new options allow the creation 9182 of up to 9 reusable filter chains. For instance: 9183 9184 xz --block-list=1:10MiB,3:5MiB,,2:5MiB,1:0 --filters1=delta--lzma2 \ 9185 --filters2=x86--lzma2 --filters3=arm64--lzma2 9186 9187 Will create the following blocks: 9188 1. A block of size 10 MiB with filter chain delta, lzma2. 9189 2. A block of size 5 MiB with filter chain arm64, lzma2. 9190 3. A block of size 5 MiB with filter chain arm64, lzma2. 9191 4. A block of size 5 MiB with filter chain x86, lzma2. 9192 5. A block containing the rest of the file contents with filter chain 9193 delta, lzma2. 9194 9195 src/xz/args.c | 82 ++++++++++++++++++++++--- 9196 src/xz/coder.c | 188 ++++++++++++++++++++++++++++++++++++++++++--------------- 9197 src/xz/coder.h | 20 +++++- 9198 3 files changed, 230 insertions(+), 60 deletions(-) 9199 9200commit 072d29250113268536719ad0e040ab8a66fb6435 9201Author: Jia Tan <jiat0218@gmail.com> 9202Date: 2023-05-13 19:36:09 +0800 9203 9204 xz: Use lzma_filters_free() in forget_filter_chain(). 9205 9206 This is a little cleaner than the previous implementation of 9207 forget_filter_chain(). It is also more consistent since 9208 lzma_str_to_filters() will always terminate the filter chain so there 9209 is no need to terminate it later in coder_set_compression_settings(). 9210 9211 src/xz/coder.c | 18 ++++++++++-------- 9212 1 file changed, 10 insertions(+), 8 deletions(-) 9213 9214commit 3d21da5cff4b511633cb6e0d8a1090485c0c1059 9215Author: Jia Tan <jiat0218@gmail.com> 9216Date: 2023-04-17 22:22:45 +0800 9217 9218 xz: Separate string to filter conversion into a helper function. 9219 9220 Converting from string to filter will also need to be done for block 9221 specific filter chains. 9222 9223 src/xz/coder.c | 33 ++++++++++++++++++++------------- 9224 1 file changed, 20 insertions(+), 13 deletions(-) 9225 9226commit a6583726e5f950278f96abcf79c04f1056810be6 9227Author: Jia Tan <jiat0218@gmail.com> 9228Date: 2023-01-06 00:03:35 +0800 9229 9230 Tests: Use new --filters option in test_compress.sh 9231 9232 tests/test_compress.sh | 20 ++++++++++---------- 9233 1 file changed, 10 insertions(+), 10 deletions(-) 9234 9235commit 5f3b898d07cc9b7160c7c88b3120b7edabb8a5b0 9236Author: Jia Tan <jiat0218@gmail.com> 9237Date: 2023-01-06 00:03:06 +0800 9238 9239 xz: Update --long-help and man page for new --filters option. 9240 9241 src/xz/message.c | 6 ++++++ 9242 src/xz/xz.1 | 41 ++++++++++++++++++++++++++++++++++++----- 9243 2 files changed, 42 insertions(+), 5 deletions(-) 9244 9245commit 9ded880a0221f4d1256845fc4ab957ffd377c760 9246Author: Jia Tan <jiat0218@gmail.com> 9247Date: 2023-01-06 00:02:29 +0800 9248 9249 xz: Add --filters option to CLI. 9250 9251 The --filters option uses the new lzma_str_to_filters() function 9252 to convert a string into a full filter chain. Using this option 9253 will reset all previous filters set by --preset, --[filter], or 9254 --filters. 9255 9256 src/xz/args.c | 9 +++++++-- 9257 src/xz/coder.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- 9258 src/xz/coder.h | 3 +++ 9259 3 files changed, 58 insertions(+), 4 deletions(-) 9260 9261commit 2c189bb00af73dc7ba1a67a9d274d5be03ee3a88 9262Author: Jia Tan <jiat0218@gmail.com> 9263Date: 2023-07-14 21:30:25 +0800 9264 9265 Tests: Improve feature testing for skipping. 9266 9267 Fixed a bug where test_compress_* would all fail if arm64 or armthumb 9268 filters were enabled for compression but arm was disabled. Since the 9269 grep tests only checked for "define HAVE_ENCODER_ARM", this would match 9270 on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB. 9271 9272 Now the config.h feature test requires " 1" at the end to prevent the 9273 prefix problem. have_feature() was also updated for this even though 9274 there were known current bugs affecting it. This is just in case future 9275 features have a similar prefix problem. 9276 9277 tests/test_compress.sh | 4 ++-- 9278 tests/test_files.sh | 2 +- 9279 2 files changed, 3 insertions(+), 3 deletions(-) 9280 9281commit 80a6b9bcad016c99c9ba3f3eeb4a619fcadfd357 9282Author: Jia Tan <jiat0218@gmail.com> 9283Date: 2023-07-10 20:56:28 +0800 9284 9285 Translations: Update the Chinese (traditional) translation. 9286 9287 po/zh_TW.po | 659 ++++++++++++++++++++++++++++++++++-------------------------- 9288 1 file changed, 377 insertions(+), 282 deletions(-) 9289 9290commit 17f8844e6fc355abf997d77637a7447c4f7bbcbd 9291Author: Jia Tan <jiat0218@gmail.com> 9292Date: 2023-07-08 21:24:19 +0800 9293 9294 liblzma: Remove non-portable empty initializer. 9295 9296 Commit 78704f36e74205857c898a351c757719a6c8b666 added an empty 9297 initializer {} to prevent a warning. The empty initializer is a GNU 9298 extension and results in a build failure on MSVC. The -wpedantic flag 9299 warns about empty initializers. 9300 9301 src/liblzma/common/stream_encoder_mt.c | 2 +- 9302 1 file changed, 1 insertion(+), 1 deletion(-) 9303 9304commit 3aca4f629cd577f0c54f594d5d88722edf0b0413 9305Author: Jia Tan <jiat0218@gmail.com> 9306Date: 2023-07-08 20:03:59 +0800 9307 9308 Translations: Update the Vietnamese translation. 9309 9310 po/vi.po | 620 +++++++++++++++++++++++++++++++++++---------------------------- 9311 1 file changed, 349 insertions(+), 271 deletions(-) 9312 9313commit 66bdcfa85fef2911cc80f5f30fed3f9610faccb4 9314Author: Jia Tan <jiat0218@gmail.com> 9315Date: 2023-06-28 20:46:31 +0800 9316 9317 Tests: Fix memory leaks in test_index. 9318 9319 Several tests were missing calls to lzma_index_end() to clean up the 9320 lzma_index structs. The memory leaks were discovered by using 9321 -fsanitize=address with GCC. 9322 9323 tests/test_index.c | 11 +++++++++++ 9324 1 file changed, 11 insertions(+) 9325 9326commit fe3bd438fb119f9bad3f08dc29d331e4956196e1 9327Author: Jia Tan <jiat0218@gmail.com> 9328Date: 2023-06-28 20:43:29 +0800 9329 9330 Tests: Fix memory leaks in test_block_header. 9331 9332 test_block_header was not properly freeing the filter options between 9333 calls to lzma_block_header_decode(). The memory leaks were discovered by 9334 using -fsanitize=address with GCC. 9335 9336 tests/test_block_header.c | 38 ++++++++++++++++++++++---------------- 9337 1 file changed, 22 insertions(+), 16 deletions(-) 9338 9339commit 78704f36e74205857c898a351c757719a6c8b666 9340Author: Jia Tan <jiat0218@gmail.com> 9341Date: 2023-06-28 20:31:11 +0800 9342 9343 liblzma: Prevent uninitialzed warning in mt stream encoder. 9344 9345 This change only impacts the compiler warning since it was impossible 9346 for the wait_abs struct in stream_encode_mt() to be used before it was 9347 initialized since mythread_condtime_set() will always be called before 9348 mythread_cond_timedwait(). 9349 9350 Since the mythread.h code is different between the POSIX and 9351 Windows versions, this warning was only present on Windows builds. 9352 9353 Thanks to Arthur S for reporting the warning and providing an initial 9354 patch. 9355 9356 src/liblzma/common/stream_encoder_mt.c | 2 +- 9357 1 file changed, 1 insertion(+), 1 deletion(-) 9358 9359commit e3356a204c5ae02db3ec4552b6c1be354e9b6142 9360Author: Jia Tan <jiat0218@gmail.com> 9361Date: 2023-06-28 20:22:38 +0800 9362 9363 liblzma: Prevent warning for MSYS2 Windows build. 9364 9365 In lzma_memcmplen(), the <intrin.h> header file is only included if 9366 _MSC_VER and _M_X64 are both defined but _BitScanForward64() was 9367 previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but 9368 not _MSC_VER so _BitScanForward64() was used without including 9369 <intrin.h>. 9370 9371 Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as 9372 expected. 9373 9374 src/liblzma/common/memcmplen.h | 6 ++++-- 9375 1 file changed, 4 insertions(+), 2 deletions(-) 9376 9377commit 45e250a9e9f3c3e8e8af2983366b170bf54f890e 9378Author: Jia Tan <jiat0218@gmail.com> 9379Date: 2023-06-28 21:01:22 +0800 9380 9381 CI: Add test with -fsanitize=address,undefined. 9382 9383 ci_build.sh was updated to accept disabling of __attribute__ ifunc 9384 and CLMUL. This will allow -fsanitize=address to pass because ifunc 9385 is incompatible with -fsanitize=address. The CLMUL implementation has 9386 optimizations that potentially read past the buffer and mask out the 9387 unwanted bytes. 9388 9389 This test will only run on Autotools Linux. 9390 9391 .github/workflows/ci.yml | 23 +++++++++++++++++++---- 9392 build-aux/ci_build.sh | 8 +++++++- 9393 2 files changed, 26 insertions(+), 5 deletions(-) 9394 9395commit 596ee722cd7ddf0afae584fc06365adc0e735977 9396Author: Jia Tan <jiat0218@gmail.com> 9397Date: 2023-06-28 20:16:04 +0800 9398 9399 CI: Upgrade checkout action from v2 to v3. 9400 9401 .github/workflows/ci.yml | 2 +- 9402 1 file changed, 1 insertion(+), 1 deletion(-) 9403 9404commit 86118ea320f867e09e98a8682cc08cbbdfd640e2 9405Author: Jia Tan <jiat0218@gmail.com> 9406Date: 2023-06-27 23:38:32 +0800 9407 9408 Update THANKS. 9409 9410 THANKS | 1 + 9411 1 file changed, 1 insertion(+) 9412 9413commit 3d1fdddf92321b516d55651888b9c669e254634e 9414Author: Jia Tan <jiat0218@gmail.com> 9415Date: 2023-06-27 17:27:09 +0300 9416 9417 Docs: Document the configure option --disable-ifunc in INSTALL. 9418 9419 INSTALL | 8 ++++++++ 9420 1 file changed, 8 insertions(+) 9421 9422commit b4cf7a2822e8d30eb2b12a1a07fd04383b10ade3 9423Author: Lasse Collin <lasse.collin@tukaani.org> 9424Date: 2023-06-27 17:24:49 +0300 9425 9426 Minor tweaks to style and comments. 9427 9428 CMakeLists.txt | 8 ++++---- 9429 configure.ac | 9 +++++---- 9430 2 files changed, 9 insertions(+), 8 deletions(-) 9431 9432commit 23fb9e3a329117c2968c1e7388b6ef07c782dba1 9433Author: Lasse Collin <lasse.collin@tukaani.org> 9434Date: 2023-06-27 17:19:49 +0300 9435 9436 CMake: Rename CHECK_ATTR_IFUNC to ALLOW_ATTR_IFUNC. 9437 9438 It's so that there's a clear difference in wording compared 9439 to liblzma's integrity check types. 9440 9441 CMakeLists.txt | 6 +++--- 9442 1 file changed, 3 insertions(+), 3 deletions(-) 9443 9444commit ee44863ae88e377a5df10db007ba9bfadde3d314 9445Author: Lasse Collin <lasse.collin@tukaani.org> 9446Date: 2023-06-27 17:05:23 +0300 9447 9448 liblzma: Add ifunc implementation to crc64_fast.c. 9449 9450 The ifunc method avoids indirection via the function pointer 9451 crc64_func. This works on GNU/Linux and probably on FreeBSD too. 9452 The previous __attribute((__constructor__)) method is kept for 9453 compatibility with ELF platforms which do support ifunc. 9454 9455 The ifunc method has some limitations, for example, building 9456 liblzma with -fsanitize=address will result in segfaults. 9457 The configure option --disable-ifunc must be used for such builds. 9458 9459 Thanks to Hans Jansen for the original patch. 9460 Closes: https://github.com/tukaani-project/xz/pull/53 9461 9462 src/liblzma/check/crc64_fast.c | 35 ++++++++++++++++++++++++++--------- 9463 1 file changed, 26 insertions(+), 9 deletions(-) 9464 9465commit b72d21202402a603db6d512fb9271cfa83249639 9466Author: Hans Jansen <hansjansen162@outlook.com> 9467Date: 2023-06-22 19:49:30 +0200 9468 9469 Add ifunc check to CMakeLists.txt 9470 9471 CMake build system will now verify if __attribute__((__ifunc__())) can be 9472 used in the build system. If so, HAVE_FUNC_ATTRIBUTE_IFUNC will be 9473 defined to 1. 9474 9475 CMakeLists.txt | 19 +++++++++++++++++++ 9476 1 file changed, 19 insertions(+) 9477 9478commit 23b5c36fb71904bfbe16bb20f976da38dadf6c3b 9479Author: Hans Jansen <hansjansen162@outlook.com> 9480Date: 2023-06-22 19:46:55 +0200 9481 9482 Add ifunc check to configure.ac 9483 9484 configure.ac will now verify if __attribute__((__ifunc__())) can be used in 9485 the build system. If so, HAVE_FUNC_ATTRIBUTE_IFUNC will be defined to 1. 9486 9487 configure.ac | 28 ++++++++++++++++++++++++++++ 9488 1 file changed, 28 insertions(+) 9489 9490commit dbb3a536ed9873ffa0870321f6873e564c6a9da8 9491Author: Jia Tan <jiat0218@gmail.com> 9492Date: 2023-06-07 00:18:30 +0800 9493 9494 CI: Add apt update command before installing dependencies. 9495 9496 Without the extra command, all of the CI tests were automatically 9497 failing because the Ubuntu servers could not be reached properly. 9498 9499 .github/workflows/ci.yml | 8 ++++++-- 9500 1 file changed, 6 insertions(+), 2 deletions(-) 9501 9502commit 6bcd516812331de42b347922913230895bebad34 9503Author: Jia Tan <jiat0218@gmail.com> 9504Date: 2023-06-07 00:10:38 +0800 9505 9506 Update THANKS. 9507 9508 THANKS | 1 + 9509 1 file changed, 1 insertion(+) 9510 9511commit 0d94ba69220d894d2a86081821d2d7a89df5a10b 9512Author: Benjamin Buch <bebuch@users.noreply.github.com> 9513Date: 2023-06-06 15:32:45 +0200 9514 9515 CMake: Protects against double find_package 9516 9517 Boost iostream uses `find_package` in quiet mode and then again uses 9518 `find_package` with required. This second call triggers a 9519 `add_library cannot create imported target "ZLIB::ZLIB" because another 9520 target with the same name already exists.` 9521 9522 This can simply be fixed by skipping the alias part on secondary 9523 `find_package` runs. 9524 9525 CMakeLists.txt | 16 +++++++++------- 9526 1 file changed, 9 insertions(+), 7 deletions(-) 9527 9528commit 045d7aae286ecd2ce163be9e0d9041343a03f89a 9529Author: Jia Tan <jiat0218@gmail.com> 9530Date: 2023-05-31 20:26:42 +0800 9531 9532 Translations: Update the Esperanto translation. 9533 9534 po/eo.po | 185 +++++++++++++++++++++++++++++++-------------------------------- 9535 1 file changed, 92 insertions(+), 93 deletions(-) 9536 9537commit b0cc7c2dcefe4cbc4e1e697598c14fb687ed0b78 9538Author: Jia Tan <jiat0218@gmail.com> 9539Date: 2023-05-31 20:25:00 +0800 9540 9541 Translations: Update the Croatian translation. 9542 9543 po/hr.po | 2 +- 9544 1 file changed, 1 insertion(+), 1 deletion(-) 9545 9546commit af045ef6f848f02cd14c9ad195a5f87bb0c02dce 9547Author: Jia Tan <jiat0218@gmail.com> 9548Date: 2023-05-31 20:15:53 +0800 9549 9550 Translations: Update the Chinese (simplified) translation. 9551 9552 po/zh_CN.po | 317 ++++++++++++++++++++++++++++++------------------------------ 9553 1 file changed, 157 insertions(+), 160 deletions(-) 9554 9555commit e6b92d5817fe91ad27a0f7f57bd0f2144311e383 9556Author: Jia Tan <jiat0218@gmail.com> 9557Date: 2023-05-17 23:12:13 +0800 9558 9559 Translations: Update German translation of man pages. 9560 9561 po4a/de.po | 52 ++++++++++++---------------------------------------- 9562 1 file changed, 12 insertions(+), 40 deletions(-) 9563 9564commit 592961ccdbba39c7d60fe37e36764232feb57c60 9565Author: Jia Tan <jiat0218@gmail.com> 9566Date: 2023-05-17 23:09:18 +0800 9567 9568 Translations: Update the German translation. 9569 9570 po/de.po | 189 +++++++++++++++++++++++++++++++-------------------------------- 9571 1 file changed, 94 insertions(+), 95 deletions(-) 9572 9573commit 13572cb2c391f5b7503e333c6e05b20bd5bbb524 9574Author: Jia Tan <jiat0218@gmail.com> 9575Date: 2023-05-17 20:30:01 +0800 9576 9577 Translations: Update the Croatian translation. 9578 9579 po/hr.po | 187 +++++++++++++++++++++++++++++++-------------------------------- 9580 1 file changed, 93 insertions(+), 94 deletions(-) 9581 9582commit 4e6e425ea8f097c6fb43e69cc9540294dca3680d 9583Author: Jia Tan <jiat0218@gmail.com> 9584Date: 2023-05-17 20:26:54 +0800 9585 9586 Translations: Update Korean translation of man pages. 9587 9588 po4a/ko.po | 3015 ++++++++++++------------------------------------------------ 9589 1 file changed, 568 insertions(+), 2447 deletions(-) 9590 9591commit d5ef1f6faf7c270f60093629257150085ecf19ca 9592Author: Jia Tan <jiat0218@gmail.com> 9593Date: 2023-05-17 20:13:01 +0800 9594 9595 Translations: Update the Korean translation. 9596 9597 po/ko.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 9598 1 file changed, 158 insertions(+), 161 deletions(-) 9599 9600commit e22d0b0f2e301e7906d0106689d967ed84362028 9601Author: Jia Tan <jiat0218@gmail.com> 9602Date: 2023-05-16 23:49:09 +0800 9603 9604 Translations: Update the Spanish translation. 9605 9606 po/es.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 9607 1 file changed, 158 insertions(+), 161 deletions(-) 9608 9609commit f50da74d52d01f6cfd826a921249e289cf671678 9610Author: Jia Tan <jiat0218@gmail.com> 9611Date: 2023-05-16 23:47:23 +0800 9612 9613 Translations: Update the Romanian translation. 9614 9615 po/ro.po | 195 ++++++++++++++++++++++++++++++++------------------------------- 9616 1 file changed, 98 insertions(+), 97 deletions(-) 9617 9618commit 4b9ad60a7305e9841b7cb4ea611bdf5fa7271696 9619Author: Jia Tan <jiat0218@gmail.com> 9620Date: 2023-05-16 23:45:43 +0800 9621 9622 Translations: Update Romanian translation of man pages. 9623 9624 po4a/ro.po | 19 ++++++++++--------- 9625 1 file changed, 10 insertions(+), 9 deletions(-) 9626 9627commit cb6fd57f889c5d9fab36ae8c9e10083a5fe32dea 9628Author: Jia Tan <jiat0218@gmail.com> 9629Date: 2023-05-16 23:43:51 +0800 9630 9631 Translations: Update Ukrainian translation of man pages. 9632 9633 po4a/uk.po | 12 ++++++------ 9634 1 file changed, 6 insertions(+), 6 deletions(-) 9635 9636commit c3e8fcbc2db4861f92ad15606c995bd255803c52 9637Author: Jia Tan <jiat0218@gmail.com> 9638Date: 2023-05-16 23:37:54 +0800 9639 9640 Translations: Update the Ukrainian translation. 9641 9642 po/uk.po | 321 +++++++++++++++++++++++++++++++-------------------------------- 9643 1 file changed, 159 insertions(+), 162 deletions(-) 9644 9645commit 27b81b84fcedbc55aa6e6b21004c44070b15b038 9646Author: Jia Tan <jiat0218@gmail.com> 9647Date: 2023-05-16 23:07:35 +0800 9648 9649 Translations: Update the Polish translation. 9650 9651 po/pl.po | 316 +++++++++++++++++++++++++++++++-------------------------------- 9652 1 file changed, 155 insertions(+), 161 deletions(-) 9653 9654commit 8024ad636a65ed6ea95c94d57255be4c6724d6ed 9655Author: Jia Tan <jiat0218@gmail.com> 9656Date: 2023-05-16 22:52:14 +0800 9657 9658 Translations: Update the Swedish translation. 9659 9660 po/sv.po | 319 +++++++++++++++++++++++++++++++-------------------------------- 9661 1 file changed, 158 insertions(+), 161 deletions(-) 9662 9663commit 6699a29673f227c4664826db485ed9f7596320d2 9664Author: Jia Tan <jiat0218@gmail.com> 9665Date: 2023-05-16 21:21:38 +0800 9666 9667 Translations: Update the Esperanto translation. 9668 9669 po/eo.po | 34 +++++++++++++++++----------------- 9670 1 file changed, 17 insertions(+), 17 deletions(-) 9671 9672commit f36ca7982f6bd5e9827219ed4f3c5a1fbf5d7bdf 9673Author: Jia Tan <jiat0218@gmail.com> 9674Date: 2023-05-13 21:21:54 +0800 9675 9676 liblzma: Slightly rewords lzma_str_list_filters() documentation. 9677 9678 Reword "options required" to "supported options". The previous may have 9679 suggested that the options listed were all required anytime a filter is 9680 used for encoding or decoding. The reword makes this more clear that 9681 adjusting the options is optional. 9682 9683 src/liblzma/api/lzma/filter.h | 2 +- 9684 1 file changed, 1 insertion(+), 1 deletion(-) 9685 9686commit 3374a5359e52f1671d8f831d65827d5020fe2595 9687Author: Jia Tan <jiat0218@gmail.com> 9688Date: 2023-05-11 23:49:23 +0800 9689 9690 liblzma: Adds lzma_nothrow to MicroLZMA API functions. 9691 9692 None of the liblzma functions may throw an exception, so this 9693 attribute should be applied to all liblzma API functions. 9694 9695 src/liblzma/api/lzma/container.h | 5 +++-- 9696 1 file changed, 3 insertions(+), 2 deletions(-) 9697 9698commit 8f236574986e7c414c0ea059f441982d1387e6a4 9699Author: Jia Tan <jiat0218@gmail.com> 9700Date: 2023-05-09 20:20:06 +0800 9701 9702 liblzma: Exports lzma_mt_block_size() as an API function. 9703 9704 The lzma_mt_block_size() was previously just an internal function for 9705 the multithreaded .xz encoder. It is used to provide a recommended Block 9706 size for a given filter chain. 9707 9708 This function is helpful to determine the maximum Block size for the 9709 multithreaded .xz encoder when one wants to change the filters between 9710 blocks. Then, this determined Block size can be provided to 9711 lzma_stream_encoder_mt() in the lzma_mt options parameter when 9712 intializing the coder. This requires one to know all the filter chains 9713 they are using before starting to encode (or at least the filter chain 9714 that will need the largest Block size), but that isn't a bad limitation. 9715 9716 src/liblzma/api/lzma/container.h | 28 ++++++++++++++++++++++++++++ 9717 src/liblzma/common/filter_encoder.c | 16 ++++++++++------ 9718 src/liblzma/common/filter_encoder.h | 6 +----- 9719 src/liblzma/common/stream_encoder_mt.c | 20 +++++++++----------- 9720 src/liblzma/liblzma_generic.map | 5 +++++ 9721 src/liblzma/liblzma_linux.map | 5 +++++ 9722 src/liblzma/lzma/lzma2_encoder.c | 3 +++ 9723 7 files changed, 61 insertions(+), 22 deletions(-) 9724 9725commit d0f33d672a4da7985ebb5ba8d829f885de49c171 9726Author: Jia Tan <jiat0218@gmail.com> 9727Date: 2023-05-08 22:58:09 +0800 9728 9729 liblzma: Creates IS_ENC_DICT_SIZE_VALID() macro. 9730 9731 This creates an internal liblzma macro to test if the dictionary size 9732 is valid for encoding. 9733 9734 src/liblzma/lz/lz_encoder.c | 4 +--- 9735 src/liblzma/lz/lz_encoder.h | 8 ++++++++ 9736 2 files changed, 9 insertions(+), 3 deletions(-) 9737 9738commit c247d06e1f6cada9a76f4f6225cbd97ea760f52f 9739Author: Jia Tan <jiat0218@gmail.com> 9740Date: 2023-05-02 20:39:56 +0800 9741 9742 Add NEWS for 5.4.3. 9743 9744 NEWS | 10 ++++++++++ 9745 1 file changed, 10 insertions(+) 9746 9747commit 77050b78364ffb6b0f129e742b7c31602d725c08 9748Author: Jia Tan <jiat0218@gmail.com> 9749Date: 2023-05-02 20:39:37 +0800 9750 9751 Add NEWS for 5.2.12. 9752 9753 NEWS | 14 ++++++++++++++ 9754 1 file changed, 14 insertions(+) 9755 9756commit 713e15e43eb6279a7ab4bbad3d1325ebfdcf09a0 9757Author: Jia Tan <jiat0218@gmail.com> 9758Date: 2023-05-04 20:38:52 +0800 9759 9760 Translations: Update the Croatian translation. 9761 9762 po/hr.po | 6 +++--- 9763 1 file changed, 3 insertions(+), 3 deletions(-) 9764 9765commit 9ad64bdf309844b6ca6c3e8a4dfb6dbaedda0ca9 9766Author: Jia Tan <jiat0218@gmail.com> 9767Date: 2023-05-04 20:30:25 +0800 9768 9769 tuklib_integer.h: Reverts previous commit. 9770 9771 Previous commit 6be460dde07113fe3f08f814b61ddc3264125a96 would cause an 9772 error if the integer size was 32 bit. 9773 9774 src/common/tuklib_integer.h | 4 ++-- 9775 1 file changed, 2 insertions(+), 2 deletions(-) 9776 9777commit 6be460dde07113fe3f08f814b61ddc3264125a96 9778Author: Jia Tan <jiat0218@gmail.com> 9779Date: 2023-05-04 19:25:20 +0800 9780 9781 tuklib_integer.h: Changes two other UINT_MAX == UINT32_MAX to >=. 9782 9783 src/common/tuklib_integer.h | 4 ++-- 9784 1 file changed, 2 insertions(+), 2 deletions(-) 9785 9786commit 44c0c5eae990a22ef04e9b88c1a15838a0d00878 9787Author: Lasse Collin <lasse.collin@tukaani.org> 9788Date: 2023-05-03 22:46:42 +0300 9789 9790 tuklib_integer.h: Fix a recent copypaste error in Clang detection. 9791 9792 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7. 9793 Also, this has >= instead of == since ints larger than 32 bits would 9794 work too even if not relevant in practice. 9795 9796 src/common/tuklib_integer.h | 4 ++-- 9797 1 file changed, 2 insertions(+), 2 deletions(-) 9798 9799commit 2cf5ae5b5b279b0b2e69ca4724e7bd705865fe68 9800Author: Jia Tan <jiat0218@gmail.com> 9801Date: 2023-04-25 20:06:15 +0800 9802 9803 CI: Adds a build and test for small configuration. 9804 9805 .github/workflows/ci.yml | 5 +++++ 9806 1 file changed, 5 insertions(+) 9807 9808commit 16b81a057a87c2f18e6ed6447f003af0cbdcfe43 9809Author: Jia Tan <jiat0218@gmail.com> 9810Date: 2023-04-25 20:05:26 +0800 9811 9812 CI: ci_build.sh allows configuring small build. 9813 9814 build-aux/ci_build.sh | 7 ++++++- 9815 1 file changed, 6 insertions(+), 1 deletion(-) 9816 9817commit 78ccd93951f9e988d447bcdd70b24f6df5448d1d 9818Author: Jia Tan <jiat0218@gmail.com> 9819Date: 2023-04-20 20:15:00 +0800 9820 9821 Update THANKS. 9822 9823 THANKS | 1 + 9824 1 file changed, 1 insertion(+) 9825 9826commit f41df2ac2fed347d3f107f3533e76e000d29c6cb 9827Author: Jia Tan <jiat0218@gmail.com> 9828Date: 2023-04-19 22:22:16 +0800 9829 9830 Windows: Include <intrin.h> when needed. 9831 9832 Legacy Windows did not need to #include <intrin.h> to use the MSVC 9833 intrinsics. Newer versions likely just issue a warning, but the MSVC 9834 documentation says to include the header file for the intrinsics we use. 9835 9836 GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are 9837 needed in tuklib_integer.h to only include <intrin.h> when it will is 9838 actually needed. 9839 9840 src/common/tuklib_integer.h | 6 ++++++ 9841 src/liblzma/common/memcmplen.h | 10 ++++++++++ 9842 2 files changed, 16 insertions(+) 9843 9844commit 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7 9845Author: Jia Tan <jiat0218@gmail.com> 9846Date: 2023-04-19 21:59:03 +0800 9847 9848 tuklib_integer: Use __builtin_clz() with Clang. 9849 9850 Clang has support for __builtin_clz(), but previously Clang would 9851 fallback to either the MSVC intrinsic or the regular C code. This was 9852 discovered due to a bug where a new version of Clang required the 9853 <intrin.h> header file in order to use the MSVC intrinsics. 9854 9855 Thanks to Anton Kochkov for notifying us about the bug. 9856 9857 src/common/tuklib_integer.h | 6 +++--- 9858 1 file changed, 3 insertions(+), 3 deletions(-) 9859 9860commit 3938718ce3773c90755785c0df8777f133b7ae29 9861Author: Lasse Collin <lasse.collin@tukaani.org> 9862Date: 2023-04-14 18:42:33 +0300 9863 9864 liblzma: Update project maintainers in lzma.h. 9865 9866 AUTHORS was updated earlier, lzma.h was simply forgotten. 9867 9868 src/liblzma/api/lzma.h | 2 +- 9869 1 file changed, 1 insertion(+), 1 deletion(-) 9870 9871commit 2a89670ab295e377f8b44f5bda6d198deb8ea285 9872Author: Jia Tan <jiat0218@gmail.com> 9873Date: 2023-04-13 20:45:19 +0800 9874 9875 liblzma: Cleans up old commented out code. 9876 9877 src/liblzma/common/alone_encoder.c | 11 ----------- 9878 1 file changed, 11 deletions(-) 9879 9880commit 0fbb2b87a7b5a1dd9d0f4a5e84ac7919557dbe81 9881Author: Jia Tan <jiat0218@gmail.com> 9882Date: 2023-04-07 20:46:41 +0800 9883 9884 Docs: Add missing word to SECURITY.md. 9885 9886 .github/SECURITY.md | 2 +- 9887 1 file changed, 1 insertion(+), 1 deletion(-) 9888 9889commit fb9c50f38a17bf37581de4034b36c8df8ec90a87 9890Author: Jia Tan <jiat0218@gmail.com> 9891Date: 2023-04-07 20:43:22 +0800 9892 9893 Update THANKS. 9894 9895 THANKS | 1 + 9896 1 file changed, 1 insertion(+) 9897 9898commit 537c6cd8a9db0dd6b13683e64ddac2943190d715 9899Author: Jia Tan <jiat0218@gmail.com> 9900Date: 2023-04-07 20:42:12 +0800 9901 9902 Docs: Minor edits to SECURITY.md. 9903 9904 .github/SECURITY.md | 25 ++++++++++++++++++++----- 9905 1 file changed, 20 insertions(+), 5 deletions(-) 9906 9907commit 6549df8dd53f358345957e232648fdb699930074 9908Author: Gabriela Gutierrez <gabigutierrez@google.com> 9909Date: 2023-04-07 12:08:30 +0000 9910 9911 Docs: Create SECURITY.md 9912 9913 Signed-off-by: Gabriela Gutierrez <gabigutierrez@google.com> 9914 9915 .github/SECURITY.md | 14 ++++++++++++++ 9916 1 file changed, 14 insertions(+) 9917 9918commit d0faa85df5a5d253a4625d45313cf5e9277e6cd2 9919Author: Jia Tan <jiat0218@gmail.com> 9920Date: 2023-03-28 22:48:24 +0800 9921 9922 CI: Tests for disabling threading on CMake builds. 9923 9924 .github/workflows/ci.yml | 3 --- 9925 build-aux/ci_build.sh | 4 ++-- 9926 2 files changed, 2 insertions(+), 5 deletions(-) 9927 9928commit 8be5cc3b1359d88b4b30a39067466c0ae0bfbc4d 9929Author: Jia Tan <jiat0218@gmail.com> 9930Date: 2023-03-28 22:45:42 +0800 9931 9932 CI: Removes CMakeCache.txt between builds. 9933 9934 If the cache file is not removed, CMake will not reset configurations 9935 back to their default values. In order to make the tests independent, it 9936 is simplest to purge the cache. Unfortunatly, this will slow down the 9937 tests a little and repeat some checks. 9938 9939 build-aux/ci_build.sh | 2 ++ 9940 1 file changed, 2 insertions(+) 9941 9942commit 2cb6028fc31de082b7f927632363bb1426b61aaa 9943Author: Jia Tan <jiat0218@gmail.com> 9944Date: 2023-03-28 22:32:40 +0800 9945 9946 CMake: Update liblzma-config.cmake generation. 9947 9948 Now that the threading is configurable, the liblzma CMake package only 9949 needs the threading library when using POSIX threads. 9950 9951 CMakeLists.txt | 33 ++++++++++++++++++++++----------- 9952 1 file changed, 22 insertions(+), 11 deletions(-) 9953 9954commit 4d7fac0b07cc722825ba8d7838c558827e635611 9955Author: Jia Tan <jiat0218@gmail.com> 9956Date: 2023-03-28 22:25:33 +0800 9957 9958 CMake: Allows setting thread method. 9959 9960 The thread method is now configurable for the CMake build. It matches 9961 the Autotools build by allowing ON (pick the best threading method), 9962 OFF (no threading), posix, win95, and vista. If both Windows and 9963 posix threading are both available, then ON will choose Windows 9964 threading. Windows threading will also not use: 9965 9966 target_link_libraries(liblzma Threads::Threads) 9967 9968 since on systems like MinGW-w64 it would link the posix threads 9969 without purpose. 9970 9971 CMakeLists.txt | 144 +++++++++++++++++++++++++++++++++++++++++---------------- 9972 1 file changed, 104 insertions(+), 40 deletions(-) 9973 9974commit 20cd905d898c1494dee42b78530769bb9c9f8076 9975Author: Jia Tan <jiat0218@gmail.com> 9976Date: 2023-03-24 23:05:48 +0800 9977 9978 CI: Runs CMake feature tests. 9979 9980 Now, CMake will run similar feature disable tests that the Autotools 9981 version did before. In order to do this without repeating lines in 9982 ci.yml, it now makes sense to use the GitHub Workflow matrix to create 9983 a loop. 9984 9985 .github/workflows/ci.yml | 169 +++++++++++++++-------------------------------- 9986 1 file changed, 55 insertions(+), 114 deletions(-) 9987 9988commit 4fabdb269f1fc5624b3b94a170c4efb329d1d229 9989Author: Jia Tan <jiat0218@gmail.com> 9990Date: 2023-03-24 20:35:11 +0800 9991 9992 CI: ci_build.sh allows CMake features to be configured. 9993 9994 Also included various clean ups for style and helper functions for 9995 repeated work. 9996 9997 build-aux/ci_build.sh | 233 +++++++++++++++++++++++++++++++------------------- 9998 1 file changed, 143 insertions(+), 90 deletions(-) 9999 10000commit cf3d1f130e50cf63da4bb1031771605f6f443b6a 10001Author: Jia Tan <jiat0218@gmail.com> 10002Date: 2023-03-24 20:06:33 +0800 10003 10004 CI: Change ci_build.sh to use bash instead of sh. 10005 10006 This script is only meant to be run as part of the CI build/test process 10007 on machines that are known to have bash (Ubuntu and MacOS). If this 10008 assumption changes in the future, then the bash specific commands will 10009 need to be replaced with a more portable option. For now, it is 10010 convenient to use bash commands. 10011 10012 build-aux/ci_build.sh | 2 +- 10013 1 file changed, 1 insertion(+), 1 deletion(-) 10014 10015commit ddfe164368e779c40d061aa4ccc376129e92f8e1 10016Author: Jia Tan <jiat0218@gmail.com> 10017Date: 2023-03-24 20:05:59 +0800 10018 10019 CMake: Only build xzdec if decoders are enabled. 10020 10021 CMakeLists.txt | 2 +- 10022 1 file changed, 1 insertion(+), 1 deletion(-) 10023 10024commit 116e81f002c503d3c3cd12726db8f9116e58ef25 10025Author: Jia Tan <jiat0218@gmail.com> 10026Date: 2023-03-22 15:42:04 +0800 10027 10028 Build: Removes redundant check for LZMA1 filter support. 10029 10030 src/liblzma/lzma/Makefile.inc | 5 +---- 10031 1 file changed, 1 insertion(+), 4 deletions(-) 10032 10033commit 0ba234f692772595329d225462d391fe2c199d0a 10034Author: Lasse Collin <lasse.collin@tukaani.org> 10035Date: 2023-03-23 15:14:29 +0200 10036 10037 CMake: Bump maximum policy version to 3.26. 10038 10039 It adds only one new policy related to FOLDERS which we don't use. 10040 This makes it clear that the code is compatible with the policies 10041 up to 3.26. 10042 10043 CMakeLists.txt | 2 +- 10044 1 file changed, 1 insertion(+), 1 deletion(-) 10045 10046commit b0891684b4436aed31510fddcbb218d513bd5489 10047Author: Jia Tan <jiat0218@gmail.com> 10048Date: 2023-03-21 23:36:00 +0800 10049 10050 CMake: Conditionally build xz list.* files if decoders are enabled. 10051 10052 CMakeLists.txt | 9 +++++++-- 10053 1 file changed, 7 insertions(+), 2 deletions(-) 10054 10055commit 2c1a830efb61d9d65906a09c9ee3ce27c2c49227 10056Author: Jia Tan <jiat0218@gmail.com> 10057Date: 2023-02-25 11:46:50 +0800 10058 10059 CMake: Allow configuring features as cache variables. 10060 10061 This allows users to change the features they build either in 10062 CMakeCache.txt or by using a CMake GUI. The sources built for 10063 liblzma are affected by this too, so only the necessary files 10064 will be compiled. 10065 10066 CMakeLists.txt | 528 ++++++++++++++++++++++++++++++++++++++++++--------------- 10067 1 file changed, 391 insertions(+), 137 deletions(-) 10068 10069commit 8be136f667aaeb8f9e16fbd57a83cb282f0c27ff 10070Author: Lasse Collin <lasse.collin@tukaani.org> 10071Date: 2023-03-21 14:07:51 +0200 10072 10073 Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69. 10074 10075 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC 10076 but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler. 10077 10078 configure.ac | 3 +++ 10079 1 file changed, 3 insertions(+) 10080 10081commit 53cc475f2652d9e390ca002018dfd0af0626ef80 10082Author: Lasse Collin <lasse.collin@tukaani.org> 10083Date: 2023-03-21 14:04:37 +0200 10084 10085 Build: configure.ac: Use AS_IF and AS_CASE where required. 10086 10087 This makes no functional difference in the generated configure 10088 (at least with the Autotools versions I have installed) but this 10089 change might prevent future bugs like the one that was just 10090 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294. 10091 10092 configure.ac | 30 +++++++++++++++--------------- 10093 1 file changed, 15 insertions(+), 15 deletions(-) 10094 10095commit 3b8890a40233b6c783bb101ec14405e786871775 10096Author: Lasse Collin <lasse.collin@tukaani.org> 10097Date: 2023-03-21 13:12:03 +0200 10098 10099 Update THANKS. 10100 10101 THANKS | 1 + 10102 1 file changed, 1 insertion(+) 10103 10104commit 5a5bd7f871818029d5ccbe189f087f591258c294 10105Author: Lasse Collin <lasse.collin@tukaani.org> 10106Date: 2023-03-21 13:11:49 +0200 10107 10108 Build: Fix --disable-threads breaking the building of shared libs. 10109 10110 This is broken in the releases 5.2.6 to 5.4.2. A workaround 10111 for these releases is to pass EGREP='grep -E' as an argument 10112 to configure in addition to --disable-threads. 10113 10114 The problem appeared when m4/ax_pthread.m4 was updated in 10115 the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which 10116 introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls 10117 AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP 10118 but this was only executed if POSIX threads were enabled. 10119 Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf 10120 omits it as AC_PROG_EGREP has already been required earlier. 10121 Thus, if not using POSIX threads, the shell variable EGREP 10122 would be undefined in the Libtool code in configure. 10123 10124 ax_pthread.m4 is fine. The bug was in configure.ac which called 10125 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE 10126 ensures that all AC_REQUIREs get always run. 10127 10128 Thanks to Frank Busse for reporting the bug. 10129 Fixes: https://github.com/tukaani-project/xz/issues/45 10130 10131 configure.ac | 16 ++++++++-------- 10132 1 file changed, 8 insertions(+), 8 deletions(-) 10133 10134commit dfe1710784c0a3c3a90c17b80c9e1fe19b5fce06 10135Author: Lasse Collin <lasse.collin@tukaani.org> 10136Date: 2023-03-19 22:45:59 +0200 10137 10138 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h. 10139 10140 Thanks to Christian Hesse for reporting the issue. 10141 Fixes: https://github.com/tukaani-project/xz/issues/44 10142 10143 src/liblzma/common/memcmplen.h | 3 ++- 10144 1 file changed, 2 insertions(+), 1 deletion(-) 10145 10146commit f0c580c5fc38bf49a184b48d76c1d8c057d499ce 10147Author: Jia Tan <jiat0218@gmail.com> 10148Date: 2023-03-18 22:10:57 +0800 10149 10150 Add NEWS for 5.4.2. 10151 10152 NEWS | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 10153 1 file changed, 48 insertions(+) 10154 10155commit af4925e6043113ec9b5f9c0cf13abf2a18ccb1f6 10156Author: Jia Tan <jiat0218@gmail.com> 10157Date: 2023-03-18 22:10:12 +0800 10158 10159 Add NEWS for 5.2.11. 10160 10161 NEWS | 27 +++++++++++++++++++++++++++ 10162 1 file changed, 27 insertions(+) 10163 10164commit 5a7b930efa7f9849d8da8397e8e5d8638f92be40 10165Author: Lasse Collin <lasse.collin@tukaani.org> 10166Date: 2023-03-18 16:00:54 +0200 10167 10168 Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3. 10169 10170 COPYING.GPLv3 | 8 ++++---- 10171 1 file changed, 4 insertions(+), 4 deletions(-) 10172 10173commit b473a92891f7e991398a3b5eff305f6f2b6d7293 10174Author: Lasse Collin <lasse.collin@tukaani.org> 10175Date: 2023-03-18 15:51:57 +0200 10176 10177 Change a few HTTP URLs to HTTPS. 10178 10179 The xz man page timestamp was intentionally left unchanged. 10180 10181 INSTALL | 2 +- 10182 README | 8 ++++---- 10183 configure.ac | 2 +- 10184 dos/INSTALL.txt | 4 ++-- 10185 src/liblzma/api/lzma.h | 8 ++++---- 10186 src/liblzma/check/sha256.c | 2 +- 10187 src/xz/xz.1 | 2 +- 10188 windows/INSTALL-MinGW.txt | 10 +++++----- 10189 8 files changed, 19 insertions(+), 19 deletions(-) 10190 10191commit 8b2f6001b4f412c259a7883427f2f2c8cea98ea8 10192Author: Jia Tan <jiat0218@gmail.com> 10193Date: 2023-03-18 00:40:28 +0800 10194 10195 CMake: Fix typo in a comment. 10196 10197 CMakeLists.txt | 2 +- 10198 1 file changed, 1 insertion(+), 1 deletion(-) 10199 10200commit 76e2315e14c399c15cc90e7930fd4d3d086b0227 10201Author: Lasse Collin <lasse.collin@tukaani.org> 10202Date: 2023-03-17 18:36:22 +0200 10203 10204 Windows: build.bash: Copy liblzma API docs to the output package. 10205 10206 windows/build.bash | 3 ++- 10207 1 file changed, 2 insertions(+), 1 deletion(-) 10208 10209commit 133cf55edc5ce92952d2709abd992e48ef1f45ee 10210Author: Lasse Collin <lasse.collin@tukaani.org> 10211Date: 2023-03-17 08:53:38 +0200 10212 10213 Windows: Add microlzma_*.c to the VS project files. 10214 10215 These should have been included in 5.3.2alpha already. 10216 10217 windows/vs2013/liblzma.vcxproj | 2 ++ 10218 windows/vs2013/liblzma_dll.vcxproj | 2 ++ 10219 windows/vs2017/liblzma.vcxproj | 2 ++ 10220 windows/vs2017/liblzma_dll.vcxproj | 2 ++ 10221 windows/vs2019/liblzma.vcxproj | 2 ++ 10222 windows/vs2019/liblzma_dll.vcxproj | 2 ++ 10223 6 files changed, 12 insertions(+) 10224 10225commit 75c9ca450fab6982fda9286b168081c9d54126cd 10226Author: Lasse Collin <lasse.collin@tukaani.org> 10227Date: 2023-03-17 08:43:51 +0200 10228 10229 CMake: Add microlzma_*.c to the build. 10230 10231 These should have been included in 5.3.2alpha already. 10232 10233 CMakeLists.txt | 2 ++ 10234 1 file changed, 2 insertions(+) 10235 10236commit 0cc3313bd4e569c51e686e5aab8c40c35241d34b 10237Author: Lasse Collin <lasse.collin@tukaani.org> 10238Date: 2023-03-17 08:41:36 +0200 10239 10240 Build: Update comments about unaligned access to mention 64-bit. 10241 10242 cmake/tuklib_integer.cmake | 7 +++---- 10243 m4/tuklib_integer.m4 | 4 ++-- 10244 2 files changed, 5 insertions(+), 6 deletions(-) 10245 10246commit 5e57e3301319f20c35f8111dea73fa58403b96b1 10247Author: Lasse Collin <lasse.collin@tukaani.org> 10248Date: 2023-03-17 00:02:30 +0200 10249 10250 Tests: Update .gitignore. 10251 10252 .gitignore | 3 ++- 10253 1 file changed, 2 insertions(+), 1 deletion(-) 10254 10255commit 0007394d54e21bf30abb9a5e09cbc1e8d44a73ac 10256Author: Lasse Collin <lasse.collin@tukaani.org> 10257Date: 2023-03-14 20:04:03 +0200 10258 10259 po4a/update-po: Display the script name consistently in error messages. 10260 10261 po4a/update-po | 2 +- 10262 1 file changed, 1 insertion(+), 1 deletion(-) 10263 10264commit 509157c80c500426ec853bd992d684ebafc8500c 10265Author: Jia Tan <jiat0218@gmail.com> 10266Date: 2023-03-17 01:30:36 +0800 10267 10268 Doc: Rename Doxygen HTML doc directory name liblzma => api. 10269 10270 When the docs are installed, calling the directory "liblzma" is 10271 confusing since multiple other files in the doc directory are for 10272 liblzma. This should also make it more natural for distros when they 10273 package the documentation. 10274 10275 .gitignore | 2 +- 10276 Makefile.am | 18 +++++++++--------- 10277 PACKAGERS | 4 ++-- 10278 doxygen/Doxyfile | 2 +- 10279 doxygen/update-doxygen | 18 +++++++++--------- 10280 5 files changed, 22 insertions(+), 22 deletions(-) 10281 10282commit fd90e2f4c29180b44e33c7ef726f94e4eae54ed3 10283Author: Jia Tan <jiat0218@gmail.com> 10284Date: 2023-03-16 22:07:15 +0800 10285 10286 liblzma: Remove note from lzma_options_bcj about the ARM64 exception. 10287 10288 This was left in by mistake since an early version of the ARM64 filter 10289 used a different struct for its options. 10290 10291 src/liblzma/api/lzma/bcj.h | 2 +- 10292 1 file changed, 1 insertion(+), 1 deletion(-) 10293 10294commit 4f50763b981f9056c5f1763dfb26cfa4a26a181d 10295Author: Jia Tan <jiat0218@gmail.com> 10296Date: 2023-03-16 21:44:02 +0800 10297 10298 CI: Add doxygen as a dependency. 10299 10300 Autogen now requires --no-doxygen or having doxygen installed to run 10301 without errors. 10302 10303 .github/workflows/ci.yml | 5 ++--- 10304 1 file changed, 2 insertions(+), 3 deletions(-) 10305 10306commit f68f4b27f62f53fdac570885a1f4f23367ce6599 10307Author: Lasse Collin <lasse.collin@tukaani.org> 10308Date: 2023-03-15 19:19:13 +0200 10309 10310 COPYING: Add a note about the included Doxygen-generated HTML. 10311 10312 COPYING | 11 +++++++++++ 10313 1 file changed, 11 insertions(+) 10314 10315commit 8979308528c1f45cb9ee52d511f05232b4ad90a1 10316Author: Jia Tan <jiat0218@gmail.com> 10317Date: 2023-03-16 21:41:09 +0800 10318 10319 Doc: Update PACKAGERS with details about liblzma API docs install. 10320 10321 PACKAGERS | 22 ++++++++++++++++------ 10322 1 file changed, 16 insertions(+), 6 deletions(-) 10323 10324commit 55ba6e93004842ae0a0792214a23504267ad8f43 10325Author: Jia Tan <jiat0218@gmail.com> 10326Date: 2023-03-16 21:38:32 +0800 10327 10328 liblzma: Add set lzma.h as the main page for Doxygen documentation. 10329 10330 The \mainpage command is used in the first block of comments in lzma.h. 10331 This changes the previously nearly empty index.html to use the first 10332 comment block in lzma.h for its contents. 10333 10334 lzma.h is no longer documented separately, but this is for the better 10335 since lzma.h only defined a few macros that users do not need to use. 10336 The individual API header files all have a disclaimer that they should 10337 not be #included directly, so there should be no confusion on the fact 10338 that lzma.h should be the only header used by applications. 10339 10340 Additionally, the note "See ../lzma.h for information about liblzma as 10341 a whole." was removed since lzma.h is now the main page of the 10342 generated HTML and does not have its own page anymore. So it would be 10343 confusing in the HTML version and was only a "nice to have" when 10344 browsing the source files. 10345 10346 src/liblzma/api/lzma.h | 1 + 10347 src/liblzma/api/lzma/base.h | 2 -- 10348 src/liblzma/api/lzma/bcj.h | 2 -- 10349 src/liblzma/api/lzma/block.h | 2 -- 10350 src/liblzma/api/lzma/check.h | 2 -- 10351 src/liblzma/api/lzma/container.h | 2 -- 10352 src/liblzma/api/lzma/delta.h | 2 -- 10353 src/liblzma/api/lzma/filter.h | 2 -- 10354 src/liblzma/api/lzma/hardware.h | 2 -- 10355 src/liblzma/api/lzma/index.h | 2 -- 10356 src/liblzma/api/lzma/index_hash.h | 4 +--- 10357 src/liblzma/api/lzma/lzma12.h | 2 -- 10358 src/liblzma/api/lzma/stream_flags.h | 2 -- 10359 src/liblzma/api/lzma/version.h | 2 -- 10360 src/liblzma/api/lzma/vli.h | 2 -- 10361 15 files changed, 2 insertions(+), 29 deletions(-) 10362 10363commit 16f21255597f6a57e5692780f962cdc090f62b8c 10364Author: Jia Tan <jiat0218@gmail.com> 10365Date: 2023-03-16 21:37:32 +0800 10366 10367 Build: Generate doxygen documentation in autogen.sh. 10368 10369 Another command line option (--no-doxygen) was added to disable 10370 creating the doxygen documenation in cases where it not wanted or 10371 if the doxygen tool is not installed. 10372 10373 autogen.sh | 35 +++++++++++++++++++++++++++++------ 10374 1 file changed, 29 insertions(+), 6 deletions(-) 10375 10376commit 1321852a3be7196bd7fcfd146221a5669e46407c 10377Author: Jia Tan <jiat0218@gmail.com> 10378Date: 2023-03-16 21:35:55 +0800 10379 10380 Build: Create doxygen/update-doxygen script. 10381 10382 This is a helper script to generate the Doxygen documentation. It can be 10383 run in 'liblzma' or 'internal' mode by setting the first argument. It 10384 will default to 'liblzma' mode and only generate documentation for the 10385 liblzma API header files. 10386 10387 The helper script will be run during the custom mydist hook when we 10388 create releases. This hook already alters the source directory, so its 10389 fine to do it here too. This way, we can include the Doxygen generated 10390 files in the distrubtion and when installing. 10391 10392 In 'liblzma' mode, the JavaScript is stripped from the .html files and 10393 the .js files are removed. This avoids license hassle from jQuery and 10394 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form. 10395 10396 Makefile.am | 1 + 10397 doxygen/update-doxygen | 111 +++++++++++++++++++++++++++++++++++++++++++++++++ 10398 2 files changed, 112 insertions(+) 10399 10400commit b1216a7772952d2fe7fe9c6acfcbd98d30abbc7b 10401Author: Jia Tan <jiat0218@gmail.com> 10402Date: 2023-03-16 21:34:36 +0800 10403 10404 Build: Install Doxygen docs and include in distribution if generated. 10405 10406 Added a install-data-local target to install the Doxygen documentation 10407 only when it has been generated. In order to correctly remove the docs, 10408 a corresponding uninstall-local target was added. 10409 10410 If the doxygen docs exist in the source tree, they will also be included 10411 in the distribution now too. 10412 10413 Makefile.am | 18 ++++++++++++++++++ 10414 1 file changed, 18 insertions(+) 10415 10416commit c97d12f300b2a94c9f54a44c8931c8bc08cf0a73 10417Author: Lasse Collin <lasse.collin@tukaani.org> 10418Date: 2023-03-16 21:23:48 +0800 10419 10420 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile. 10421 10422 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile 10423 can have the tags that need to be configured piped into the doxygen 10424 command through stdin with the overrides after Doxyfile's contents. 10425 10426 Going forward, the documentation should be generated in two different 10427 modes: liblzma or internal. 10428 10429 liblzma is useful for most users. It is the documentation for just 10430 the liblzma API header files. This is the default. 10431 10432 internal is for people who want to understand how xz and liblzma work. 10433 It might be useful for people who want to contribute to the project. 10434 10435 .gitignore | 3 +- 10436 Makefile.am | 1 - 10437 configure.ac | 40 --- 10438 Doxyfile.in => doxygen/Doxyfile | 721 +++++++++++++++++++++++++--------------- 10439 4 files changed, 456 insertions(+), 309 deletions(-) 10440 10441commit 1b7661faa4bbf4a54c6b75900b5059835c382a0f 10442Author: Jia Tan <jiat0218@gmail.com> 10443Date: 2023-02-28 23:22:36 +0800 10444 10445 Tests: Remove unused macros and functions. 10446 10447 tests/tests.h | 75 ----------------------------------------------------------- 10448 1 file changed, 75 deletions(-) 10449 10450commit af55191102f01e76de658c881299f0909ca0feda 10451Author: Jia Tan <jiat0218@gmail.com> 10452Date: 2022-12-29 21:52:15 +0800 10453 10454 liblzma: Defines masks for return values from lzma_index_checks(). 10455 10456 src/liblzma/api/lzma/index.h | 23 +++++++++++++++++++++++ 10457 tests/test_index.c | 22 +++++++++++----------- 10458 2 files changed, 34 insertions(+), 11 deletions(-) 10459 10460commit 8f38cdd9ab71e2a9d5a9787550222b7578243b73 10461Author: Jia Tan <jiat0218@gmail.com> 10462Date: 2023-01-12 22:29:07 +0800 10463 10464 Tests: Refactors existing lzma_index tests. 10465 10466 Converts the existing lzma_index tests into tuktests and covers every 10467 API function from index.h except for lzma_file_info_decoder, which can 10468 be tested in the future. 10469 10470 tests/test_index.c | 2036 ++++++++++++++++++++++++++++++++++++++-------------- 10471 1 file changed, 1492 insertions(+), 544 deletions(-) 10472 10473commit 717aa3651ce582807f379d8654c2516e1594df77 10474Author: Lasse Collin <lasse.collin@tukaani.org> 10475Date: 2023-03-11 18:42:08 +0200 10476 10477 xz: Simplify the error-label in Capsicum sandbox code. 10478 10479 Also remove unneeded "sandbox_allowed = false;" as this code 10480 will never be run more than once (making it work with multiple 10481 input files isn't trivial). 10482 10483 src/xz/file_io.c | 27 ++++++++++++--------------- 10484 1 file changed, 12 insertions(+), 15 deletions(-) 10485 10486commit a0eecc235d3ba8ad3453da98b46c7bc3e644de75 10487Author: Lasse Collin <lasse.collin@tukaani.org> 10488Date: 2023-03-07 19:59:23 +0200 10489 10490 xz: Make Capsicum sandbox more strict with stdin and stdout. 10491 10492 src/xz/file_io.c | 8 ++++++++ 10493 1 file changed, 8 insertions(+) 10494 10495commit 916448d624aaf55cef0fc3e53754affb8c4f309d 10496Author: Jia Tan <jiat0218@gmail.com> 10497Date: 2023-03-08 23:08:46 +0800 10498 10499 Revert: "Add warning if Capsicum sandbox system calls are unsupported." 10500 10501 The warning causes the exit status to be 2, so this will cause problems 10502 for many scripted use cases for xz. The sandbox usage is already very 10503 limited already, so silently disabling this allows it to be more usable. 10504 10505 src/xz/file_io.c | 10 ++++------ 10506 1 file changed, 4 insertions(+), 6 deletions(-) 10507 10508commit 01587dda2a8f13fef7e12fd624e6d05da5f9624f 10509Author: Jia Tan <jiat0218@gmail.com> 10510Date: 2023-03-07 20:02:22 +0800 10511 10512 xz: Fix -Wunused-label in io_sandbox_enter(). 10513 10514 Thanks to Xin Li for recommending the fix. 10515 10516 src/xz/file_io.c | 4 ++-- 10517 1 file changed, 2 insertions(+), 2 deletions(-) 10518 10519commit 5fb936786601a1cd013a5d436adde65982b1e13c 10520Author: Jia Tan <jiat0218@gmail.com> 10521Date: 2023-03-06 21:37:45 +0800 10522 10523 xz: Add warning if Capsicum sandbox system calls are unsupported. 10524 10525 The warning is only used when errno == ENOSYS. Otherwise, xz still 10526 issues a fatal error. 10527 10528 src/xz/file_io.c | 2 ++ 10529 1 file changed, 2 insertions(+) 10530 10531commit 61ee82cb1232a402c82282bbae42821f2b952b0d 10532Author: Jia Tan <jiat0218@gmail.com> 10533Date: 2023-03-06 21:27:53 +0800 10534 10535 xz: Skip Capsicum sandbox system calls when they are unsupported. 10536 10537 If a system has the Capsicum header files but does not actually 10538 implement the system calls, then this would render xz unusable. Instead, 10539 we can check if errno == ENOSYS and not issue a fatal error. 10540 10541 src/xz/file_io.c | 22 +++++++++++++++++----- 10542 1 file changed, 17 insertions(+), 5 deletions(-) 10543 10544commit f070722b57ba975a0dff36492d766f03026b1d21 10545Author: Jia Tan <jiat0218@gmail.com> 10546Date: 2023-03-06 21:08:26 +0800 10547 10548 xz: Reorder cap_enter() to beginning of capsicum sandbox code. 10549 10550 cap_enter() puts the process into the sandbox. If later calls to 10551 cap_rights_limit() fail, then the process can still have some extra 10552 protections. 10553 10554 src/xz/file_io.c | 6 +++--- 10555 1 file changed, 3 insertions(+), 3 deletions(-) 10556 10557commit f1ab1f6b339d16a53ac53efeb97779ecd2bae70f 10558Author: Jia Tan <jiat0218@gmail.com> 10559Date: 2023-02-24 23:46:23 +0800 10560 10561 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h. 10562 10563 lzma_lzma_preset() does not guarentee that the lzma_options_lzma are 10564 usable in an encoder even if it returns false (success). If liblzma 10565 is built with default configurations, then the options will always be 10566 usable. However if the match finders hc3, hc4, or bt4 are disabled, then 10567 the options may not be usable depending on the preset level requested. 10568 10569 The documentation was updated to reflect this complexity, since this 10570 behavior was unclear before. 10571 10572 src/liblzma/api/lzma/lzma12.h | 5 +++++ 10573 1 file changed, 5 insertions(+) 10574 10575commit 4b7fb3bf41a0ca4c97fad3799949a2aa61b13b99 10576Author: Lasse Collin <lasse.collin@tukaani.org> 10577Date: 2023-02-27 18:38:35 +0200 10578 10579 CMake: Require that the C compiler supports C99 or a newer standard. 10580 10581 Thanks to autoantwort for reporting the issue and suggesting 10582 a different patch: 10583 https://github.com/tukaani-project/xz/pull/42 10584 10585 CMakeLists.txt | 8 ++++++++ 10586 1 file changed, 8 insertions(+) 10587 10588commit 9aa7fdeb04c486d2700967090956af88fdccab7e 10589Author: Jia Tan <jiat0218@gmail.com> 10590Date: 2023-02-24 18:10:37 +0800 10591 10592 Tests: Small tweak to test-vli.c. 10593 10594 The static global variables can be disabled if encoders and decoders 10595 are not built. If they are not disabled and -Werror is used, it will 10596 cause an usused warning as an error. 10597 10598 tests/test_vli.c | 2 ++ 10599 1 file changed, 2 insertions(+) 10600 10601commit 3cf72c4bcba5370f07477c9b9b62ae33069ef9a9 10602Author: Jia Tan <jiat0218@gmail.com> 10603Date: 2023-02-06 21:46:43 +0800 10604 10605 liblzma: Replace '\n' -> newline in filter.h documentation. 10606 10607 The '\n' renders as a newline when the comments are converted to html 10608 by Doxygen. 10609 10610 src/liblzma/api/lzma/filter.h | 2 +- 10611 1 file changed, 1 insertion(+), 1 deletion(-) 10612 10613commit 002006be62d77c706565fa6ec828bea64be302da 10614Author: Jia Tan <jiat0218@gmail.com> 10615Date: 2023-02-06 21:45:37 +0800 10616 10617 liblzma: Shorten return description for two functions in filter.h. 10618 10619 Shorten the description for lzma_raw_encoder_memusage() and 10620 lzma_raw_decoder_memusage(). 10621 10622 src/liblzma/api/lzma/filter.h | 8 ++------ 10623 1 file changed, 2 insertions(+), 6 deletions(-) 10624 10625commit 463d9359b8595f01d44ada1739d75aeb87f36524 10626Author: Jia Tan <jiat0218@gmail.com> 10627Date: 2023-02-06 21:44:45 +0800 10628 10629 liblzma: Reword a few lines in filter.h 10630 10631 src/liblzma/api/lzma/filter.h | 10 +++++----- 10632 1 file changed, 5 insertions(+), 5 deletions(-) 10633 10634commit 01441df92c0fd6a6c02fe5ac27982a54ce887cc0 10635Author: Jia Tan <jiat0218@gmail.com> 10636Date: 2023-02-06 21:35:06 +0800 10637 10638 liblzma: Improve documentation in filter.h. 10639 10640 All functions now explicitly specify parameter and return values. 10641 The notes and code annotations were moved before the parameter and 10642 return value descriptions for consistency. 10643 10644 Also, the description above lzma_filter_encoder_is_supported() about 10645 not being able to list available filters was removed since 10646 lzma_str_list_filters() will do this. 10647 10648 src/liblzma/api/lzma/filter.h | 226 ++++++++++++++++++++++++++---------------- 10649 1 file changed, 143 insertions(+), 83 deletions(-) 10650 10651commit 805b45cd60bfd5da3d3d89077de3789df179b324 10652Author: Lasse Collin <lasse.collin@tukaani.org> 10653Date: 2023-02-23 20:46:16 +0200 10654 10655 Update THANKS. 10656 10657 THANKS | 1 + 10658 1 file changed, 1 insertion(+) 10659 10660commit 30e95bb44c36ae26b2ab12a94343b215fec285e7 10661Author: Lasse Collin <lasse.collin@tukaani.org> 10662Date: 2023-02-21 22:57:10 +0200 10663 10664 liblzma: Avoid null pointer + 0 (undefined behavior in C). 10665 10666 In the C99 and C17 standards, section 6.5.6 paragraph 8 means that 10667 adding 0 to a null pointer is undefined behavior. As of writing, 10668 "clang -fsanitize=undefined" (Clang 15) diagnoses this. However, 10669 I'm not aware of any compiler that would take advantage of this 10670 when optimizing (Clang 15 included). It's good to avoid this anyway 10671 since compilers might some day infer that pointer arithmetic implies 10672 that the pointer is not NULL. That is, the following foo() would then 10673 unconditionally return 0, even for foo(NULL, 0): 10674 10675 void bar(char *a, char *b); 10676 10677 int foo(char *a, size_t n) 10678 { 10679 bar(a, a + n); 10680 return a == NULL; 10681 } 10682 10683 In contrast to C, C++ explicitly allows null pointer + 0. So if 10684 the above is compiled as C++ then there is no undefined behavior 10685 in the foo(NULL, 0) call. 10686 10687 To me it seems that changing the C standard would be the sane 10688 thing to do (just add one sentence) as it would ensure that a huge 10689 amount of old code won't break in the future. Based on web searches 10690 it seems that a large number of codebases (where null pointer + 0 10691 occurs) are being fixed instead to be future-proof in case compilers 10692 will some day optimize based on it (like making the above foo(NULL, 0) 10693 return 0) which in the worst case will cause security bugs. 10694 10695 Some projects don't plan to change it. For example, gnulib and thus 10696 many GNU tools currently require that null pointer + 0 is defined: 10697 10698 https://lists.gnu.org/archive/html/bug-gnulib/2021-11/msg00000.html 10699 10700 https://www.gnu.org/software/gnulib/manual/html_node/Other-portability-assumptions.html 10701 10702 In XZ Utils null pointer + 0 issue should be fixed after this 10703 commit. This adds a few if-statements and thus branches to avoid 10704 null pointer + 0. These check for size > 0 instead of ptr != NULL 10705 because this way bugs where size > 0 && ptr == NULL will likely 10706 get caught quickly. None of them are in hot spots so it shouldn't 10707 matter for performance. 10708 10709 A little less readable version would be replacing 10710 10711 ptr + offset 10712 10713 with 10714 10715 offset != 0 ? ptr + offset : ptr 10716 10717 or creating a macro for it: 10718 10719 #define my_ptr_add(ptr, offset) \ 10720 ((offset) != 0 ? ((ptr) + (offset)) : (ptr)) 10721 10722 Checking for offset != 0 instead of ptr != NULL allows GCC >= 8.1, 10723 Clang >= 7, and Clang-based ICX to optimize it to the very same code 10724 as ptr + offset. That is, it won't create a branch. So for hot code 10725 this could be a good solution to avoid null pointer + 0. Unfortunately 10726 other compilers like ICC 2021 or MSVC 19.33 (VS2022) will create a 10727 branch from my_ptr_add(). 10728 10729 Thanks to Marcin Kowalczyk for reporting the problem: 10730 https://github.com/tukaani-project/xz/issues/36 10731 10732 src/liblzma/common/block_decoder.c | 5 ++++- 10733 src/liblzma/common/block_encoder.c | 7 +++++-- 10734 src/liblzma/common/common.c | 20 ++++++++++++++------ 10735 src/liblzma/common/index_decoder.c | 13 ++++++++++--- 10736 src/liblzma/common/index_encoder.c | 11 +++++++++-- 10737 src/liblzma/common/index_hash.c | 13 ++++++++++--- 10738 src/liblzma/common/lzip_decoder.c | 6 +++++- 10739 src/liblzma/delta/delta_decoder.c | 7 ++++++- 10740 src/liblzma/delta/delta_encoder.c | 12 ++++++++++-- 10741 src/liblzma/simple/simple_coder.c | 6 ++++-- 10742 10 files changed, 77 insertions(+), 23 deletions(-) 10743 10744commit fa9065fac54194fe0407fc7f0cc9633fdce13c21 10745Author: Jia Tan <jiat0218@gmail.com> 10746Date: 2023-02-07 00:00:44 +0800 10747 10748 liblzma: Adjust container.h for consistency with filter.h. 10749 10750 src/liblzma/api/lzma/container.h | 20 +++++++++----------- 10751 1 file changed, 9 insertions(+), 11 deletions(-) 10752 10753commit 00a721b63d82dfb658dca8d8cb599d8a245c663f 10754Author: Jia Tan <jiat0218@gmail.com> 10755Date: 2023-02-07 00:00:09 +0800 10756 10757 liblzma: Fix small typos and reword a few things in filter.h. 10758 10759 src/liblzma/api/lzma/container.h | 13 ++++++------- 10760 1 file changed, 6 insertions(+), 7 deletions(-) 10761 10762commit 5b1c171d4ffe89ef18fa31509bb0185d6fd11d39 10763Author: Jia Tan <jiat0218@gmail.com> 10764Date: 2023-02-06 23:42:08 +0800 10765 10766 liblzma: Convert list of flags in lzma_mt to bulleted list. 10767 10768 src/liblzma/api/lzma/container.h | 9 ++++++--- 10769 1 file changed, 6 insertions(+), 3 deletions(-) 10770 10771commit dbd47622eb99fefb3538a22baec3def002aa56f5 10772Author: Jia Tan <jiat0218@gmail.com> 10773Date: 2023-01-26 23:17:41 +0800 10774 10775 liblzma: Fix typo in documentation in container.h 10776 10777 lzma_microlzma_decoder -> lzma_microlzma_encoder 10778 10779 src/liblzma/api/lzma/container.h | 2 +- 10780 1 file changed, 1 insertion(+), 1 deletion(-) 10781 10782commit 14cd30806d69e55906073745bcce3ee50e0ec942 10783Author: Jia Tan <jiat0218@gmail.com> 10784Date: 2023-01-26 23:16:34 +0800 10785 10786 liblzma: Improve documentation for container.h 10787 10788 Standardizing each function to always specify parameters and return 10789 values. Also moved the parameters and return values to the end of each 10790 function description. 10791 10792 src/liblzma/api/lzma/container.h | 146 +++++++++++++++++++++++++-------------- 10793 1 file changed, 93 insertions(+), 53 deletions(-) 10794 10795commit c9c8bfae3502842dcead85eeb2b951b437c2cd88 10796Author: Jia Tan <jiat0218@gmail.com> 10797Date: 2023-02-22 20:59:41 +0800 10798 10799 CMake: Add LZIP decoder test to list of tests. 10800 10801 CMakeLists.txt | 1 + 10802 1 file changed, 1 insertion(+) 10803 10804commit b9f171dd00a3cc32b6d41ea8e082cf545640ec2a 10805Author: Lasse Collin <lasse.collin@tukaani.org> 10806Date: 2023-02-17 20:56:49 +0200 10807 10808 Update THANKS. 10809 10810 THANKS | 1 + 10811 1 file changed, 1 insertion(+) 10812 10813commit 2ee86d20e49985b903b78ebcfa3fa672e73e93aa 10814Author: Lasse Collin <lasse.collin@tukaani.org> 10815Date: 2023-02-17 20:48:28 +0200 10816 10817 Build: Use only the generic symbol versioning on MicroBlaze. 10818 10819 On MicroBlaze, GCC 12 is broken in sense that 10820 __has_attribute(__symver__) returns true but it still doesn't 10821 support the __symver__ attribute even though the platform is ELF 10822 and symbol versioning is supported if using the traditional 10823 __asm__(".symver ...") method. Avoiding the traditional method is 10824 good because it breaks LTO (-flto) builds with GCC. 10825 10826 See also: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 10827 10828 For now the only extra symbols in liblzma_linux.map are the 10829 compatibility symbols with the patch that spread from RHEL/CentOS 7. 10830 These require the use of __symver__ attribute or __asm__(".symver ...") 10831 in the C code. Compatibility with the patch from CentOS 7 doesn't 10832 seem valuable on MicroBlaze so use liblzma_generic.map on MicroBlaze 10833 instead. It doesn't require anything special in the C code and thus 10834 no LTO issues either. 10835 10836 An alternative would be to detect support for __symver__ 10837 attribute in configure.ac and CMakeLists.txt and fall back 10838 to __asm__(".symver ...") but then LTO would be silently broken 10839 on MicroBlaze. It sounds likely that MicroBlaze is a special 10840 case so let's treat it as a such because that is simpler. If 10841 a similar issue exists on some other platform too then hopefully 10842 someone will report it and this can be reconsidered. 10843 10844 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should 10845 but perhaps CMake build of liblzma doesn't matter much on MicroBlaze. 10846 The problem breaks the build so it's easy to notice and can be fixed 10847 later.) 10848 10849 Thanks to Vincent Fazio for reporting the problem and proposing 10850 a patch (in the end that solution wasn't used): 10851 https://github.com/tukaani-project/xz/pull/32 10852 10853 configure.ac | 12 ++++++++++-- 10854 1 file changed, 10 insertions(+), 2 deletions(-) 10855 10856commit d831072cceca458d94d2d5da201862f6d43a417b 10857Author: Lasse Collin <lasse.collin@tukaani.org> 10858Date: 2023-02-16 21:09:00 +0200 10859 10860 liblzma: Very minor API doc tweaks. 10861 10862 Use "member" to refer to struct members as that's the term used 10863 by the C standard. 10864 10865 Use lzma_options_delta.dist and such in docs so that in Doxygen's 10866 HTML output they will link to the doc of the struct member. 10867 10868 Clean up a few trailing white spaces too. 10869 10870 src/liblzma/api/lzma/block.h | 6 +++--- 10871 src/liblzma/api/lzma/delta.h | 6 +++--- 10872 src/liblzma/api/lzma/index.h | 10 +++++----- 10873 src/liblzma/api/lzma/stream_flags.h | 6 +++--- 10874 4 files changed, 14 insertions(+), 14 deletions(-) 10875 10876commit f029daea39c215fd7d5cb6b6798818b055cf5b22 10877Author: Jia Tan <jiat0218@gmail.com> 10878Date: 2023-02-17 00:54:33 +0800 10879 10880 liblzma: Adjust spacing in doc headers in bcj.h. 10881 10882 src/liblzma/api/lzma/bcj.h | 14 +++++++------- 10883 1 file changed, 7 insertions(+), 7 deletions(-) 10884 10885commit a5de68bac2bb7e1b9119e6cea7d761a22ea73e9c 10886Author: Jia Tan <jiat0218@gmail.com> 10887Date: 2023-02-17 00:44:44 +0800 10888 10889 liblzma: Adjust documentation in bcj.h for consistent style. 10890 10891 src/liblzma/api/lzma/bcj.h | 43 ++++++++++++++++++++++--------------------- 10892 1 file changed, 22 insertions(+), 21 deletions(-) 10893 10894commit efa498c13b883810497e0ea8a169efd6f48f5026 10895Author: Jia Tan <jiat0218@gmail.com> 10896Date: 2023-02-17 00:36:05 +0800 10897 10898 liblzma: Rename field => member in documentation. 10899 10900 Also adjusted preset value => preset level. 10901 10902 src/liblzma/api/lzma/base.h | 18 +++++++-------- 10903 src/liblzma/api/lzma/block.h | 44 ++++++++++++++++++------------------- 10904 src/liblzma/api/lzma/container.h | 26 +++++++++++----------- 10905 src/liblzma/api/lzma/delta.h | 12 +++++----- 10906 src/liblzma/api/lzma/index.h | 30 ++++++++++++------------- 10907 src/liblzma/api/lzma/lzma12.h | 28 +++++++++++------------ 10908 src/liblzma/api/lzma/stream_flags.h | 32 +++++++++++++-------------- 10909 7 files changed, 95 insertions(+), 95 deletions(-) 10910 10911commit 718b22a6c5e3ee5de123323ea798872381f9320e 10912Author: Lasse Collin <lasse.collin@tukaani.org> 10913Date: 2023-02-16 17:59:50 +0200 10914 10915 liblzma: Silence a warning from MSVC. 10916 10917 It gives C4146 here since unary minus with unsigned integer 10918 is still unsigned (which is the intention here). Doing it 10919 with substraction makes it clearer and avoids the warning. 10920 10921 Thanks to Nathan Moinvaziri for reporting this. 10922 10923 src/liblzma/check/crc64_fast.c | 2 +- 10924 1 file changed, 1 insertion(+), 1 deletion(-) 10925 10926commit 87c53553fa7d50f777b4edfa99f2083628f590fe 10927Author: Jia Tan <jiat0218@gmail.com> 10928Date: 2023-02-16 21:04:54 +0800 10929 10930 liblzma: Improve documentation for stream_flags.h 10931 10932 Standardizing each function to always specify parameters and return 10933 values. Also moved the parameters and return values to the end of each 10934 function description. 10935 10936 A few small things were reworded and long sentences broken up. 10937 10938 src/liblzma/api/lzma/stream_flags.h | 76 ++++++++++++++++++++++--------------- 10939 1 file changed, 46 insertions(+), 30 deletions(-) 10940 10941commit 13d99e75a543e9e5f8633cc241eae55b91a3b242 10942Author: Jia Tan <jiat0218@gmail.com> 10943Date: 2023-02-14 21:50:16 +0800 10944 10945 liblzma: Improve documentation in lzma12.h. 10946 10947 All functions now explicitly specify parameter and return values. 10948 10949 src/liblzma/api/lzma/lzma12.h | 32 +++++++++++++++++++++++--------- 10950 1 file changed, 23 insertions(+), 9 deletions(-) 10951 10952commit 43ec344c868f930e96879eb9e49212cce92a9884 10953Author: Jia Tan <jiat0218@gmail.com> 10954Date: 2023-01-27 22:44:06 +0800 10955 10956 liblzma: Improve documentation in check.h. 10957 10958 All functions now explicitly specify parameter and return values. 10959 Also moved the note about SHA-256 functions not being exported to the 10960 top of the file. 10961 10962 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++------------- 10963 1 file changed, 28 insertions(+), 13 deletions(-) 10964 10965commit 9c71db4e884fd49aea3d1e711036bff45ca66487 10966Author: Jia Tan <jiat0218@gmail.com> 10967Date: 2023-02-08 21:33:52 +0800 10968 10969 liblzma: Improve documentation in index.h 10970 10971 All functions now explicitly specify parameter and return values. 10972 10973 src/liblzma/api/lzma/index.h | 177 ++++++++++++++++++++++++++++++------------- 10974 1 file changed, 126 insertions(+), 51 deletions(-) 10975 10976commit 421f2f2e160720f6009e3b6a125cafe2feaa9419 10977Author: Jia Tan <jiat0218@gmail.com> 10978Date: 2023-02-08 20:35:32 +0800 10979 10980 liblzma: Reword a comment in index.h. 10981 10982 src/liblzma/api/lzma/index.h | 4 ++-- 10983 1 file changed, 2 insertions(+), 2 deletions(-) 10984 10985commit b67539484981351d501b68de5e925425e50c59b1 10986Author: Jia Tan <jiat0218@gmail.com> 10987Date: 2023-02-08 20:30:23 +0800 10988 10989 liblzma: Omit lzma_index_iter's internal field from Doxygen docs. 10990 10991 Add \private above this field and its sub-fields since it is not meant 10992 to be modified by users. 10993 10994 src/liblzma/api/lzma/index.h | 9 ++++++++- 10995 1 file changed, 8 insertions(+), 1 deletion(-) 10996 10997commit 0c9e4fc2ad6d88d54f299240fcc5a2ce7d695d96 10998Author: Jia Tan <jiat0218@gmail.com> 10999Date: 2023-01-21 21:32:03 +0800 11000 11001 liblzma: Fix documentation for LZMA_MEMLIMIT_ERROR. 11002 11003 LZMA_MEMLIMIT_ERROR was missing the "<" character needed to put 11004 documentation after a member. 11005 11006 src/liblzma/api/lzma/base.h | 2 +- 11007 1 file changed, 1 insertion(+), 1 deletion(-) 11008 11009commit 816fec125aa74bcef46512c73acc6d9e5a700d15 11010Author: Jia Tan <jiat0218@gmail.com> 11011Date: 2023-01-21 00:29:38 +0800 11012 11013 liblzma: Improve documentation for base.h. 11014 11015 Standardizing each function to always specify params and return values. 11016 Also fixed a small grammar mistake. 11017 11018 src/liblzma/api/lzma/base.h | 30 +++++++++++++++++++++++++----- 11019 1 file changed, 25 insertions(+), 5 deletions(-) 11020 11021commit 862dacef1a4e7e1b28d465956fa4244ed01df154 11022Author: Jia Tan <jiat0218@gmail.com> 11023Date: 2023-02-14 00:12:34 +0800 11024 11025 liblzma: Add one more missing [out] annotation in vli.h 11026 11027 src/liblzma/api/lzma/vli.h | 2 +- 11028 1 file changed, 1 insertion(+), 1 deletion(-) 11029 11030commit 867b08ae4254bf55dd1f7fd502cc618231b92f75 11031Author: Jia Tan <jiat0218@gmail.com> 11032Date: 2023-02-14 00:08:33 +0800 11033 11034 liblzma: Minor improvements to vli.h. 11035 11036 Added [out] annotations to parameters that are pointers and can have 11037 their value changed. Also added a clarification to lzma_vli_is_valid. 11038 11039 src/liblzma/api/lzma/vli.h | 13 +++++++------ 11040 1 file changed, 7 insertions(+), 6 deletions(-) 11041 11042commit 90d0e628ff11e5030bcc4fc000bca056adda6603 11043Author: Jia Tan <jiat0218@gmail.com> 11044Date: 2023-02-10 21:38:02 +0800 11045 11046 liblzma: Add comments for macros in delta.h. 11047 11048 Document LZMA_DELTA_DIST_MIN and LZMA_DELTA_DIST_MAX for completeness 11049 and to avoid Doxygen warnings. 11050 11051 src/liblzma/api/lzma/delta.h | 8 ++++++++ 11052 1 file changed, 8 insertions(+) 11053 11054commit 9255fffdb13e59874bf7f95c370c410ad3a7e114 11055Author: Jia Tan <jiat0218@gmail.com> 11056Date: 2023-02-10 21:35:23 +0800 11057 11058 liblzma: Improve documentation in index_hash.h. 11059 11060 All functions now explicitly specify parameter and return values. 11061 Also reworded the description of lzma_index_hash_init() for readability. 11062 11063 src/liblzma/api/lzma/index_hash.h | 36 +++++++++++++++++++++++++++--------- 11064 1 file changed, 27 insertions(+), 9 deletions(-) 11065 11066commit 1dbe12b90cff79bb51923733ac0840747b4b4131 11067Author: Lasse Collin <lasse.collin@tukaani.org> 11068Date: 2023-02-07 19:07:45 +0200 11069 11070 xz: Improve the comment about start_time in mytime.c. 11071 11072 start_time is relative to an arbitary point in time, it's not 11073 time of day, so using it for anything else than time differences 11074 wouldn't make sense. 11075 11076 src/xz/mytime.c | 15 ++++++++++----- 11077 1 file changed, 10 insertions(+), 5 deletions(-) 11078 11079commit 7673ef5aa80c1af7fb693360dd82f527b46c2c56 11080Author: Jia Tan <jiat0218@gmail.com> 11081Date: 2023-02-04 21:06:35 +0800 11082 11083 Build: Adjust CMake version search regex. 11084 11085 Now, the LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, and LZMA_VERSION_PATCH 11086 macros do not need to be on consecutive lines in version.h. They can be 11087 separated by more whitespace, comments, or even other content, as long 11088 as they appear in the proper order (major, minor, patch). 11089 11090 CMakeLists.txt | 2 ++ 11091 1 file changed, 2 insertions(+) 11092 11093commit b8bce89be7fb5bffe5fef4a2782ca9b2b107eaac 11094Author: Jia Tan <jiat0218@gmail.com> 11095Date: 2023-02-04 12:01:23 +0800 11096 11097 xz: Add a comment clarifying the use of start_time in mytime.c. 11098 11099 src/xz/mytime.c | 5 +++++ 11100 1 file changed, 5 insertions(+) 11101 11102commit 912af91b10a18fb9bb3167247ecaaefca8248ee9 11103Author: Jia Tan <jiat0218@gmail.com> 11104Date: 2023-01-26 09:50:21 +0800 11105 11106 liblzma: Improve documentation for version.h. 11107 11108 Specified parameter and return values for API functions and documented 11109 a few more of the macros. 11110 11111 src/liblzma/api/lzma/version.h | 29 ++++++++++++++++++++++------- 11112 1 file changed, 22 insertions(+), 7 deletions(-) 11113 11114commit 850adec171203cd22b57d016084d713f72ae5307 11115Author: Jia Tan <jiat0218@gmail.com> 11116Date: 2023-02-03 22:52:55 +0800 11117 11118 Docs: Omit SIGTSTP not handled from TODO. 11119 11120 TODO | 4 ---- 11121 1 file changed, 4 deletions(-) 11122 11123commit 2c78a83c6faec70154d9eb78022a618ed62cdcb3 11124Author: Jia Tan <jiat0218@gmail.com> 11125Date: 2023-02-03 00:33:32 +0800 11126 11127 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length. 11128 11129 The bug is only a problem in applications that do not properly terminate 11130 the filters[] array with LZMA_VLI_UNKNOWN or have more than 11131 LZMA_FILTERS_MAX filters. This bug does not affect xz. 11132 11133 src/liblzma/common/string_conversion.c | 7 +++++++ 11134 1 file changed, 7 insertions(+) 11135 11136commit e01f01b9af1c074463b92694a16ecc16a31907c0 11137Author: Jia Tan <jiat0218@gmail.com> 11138Date: 2023-02-03 00:32:47 +0800 11139 11140 Tests: Create test_filter_str.c. 11141 11142 Tests lzma_str_to_filters(), lzma_str_from_filters(), and 11143 lzma_str_list_filters() API functions. 11144 11145 CMakeLists.txt | 1 + 11146 tests/Makefile.am | 2 + 11147 tests/test_filter_str.c | 593 ++++++++++++++++++++++++++++++++++++++++++++++++ 11148 3 files changed, 596 insertions(+) 11149 11150commit 8dfc029e7a4ce45809c30313dc0e502f0d22be26 11151Author: Jia Tan <jiat0218@gmail.com> 11152Date: 2023-01-22 08:49:00 +0800 11153 11154 liblzma: Fix typos in comments in string_conversion.c. 11155 11156 src/liblzma/common/string_conversion.c | 4 ++-- 11157 1 file changed, 2 insertions(+), 2 deletions(-) 11158 11159commit 54ad83c1ae2180dcc0cb2445b181dc1e9732a5d6 11160Author: Jia Tan <jiat0218@gmail.com> 11161Date: 2023-02-03 00:20:20 +0800 11162 11163 liblzma: Clarify block encoder and decoder documentation. 11164 11165 Added a few sentences to the description for lzma_block_encoder() and 11166 lzma_block_decoder() to highlight that the Block Header must be coded 11167 before calling these functions. 11168 11169 src/liblzma/api/lzma/block.h | 15 +++++++++++---- 11170 1 file changed, 11 insertions(+), 4 deletions(-) 11171 11172commit f680e771b3eb2a46310fe85b3e000ac3a1a0640f 11173Author: Jia Tan <jiat0218@gmail.com> 11174Date: 2023-02-03 00:12:24 +0800 11175 11176 Update lzma_block documentation for lzma_block_uncomp_encode(). 11177 11178 src/liblzma/api/lzma/block.h | 3 +++ 11179 1 file changed, 3 insertions(+) 11180 11181commit 504cf4af895fd45aad0c56eb3b49d90acd54465b 11182Author: Jia Tan <jiat0218@gmail.com> 11183Date: 2023-02-03 00:11:37 +0800 11184 11185 liblzma: Minor edits to lzma_block header_size documentation. 11186 11187 src/liblzma/api/lzma/block.h | 3 ++- 11188 1 file changed, 2 insertions(+), 1 deletion(-) 11189 11190commit 115b720fb521f99aa832d06b2c12b7f8c6c50680 11191Author: Jia Tan <jiat0218@gmail.com> 11192Date: 2023-02-03 00:11:07 +0800 11193 11194 liblzma: Enumerate functions that read version in lzma_block. 11195 11196 src/liblzma/api/lzma/block.h | 13 +++++++++++-- 11197 1 file changed, 11 insertions(+), 2 deletions(-) 11198 11199commit 85ea0979adcf808a3830aefbe7a4ec884e542ea1 11200Author: Jia Tan <jiat0218@gmail.com> 11201Date: 2023-02-03 00:10:34 +0800 11202 11203 liblzma: Clarify comment in block.h. 11204 11205 src/liblzma/api/lzma/block.h | 3 ++- 11206 1 file changed, 2 insertions(+), 1 deletion(-) 11207 11208commit 1f7ab90d9ce224230a04de6b921ad6e2029023a8 11209Author: Jia Tan <jiat0218@gmail.com> 11210Date: 2023-02-03 00:07:23 +0800 11211 11212 liblzma: Improve documentation for block.h. 11213 11214 Standardizing each function to always specify params and return values. 11215 Output pointer parameters are also marked with doxygen style [out] to 11216 make it clear. Any note sections were also moved above the parameter and 11217 return sections for consistency. 11218 11219 src/liblzma/api/lzma/block.h | 96 ++++++++++++++++++++++++++++++++++---------- 11220 1 file changed, 75 insertions(+), 21 deletions(-) 11221 11222commit c563a4bc554a96bd0b6aab3c139715b7ec8f6ca3 11223Author: Jia Tan <jiat0218@gmail.com> 11224Date: 2023-02-01 23:38:30 +0800 11225 11226 liblzma: Clarify a comment about LZMA_STR_NO_VALIDATION. 11227 11228 The flag description for LZMA_STR_NO_VALIDATION was previously confusing 11229 about the treatment for filters than cannot be used with .xz format 11230 (lzma1) without using LZMA_STR_ALL_FILTERS. Now, it is clear that 11231 LZMA_STR_NO_VALIDATION is not a super set of LZMA_STR_ALL_FILTERS. 11232 11233 src/liblzma/api/lzma/filter.h | 5 +++-- 11234 1 file changed, 3 insertions(+), 2 deletions(-) 11235 11236commit 315c64c7e18acc59a745b68148188a73e998252b 11237Author: Jia Tan <jiat0218@gmail.com> 11238Date: 2023-02-01 21:43:33 +0800 11239 11240 CI: Update .gitignore for artifacts directory in build-aux. 11241 11242 The workflow action for our CI pipeline can only reference artifacts in 11243 the source directory, so we should ignore these files if the ci_build.sh 11244 is run locally. 11245 11246 .gitignore | 1 + 11247 1 file changed, 1 insertion(+) 11248 11249commit 2c1341f4fa06e7f487d61142aa354c433e17ec7f 11250Author: Jia Tan <jiat0218@gmail.com> 11251Date: 2023-02-01 21:36:46 +0800 11252 11253 CI: Add quotes around variables in a few places. 11254 11255 build-aux/ci_build.sh | 6 +++--- 11256 1 file changed, 3 insertions(+), 3 deletions(-) 11257 11258commit 3a401b0e0c7a2658af7801dd0690256ef24149e0 11259Author: Jia Tan <jiat0218@gmail.com> 11260Date: 2023-02-01 21:36:22 +0800 11261 11262 CI: Upload test logs as artifacts if a test fails. 11263 11264 .github/workflows/ci.yml | 60 ++++++++++++++++++++++++++++++++++-------------- 11265 build-aux/ci_build.sh | 31 ++++++++++++++++++++----- 11266 2 files changed, 68 insertions(+), 23 deletions(-) 11267 11268commit 610dde15a88f12cc540424eb3eb3ed61f3876f74 11269Author: Lasse Collin <lasse.collin@tukaani.org> 11270Date: 2023-01-27 20:02:49 +0200 11271 11272 xz: Use clock_gettime() even if CLOCK_MONOTONIC isn't available. 11273 11274 mythread.h and thus liblzma already does it. 11275 11276 src/xz/mytime.c | 11 ++++++++--- 11277 src/xz/private.h | 3 +-- 11278 2 files changed, 9 insertions(+), 5 deletions(-) 11279 11280commit 2e02877288f6576cd4595e9ac7684f867cd47d68 11281Author: Lasse Collin <lasse.collin@tukaani.org> 11282Date: 2023-01-27 19:41:19 +0200 11283 11284 po4a/po4a.conf: Sort the language identifiers in alphabetical order. 11285 11286 po4a/po4a.conf | 2 +- 11287 1 file changed, 1 insertion(+), 1 deletion(-) 11288 11289commit ff592c616eda274215b485cf1b8d34f060c9f3be 11290Author: Lasse Collin <lasse.collin@tukaani.org> 11291Date: 2023-01-26 18:29:17 +0200 11292 11293 xz: Add SIGTSTP handler for progress indicator time keeping. 11294 11295 This way, if xz is stopped the elapsed time and estimated time 11296 remaining won't get confused by the amount of time spent in 11297 the stopped state. 11298 11299 This raises SIGSTOP. It's not clear to me if this is the correct way. 11300 POSIX and glibc docs say that SIGTSTP shouldn't stop the process if 11301 it is orphaned but this commit doesn't attempt to handle that. 11302 11303 Search for SIGTSTP in section 2.4.3: 11304 11305 https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html 11306 11307 src/xz/mytime.c | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 11308 src/xz/mytime.h | 6 ++++++ 11309 src/xz/private.h | 12 ++++++++++++ 11310 src/xz/signals.c | 17 ++++++++++++++++- 11311 4 files changed, 89 insertions(+), 2 deletions(-) 11312 11313commit 3b1c8ac8d1d553cbb1fb22b545d2b1424c752b76 11314Author: Jia Tan <jiat0218@gmail.com> 11315Date: 2023-01-27 20:14:51 +0800 11316 11317 Translations: Add Brazilian Portuguese translation of man pages. 11318 11319 Thanks to Rafael Fontenelle. 11320 11321 po4a/po4a.conf | 2 +- 11322 po4a/pt_BR.po | 3677 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11323 2 files changed, 3678 insertions(+), 1 deletion(-) 11324 11325commit a15a7552f9f67c4e402f5d2967324e0ccfd6fccc 11326Author: Lasse Collin <lasse.collin@tukaani.org> 11327Date: 2023-01-26 17:51:06 +0200 11328 11329 Build: Avoid different quoting style in --enable-doxygen doc. 11330 11331 configure.ac | 10 +++++----- 11332 1 file changed, 5 insertions(+), 5 deletions(-) 11333 11334commit af5a4bd5afc089d9697756dded38feafaa987ae4 11335Author: Lasse Collin <lasse.collin@tukaani.org> 11336Date: 2023-01-26 17:39:46 +0200 11337 11338 tuklib_physmem: Check for __has_warning before GCC version. 11339 11340 Clang can be configured to fake a too high GCC version so 11341 this way it's more robust. 11342 11343 src/common/tuklib_physmem.c | 6 +++--- 11344 1 file changed, 3 insertions(+), 3 deletions(-) 11345 11346commit f35d98e20609e0be6a04ae2604bfb7cb9d5bd5e4 11347Author: Jia Tan <jiat0218@gmail.com> 11348Date: 2023-01-24 20:48:50 +0800 11349 11350 liblzma: Fix documentation in filter.h for lzma_str_to_filters() 11351 11352 The previous documentation for lzma_str_to_filters() was technically 11353 correct, but misleading. lzma_str_to_filters() returns NULL on success, 11354 which is in practice always defined to 0. This is the same value as 11355 LZMA_OK, but lzma_str_to_filters() does not return lzma_ret so we should 11356 be more clear. 11357 11358 src/liblzma/api/lzma/filter.h | 2 +- 11359 1 file changed, 1 insertion(+), 1 deletion(-) 11360 11361commit 2f78ecc5939b3d97ddfc2a6bd31b50108a28d0a2 11362Author: Lasse Collin <lasse.collin@tukaani.org> 11363Date: 2023-01-23 23:44:58 +0200 11364 11365 Revert "tuklib_common: Define __has_warning if it is not defined." 11366 11367 This reverts commit 82e3c968bfa10e3ff13333bd9cbbadb5988d6766. 11368 11369 Macros in the reserved namespace (_foo or __foo) shouldn't be #defined 11370 without a very good reason. Here the alternative would have been 11371 to #define tuklib_has_warning(str) to an approriate value. 11372 11373 Also the tuklib_* files should stay namespace clean if possible. 11374 11375 src/common/tuklib_common.h | 7 ------- 11376 1 file changed, 7 deletions(-) 11377 11378commit 8366cf8738e8b7bb74c967d07bf0fd2a1878e575 11379Author: Lasse Collin <lasse.collin@tukaani.org> 11380Date: 2023-01-23 23:38:34 +0200 11381 11382 tuklib_physmem: Clean up the way -Wcast-function-type is silenced on Windows. 11383 11384 __has_warning and other __has_foo macros are meant to become 11385 compiler-agnostic so it's not good to check for __clang__ with it. 11386 11387 This also relied on tuklib_common.h for #defining __has_warning 11388 which was confusing as #defining reserved macros is generally 11389 not a good idea. 11390 11391 src/common/tuklib_physmem.c | 17 +++++++++++++---- 11392 1 file changed, 13 insertions(+), 4 deletions(-) 11393 11394commit 683a3c7e2fcd922200c31078e5c9dd1348e90941 11395Author: Lasse Collin <lasse.collin@tukaani.org> 11396Date: 2023-01-24 00:05:38 +0200 11397 11398 xz: Flip the return value of suffix_is_set to match the documentation. 11399 11400 Also edit style to match the existing coding style in the project. 11401 11402 src/xz/args.c | 6 +++--- 11403 src/xz/suffix.c | 2 +- 11404 src/xz/suffix.h | 1 + 11405 3 files changed, 5 insertions(+), 4 deletions(-) 11406 11407commit cc5aa9ab138beeecaee5a1e81197591893ee9ca0 11408Author: Jia Tan <jiat0218@gmail.com> 11409Date: 2023-01-07 21:55:06 +0800 11410 11411 xz: Refactor duplicated check for custom suffix when using --format=raw 11412 11413 src/xz/args.c | 8 ++++++++ 11414 src/xz/suffix.c | 26 ++++++++------------------ 11415 src/xz/suffix.h | 7 +++++++ 11416 3 files changed, 23 insertions(+), 18 deletions(-) 11417 11418commit 9663141274e01592a281a7f2df5d7a31a1dac8bf 11419Author: Jia Tan <jiat0218@gmail.com> 11420Date: 2023-01-20 21:53:14 +0800 11421 11422 liblzma: Set documentation on all reserved fields to private. 11423 11424 This prevents the reserved fields from being part of the generated 11425 Doxygen documentation. 11426 11427 src/liblzma/api/lzma/base.h | 17 +++++++++++++++ 11428 src/liblzma/api/lzma/block.h | 43 +++++++++++++++++++++++++++++++++++++ 11429 src/liblzma/api/lzma/container.h | 24 +++++++++++++++++++++ 11430 src/liblzma/api/lzma/delta.h | 12 +++++++++++ 11431 src/liblzma/api/lzma/index.h | 27 +++++++++++++++++++++++ 11432 src/liblzma/api/lzma/lzma12.h | 22 +++++++++++++++++++ 11433 src/liblzma/api/lzma/stream_flags.h | 28 ++++++++++++++++++++++++ 11434 7 files changed, 173 insertions(+) 11435 11436commit 6327a045f34d48fc5afc58ba0d32a82c94403049 11437Author: Jia Tan <jiat0218@gmail.com> 11438Date: 2022-12-20 21:39:59 +0800 11439 11440 Doxygen: Update Doxyfile.in from 1.4.7 to 1.8.17. 11441 11442 A few Doxygen tags were obsolete from 1.4.7. Version 1.8.17 released 11443 in 2019, so this should be compatible with resonable modern distros. 11444 The purpose of Doxygen these days is for docs on the website, so it 11445 doesn't necessarily have to work for everyone. Just when the maintainers 11446 want to update the docs. 11447 11448 Doxyfile.in | 2523 ++++++++++++++++++++++++++++++++++++++++++++--------------- 11449 1 file changed, 1893 insertions(+), 630 deletions(-) 11450 11451commit bbf71b69ebf9d0d62a0af150a5c37d193b8159ad 11452Author: Jia Tan <jiat0218@gmail.com> 11453Date: 2023-01-03 20:37:30 +0800 11454 11455 Doxygen: Make Doxygen only produce liblzma API documentation by default. 11456 11457 Doxygen is now configurable in autotools only with 11458 --enable-doxygen=[api|all]. The default is "api", which will only 11459 generate HTML output for liblzma API functions. The LaTex documentation 11460 output was also disabled. 11461 11462 Doxyfile.in | 18 +++++++++--------- 11463 configure.ac | 39 +++++++++++++++++++++++++++++++++++++++ 11464 2 files changed, 48 insertions(+), 9 deletions(-) 11465 11466commit 6fcf4671b6047113c583a0919fc850987a4ec5f4 11467Author: Jia Tan <jiat0218@gmail.com> 11468Date: 2022-12-21 23:59:43 +0800 11469 11470 liblzma: Highlight liblzma API headers should not be included directly. 11471 11472 This improves the generated Doxygen HTML files to better highlight 11473 how to properly use the liblzma API header files. 11474 11475 src/liblzma/api/lzma/base.h | 5 +++-- 11476 src/liblzma/api/lzma/bcj.h | 5 +++-- 11477 src/liblzma/api/lzma/block.h | 5 +++-- 11478 src/liblzma/api/lzma/check.h | 5 +++-- 11479 src/liblzma/api/lzma/container.h | 5 +++-- 11480 src/liblzma/api/lzma/delta.h | 5 +++-- 11481 src/liblzma/api/lzma/filter.h | 5 +++-- 11482 src/liblzma/api/lzma/hardware.h | 5 +++-- 11483 src/liblzma/api/lzma/index.h | 5 +++-- 11484 src/liblzma/api/lzma/index_hash.h | 5 +++-- 11485 src/liblzma/api/lzma/lzma12.h | 5 +++-- 11486 src/liblzma/api/lzma/stream_flags.h | 5 +++-- 11487 src/liblzma/api/lzma/version.h | 5 +++-- 11488 src/liblzma/api/lzma/vli.h | 5 +++-- 11489 14 files changed, 42 insertions(+), 28 deletions(-) 11490 11491commit b43ff180fb2e372adce876bfa155fc9bcf0c3db4 11492Author: Jia Tan <jiat0218@gmail.com> 11493Date: 2023-01-19 20:35:09 +0800 11494 11495 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64. 11496 11497 tuklib_physmem depends on GetProcAddress() for both MSVC and MinGW-w64 11498 to retrieve a function address. The proper way to do this is to cast the 11499 return value to the type of function pointer retrieved. Unfortunately, 11500 this causes a cast-function-type warning, so the best solution is to 11501 simply ignore the warning. 11502 11503 src/common/tuklib_physmem.c | 9 +++++++++ 11504 1 file changed, 9 insertions(+) 11505 11506commit 82e3c968bfa10e3ff13333bd9cbbadb5988d6766 11507Author: Jia Tan <jiat0218@gmail.com> 11508Date: 2023-01-19 20:32:40 +0800 11509 11510 tuklib_common: Define __has_warning if it is not defined. 11511 11512 clang supports the __has_warning macro to determine if the version of 11513 clang compiling the code supports a given warning. If we do not define 11514 it for other compilers, it may cause a preprocessor error. 11515 11516 src/common/tuklib_common.h | 7 +++++++ 11517 1 file changed, 7 insertions(+) 11518 11519commit b2ba1a489df451cdcd93b2334e319dd06778de19 11520Author: Jia Tan <jiat0218@gmail.com> 11521Date: 2023-01-18 22:11:05 +0800 11522 11523 CI: Reorder 32-bit build first for Linux autotool builds. 11524 11525 The 32-bit build needs to be first so the configure cache only needs to 11526 be reset one time. The 32-bit build sets the CFLAGS env variable, so any 11527 build using that flag after will fail unless the cache is reset. 11528 11529 .github/workflows/ci.yml | 17 ++++++++++++----- 11530 1 file changed, 12 insertions(+), 5 deletions(-) 11531 11532commit dd1c1135741057c91e8d018be9ec4d43968b0e64 11533Author: Jia Tan <jiat0218@gmail.com> 11534Date: 2023-01-18 21:51:43 +0800 11535 11536 CI: Enable --config-cache in autotool builds. 11537 11538 If CFLAGS are set in a build, the cache must be cleared with 11539 "make distclean", or by deleting the cache file. 11540 11541 build-aux/ci_build.sh | 2 +- 11542 1 file changed, 1 insertion(+), 1 deletion(-) 11543 11544commit d3e11477053764c003eec2daa5198c747d70ff69 11545Author: Jia Tan <jiat0218@gmail.com> 11546Date: 2023-01-16 21:35:45 +0800 11547 11548 xz: Add missing comment for coder_set_compression_settings() 11549 11550 src/xz/coder.h | 3 ++- 11551 1 file changed, 2 insertions(+), 1 deletion(-) 11552 11553commit 123255b6ed15f4428b2aa92e4962015a5362f6bf 11554Author: Jia Tan <jiat0218@gmail.com> 11555Date: 2023-01-16 20:55:10 +0800 11556 11557 xz: Do not set compression settings with raw format in list mode. 11558 11559 Calling coder_set_compression_settings() in list mode with verbose mode 11560 on caused the filter chain and memory requirements to print. This was 11561 unnecessary since the command results in an error and not consistent 11562 with other formats like lzma and alone. 11563 11564 src/xz/args.c | 3 ++- 11565 1 file changed, 2 insertions(+), 1 deletion(-) 11566 11567commit 571919c47b9ff5171ede84378620ed0a9aeb98c0 11568Author: Jia Tan <jiat0218@gmail.com> 11569Date: 2023-01-13 20:37:06 +0800 11570 11571 Translations: Update the Brazilian Portuguese translation. 11572 11573 po/pt_BR.po | 603 ++++++++++++++++++++++++++++++++++-------------------------- 11574 1 file changed, 344 insertions(+), 259 deletions(-) 11575 11576commit 81cb02e2c22bbc036cdfaa2d2c4176f6bd60d3cf 11577Author: Jia Tan <jiat0218@gmail.com> 11578Date: 2023-01-12 23:43:06 +0800 11579 11580 CI: Disable shared and nls from various jobs in autotool runners. 11581 11582 Disabling shared library generation and linking should help speed up the 11583 runners. The shared library is still being tested in the 32 bit build 11584 and the full feature. 11585 11586 Disabling nls is to check for any unexpected warnings or errors. 11587 11588 .github/workflows/ci.yml | 56 ++++++++++++++++++++++++------------------------ 11589 1 file changed, 28 insertions(+), 28 deletions(-) 11590 11591commit 58a052198a7bcaf6e958f87fad72e69e19a2579b 11592Author: Jia Tan <jiat0218@gmail.com> 11593Date: 2023-01-12 23:39:19 +0800 11594 11595 CI: Reorder the 32-bit job in the Ubuntu runner. 11596 11597 Run the 32 bit job sooner since this is a more interesting test than 11598 some of the later jobs. 11599 11600 .github/workflows/ci.yml | 10 +++++----- 11601 1 file changed, 5 insertions(+), 5 deletions(-) 11602 11603commit 4110a998b83459fe2bc9bc1bec30ad68afa8f797 11604Author: Jia Tan <jiat0218@gmail.com> 11605Date: 2023-01-12 23:09:03 +0800 11606 11607 CI: Allow disabling Native Language Support. 11608 11609 build-aux/ci_build.sh | 9 ++++++++- 11610 1 file changed, 8 insertions(+), 1 deletion(-) 11611 11612commit 0dec634e705b5bf89a37c5d62d71e8511d480058 11613Author: Jia Tan <jiat0218@gmail.com> 11614Date: 2023-01-12 23:02:20 +0800 11615 11616 CI: Only run autogen.sh if it has not already run. 11617 11618 build-aux/ci_build.sh | 11 ++++++++--- 11619 1 file changed, 8 insertions(+), 3 deletions(-) 11620 11621commit 32287dc8def94df4546e903495d14c132bd54cc4 11622Author: Jia Tan <jiat0218@gmail.com> 11623Date: 2023-01-12 22:58:36 +0800 11624 11625 CI: Allow disabling shared library in autotools builds. 11626 11627 build-aux/ci_build.sh | 9 ++++++++- 11628 1 file changed, 8 insertions(+), 1 deletion(-) 11629 11630commit 77d1ebcc99ddd82a300d1838f608150221931dcd 11631Author: Jia Tan <jiat0218@gmail.com> 11632Date: 2023-01-12 22:44:18 +0800 11633 11634 CI: Improve Usage readability and add -h option. 11635 11636 build-aux/ci_build.sh | 15 +++++++++++++-- 11637 1 file changed, 13 insertions(+), 2 deletions(-) 11638 11639commit a8bb8358d10b059274f3cf993d9b8f490bafb268 11640Author: Lasse Collin <lasse.collin@tukaani.org> 11641Date: 2023-01-12 13:04:05 +0200 11642 11643 Build: Omit -Wmissing-noreturn from the default warnings. 11644 11645 It's not that important. It can be annoying in builds that 11646 disable many features since in those cases the tests programs 11647 will correctly trigger this warning with Clang. 11648 11649 configure.ac | 1 - 11650 1 file changed, 1 deletion(-) 11651 11652commit 52dc033d0bde0d19e3912303c6c74bae559d6498 11653Author: Lasse Collin <lasse.collin@tukaani.org> 11654Date: 2023-01-12 06:05:58 +0200 11655 11656 xz: Use ssize_t for the to-be-ignored return value from write(fd, ptr, 1). 11657 11658 It makes no difference here as the return value fits into an int 11659 too and it then gets ignored but this looks better. 11660 11661 src/xz/file_io.c | 2 +- 11662 1 file changed, 1 insertion(+), 1 deletion(-) 11663 11664commit b1a6d180a363d57b2b1c89526ff3f0782bf863d3 11665Author: Lasse Collin <lasse.collin@tukaani.org> 11666Date: 2023-01-12 06:01:12 +0200 11667 11668 xz: Silence warnings from -Wsign-conversion in a 32-bit build. 11669 11670 src/common/tuklib_mbstr_fw.c | 2 +- 11671 src/xz/list.c | 4 ++-- 11672 2 files changed, 3 insertions(+), 3 deletions(-) 11673 11674commit 31c21c734b7c7d7428a3da7402a2cb7bc2587339 11675Author: Lasse Collin <lasse.collin@tukaani.org> 11676Date: 2023-01-12 05:38:48 +0200 11677 11678 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build. 11679 11680 It doesn't warn on a 64-bit system because truncating 11681 a ptrdiff_t (signed long) to uint32_t is diagnosed under 11682 -Wconversion by GCC and -Wshorten-64-to-32 by Clang. 11683 11684 src/liblzma/lz/lz_encoder_mf.c | 7 ++++--- 11685 1 file changed, 4 insertions(+), 3 deletions(-) 11686 11687commit 37fbdfb7263522c11c7ad2685413d6295532581d 11688Author: Lasse Collin <lasse.collin@tukaani.org> 11689Date: 2023-01-12 04:46:45 +0200 11690 11691 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build. 11692 11693 src/common/mythread.h | 4 ++-- 11694 1 file changed, 2 insertions(+), 2 deletions(-) 11695 11696commit 5ce6ddc221d0bfb57d810d845bb65fb0aac0b008 11697Author: Lasse Collin <lasse.collin@tukaani.org> 11698Date: 2023-01-12 04:17:24 +0200 11699 11700 Build: Make configure add more warning flags for GCC and Clang. 11701 11702 -Wstrict-aliasing was removed from the list since it is enabled 11703 by -Wall already. 11704 11705 A normal build is clean with these on GNU/Linux x86-64 with 11706 GCC 12.2.0 and Clang 14.0.6. 11707 11708 configure.ac | 36 +++++++++++++++++++++++++++++++----- 11709 1 file changed, 31 insertions(+), 5 deletions(-) 11710 11711commit bfc3a0a8ac16de90049c1b1ba1445a7626d0230c 11712Author: Lasse Collin <lasse.collin@tukaani.org> 11713Date: 2023-01-12 04:14:18 +0200 11714 11715 Tests: Fix warnings from clang --Wassign-enum. 11716 11717 Explicitly casting the integer to lzma_check silences the warning. 11718 Since such an invalid value is needed in multiple tests, a constant 11719 INVALID_LZMA_CHECK_ID was added to tests.h. 11720 11721 The use of 0x1000 for lzma_block.check wasn't optimal as if 11722 the underlying type is a char then 0x1000 will be truncated to 0. 11723 However, in these test cases the value is ignored, thus even with 11724 such truncation the test would have passed. 11725 11726 tests/test_block_header.c | 6 +++--- 11727 tests/test_check.c | 2 +- 11728 tests/test_stream_flags.c | 8 ++++---- 11729 tests/tests.h | 9 +++++++++ 11730 4 files changed, 17 insertions(+), 8 deletions(-) 11731 11732commit 49245bb31e215ad455a1ab85e4ed6783152dc522 11733Author: Lasse Collin <lasse.collin@tukaani.org> 11734Date: 2023-01-12 03:51:07 +0200 11735 11736 Tests: Silence warnings from -Wsign-conversion. 11737 11738 Note that assigning an unsigned int to lzma_check doesn't warn 11739 on GNU/Linux x86-64 since the enum type is unsigned on that 11740 platform. The enum can be signed on some other platform though 11741 so it's best to use enumeration type lzma_check in these situations. 11742 11743 tests/test_check.c | 6 +++--- 11744 tests/test_stream_flags.c | 10 +++++----- 11745 2 files changed, 8 insertions(+), 8 deletions(-) 11746 11747commit 3f13bf6b9e8624cbe6d6e3e82d6c98a3ed1ad571 11748Author: Lasse Collin <lasse.collin@tukaani.org> 11749Date: 2023-01-12 03:19:59 +0200 11750 11751 liblzma: Silence warnings from clang -Wconditional-uninitialized. 11752 11753 This is similar to 2ce4f36f179a81d0c6e182a409f363df759d1ad0. 11754 The actual initialization of the variables is done inside 11755 mythread_sync() macro. Clang doesn't seem to see that 11756 the initialization code inside the macro is always executed. 11757 11758 src/liblzma/common/stream_decoder_mt.c | 8 +++++--- 11759 src/liblzma/common/stream_encoder_mt.c | 2 +- 11760 2 files changed, 6 insertions(+), 4 deletions(-) 11761 11762commit 6c886cc5b3c90c6a75e6be8b1278ec2261e452a6 11763Author: Lasse Collin <lasse.collin@tukaani.org> 11764Date: 2023-01-12 03:11:40 +0200 11765 11766 Fix warnings from clang -Wdocumentation. 11767 11768 src/liblzma/check/check.h | 4 ---- 11769 src/liblzma/lz/lz_encoder_mf.c | 4 ++-- 11770 src/xz/options.c | 4 ++-- 11771 3 files changed, 4 insertions(+), 8 deletions(-) 11772 11773commit a0e7fb1c1ea658b67f30517f5d1975efd0226dba 11774Author: Lasse Collin <lasse.collin@tukaani.org> 11775Date: 2023-01-12 03:04:28 +0200 11776 11777 Tests: test_lzip_decoder: Remove trailing white-space. 11778 11779 tests/test_lzip_decoder.c | 4 ++-- 11780 1 file changed, 2 insertions(+), 2 deletions(-) 11781 11782commit c0f8d6782f29e219fd496dd23f6a033270509d5c 11783Author: Lasse Collin <lasse.collin@tukaani.org> 11784Date: 2023-01-12 03:03:55 +0200 11785 11786 Tests: test_lzip_decoder: Silence warnings from -Wsign-conversion. 11787 11788 tests/test_lzip_decoder.c | 13 +++++++------ 11789 1 file changed, 7 insertions(+), 6 deletions(-) 11790 11791commit 62efd48a825e8f439e84c85e165d8774ddc68fd2 11792Author: Jia Tan <jiat0218@gmail.com> 11793Date: 2023-01-11 23:58:16 +0800 11794 11795 Add NEWS for 5.4.1. 11796 11797 NEWS | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 11798 1 file changed, 70 insertions(+) 11799 11800commit d1561c47ec8cd3844a785d3741dc932f9b9c5790 11801Author: Jia Tan <jiat0218@gmail.com> 11802Date: 2023-01-11 22:46:48 +0800 11803 11804 xz: Fix warning -Wformat-nonliteral on clang in message.c. 11805 11806 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will 11807 allow a non-literal format string as long as the function takes its 11808 format arguments as a va_list. 11809 11810 src/xz/message.c | 9 +++++++++ 11811 1 file changed, 9 insertions(+) 11812 11813commit 8c0f115cc489331c48df77beca92fe378039d919 11814Author: Jia Tan <jiat0218@gmail.com> 11815Date: 2023-01-11 20:58:31 +0800 11816 11817 Tests: Fix test_filter_flags copy/paste error. 11818 11819 tests/test_filter_flags.c | 4 ++-- 11820 1 file changed, 2 insertions(+), 2 deletions(-) 11821 11822commit 25035813d1d596fde692addc33e7f715f1fe55eb 11823Author: Jia Tan <jiat0218@gmail.com> 11824Date: 2023-01-11 20:42:29 +0800 11825 11826 Tests: Fix type-limits warning in test_filter_flags. 11827 11828 This only occurs in test_filter_flags when the BCJ filters are not 11829 configured and built. In this case, ARRAY_SIZE() returns 0 and causes a 11830 type-limits warning with the loop variable since an unsigned number will 11831 always be >= 0. 11832 11833 tests/test_filter_flags.c | 13 ++++++++++--- 11834 1 file changed, 10 insertions(+), 3 deletions(-) 11835 11836commit 0b8fa310cf56fec55663f62340e49e8e1441594f 11837Author: Lasse Collin <lasse.collin@tukaani.org> 11838Date: 2023-01-10 22:14:03 +0200 11839 11840 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt. 11841 11842 This affects only 32-bit x86 builds. x86-64 is OK as is. 11843 11844 I still cannot easily test this myself. The reporter has tested 11845 this and it passes the tests included in the CMake build and 11846 performance is good: raw CRC64 is 2-3 times faster than the 11847 C version of the slice-by-four method. (Note that liblzma doesn't 11848 include a MSVC-compatible version of the 32-bit x86 assembly code 11849 for the slice-by-four method.) 11850 11851 Thanks to Iouri Kharon for figuring out a fix, testing, and 11852 benchmarking. 11853 11854 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++ 11855 1 file changed, 18 insertions(+) 11856 11857commit 765354b50c2886fc0d294d6be3b207f7ae2ada70 11858Author: Jia Tan <jiat0218@gmail.com> 11859Date: 2023-01-11 01:18:50 +0800 11860 11861 Tests: Fix unused function warning in test_block_header. 11862 11863 One of the global arrays of filters was only used in a test that 11864 required both encoders and decoders to be configured in the build. 11865 11866 tests/test_block_header.c | 4 ++++ 11867 1 file changed, 4 insertions(+) 11868 11869commit 7c23c05befdcc73231c0d6632a7d943dbeaea1aa 11870Author: Jia Tan <jiat0218@gmail.com> 11871Date: 2023-01-11 01:08:03 +0800 11872 11873 Tests: Fix unused function warning in test_index_hash. 11874 11875 test_index_hash does not use fill_index_hash() unless both encoders 11876 and decoders are configured in the build. 11877 11878 tests/test_index_hash.c | 4 +--- 11879 1 file changed, 1 insertion(+), 3 deletions(-) 11880 11881commit 57464bb4ebd6c00dc8b19803f05ea55ddd0826f6 11882Author: Jia Tan <jiat0218@gmail.com> 11883Date: 2023-01-11 00:54:45 +0800 11884 11885 CI/CD: Add 32-bit build and test steps to Ubuntu autotools runner. 11886 11887 If all goes well, Mac autotools and Linux and Mac CMake will be added 11888 later for 32-bit builds. 11889 11890 .github/workflows/ci.yml | 7 ++++++- 11891 1 file changed, 6 insertions(+), 1 deletion(-) 11892 11893commit 923eb689a4b863b6cca8df6360d4962aae994edf 11894Author: Jia Tan <jiat0218@gmail.com> 11895Date: 2023-01-11 00:51:01 +0800 11896 11897 CI/CD: Enables warnings as errors in autotool build. 11898 11899 This will help us catch warnings and potential bugs in builds that are 11900 not often tested by us. 11901 11902 build-aux/ci_build.sh | 2 +- 11903 1 file changed, 1 insertion(+), 1 deletion(-) 11904 11905commit feae5528a30c006b6e2f96a95116e20b983703fc 11906Author: Jia Tan <jiat0218@gmail.com> 11907Date: 2023-01-11 00:48:35 +0800 11908 11909 CI/CD: Add -f argument to set CFLAGS in ci_build.sh. 11910 11911 For now, the suggested option is for -m32 only, but this can be updated 11912 later if other flags are deemed useful. 11913 11914 build-aux/ci_build.sh | 8 ++++++-- 11915 1 file changed, 6 insertions(+), 2 deletions(-) 11916 11917commit cfabb62a4874c146e7d6f30445637602545bc054 11918Author: Lasse Collin <lasse.collin@tukaani.org> 11919Date: 2023-01-10 12:47:16 +0200 11920 11921 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)." 11922 11923 This reverts commit 36edc65ab4cf10a131f239acbd423b4510ba52d5. 11924 11925 It was reported that it wasn't a good enough fix and MSVC 11926 still produced (different kind of) bad code when building 11927 for 32-bit x86 if optimizations are enabled. 11928 11929 Thanks to Iouri Kharon. 11930 11931 src/liblzma/check/crc64_fast.c | 6 ------ 11932 1 file changed, 6 deletions(-) 11933 11934commit 0b64215170dd3562f207ef26f794755bcd600526 11935Author: Lasse Collin <lasse.collin@tukaani.org> 11936Date: 2023-01-10 11:56:11 +0200 11937 11938 sysdefs.h: Don't include strings.h anymore. 11939 11940 On some platforms src/xz/suffix.c may need <strings.h> for 11941 strcasecmp() but suffix.c includes the header when it needs it. 11942 11943 Unless there is an old system that otherwise supports enough C99 11944 to build XZ Utils but doesn't have C89/C90-compatible <string.h>, 11945 there should be no need to include <strings.h> in sysdefs.h. 11946 11947 src/common/sysdefs.h | 6 ------ 11948 1 file changed, 6 deletions(-) 11949 11950commit ec2fc39fe4f4e6e242b3a669585049763968cdeb 11951Author: Lasse Collin <lasse.collin@tukaani.org> 11952Date: 2023-01-10 11:23:41 +0200 11953 11954 xz: Include <strings.h> in suffix.c if needed for strcasecmp(). 11955 11956 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>. 11957 Of these, strcasecmp() is used on some platforms in suffix.c. 11958 Nothing else in the project needs <strings.h> (at least if 11959 building on a modern system). 11960 11961 sysdefs.h currently includes <strings.h> if HAVE_STRINGS_H is 11962 defined and suffix.c relied on this. 11963 11964 Note that dos/config.h doesn't #define HAVE_STRINGS_H even though 11965 DJGPP does have strings.h. It isn't needed with DJGPP as strcasecmp() 11966 is also in <string.h> in DJGPP. 11967 11968 src/xz/suffix.c | 3 +++ 11969 1 file changed, 3 insertions(+) 11970 11971commit 7049c4a76c805ad27d6cf4ee119a2ef2a7add59f 11972Author: Lasse Collin <lasse.collin@tukaani.org> 11973Date: 2023-01-10 10:05:13 +0200 11974 11975 sysdefs.h: Fix a comment. 11976 11977 src/common/sysdefs.h | 2 +- 11978 1 file changed, 1 insertion(+), 1 deletion(-) 11979 11980commit 194a5fab69277d9e804a6113b5f676b8666b3a61 11981Author: Lasse Collin <lasse.collin@tukaani.org> 11982Date: 2023-01-10 10:04:06 +0200 11983 11984 sysdefs.h: Don't include memory.h anymore even if it were available. 11985 11986 It quite probably was never needed, that is, any system where memory.h 11987 was required likely couldn't compile XZ Utils for other reasons anyway. 11988 11989 XZ Utils 5.2.6 and later source packages were generated using 11990 Autoconf 2.71 which no longer defines HAVE_MEMORY_H. So the code 11991 being removed is no longer used anyway. 11992 11993 src/common/sysdefs.h | 8 ++------ 11994 1 file changed, 2 insertions(+), 6 deletions(-) 11995 11996commit 5e34774c31d1b7509b5cb77a3be9973adec59ea0 11997Author: Lasse Collin <lasse.collin@tukaani.org> 11998Date: 2023-01-10 08:29:32 +0200 11999 12000 CMake: Fix appending to CMAKE_RC_FLAGS. 12001 12002 It's a string, not a list. It only worked when the variable was empty. 12003 12004 Thanks to Iouri Kharon. 12005 12006 CMakeLists.txt | 2 +- 12007 1 file changed, 1 insertion(+), 1 deletion(-) 12008 12009commit 6e652ceb18c615c578c869db300fa0756788b4e0 12010Author: Lasse Collin <lasse.collin@tukaani.org> 12011Date: 2023-01-10 00:33:14 +0200 12012 12013 Windows: Update INSTALL-MSVC.txt to recommend CMake over project files. 12014 12015 windows/INSTALL-MSVC.txt | 19 ++++++++++++------- 12016 1 file changed, 12 insertions(+), 7 deletions(-) 12017 12018commit 6b117d3b1fe91eb26d533ab16a2e552f84148d47 12019Author: Lasse Collin <lasse.collin@tukaani.org> 12020Date: 2023-01-09 23:41:25 +0200 12021 12022 CMake: Fix windres issues again. 12023 12024 At least on some systems, GNU windres needs --use-temp-file 12025 in addition to the \x20 hack to avoid spaces in the command line 12026 argument. Hovever, that \x20 syntax is broken with llvm-windres 12027 version 15.0.0 (results in "XZx20Utils") but luckily it works 12028 with a regular space. Thus it is best to limit the workarounds 12029 to GNU toolchain on Windows. 12030 12031 CMakeLists.txt | 35 +++++++++++++++++++++++------------ 12032 1 file changed, 23 insertions(+), 12 deletions(-) 12033 12034commit 0c210ca7f489e971e94e1ddc72b0b0806e3c7935 12035Author: Lasse Collin <lasse.collin@tukaani.org> 12036Date: 2023-01-06 22:53:38 +0200 12037 12038 Tests: test_filter_flags: Clean up minor issues. 12039 12040 Here are the list of the most significant issues addressed: 12041 - Avoid using internal common.h header. It's not good to copy the 12042 constants like this but common.h cannot be included for use outside 12043 of liblzma. This is the quickest thing to do that could be fixed later. 12044 12045 - Omit the INIT_FILTER macro. Initialization should be done with just 12046 regular designated initializers. 12047 12048 - Use start_offset = 257 for BCJ tests. It demonstrates that Filter 12049 Flags encoder and decoder don't validate the options thoroughly. 12050 257 is valid only for the x86 filter. This is a bit silly but 12051 not a significant problem in practice because the encoder and 12052 decoder initialization functions will catch bad alignment still. 12053 Perhaps this should be fixed but it's not urgent and doesn't need 12054 to be in 5.4.x. 12055 12056 - Various tweaks to comments such as filter id -> Filter ID 12057 12058 tests/test_filter_flags.c | 153 +++++++++++++++++++++++----------------------- 12059 1 file changed, 78 insertions(+), 75 deletions(-) 12060 12061commit 5c9fdd3bf53a9655f5eb2807d662b3af0d5e1865 12062Author: Jia Tan <jiat0218@gmail.com> 12063Date: 2022-12-29 23:33:33 +0800 12064 12065 Tests: Refactors existing filter flags tests. 12066 12067 Converts the existing filter flags tests into tuktests. 12068 12069 tests/test_filter_flags.c | 655 ++++++++++++++++++++++++++++++++-------------- 12070 1 file changed, 457 insertions(+), 198 deletions(-) 12071 12072commit 36edc65ab4cf10a131f239acbd423b4510ba52d5 12073Author: Lasse Collin <lasse.collin@tukaani.org> 12074Date: 2023-01-09 12:22:05 +0200 12075 12076 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022). 12077 12078 I haven't tested with MSVC myself and there doesn't seem to be 12079 information about the problem online, so I'm relying on the bug report. 12080 12081 Thanks to Iouri Kharon for the bug report and the patch. 12082 12083 src/liblzma/check/crc64_fast.c | 6 ++++++ 12084 1 file changed, 6 insertions(+) 12085 12086commit 790a12a95a78ff82d8c6d4efe3b789851ca9470d 12087Author: Lasse Collin <lasse.collin@tukaani.org> 12088Date: 2023-01-09 11:27:24 +0200 12089 12090 CMake: Fix a copypaste error in xzdec Windows resource file handling. 12091 12092 It was my mistake. Thanks to Iouri Kharon for the bug report. 12093 12094 CMakeLists.txt | 4 ++-- 12095 1 file changed, 2 insertions(+), 2 deletions(-) 12096 12097commit 0e1545fea39c0514c7b7032a0a3592a9a33d2848 12098Author: Lasse Collin <lasse.collin@tukaani.org> 12099Date: 2023-01-08 00:32:29 +0200 12100 12101 Tests: tuktest.h: Support tuktest_malloc(0). 12102 12103 It's not needed in XZ Utils at least for now. It's good to support 12104 it still because if such use is needed later, it wouldn't be 12105 caught on GNU/Linux since malloc(0) from glibc returns non-NULL. 12106 12107 tests/tuktest.h | 4 ++-- 12108 1 file changed, 2 insertions(+), 2 deletions(-) 12109 12110commit 69d5d78c6904668eb09a131da86276beec3281f8 12111Author: Lasse Collin <lasse.collin@tukaani.org> 12112Date: 2023-01-08 00:24:23 +0200 12113 12114 Update THANKS. 12115 12116 THANKS | 1 + 12117 1 file changed, 1 insertion(+) 12118 12119commit dd38655f80c113c9db73b9ed370dc900e1c4dc41 12120Author: Lasse Collin <lasse.collin@tukaani.org> 12121Date: 2023-01-07 21:57:11 +0200 12122 12123 CMake: Update cmake_minimum_required from 3.13...3.16 to 3.13...3.25. 12124 12125 The changes listed on cmake-policies(7) for versions 3.17 to 3.25 12126 shouldn't affect this project. 12127 12128 CMakeLists.txt | 2 +- 12129 1 file changed, 1 insertion(+), 1 deletion(-) 12130 12131commit a890a637bee9193d5b690aefa9a59eba5b8532ae 12132Author: Lasse Collin <lasse.collin@tukaani.org> 12133Date: 2023-01-07 19:50:35 +0200 12134 12135 Update THANKS. 12136 12137 THANKS | 1 + 12138 1 file changed, 1 insertion(+) 12139 12140commit 6e38e595dd56ac1800478cef1f6f754d0eba0d2e 12141Author: Lasse Collin <lasse.collin@tukaani.org> 12142Date: 2023-01-07 19:50:03 +0200 12143 12144 CMake/Windows: Add resource files to xz.exe and xzdec.exe. 12145 12146 The command line tools cannot be built with MSVC for now but 12147 they can be built with MinGW-w64. 12148 12149 Thanks to Iouri Kharon for the bug report and the original patch. 12150 12151 CMakeLists.txt | 16 ++++++++++++++++ 12152 1 file changed, 16 insertions(+) 12153 12154commit 443dfebced041adc88f10d824188eeef5b5821a9 12155Author: Lasse Collin <lasse.collin@tukaani.org> 12156Date: 2023-01-07 19:48:52 +0200 12157 12158 CMake/Windows: Add a workaround for windres from GNU binutils. 12159 12160 Thanks to Iouri Kharon for the bug report and the original patch. 12161 12162 CMakeLists.txt | 21 ++++++++++++++++++++- 12163 1 file changed, 20 insertions(+), 1 deletion(-) 12164 12165commit ceb805011747d04a915f3f39e4bed9eed151c634 12166Author: Lasse Collin <lasse.collin@tukaani.org> 12167Date: 2023-01-07 19:31:15 +0200 12168 12169 Build: Require that _mm_set_epi64x() is usable to enable CLMUL support. 12170 12171 VS2013 doesn't have _mm_set_epi64x() so this way CLMUL gets 12172 disabled with VS2013. 12173 12174 Thanks to Iouri Kharon for the bug report. 12175 12176 CMakeLists.txt | 3 ++- 12177 configure.ac | 8 ++++++-- 12178 2 files changed, 8 insertions(+), 3 deletions(-) 12179 12180commit 8d372bd94066b1a5b0570b2550f83c2868486adf 12181Author: Jia Tan <jiat0218@gmail.com> 12182Date: 2023-01-07 21:05:15 +0800 12183 12184 CI/CD: Split CMake Linux and MacOS build phase to build and test. 12185 12186 The phase split was only done for Autotools before, so should also 12187 apply to CMake. 12188 12189 .github/workflows/ci.yml | 8 ++++++-- 12190 1 file changed, 6 insertions(+), 2 deletions(-) 12191 12192commit 747c7f2b34bd498f6702c6875500a26b06201772 12193Author: Jia Tan <jiat0218@gmail.com> 12194Date: 2023-01-07 11:16:55 +0800 12195 12196 CI/CD: Reduce job runners to 4 instead of using matrix strategy. 12197 12198 The old version used too many runners that resulted in unnecessary 12199 dependency downloads. Now, the runners are reused for the different 12200 configurations for each OS and build system. 12201 12202 .github/workflows/ci.yml | 95 ++++++++++++++++++++++++++++++++++++++++++------ 12203 1 file changed, 83 insertions(+), 12 deletions(-) 12204 12205commit 4de35fd6b58d46fc887c78faf163f6a37b790c45 12206Author: Jia Tan <jiat0218@gmail.com> 12207Date: 2023-01-07 10:07:20 +0800 12208 12209 CI/CD: Add new -p (PHASE) argument to ci_build.sh 12210 12211 The new PHASE argument can be build, test, or all. all is the default. 12212 This way, the CI/CD script can differentiate between the build and test 12213 phases to make it easier to track down errors when they happen. 12214 12215 build-aux/ci_build.sh | 140 +++++++++++++++++++++++++++----------------------- 12216 1 file changed, 76 insertions(+), 64 deletions(-) 12217 12218commit 6fd39664de47801e670a16617863196bfbde4755 12219Merge: 78e0561d fc0c7884 12220Author: Jia Tan <jiat0218@gmail.com> 12221Date: 2023-01-07 00:10:50 +0800 12222 12223 Merge pull request #7 from tukaani-project/tuktest_index_hash 12224 12225 Tuktest index hash 12226 12227commit fc0c788469159f634f09ff23c8cef6925c91da57 12228Author: Lasse Collin <lasse.collin@tukaani.org> 12229Date: 2023-01-06 17:58:48 +0200 12230 12231 Tests: test_index_hash: Add an assert_uint_eq(). 12232 12233 tests/test_index_hash.c | 3 +++ 12234 1 file changed, 3 insertions(+) 12235 12236commit d550304f5343b3a082da265107cd820e0d81dc71 12237Author: Lasse Collin <lasse.collin@tukaani.org> 12238Date: 2023-01-06 17:55:06 +0200 12239 12240 Tests: test_index_hash: Fix a memory leak. 12241 12242 tests/test_index_hash.c | 2 ++ 12243 1 file changed, 2 insertions(+) 12244 12245commit 02608f74ea1f2d2d56585711ff241c34b4ad0937 12246Author: Lasse Collin <lasse.collin@tukaani.org> 12247Date: 2023-01-06 17:53:03 +0200 12248 12249 Tests: test_index_hash: Don't treat pointers as booleans. 12250 12251 tests/test_index_hash.c | 6 +++--- 12252 1 file changed, 3 insertions(+), 3 deletions(-) 12253 12254commit 056766c8601a3808bea1761f6cc833197a35a3e0 12255Author: Lasse Collin <lasse.collin@tukaani.org> 12256Date: 2023-01-06 17:51:41 +0200 12257 12258 Tests: test_index_hash: Fix a typo in a comment. 12259 12260 tests/test_index_hash.c | 2 +- 12261 1 file changed, 1 insertion(+), 1 deletion(-) 12262 12263commit 873e684028ba9738f071c5236db7d452ed797b4c 12264Author: Lasse Collin <lasse.collin@tukaani.org> 12265Date: 2023-01-06 17:44:29 +0200 12266 12267 Tests: test_index_hash: Avoid the variable name "index". 12268 12269 It can trigger warnings from -Wshadow on some systems. 12270 12271 tests/test_index_hash.c | 16 ++++++++-------- 12272 1 file changed, 8 insertions(+), 8 deletions(-) 12273 12274commit d1f24c35874eeba8432d75aa77b06c50375ed937 12275Author: Lasse Collin <lasse.collin@tukaani.org> 12276Date: 2023-01-06 17:35:50 +0200 12277 12278 Tests: test_index_hash: Use the word "Record" instead of "entry". 12279 12280 tests/test_index_hash.c | 102 ++++++++++++++++++++++++------------------------ 12281 1 file changed, 51 insertions(+), 51 deletions(-) 12282 12283commit b93f7c5cbb02b42024ac866fc0af541de3d816e2 12284Author: Lasse Collin <lasse.collin@tukaani.org> 12285Date: 2023-01-06 17:35:05 +0200 12286 12287 Tests: test_index_hash: Tweak comments and style. 12288 12289 The words defined in the .xz file format specification 12290 begin with capital letter to emphasize that they have 12291 a specific meaning. 12292 12293 tests/test_index_hash.c | 62 ++++++++++++++++++++++++++----------------------- 12294 1 file changed, 33 insertions(+), 29 deletions(-) 12295 12296commit c48b24fc06d98569adb72f13c2e8e5ff30bb8036 12297Author: Lasse Collin <lasse.collin@tukaani.org> 12298Date: 2023-01-06 17:17:37 +0200 12299 12300 Tests: test_index_hash: Use INDEX_INDICATOR constant instead of 0. 12301 12302 tests/test_index_hash.c | 2 +- 12303 1 file changed, 1 insertion(+), 1 deletion(-) 12304 12305commit 78e0561dfebaa9d5e34558de537efcda890e0629 12306Author: Jia Tan <jiat0218@gmail.com> 12307Date: 2023-01-06 20:43:31 +0800 12308 12309 Style: Change #if !defined() to #ifndef in mythread.h. 12310 12311 src/common/mythread.h | 2 +- 12312 1 file changed, 1 insertion(+), 1 deletion(-) 12313 12314commit e834e1e934ed0af673598d8c0c34afb2af56bee0 12315Author: Jia Tan <jiat0218@gmail.com> 12316Date: 2023-01-06 20:35:55 +0800 12317 12318 Build: Add missing stream_decoder_mt.c to .vcxproj files. 12319 12320 The line in the .vcxproj files for building with was missing in 5.4.0. 12321 Thank to Hajin Jang for reporting the issue. 12322 12323 windows/vs2013/liblzma.vcxproj | 1 + 12324 windows/vs2013/liblzma_dll.vcxproj | 1 + 12325 windows/vs2017/liblzma.vcxproj | 1 + 12326 windows/vs2017/liblzma_dll.vcxproj | 1 + 12327 windows/vs2019/liblzma.vcxproj | 1 + 12328 windows/vs2019/liblzma_dll.vcxproj | 1 + 12329 6 files changed, 6 insertions(+) 12330 12331commit 84f9687cbae972c2c342e10bf69f8ec8f70ae111 12332Author: Jia Tan <jiat0218@gmail.com> 12333Date: 2023-01-05 20:57:25 +0800 12334 12335 liblzma: Remove common.h include from common/index.h. 12336 12337 common/index.h is needed by liblzma internally and tests. common.h will 12338 include and define many things that are not needed by the tests. Also, 12339 this prevents include order problems because common.h will redefine 12340 LZMA_API resulting in a warning. 12341 12342 src/liblzma/common/index.c | 1 + 12343 src/liblzma/common/index.h | 9 +++++++-- 12344 src/liblzma/common/index_decoder.h | 1 + 12345 src/liblzma/common/stream_buffer_encoder.c | 1 + 12346 4 files changed, 10 insertions(+), 2 deletions(-) 12347 12348commit 7657ce1c3c4abff7560336a7b687d98e0e2bd14f 12349Author: Lasse Collin <lasse.collin@tukaani.org> 12350Date: 2023-01-04 22:40:54 +0200 12351 12352 Update THANKS. 12353 12354 THANKS | 1 + 12355 1 file changed, 1 insertion(+) 12356 12357commit aafd67fba045ab99683971263a5a26fb2a6e8ce2 12358Author: Lasse Collin <lasse.collin@tukaani.org> 12359Date: 2023-01-04 18:40:28 +0200 12360 12361 Tests: Adjust style in test_compress.sh. 12362 12363 tests/test_compress.sh | 12 +++++++----- 12364 1 file changed, 7 insertions(+), 5 deletions(-) 12365 12366commit 52380678f42364daa4510f92f6d3b18ec98c3638 12367Author: Jia Tan <jiat0218@gmail.com> 12368Date: 2023-01-04 23:58:58 +0800 12369 12370 Tests: Replace non portable shell parameter expansion 12371 12372 The shell parameter expansion using # and ## is not supported in 12373 Solaris 10 Bourne shell (/bin/sh). Even though this is POSIX, it is not fully 12374 portable, so we should avoid it. 12375 12376 tests/create_compress_files.c | 2 +- 12377 tests/test_compress.sh | 20 +++++++++++++------- 12378 tests/test_compress_prepared_bcj_sparc | 2 +- 12379 tests/test_compress_prepared_bcj_x86 | 2 +- 12380 4 files changed, 16 insertions(+), 10 deletions(-) 12381 12382commit d0eb345bb7d148a62883ee299adec2b74a0f6f3b 12383Author: Jia Tan <jiat0218@gmail.com> 12384Date: 2023-01-03 21:02:38 +0800 12385 12386 Translations: Add Korean translation of man pages. 12387 12388 Thanks to Seong-ho Cho 12389 12390 po4a/ko.po | 5552 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12391 po4a/po4a.conf | 2 +- 12392 2 files changed, 5553 insertions(+), 1 deletion(-) 12393 12394commit c4145978d95ebf1690c778d354e15f7c2823d7a8 12395Author: Jia Tan <jiat0218@gmail.com> 12396Date: 2023-01-03 20:47:27 +0800 12397 12398 Translations: Update the Esperanto translation. 12399 12400 po/eo.po | 620 ++++++++++++++++++++++++++++++++++----------------------------- 12401 1 file changed, 332 insertions(+), 288 deletions(-) 12402 12403commit 4103a2e78ac60b00c888485cd967a5fe5d1b917c 12404Author: Lasse Collin <lasse.collin@tukaani.org> 12405Date: 2023-01-02 17:20:47 +0200 12406 12407 Bump version and soname for 5.5.0alpha. 12408 12409 5.5.0alpha won't be released, it's just to mark that 12410 the branch is not for stable 5.4.x. 12411 12412 Once again there is no API/ABI stability for new features 12413 in devel versions. The major soname won't be bumped even 12414 if API/ABI of new features breaks between devel releases. 12415 12416 src/liblzma/Makefile.am | 2 +- 12417 src/liblzma/api/lzma/version.h | 4 ++-- 12418 2 files changed, 3 insertions(+), 3 deletions(-) 12419 12420commit 73c9e6d6b970ccc3d5ad61dcaa21cba050e5df0a 12421Author: Lasse Collin <lasse.collin@tukaani.org> 12422Date: 2023-01-02 17:05:07 +0200 12423 12424 Build: Fix config.h comments. 12425 12426 configure.ac | 2 +- 12427 m4/tuklib_progname.m4 | 2 +- 12428 2 files changed, 2 insertions(+), 2 deletions(-) 12429 12430commit bb740e3b117f1a3c65152d01e5755523a908ecb1 12431Author: Jia Tan <jiat0218@gmail.com> 12432Date: 2023-01-02 22:33:48 +0800 12433 12434 Build: Only define HAVE_PROGRAM_INVOCATION_NAME if it is set to 1. 12435 12436 HAVE_DECL_PROGRAM_INVOCATION_NAME is renamed to 12437 HAVE_PROGRAM_INVOCATION_NAME. Previously, 12438 HAVE_DECL_PROGRAM_INVOCATION_NAME was always set when 12439 building with autotools. CMake would only set this when it was 1, and the 12440 dos/config.h did not define it. The new macro definition is consistent 12441 across build systems. 12442 12443 cmake/tuklib_progname.cmake | 5 ++--- 12444 m4/tuklib_progname.m4 | 5 ++++- 12445 src/common/tuklib_progname.c | 2 +- 12446 src/common/tuklib_progname.h | 2 +- 12447 4 files changed, 8 insertions(+), 6 deletions(-) 12448 12449commit 064cd385a716abc78d93a3612411a82d69ceb221 12450Author: Jia Tan <jiat0218@gmail.com> 12451Date: 2022-12-29 00:30:52 +0800 12452 12453 Adds test_index_hash to .gitignore. 12454 12455 .gitignore | 1 + 12456 1 file changed, 1 insertion(+) 12457 12458commit 3959162baec074511d83ba0fec1284c3ed724799 12459Author: Jia Tan <jiat0218@gmail.com> 12460Date: 2022-12-29 00:25:18 +0800 12461 12462 Tests: Creates test_index_hash.c 12463 12464 Tests all API functions exported from index_hash.h. Does not have a 12465 dedicated test for lzma_index_hash_end. 12466 12467 CMakeLists.txt | 2 + 12468 tests/Makefile.am | 3 + 12469 tests/test_index_hash.c | 379 ++++++++++++++++++++++++++++++++++++++++++++++++ 12470 3 files changed, 384 insertions(+) 12471 12472commit f16e12d5e755d371247202fcccbcccd1ec16b2cf 12473Author: Jia Tan <jiat0218@gmail.com> 12474Date: 2022-08-17 20:20:16 +0800 12475 12476 liblzma: Add NULL check to lzma_index_hash_append. 12477 12478 This is for consistency with lzma_index_append. 12479 12480 src/liblzma/common/index_hash.c | 2 +- 12481 1 file changed, 1 insertion(+), 1 deletion(-) 12482 12483commit 203b008eb220208981902e0db541c02d1c1c9f5e 12484Author: Jia Tan <jiat0218@gmail.com> 12485Date: 2022-08-17 17:59:51 +0800 12486 12487 liblzma: Replaced hardcoded 0x0 index indicator byte with macro 12488 12489 src/liblzma/common/index.h | 3 +++ 12490 src/liblzma/common/index_decoder.c | 2 +- 12491 src/liblzma/common/index_encoder.c | 2 +- 12492 src/liblzma/common/index_hash.c | 2 +- 12493 src/liblzma/common/stream_decoder.c | 3 ++- 12494 src/liblzma/common/stream_decoder_mt.c | 2 +- 12495 6 files changed, 9 insertions(+), 5 deletions(-) 12496 12497commit dfecda875211f737d0db92dc1d3c58a3a2afb0c0 12498Author: Lasse Collin <lasse.collin@tukaani.org> 12499Date: 2022-12-30 20:10:08 +0200 12500 12501 Tests: test_check: Test corner cases of CLMUL CRC64. 12502 12503 tests/test_check.c | 27 +++++++++++++++++++++++++++ 12504 1 file changed, 27 insertions(+) 12505 12506commit ce96bb20435212fe797d6d84738fb9fd4ea13cc7 12507Author: Lasse Collin <lasse.collin@tukaani.org> 12508Date: 2022-12-30 19:36:49 +0200 12509 12510 Tests: Clarify a comment in test_lzip_decoder.c. 12511 12512 tests/test_lzip_decoder.c | 8 ++++++-- 12513 1 file changed, 6 insertions(+), 2 deletions(-) 12514 12515commit 2fcba17fc4d7eda8fc60567169cf2a0e6fcfb2f8 12516Author: Jia Tan <jiat0218@gmail.com> 12517Date: 2022-12-29 01:55:19 +0800 12518 12519 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c. 12520 12521 Previously, mytime.c depended on mythread.h for <time.h> to be included. 12522 12523 src/xz/mytime.c | 4 +++- 12524 1 file changed, 3 insertions(+), 1 deletion(-) 12525 12526commit f82294c8318a7a0990583d51ac5c7de682ad36ef 12527Author: Jia Tan <jiat0218@gmail.com> 12528Date: 2022-12-29 01:15:27 +0800 12529 12530 liblzma: Includes sys/time.h conditionally in mythread 12531 12532 Previously, <sys/time.h> was always included, even if mythread only used 12533 clock_gettime. <time.h> is still needed even if clock_gettime is not used 12534 though because struct timespec is needed for mythread_condtime. 12535 12536 src/common/mythread.h | 8 +++++++- 12537 1 file changed, 7 insertions(+), 1 deletion(-) 12538 12539commit 74dae7d30091e906d6a92a57952dea4354473f9b 12540Author: Jia Tan <jiat0218@gmail.com> 12541Date: 2022-12-29 01:10:53 +0800 12542 12543 Build: No longer require HAVE_DECL_CLOCK_MONOTONIC to always be set. 12544 12545 Previously, if threading was enabled HAVE_DECL_CLOCK_MONOTONIC would always 12546 be set to 0 or 1. However, this macro was needed in xz so if xz was not 12547 built with threading and HAVE_DECL_CLOCK_MONOTONIC was not defined but 12548 HAVE_CLOCK_GETTIME was, it caused a warning during build. Now, 12549 HAVE_DECL_CLOCK_MONOTONIC has been renamed to HAVE_CLOCK_MONOTONIC and 12550 will only be set if it is 1. 12551 12552 CMakeLists.txt | 8 +++----- 12553 configure.ac | 5 ++++- 12554 src/common/mythread.h | 4 ++-- 12555 src/xz/mytime.c | 5 ++--- 12556 4 files changed, 11 insertions(+), 11 deletions(-) 12557 12558commit 7339e39dc060df6eda74a2c5b69961befc3d5d24 12559Author: Jia Tan <jiat0218@gmail.com> 12560Date: 2022-12-28 01:14:07 +0800 12561 12562 Translations: Add Ukrainian translations of man pages. 12563 12564 Thanks to Yuri Chornoivan 12565 12566 po4a/po4a.conf | 2 +- 12567 po4a/uk.po | 3676 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 12568 2 files changed, 3677 insertions(+), 1 deletion(-) 12569 12570commit 9f05c27a58ce8cd7803079aa295e41c24665ce6e 12571Author: Jia Tan <jiat0218@gmail.com> 12572Date: 2022-12-23 00:34:48 +0800 12573 12574 CI/CD: Create initial version of CI/CD workflow. 12575 12576 The CI/CD workflow will only execute on Ubuntu and MacOS latest version. 12577 The workflow will attempt to build with autotools and CMake and execute 12578 the tests. The workflow will run for all pull requests and pushes done 12579 to the master branch. 12580 12581 .github/workflows/ci.yml | 72 ++++++++++++++++++++++++ 12582 build-aux/ci_build.sh | 141 +++++++++++++++++++++++++++++++++++++++++++++++ 12583 2 files changed, 213 insertions(+) 12584 12585commit 1275ebfba74230dbd028049141423c79c8b83b8f 12586Author: Jia Tan <jiat0218@gmail.com> 12587Date: 2022-12-22 23:14:53 +0800 12588 12589 liblzma: Update documentation for lzma_filter_encoder. 12590 12591 src/liblzma/common/filter_encoder.c | 7 +++++-- 12592 1 file changed, 5 insertions(+), 2 deletions(-) 12593 12594commit 7c9ff5f1667a16733163b75dfd4b509662c387f4 12595Author: Jia Tan <jiat0218@gmail.com> 12596Date: 2022-12-21 21:12:03 +0800 12597 12598 Tests: Adds lzip decoder tests 12599 12600 .gitignore | 1 + 12601 tests/Makefile.am | 2 + 12602 tests/test_lzip_decoder.c | 471 ++++++++++++++++++++++++++++++++++++++++++++++ 12603 3 files changed, 474 insertions(+) 12604 12605commit 799ead162de63b8400733603d3abcd2e1977bdca 12606Author: Jia Cheong Tan <jiat0218@gmail.com> 12607Date: 2022-12-20 22:05:21 +0800 12608 12609 Doxygen: Update .gitignore for generating docs for in source build. 12610 12611 In source builds are not recommended, but we should still ignore 12612 the generated artifacts. 12613 12614 .gitignore | 2 ++ 12615 1 file changed, 2 insertions(+) 12616 12617commit 5f7ce42a16b1e86ca8408b5c670c25e2a12acc4e 12618Author: Jia Tan <jiat0218@gmail.com> 12619Date: 2022-12-20 20:46:44 +0800 12620 12621 liblzma: Fix lzma_microlzma_encoder() return value. 12622 12623 Using return_if_error on lzma_lzma_lclppb_encode was improper because 12624 return_if_error is expecting an lzma_ret value, but 12625 lzma_lzma_lclppb_encode returns a boolean. This could result in 12626 lzma_microlzma_encoder, which would be misleading for applications. 12627 12628 src/liblzma/common/microlzma_encoder.c | 3 ++- 12629 1 file changed, 2 insertions(+), 1 deletion(-) 12630 12631commit 8ace358d65059152d9a1f43f4770170d29d35754 12632Author: Jia Tan <jiat0218@gmail.com> 12633Date: 2022-12-16 20:58:55 +0800 12634 12635 CMake: Update .gitignore for CMake artifacts from in source build. 12636 12637 In source builds are not recommended, but we can make it easier 12638 by ignoring the generated artifacts from CMake. 12639 12640 .gitignore | 23 +++++++++++++++++++++++ 12641 1 file changed, 23 insertions(+) 12642 12643commit 8fd225a2c149f30aeac377e68eb5abf6b28300ad 12644Author: Lasse Collin <lasse.collin@tukaani.org> 12645Date: 2022-12-16 18:30:02 +0200 12646 12647 liblzma: Update authors list in arm64.c. 12648 12649 src/liblzma/simple/arm64.c | 1 + 12650 1 file changed, 1 insertion(+) 12651 12652commit b69da6d4bb6bb11fc0cf066920791990d2b22a06 12653Author: Lasse Collin <lasse.collin@tukaani.org> 12654Date: 2022-12-13 20:37:17 +0200 12655 12656 Bump version to 5.4.0 and soname to 5.4.0. 12657 12658 src/liblzma/Makefile.am | 2 +- 12659 src/liblzma/api/lzma/version.h | 6 +++--- 12660 src/liblzma/liblzma_generic.map | 2 +- 12661 src/liblzma/liblzma_linux.map | 2 +- 12662 4 files changed, 6 insertions(+), 6 deletions(-) 12663