Lines Matching +refs:cc +refs:check +refs:function +refs:in +refs:lib

24     Tests: Call lzma_code() in smaller chunks in fuzz_common.h
30 The previous code has been in use since 2018 when fuzzing was added
31 in 106d1a663d4b ("Tests: Add a fuzz test program and a config file
44 fuzzing target at the moment. It's because the code in fuzz_common.h
54 liblzma: mt dec: Fix lack of parallelization in single-shot decoding
63 in single-shot mode. The issue was noticed when reviewing the code;
75 liblzma: mt dec: Don't modify thr->in_size in the worker thread
79 read the value in SEQ_BLOCK_THR_RUN. With valid inputs, it made
88 needs to set the value in (in SEQ_BLOCK_THR_INIT) when starting a new
92 Reviewed-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
109 With invalid input, the bug could at least result in a crash. The
116 As the commit message in 4cce3e27f529 says, I had made significant
118 by my changes; it wasn't in Sebastian's version.
124 Reviewed-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
136 The main thread can directly set THR_IDLE in threads_stop() which is
138 threads to the pool or free the memory pointed by thr->in anymore, but
143 Reviewed-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
155 Reviewed-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
185 Oracle Developer Studio 12.6 on Solaris 10 claims C11 support in
255 POT-Creation-Date is set to match the timestamp in 5.7.2beta which
256 in the Translation Project is known as 5.8.0-pre1. The strings
305 Translations: Partially fix overtranslation in Serbian man pages
308 in the original form. The translator couldn't be reached so I'm
310 occurrences in the middle of sentences weren't changed to reduce
311 the chance of grammar breakage, but I kept the translated strings in
312 parenthesis in the headings. It's not ideal, but now people shouldn't
322 liblzma: Count the extra bytes in LZMA/LZMA2 decoder memory usage
331 liblzma: Use SSE2 intrinsics instead of memcpy() in dict_repeat()
338 clearly faster than byte-by-byte copying in this use case. Compared
349 The numbers are from decompressing a Linux kernel source tarball in
362 liblzma: Add "restrict" to a few functions in lz_decoder.h
364 This doesn't make any difference in practice because compilers can
368 lzma_dict in the LZMA decoder is already "restrict".
373 modify *dict. This would matter in dict_repeat() because the loops
428 The language tag in the Translation Project is pt, not pt_PT,
449 Only trivial additions but this keeps the file in sync with the TP.
492 This also means that the commit message in 5bb77d0920dc is wrong. The
575 CMake: Use cmake_push_check_state in tuklib_cpucores and tuklib_physmem
596 Use a function instead of a macro. Don't take the TARGET_OR_ALL argument
656 liblzma: Edit spelling in a comment
698 The last release of LZMA Utils was made in 2008, but the lzma
699 compatibility alias for the gzip-like tool is still in common use.
760 Nowaways $(top_builddir)/lib/getopt.h depends on headers in
761 $(top_srcdir)/lib, so both have to be in the include path.
787 of GNU getopt_long from the lib directory. This only checks that the
847 These are specific phrases that were included in the advisories and
848 NEWS. It's nice to have them in THANKS as well.
866 Docs: Update the "Translations" section in README
901 Build: Use "git describe --abbrev=8" in snapshot tarball names
934 word wrapping code needs some help. Compared to the version in the
961 changes since then but now it's clearer that the copy in XZ Utils
977 Build: Check for -fsanitize= also in $CC
979 People may put -fsanitize in CC instead of CFLAGS so check both.
983 Don't attempt to do the same in CMakeLists.txt; the check for
1010 The check can be skipped by passing SKIP_WERROR_CHECK=yes to configure.
1011 It won't be documented anywhere else than in the error message.
1301 NEWS: The security fix in 5.6.3 is known as CVE-2024-47611
1321 Windows: Disable MinGW-w64's stdio functions in size-optimized builds
1328 separator support in xz messages. If someone is OK with the slower
1347 These low-level special APIs might become useful in erofs-utils.
1377 liblzma doesn't use gettext but the messages are included in xz.pot,
1389 po/POTFILES.in | 1 +
1397 liblzma: Tweak a few error messages in lzma_str_to_filters()
1456 When the 8-byte method was enabled for ARM64, a check for endianness
1494 I rewrapped a few overlong lines. Those edits aren't in the
1495 Translation Project. Automatic wrapping in the master branch
1505 Build: Use --sort=name in TAR_OPTIONS
1517 xz: Workaround broken O_SEARCH in musl
1520 in a file descriptor that works with fsync() although it should work.
1551 Opening a directory with O_SEARCH results in a file descriptor that can
1634 write and search permissions (like d-wx------ in "ls -l"),
1643 doesn't seem to make a performance difference in xz's usage.
1644 fdatasync() would need a build system check to support (old)
1654 Using fsync() was considered somewhere around 2009 and again in 2016 but
1658 Co-authored-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
1676 xz: Use "goto" for error handling in io_open_dest_real()
1687 lzma_str_to_filters() may call parse_lzma12_preset() in two ways. The
1698 xz: Error in --filters=FILTERS option:
1706 xz: Error in --filters=FILTERS option:
1723 xz: Fix getopt_long argument type in --filters*
1726 the argument) resulted in lzma_str_to_filters() being called with NULL
1727 as input string argument. The function handles it fine but xz passes
1731 xz: Error in --filters=FILTERS option:
1784 src/liblzma/check/crc32_arm64.h | 1 -
1785 src/liblzma/check/crc32_fast.c | 1 -
1786 src/liblzma/check/crc_common.h | 1 -
1795 It's a POSIX feature that isn't in standard C. It's not available on
1862 This supports up to Landlock ABI version 6. The current code in
1893 to check for -Wimplicit-fallthrough. Do it before checking for
1938 xzdec: Fix language in a comment
1953 in practice.
1977 It's the default in git-log. Specifying it explicitly is good in case
1996 xz man page: Describe the source file deletion in -z and -d options
2000 users in a hurry may skip reading DESCRIPTION. The default behavior
2001 is a bit dangerous, thus it's good to repeat in --compress and
2015 In the past, they haven't been in sync in development versions
2016 although they (of course) have been in stable releases.
2096 setting UNITY_BUILD to false in this case.
2111 Windows: Workaround a UTF-8 issue in Gettext's libintl_setlocale()
2114 not changed later, so the point (2) in the comment isn't a problem.
2142 In the commit 78868b6e, the explanation in the commit message is wrong.
2227 The filename printed by "xz --robot --list" (in list.c) is also masked.
2272 Thanks to Christian Weisgerber for reporting a bug in an earlier
2292 isn't in the Translation Project *yet* because these strings
2307 Leading spaces in the string can get miscounted by translators.
2372 Build: Sort filenames to ASCII order in Makefile.am
2383 It's a new function split from tuklib_mbstr_width().
2403 tuklib_mbstr_width: Don't mention shift states in the API docs
2417 This should make no difference in practice (at least if mbrtowc()
2430 that one byte == one column in the terminal. Now it is assumed that
2437 those three translations in xz are broken on Windows with the
2438 UTF-8 code page. Broken means that column headings in xz -lvv and
2439 (only in the master branch) strings in --long-help are misaligned,
2456 in the past. On Windows with UTF-8 in the application manifest,
2460 properly in Command Prompt unless one first uses "chcp 65001"
2464 print correctly in Command Prompt without using "chcp 65001",
2500 MAX_PATH issue in FindFirstFileA().
2529 These occurred because the install(FILES) command in
2553 liblzma: Fix incorrect macro name in a comment
2565 license-check.sh: Add an exception for doc/SHA256SUMS
2569 build-aux/license-check.sh | 1 +
2591 SHA256SUMS could be put on the project website but having it in
2608 One of the reasons to have this file in the xz repository was to
2609 show vulnerability reporting info in the Security section on GitHub.
2615 GitHub shows that file in all projects in the organization unless
2622 in the xz repo. Information how to report bugs (including security
2623 issues) is available in README and on the home page too.
2628 the organization-wide SECURITY.md. Thus, the file isn't needed in the
2629 xz repository to score points in the Scorecard game:
2652 liblzma: Optimize the loop conditions in BCJ filters
2690 fix the "externally managed" pip error in these jobs that started
2715 include(CMakePushCheckState) in top-level CMakeLists.txt
2751 license-check.sh: Add an exception for w32_application.manifest
2756 build-aux/license-check.sh | 1 +
2763 Windows: Embed an application manifest in the EXE files
2779 in the current legacy code page (except unpaired surrogates).
2780 The UTF-8 code page also fixes security issues in command line
2803 Windows: Set DLL name accurately in StringFileInfo on Cygwin and MSYS2
2805 Now the information in the "Details" tab in the file properties
2833 for Cygwin or MSYS2 because in that context it should be useless.
2913 was written in 2005, over 19 years ago.
2951 Build: Fix a typo in autogen.sh
2969 - Missing "OPTS" translation in --riscv[=OPTS] was copied from
2988 to match the changes in fccebe2b4fd513488fc920e4dac32562ed3c7637
2989 and 093490b58271e9424ce38a7b1b38bcf61b9c86c6. xz.pot in the TP
3043 liblzma: Fix x86-64 movzw compatibility in range_decoder.h
3045 Support for instruction "movzw" without suffix in "GNU as" was
3046 added in commit [1] and stabilized in binutils 2.27, released
3047 in August 2016. Earlier systems don't accept this instruction
3098 src/liblzma/check/crc32_arm64.h | 15 ---------------
3099 src/liblzma/check/crc_common.h | 1 -
3147 it allows compressing small files in parallel. An example for that
3148 has been included in the xz man page since 2010.
3157 Document --disable-loongarch-crc32 in INSTALL
3171 building shared liblzma and pthread_sigmask() wasn't in libc.
3209 in some situations.
3239 wasn't at least 3.20, the configuration would fail in a cryptic way.
3244 only result in a warning.
3284 support wasn't actually enabled in the executables.
3307 The crc.w.{b/h/w/d}.w instructions in LoongArch can calculate the CRC32
3308 result for 1/2/4/8 bytes in a single operation. Using these is much
3323 src/liblzma/check/Makefile.inc | 3 +-
3324 src/liblzma/check/crc32_fast.c | 2 ++
3325 src/liblzma/check/crc32_loongarch.h | 65 +++++++++++++++++++++++++++++++++++++
3326 src/liblzma/check/crc_common.h | 15 +++++++++
3337 src/liblzma/check/crc32_arm64.h | 54 ++++++++++++++++++++++++++++++-----------
3346 This addresses the issue I mentioned in
3361 at that point in configure. But prepending is the correct way
3362 because in general the libraries being added might require other
3372 Build: Use AC_LINK_IFELSE to handle implicit function declarations
3374 It's more robust in case the compiler allows pre-C99 implicit function
3376 implicit function, the linking step will very probably fail. This
3377 isn't the only way to workaround implicit function declarations but
3380 The problem hasn't been observed in the wild.
3382 There are a couple more AC_COMPILE_IFELSE uses in configure.ac.
3383 Of these, Landlock check calls prctl() and in theory could have
3384 the same problem. In practice it doesn't as the check program
3390 have worked all these years because those check programs rely
3393 similar to the ones in cmake/tuklib_*.cmake which always link.
3407 warn about the unsupported attribute and implicit function declaration.
3409 the symbol __crc32d is unlikely to exist in libc.
3411 Note that the other part of the check is that #include <arm_acle.h>
3415 Avoiding -Werror makes the check more robust in case CFLAGS contains
3416 warning flags that break -Werror anyway (but this isn't the only check
3417 in configure.ac that has this problem). Using AC_LINK_IFELSE also makes
3418 the check more similar to how it is done in CMakeLists.txt.
3427 Build: Sync the compile check changes from CMakeLists.txt
3429 It's nice to keep these in sync. The use of main() will later allow
3449 in Libs.private because on modern glibc the pthread functions
3450 are in libc. The options options aren't required to link static
3454 lib/cmake/liblzma-*.cmake files. This means that on most
3471 so that if .in.h changes the copying is done again.
3482 It was weird to add CMAKE_THREAD_LIBS_INIT in CMAKE_REQUIRED_LIBRARIES
3484 the thread libs from CMAKE_REQUIRED_LIBRARIES after the check for
3486 Then it's ready in case more pthread functions were wanted some day.
3520 tries to check if somefunction() is available when <someheader.h>
3529 isn't available in libc or other library being linked in, and then
3533 Shouldn't the test fail in the compilation phase already? It should
3535 prohibit implicit function declarations. Instead such compilers
3543 they might get optimized away but in that case it's fine because they
3576 CMake: Fix a typo in a message
3587 Document CMake options in INSTALL
3615 was fixed in version 2022-05-08. It results in a wrong configure
3633 The old method put it in CFLAGS which is a wrong place because
3648 The syntax in ci_build.bash was broken in case one wished to put
3649 spaces in CC.
3697 be moved their own crc_macros.h like they were in 5.2.x but in practice
3700 src/liblzma/check/crc_common.h | 62 ++++++++++++++++++++++++++++--------------
3710 are private to the CRC code. In contrast, the other things in
3711 check.h are needed in several places.
3713 src/liblzma/check/check.h | 18 ------------------
3714 src/liblzma/check/crc32_small.c | 3 +++
3715 src/liblzma/check/crc_common.h | 18 ++++++++++++++++++
3730 Handle the CRC tables in crcXX_fast.c files because now these files
3740 because crc32_table.c included the lzma_crc32_table[][] in the build
3746 src/liblzma/check/Makefile.inc | 8 ++------
3747 src/liblzma/check/crc32_fast.c | 14 ++++++++++++-
3748 src/liblzma/check/crc32_table.c | 42 ---------------------------------------
3749 src/liblzma/check/crc32_x86.S | 14 +++++--------
3750 src/liblzma/check/crc64_fast.c | 18 +++++++++++++----
3751 src/liblzma/check/crc64_table.c | 37 ----------------------------------
3752 src/liblzma/check/crc64_x86.S | 14 +++++--------
3753 src/liblzma/check/crc_common.h | 18 +++++++++--------
3754 src/liblzma/check/crc_x86_clmul.h | 5 -----
3768 src/liblzma/check/crc32_fast.c | 6 +++---
3769 src/liblzma/check/crc64_fast.c | 6 +++---
3796 CI: Update to the new renamed options in CMakeLists.txt
3818 same as in configure.ac (check for pthreads before libmd) although
3819 it shouldn't matter in practice.
3840 CMake: Keep existing options in LIBS when adding -lrt
3928 --enable-symbol-versions in configure.ac.
3946 CMake: Use the same option list for XZ_THREADS as in configure.ac
3962 CMake: Use the same option list for XZ_SANDBOX as in configure.ac
3984 The list was copied from configure.ac and should be kept in sync.
3985 (Pretend that the deleted comment in CMakeLists.txt didn't exist.)
4030 Now "crc32" is in the list too for completeness but it doesn't
4127 LZMA Utils release was made in 2008 but these names are still used
4128 in some places to handle .lzma files.
4203 the package is used as a subproject in another package.
4205 in ccmake and cmake-gui.
4220 don't #include <pthread.h>. But <pthread.h> tends to be in the
4246 CMake: Use CMAKE_THREAD_LIBS_INIT in liblzma.pc only with pthreads
4248 This shouldn't make much difference in practice as on Windows
4268 CMake: Use native newlines in liblzma.pc
4271 use native newlines in liblzma.pc on Windows.
4280 CMake: Use relative paths in liblzma.pc if possible
4296 Revert "CMake: Set only "prefix" as an absolute path in liblzma.pc"
4314 On E2K the function compiles only due to compiler emulation but the
4315 function is never used. It's cleaner to omit the function when it's
4316 not needed even though it's a "static inline" function.
4320 src/liblzma/check/crc_x86_clmul.h | 4 ++++
4331 from folding four 16-byte chunks in parallel.
4335 needs to be in lzma_crc64() instead of crc64_arch_optimized().
4346 src/liblzma/check/crc64_fast.c | 8 +
4347 src/liblzma/check/crc_x86_clmul.h | 437 ++++++++++++++++++++------------------
4368 src/liblzma/check/crc32_fast.c | 2 +-
4369 src/liblzma/check/crc64_fast.c | 2 +-
4370 src/liblzma/check/crc_x86_clmul.h | 18 ++++++++++--------
4382 src/liblzma/check/crc_x86_clmul.h | 52 +++++++--------------------------------
4395 src/liblzma/check/crc_x86_clmul.h | 43 +++++++--------------------------------
4407 src/liblzma/check/Makefile.inc | 1 +
4408 src/liblzma/check/crc_clmul_consts_gen.c | 160 +++++++++++++++++++++++++++++++
4419 src/liblzma/check/crc32_fast.c | 21 ---------------------
4420 src/liblzma/check/crc64_fast.c | 5 -----
4421 src/liblzma/check/crc_common.h | 14 --------------
4422 src/liblzma/check/crc_x86_clmul.h | 9 +--------
4437 to write in assembly. Agner Fog's optimizing_assembly.pdf even mentions
4443 attributes which also look scary in the code. (Somehow they can look
4450 src/liblzma/check/crc_common.h | 9 ---------
4451 src/liblzma/check/crc_x86_clmul.h | 3 ---
4471 There is no need to make a similar change in configure.ac.
4512 liblzma: Fix a typo in a comment
4518 src/liblzma/check/crc_x86_clmul.h | 2 +-
4527 src/liblzma/check/crc_common.h | 6 +++---
4536 src/liblzma/check/crc32_table.c | 10 +++++-----
4537 src/liblzma/check/crc_x86_clmul.h | 6 +++---
4538 src/liblzma/check/sha256.c | 2 +-
4545 tuklib: __STDC_VERSION__ in C23 is 202311
4609 src/liblzma/check/crc32_arm64.h | 15 +++++++++++++++
4610 src/liblzma/check/crc_common.h | 1 +
4626 CMake: Include the "alpha" or "beta" suffix in PACKAGE_VERSION
4629 in full and also into liblzma.pc.
4642 liblzma_VERSION has never existed in the repository. xz_VERSION from
4646 The wrong variable did no harm in practice as PROJECT_VERSION
4658 CMake: Set only "prefix" as an absolute path in liblzma.pc
4670 CMake: Fix liblzma filename in Windows environments
4681 the "lib" prefix was correct already.
4686 lzma.lib instead of liblzma.lib. This is helpful when using pkgconf
4687 because "pkgconf --msvc-syntax --libs liblzma" outputs "lzma.lib"
4688 (it's converted from "-llzma" in liblzma.pc). It would be easy to
4689 keep the liblzma.lib naming but the pkgconf compatibility seems worth
4690 it in the long run. The lzma.lib name is compatible with MinGW-w64
4691 too as -llzma will find also lzma.lib.
4698 …2022 patch in vcpkg: https://github.com/microsoft/vcpkg/blob/0707a17ecf1466d64cf1a3c1ee18c8ff02aad…
4713 With /usr/xpg4/bin/tr it works but it might not be in PATH.
4723 - Use octals in tr -d. \012 works for ASCII "line feed", it's even
4724 used as an example in the Solaris man page. But we must strip
4728 won't be present in the string in the first place.
4732 in this commit are smaller and should have a smaller risk for
4780 There's no real value in doing it via commit for official GH actions. We
4871 list.c: In function 'print_totals_basic':
4889 license-check.sh: Fix reporting of unclear license info
4894 build-aux/license-check.sh | 4 ++--
4912 Now the files are in the new formatting without source file
5003 that the .po file really is in sync with the recent strings in
5004 the package. On the other hand, it added noise in form of changed
5005 files in the source tree and distribution tarballs. It can be
5007 it's still a minor annoyance *if* there's not enough value in
5011 update won't happen in "make dist" anymore. However, the "mydist"
5018 in the man page translations is never the only change in .po files.
5023 in po/xz.pot and po4a/xz-man.pot but those are just two files. Even they
5034 po4a/update-po: Disable wrapping in .pot and .po files
5039 This may reduce the noise in diffs too. When the beginning of
5041 in msgsid. Now it's just one very long line that changes when
5045 numbers don't exist in the .pot file due to --porefs file and thus
5055 Update contact info in README
5077 This is closer to the reality in the po/*.po files.
5086 license-check.sh: Use '--' with slightly untrusted filenames
5092 build-aux/license-check.sh | 6 +++---
5099 license-check.sh: Use xargs -0 instead of -d
5101 Neither are in POSIX but -0 is much more portable in practice.
5105 build-aux/license-check.sh | 11 ++++++-----
5145 Build: Use $(SHELL) instead of sh to run scripts in Makefile.am
5154 Translations: Change the home page URLs in man page translations
5158 and translated strings are identical in this case so it wouldn't
5203 Mention license-check.sh in COPYING
5212 Use more confident language in COPYING
5221 Build: Run license-check.sh in "mydist" and "dist-hook"
5223 In mydist the point is to check using the file list from the Git
5224 repository. In dist-hook it is to check that the TARBALL_IGNORE
5236 Add build-aux/license-check.sh
5238 This helps in spotting files that lack SPDX license identifier
5241 are in the Git repository are checked.
5246 build-aux/license-check.sh | 174 +++++++++++++++++++++++++++++++++++++++++++++
5278 The po4a directory is in EXTRA_DIST and thus all files there
5279 are included in the package. .gitignore doesn't belong in the
5305 This should help with Meson support because Meson's built-in
5321 in Meson, it results in clumsy code. Thus it's better to change
5322 the few places in the tests where this difference matters.
5324 [*] While most checks in Autoconf default to the second style above,
5350 They are now in the common build configurations.
5396 end up in the top-level build directory.
5399 are available. This will make this script usable from CMake in the
5403 directory of the test script must be a subdir in the build tree!
5406 Use the default check type instead of forcing CRC32 or CRC64.
5407 Now the script doesn't need to check if CRC64 is available.
5448 src/scripts/xzgrep.in | 2 +-
5477 byte shuffling in the xmm registers.
5483 the memory accesses in it too).
5492 xz: Document the static function get_chains_memusage()
5524 it was done in a more complex way for no clear reason. In case of
5529 amount of memory is now reported like in 5.4.x instead of like in
5531 had been a FIXME in the old code but it's not clear what message
5581 xz: Fix grammar in a comment
5612 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68.
5638 The reason is the same as in bd0782c1f13e52cd0fd8415208e30e47004a4c68.
5647 xz: Move the setting of "check" in coder_set_compression_settings()
5649 It's more logical to do it in the beginning instead of in the middle
5674 as an index as in chains[chain_idx].
5721 xz: Use the info collected in parse_block_list()
5733 xz: Remember the filter chains and the largest Block in parse_block_list()
5923 Don't mention the older versions in INSTALL.
6005 This was added to xz in 02e3505991233901575b7eabc06b2c6c62a96899
6006 but I forgot to do the same in xzdec.
6008 The Landlock sandbox in xzdec could be stricter as now it's
6021 liblzma: Fix incorrect function type error from sanitizer
6026 call to function encoder_find through pointer to incorrect
6027 function type 'const lzma_filter_coder *(*)(unsigned long)'
6031 Use a wrapper function to get the correct type neatly.
6035 methods that check the function type on indirect function calls.
6050 in the last iteration of a loop.
6070 This is disabled by default to match the default in Autotools.
6083 CMake: List API headers in LIBLZMA_API_HEADERS variable
6085 This way the same list will be usable in more than one location.
6096 Also add a note that packagers should check the licensing
6350 will fit in size_t.
6352 Putting the pre-increment in the if-statement was clearly wrong
6353 although in practice it didn't matter here as the function is
6397 in the API docs.
6473 (which would happen if the byteswapping is done in inline asm).
6475 bswap16, bswap32, and bswap64 exist in system headers on *BSDs
6476 and Darwin. #defining bswap16 on NetBSD results in a warning about
6489 src/liblzma/check/crc32_fast.c | 4 ++--
6490 src/liblzma/check/crc32_tablegen.c | 2 +-
6491 src/liblzma/check/crc64_fast.c | 4 ++--
6492 src/liblzma/check/crc64_tablegen.c | 2 +-
6593 simply {} which is allowed only in GNU-C and C23.
6699 signals.c: In function 'signals_init':
6773 ci: build in parallel by default
6785 with Valgrind. Just always start with -O2 if CFLAGS isn't set in the
6810 I made in Meson for this in October [0].
6850 src/liblzma/check/crc32_table.c | 10 ++++------
6851 src/liblzma/check/crc64_table.c | 4 ++--
6852 src/liblzma/check/crc_common.h | 5 +++--
6866 src/liblzma/check/crc32_table.c | 2 +-
6892 src/liblzma/check/crc32_arm64.h | 7 ++++---
6907 src/liblzma/check/crc32_arm64.h | 6 ++++--
6920 src/liblzma/check/crc32_arm64.h | 2 +-
6929 src/liblzma/check/crc32_arm64.h | 10 +++++-----
6958 relied on the ifunc code. Instead, the reason is that in this
6967 src/liblzma/check/crc32_fast.c | 48 +++---------------------
6968 src/liblzma/check/crc64_fast.c | 21 -----------
6969 src/liblzma/check/crc_common.h | 9 +----
6970 src/liblzma/check/crc_x86_clmul.h | 11 +-----
7112 Remove the backdoor found in 5.6.0 and 5.6.1 (CVE-2024-3094).
7118 - The executable payloads were embedded as binary blobs in
7123 noticeably increased CPU load, resulting in degraded user experience
7135 8c9b8b20 liblzma: Fix typos in crc32_fast.c and crc64_fast.c.
7138 3060e107 Tests: Use smaller dictionary size in RISC-V test files.
7149 src/liblzma/check/crc32_fast.c | 7 +++++--
7150 src/liblzma/check/crc64_fast.c | 4 +++-
7151 src/liblzma/check/crc_common.h | 25 -------------------------
7167 CMake: Fix sabotaged Landlock sandbox check.
7258 - the compiler cannot handle the assembler code in range_decoder.h
7261 vectorization is enabled, which results in failed tests.
7319 for the linux versioning), the latter might help in overriding
7320 the assumptions made in the configure script.
7355 To better reproduce these files in the future, a constant seed was used
7368 The first stream in this file is valid, so this tests that xz properly
7390 liblzma: Fix typos in crc32_fast.c and crc64_fast.c.
7392 src/liblzma/check/crc32_fast.c | 4 ++--
7393 src/liblzma/check/crc64_fast.c | 3 +--
7400 Tests: Replace HAVE_MICROLZMA usage in CMake and Autotools builds.
7420 The IFUNC resolver is a leaf function since it only calls a function
7422 in the resolver unless this optimization is explictly disabled.
7426 src/liblzma/check/crc32_fast.c | 9 +++------
7427 src/liblzma/check/crc64_fast.c | 7 +++----
7428 src/liblzma/check/crc_common.h | 25 +++++++++++++++++++++++++
7435 liblzma: Fix a typo in a comment in the RISC-V filter.
7447 workaround the GCC bug and for his version of the patch in Gentoo.
7449 src/liblzma/check/crc32_fast.c | 5 +++++
7450 src/liblzma/check/crc64_fast.c | 3 +++
7460 resolver works around a bug in GCC -fprofile-generate:
7482 liblzma: Fix a comment in the RISC-V filter.
7547 Fix sorting in THANKS.
7565 xz: Add missing RISC-V on the filter list in the man page
7576 Build: Fix Linux Landlock feature test in Autotools and CMake builds.
7604 Tests: Correct license header in test_microlzma.c.
7613 Fix typos in NEWS and CMakeLists.
7628 Once again there is no API/ABI stability for new features in devel
7667 This will be fixed in the next round of translations, but this avoids
7680 xzmore: Fix typo in xzmore.1.
7756 Old versions of Clang reported the unsupported function attribute and
7757 __crc32d() function as warnings instead of errors, so the feature test
7774 LOCALEDIR may contain spaces like in "C:\Program Files".
7810 liblzma: Disable branchless C version in range decoder.
7831 Windows: build.bash: Include COPYING.0BSD in the package.
7840 Windows: build.bash: include liblzma-crt-mixing.txt in the package.
7884 be in PATH to build both 32-bit and 64-bit versions.
7992 attribute was added in 2007 to Sun Studio 12 compiler version 5.9.
8019 CMake: Use -O2 instead of -O3 in CMAKE_BUILD_TYPE=Release.
8028 This commit changes -O3 to -O2 in CMAKE_C_FLAGS_RELEASE if and only if
8051 CMake: Keep build working even if lib/*.[ch] are removed.
8128 PACKAGE_VERSION was already used in liblzma.pc.in.
8131 src/scripts/xzdiff.in | 2 +-
8132 src/scripts/xzgrep.in | 2 +-
8133 src/scripts/xzless.in | 2 +-
8134 src/scripts/xzmore.in | 2 +-
8145 exist (a requirement on Windows in some cases).
8150 slower in "make install". 3.14 should be a reasonable version
8163 If gettext tools are available, the .po files listed in po/LINGUAS
8168 in the "po" directory will be used. This allows CMake-based build
8235 Landlock is now always used just like pledge(2) is: first in more
8236 permissive mode and later (under certain common conditions) in
8239 I put pledge(2) first in sandbox.c because it's the simplest API
8284 Dirs first, then files in case-sensitive ASCII order.
8332 liblzma: Avoid implementation-defined behavior in the RISC-V filter.
8352 Author: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
8357 The x32 port has a x86-64 ABI in term of all registers but uses only
8362 Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
8407 Translations: Use the same sentence in xz.pot-header that the TP uses.
8466 are available in clang-cl as well (and possibly in some other
8534 liblzma: Silence warnings in --enable-small build.
8553 Docs: List COPYING.0BSD in README.
8562 Docs: Include doc/examples/11_file_info.c in tarballs.
8564 It was added in 2017 in c2e29f06a7d1e3ba242ac2fafc69f5d6e92f62cd
8618 src/scripts/xzdiff.in | 14 +++++++++-----
8620 src/scripts/xzgrep.in | 1 +
8744 It's not completely obvious if this is better in the decoder.
8775 The new decoder resumes the first decoder loop in the Resumable mode.
8776 Then, the code executes in Non-resumable mode until it detects that it
8782 it jumps back to the correct sequence in the Resumable mode code.
8786 for the compiler to optimize since it is in a large switch block.
8802 now the default behavior of the range decoder will not check if there is
8823 in the browser history.
8825 Since the footer links to the license file in the same
8836 Tweak the expressions in AUTHORS.
8848 in the header comments of the translated files.
8862 it was never added to po/POTFILES.in so the messages weren't
8865 This also adds src/xz/mytime.c to po/POTFILES.in although there
8869 po/POTFILES.in | 2 ++
8913 xz-man.pot contains strings from all man pages in XZ Utils.
8919 I haven't liked this mixing in xz-man.pot but the
8921 in the same .pot file. So a separate xz-man-gpl.pot
8932 in the commit d796b6d7fdb8b7238b277056cf9146cce25db604 so that's
8982 src/liblzma/check/crc32_table_be.h | 4 +++-
8983 src/liblzma/check/crc32_table_le.h | 4 +++-
8984 src/liblzma/check/crc32_tablegen.c | 16 ++++++++++------
8985 src/liblzma/check/crc64_table_be.h | 4 +++-
8986 src/liblzma/check/crc64_table_le.h | 4 +++-
8987 src/liblzma/check/crc64_tablegen.c | 8 +++++---
9015 lib/Makefile.am | 2 ++
9016 lib/getopt-cdefs.h | 2 ++
9017 lib/getopt-core.h | 2 ++
9018 lib/getopt-ext.h | 2 ++
9019 lib/getopt-pfx-core.h | 2 ++
9020 lib/getopt-pfx-ext.h | 2 ++
9021 lib/getopt.c | 2 ++
9022 lib/getopt.in.h | 2 ++
9023 lib/getopt1.c | 2 ++
9024 lib/getopt_int.h | 2 ++
9030 src/scripts/xzdiff.in | 1 +
9032 src/scripts/xzgrep.in | 1 +
9033 src/scripts/xzless.in | 1 +
9035 src/scripts/xzmore.in | 1 +
9086 po/POTFILES.in | 2 ++
9116 src/liblzma/api/lzma/check.h | 2 ++
9127 src/liblzma/check/Makefile.inc | 4 ++--
9128 src/liblzma/check/check.c | 2 ++
9129 src/liblzma/check/check.h | 2 ++
9130 src/liblzma/check/crc32_arm64.h | 2 ++
9131 src/liblzma/check/crc32_fast.c | 2 ++
9132 src/liblzma/check/crc32_small.c | 2 ++
9133 src/liblzma/check/crc32_table.c | 2 ++
9134 src/liblzma/check/crc32_tablegen.c | 2 ++
9135 src/liblzma/check/crc32_x86.S | 2 ++
9136 src/liblzma/check/crc64_fast.c | 2 ++
9137 src/liblzma/check/crc64_small.c | 2 ++
9138 src/liblzma/check/crc64_table.c | 2 ++
9139 src/liblzma/check/crc64_tablegen.c | 2 ++
9140 src/liblzma/check/crc64_x86.S | 2 ++
9141 src/liblzma/check/crc_common.h | 2 ++
9142 src/liblzma/check/crc_x86_clmul.h | 2 ++
9143 src/liblzma/check/sha256.c | 2 ++
9217 src/liblzma/liblzma.pc.in | 3 +--
9427 src/liblzma/api/lzma/check.h | 3 -
9438 src/liblzma/check/Makefile.inc | 3 -
9439 src/liblzma/check/check.c | 3 -
9440 src/liblzma/check/check.h | 3 -
9441 src/liblzma/check/crc32_arm64.h | 3 -
9442 src/liblzma/check/crc32_fast.c | 3 -
9443 src/liblzma/check/crc32_small.c | 3 -
9444 src/liblzma/check/crc32_table.c | 3 -
9445 src/liblzma/check/crc32_tablegen.c | 3 -
9446 src/liblzma/check/crc32_x86.S | 3 -
9447 src/liblzma/check/crc64_fast.c | 3 -
9448 src/liblzma/check/crc64_small.c | 3 -
9449 src/liblzma/check/crc64_table.c | 3 -
9450 src/liblzma/check/crc64_tablegen.c | 3 -
9451 src/liblzma/check/crc64_x86.S | 3 -
9452 src/liblzma/check/crc_common.h | 3 -
9453 src/liblzma/check/crc_x86_clmul.h | 3 -
9454 src/liblzma/check/sha256.c | 3 -
9528 src/liblzma/liblzma.pc.in | 3 -
9653 in 2007 had a comment in sha256.c that the code is based on
9654 Crypto++ Library 5.5.1. In 2009 the Authors list in sha256.c
9662 when checking for author info in Crypto++. The shacal2.* files
9664 code in Crypto++ isn't either.
9667 src/liblzma/check/sha256.c | 14 ++++----------
9676 It was last updated in 2013.
9688 It was good to keep these around in parallel with the newer examples
9700 Tests: Add RISC-V filter support in a few places.
9749 xzless: Use ||- in LESSOPEN with with "less" 451 and newer.
9751 src/scripts/xzless.in | 9 ++++++++-
9762 src/scripts/xzless.in | 11 +++++++++--
9771 src/liblzma/check/crc32_arm64.h | 2 +-
9877 liblzma: Update Authors list in crc32_arm64.h.
9879 src/liblzma/check/crc32_arm64.h | 1 +
9893 src/liblzma/check/crc32_table.c | 4 ++--
9906 src/liblzma/check/crc64_table.c | 4 ++--
9913 liblzma: Only use ifunc in crcXX_fast.c if its needed.
9917 function calls for runtime detection.
9919 src/liblzma/check/crc32_fast.c | 6 +++---
9920 src/liblzma/check/crc64_fast.c | 6 +++---
9941 src/liblzma/check/crc32_table.c | 18 +++++++++++++++---
9942 src/liblzma/check/crc64_table.c | 7 ++++++-
9943 src/liblzma/check/crc_common.h | 5 ++++-
9958 * Added MSVC, FreeBSD, and macOS support in
9968 * Use the intrinsic wrappers defined in <arm_acle.h> because GCC and
9974 src/liblzma/check/Makefile.inc | 2 +-
9975 src/liblzma/check/crc32_aarch64.h | 109 ----------------------------------
9976 src/liblzma/check/crc32_arm64.h | 119 ++++++++++++++++++++++++++++++++++++++
9977 src/liblzma/check/crc32_fast.c | 3 +-
9978 src/liblzma/check/crc64_fast.c | 3 -
9996 src/liblzma/check/crc32_fast.c | 8 +--
9997 src/liblzma/check/crc64_fast.c | 8 +--
9998 src/liblzma/check/crc_common.h | 108 ++++++++++++++++++++++++++++-------------
10030 The CRC32 instructions in ARM64 can calculate the CRC32 result
10031 for 8 bytes in a single operation, making the use of ARM64
10040 src/liblzma/check/Makefile.inc | 3 +-
10041 src/liblzma/check/crc32_aarch64.h | 109 ++++++++++++++++++++++++++++++++++++++
10042 src/liblzma/check/crc32_fast.c | 5 +-
10043 src/liblzma/check/crc64_fast.c | 5 +-
10044 src/liblzma/check/crc_common.h | 16 +++---
10082 The footer isn't a complete HTML file so having it in the doxygen
10131 link in the documentation can be local.
10149 can be decompressed in threaded mode.
10158 multiple xz processes in parallel to compress multiple files.
10182 Tests: Use smaller dictionary size in RISC-V test files.
10213 it's better to read only one byte in the main loop. This can
10230 will be able to support this filter. 5.6.0 looks nicer in the output and
10231 people shouldn't be encouraged to use an unstable version in production
10232 in any way.
10243 These test files achieve 100% code coverage in
10256 xz: Update message in --long-help for RISC-V Filter.
10268 compressed instruction extension is not present in a RISC-V binary.
10277 Tests: Add RISC-V Filter test in test_compress.sh.
10331 The new RISC-V filter was added to the specification, in addition to
10341 xz: Update website URLs in the man pages.
10387 src/liblzma/check/crc_x86_clmul.h | 6 ++++++
10396 Now crc_simd_body() in crc_x86_clmul.h is only called once
10397 in a translation unit, we no longer need to be so cautious
10400 src/liblzma/check/crc_common.h | 20 --------------------
10401 src/liblzma/check/crc_x86_clmul.h | 2 +-
10410 src/liblzma/check/crc32_fast.c | 16 ++++++++--------
10411 src/liblzma/check/crc64_fast.c | 10 +++++-----
10432 src/liblzma/check/crc32_fast.c | 13 +++++++------
10433 src/liblzma/check/crc64_fast.c | 13 +++++++------
10434 src/liblzma/check/crc_common.h | 9 ++++++---
10435 src/liblzma/check/crc_x86_clmul.h | 21 +++++++++++----------
10442 liblzma: Fix a comment in crc_common.h.
10444 src/liblzma/check/crc_common.h | 3 ++-
10478 Now all x86-specific stuff is in crc_x86_clmul.h. If other archs
10485 is_clmul_supported() stays as inline function as it's not needed
10486 when doing a CLMUL-only build (avoids a warning about unused function).
10490 src/liblzma/check/Makefile.inc | 6 +-
10491 src/liblzma/check/crc32_fast.c | 9 ++-
10492 src/liblzma/check/crc64_fast.c | 9 ++-
10493 src/liblzma/check/crc_common.h | 64 ----------------
10494 src/liblzma/check/{crc_clmul.c => crc_x86_clmul.h} | 86 ++++++++++++++++++----
10505 src/liblzma/check/crc_clmul.c | 30 ++++++++++++++++--------------
10514 src/liblzma/check/crc_clmul.c | 12 +++---------
10521 liblzma: #define crc_attr_no_sanitize_address in crc_common.h.
10523 src/liblzma/check/crc_common.h | 10 ++++++++++
10534 src/liblzma/check/crc32_fast.c | 2 ++
10535 src/liblzma/check/crc64_fast.c | 3 +++
10536 src/liblzma/check/crc_clmul.c | 1 -
10545 It makes no difference in practice.
10547 src/liblzma/check/crc_clmul.c | 4 ++--
10563 liblzma: Use 8-byte method in memcmplen.h on ARM64.
10566 and a fast instruction to count leading zeros in
10585 liblzma: Check also for __clang__ in memcmplen.h.
10608 This comment is repeated in xzdec.c to help remind us why all the
10609 capabilities are removed from stdin in certain situations.
10618 Docs: Update --enable-sandbox option in INSTALL.
10632 in just the xz section. xz and xzdec are always built, except for older
10691 liblzma: Set all values in lzma_lz_encoder to NULL after allocation.
10695 However the function pointer members must be set to NULL since other
10700 set_out_limit() function pointers are not set to NULL. This seems to
10701 have been forgotten since these function pointers were added many years
10706 on a LZMA1 encoder. The function pointer for set_out_limit() is less
10707 serious because there is not an API function that could call this in an
10716 This is unlikely to be a bug in an existing application since it relies
10717 on calling lzma_filters_update() on an LZMA1 encoder in the first place.
10723 here in the future if any additional function pointers are added.
10741 liblzma: Make parameter names in function definition match declaration.
10755 liblzma: Improve lzma encoder init function consistency.
10757 lzma_encoder_init() did not check for NULL options, but
10769 Docs: Update repository URL in Changelog.
10830 - Using the return value in the error messages in the fuzz targets'
10863 is used to dynamically set the preset level in order to increase the
11020 additional checks in this program if glibc is being used or if it
11042 xz: Use is_tty() in message.c.
11051 xz: Create separate is_tty() function.
11088 xz: Move the check for --suffix with --format=raw a few lines earlier.
11106 and to hopefully avoid further regressions in the future.
11116 xz: Fix a bug with --files and --files0 in raw mode without a suffix.
11123 being checked when compressing or decompressing in raw mode without a
11126 data is only coming from standard in. In this case, there were no file
11127 names to check since --files and --files0 store their file name in a
11131 Now, the above command results in an error.
11140 Tests: Fix typo in a comment.
11153 type. The following needs to result in an error:
11167 xz: Move suffix check after stdout mode is detected.
11169 This fixes a bug introduced in cc5aa9ab138beeecaee5a1e81197591893ee9ca0
11170 when the suffix check was initially moved. This caused a situation that
11189 filenames are "-" (denoting standard in) or if no filenames are
11237 Build: Fix text wrapping in an output message.
11252 src/liblzma/check/crc_common.h | 5 +++++
11259 liblzma: Use lzma_always_inline in memcmplen.h.
11268 liblzma: #define lzma_always_inline in common.h.
11279 These variables are internal to liblzma and not exposed in the API.
11281 src/liblzma/check/check.h | 7 +++++++
11292 liblzma: #define lzma_attr_visibility_hidden in common.h.
11305 When accessing extern variables that aren't defined in the
11308 function calls, linker cannot optimize this.
11312 needed because the definition is in the same shared library.
11315 the CRC tables would be defined in the same translation unit
11332 liblzma: Refer to MinGW-w64 instead of MinGW in the API headers.
11338 Thus it seems clearer to refer to MinGW-w64 in our API headers too.
11340 in the recent years.
11369 in liblzma.pc. CMake doesn't use -pthread at all if pthread functions
11370 are available in libc so Libs.private doesn't get -pthread either.
11393 liblzma: Add Cflags.private to liblzma.pc.in for MSYS2.
11401 src/liblzma/liblzma.pc.in | 1 +
11441 Build: Detect -fsanitize= in CFLAGS and incompatible build options.
11443 Now configure will fail if -fsanitize= is found in CFLAGS
11461 CI: Disable sandboxing in fsanitize=address,undefined job.
11467 needs to read additional files after the sandbox is in place. This
11478 CI: Allow disabling the sandbox in ci_build.sh.
11515 Landlock was added in Linux 5.13.
11546 configuration log will be generated in case someone wishes to
11624 See the new comment in the code.
11626 This also makes the check for clock_gettime() run with MinGW-w64
11639 This commit alone doesn't change anything in the real-world:
11644 - CMakeLists.txt doesn't check for clock_gettime() on Windows.
11649 gettimeofday() in this sense. But clock_gettime() is defined
11650 in winpthreads, and liblzma or xz needs nothing else from
11656 is more than good enough for the progress indicator in xz.
11679 caused a problem when the function call to lzma_is_clmul_supported()
11680 results in a call through the PLT. ifunc resolvers run very early in
11687 for function calls internal to liblzma if the version scripts and
11690 dynamic loading in the ifunc resolver.
11692 src/liblzma/check/crc32_fast.c | 2 +-
11693 src/liblzma/check/crc64_fast.c | 2 +-
11694 src/liblzma/check/crc_clmul.c | 45 ------------------------------------
11695 src/liblzma/check/crc_common.h | 52 +++++++++++++++++++++++++++++++++++++++---
11702 Build: Remove check for COND_CHECK_CRC32 in check/Makefile.inc.
11706 compile check/crc_clmul.c appear wrong since that file has CLMUL
11709 src/liblzma/check/Makefile.inc | 4 ++--
11739 keep __attribute__((__no_sanitize_address__)) on crc_simd_body() in
11740 case this becomes a requirement in the future.
11742 Older GCC versions refuse to inline a function with ASAN if the
11745 function was forced to be inlined, it will not compile if the callee
11746 function has __no_sanitize_address__ but the caller doesn't.
11748 src/liblzma/check/crc_clmul.c | 6 ++++++
11767 POWER8 supports unaligned access in little endian mode. Testing
11771 in any stable compiler release yet.
11773 Documentation in INSTALL was updated to match.
11791 unaligned reads and writes aren't used in hot code
11816 src/liblzma/check/crc_clmul.c | 30 +++++++++++++++---------------
11825 src/liblzma/check/crc_common.h | 4 +++-
11832 liblzma: Include common.h in crc_common.h.
11837 src/liblzma/check/crc_clmul.c | 1 -
11838 src/liblzma/check/crc_common.h | 3 +++
11847 src/liblzma/check/crc_common.h | 5 +++++
11858 inline this function since it is large and is used twice in the same
11861 src/liblzma/check/crc_clmul.c | 2 +-
11874 It does not use a build system check to determine if
11877 attribute. If this assumption is incorrect then it will result in a bug
11880 src/liblzma/check/crc_common.h | 15 +++++++++++++++
11890 duplicated comments now only appear in crc32_fast.c or were removed from
11891 both crc32_fast.c and crc64_fast.c if they appeared in crc_clmul.c.
11893 src/liblzma/check/crc32_fast.c | 64 +++++++++++++++++++++++++++++-------------
11894 src/liblzma/check/crc64_fast.c | 61 ++++++----------------------------------
11910 Before, CLMUL code was present in crc32_fast.c, crc64_fast.c, and
11927 src/liblzma/check/Makefile.inc | 3 +
11928 src/liblzma/check/crc32_fast.c | 120 +-----------
11929 src/liblzma/check/crc64_fast.c | 128 +------------
11930 src/liblzma/check/crc_clmul.c | 414 +++++++++++++++++++++++++++++++++++++++++
11931 src/liblzma/check/crc_common.h | 190 +------------------
11938 liblzma: Define CRC_USE_IFUNC in crc_common.h.
11941 repeating the more complex check in both crc32_fast.c and crc64_fast.c.
11943 src/liblzma/check/crc32_fast.c | 3 +--
11944 src/liblzma/check/crc64_fast.c | 3 +--
11945 src/liblzma/check/crc_common.h | 5 +++++
11954 src/liblzma/check/crc32_fast.c | 247 ++++++++++++++++++++++++++++++++++++++--
11955 src/liblzma/check/crc32_table.c | 19 +++-
11966 src/liblzma/check/crc64_fast.c | 257 ++---------------------------------------
11967 src/liblzma/check/crc_common.h | 230 +++++++++++++++++++++++++++++++++++-
11977 src/liblzma/check/Makefile.inc | 2 +-
11978 src/liblzma/check/crc32_fast.c | 2 +-
11979 src/liblzma/check/crc64_fast.c | 2 +-
11980 src/liblzma/check/{crc_macros.h => crc_common.h} | 2 +-
11987 CI: Bump and ref actions by commit SHA in windows-ci.yml
11989 …Referencing actions by commit SHA in GitHub workflows guarantees you are using an immutable versio…
12013 CI: Bump and ref actions by commit SHA in ci.yml
12015 …Referencing actions by commit SHA in GitHub workflows guarantees you are using an immutable versio…
12039 and function bodies were added to avoid unnecessary failures with
12063 The workaround must not be used with Clang that is acting in
12079 lld 17.0.1 searches for libraries to link first in the toolchain
12081 for us because liblzma.a is installed in MSYS2 CLANG64 by default and
12088 liblzma code in static builds. The CLANG64 environment can be tested
12104 Unix-like systems since the xz symlinks were introduced in
12132 16.x releases. So we can simply check for >= 17.0.0.
12155 src/liblzma/check/crc64_table.c | 3 +--
12170 src/liblzma/check/crc64_table.c | 3 +--
12177 Build: Update the comment about -Werror usage in checks.
12196 This is not a full fix as things like -Wunused-macros in
12210 It made no practical difference in this case.
12229 would mean that only the exact code included in the
12272 libgnu.a or have /lib in the include path.
12281 CMake: Remove /lib from tests include path.
12283 The tests never included anything from /lib, so this was not needed.
12294 src/scripts/xzdiff.in | 2 +-
12295 src/scripts/xzgrep.in | 2 +-
12350 been changed in various apps over the years including the GNU tools.
12361 lib: Silence -Wsign-conversion in getopt.c.
12363 lib/getopt.c | 6 +++---
12382 CMake: Add /lib to include path.
12400 lib: Update Makefile.am for new header files.
12402 lib/Makefile.am | 12 +++++++++++-
12409 lib: Update getopt1.c from Gnulib.
12414 lib/getopt1.c | 56 ++++++++++++++++++++++----------------------------------
12421 lib: Update getopt.in.h from Gnulib with modifications.
12434 lib/getopt.in.h | 228 +++++++-------------------------------------------------
12441 lib: Update getopt_int.h from Gnulib.
12443 lib/getopt_int.h | 109 ++++++++++++++++++++++++-------------------------------
12450 lib: Update getopt.c from Gnulib with modifications.
12459 lib/getopt.c | 1134 +++++++++++++++++++---------------------------------------
12466 lib: Add getopt-cdefs.h for getopt_long update.
12475 lib/getopt-cdefs.h | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
12482 lib: Copy new header files from Gnulib without modification.
12485 getopt.in.h into more modular header files. We could have kept
12486 everything in just getopt.in.h, but this will help us continue to update
12487 in the future.
12489 lib/getopt-core.h | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++
12490 lib/getopt-ext.h | 77 +++++++++++++++++++++++++++++++++++++++++
12491 lib/getopt-pfx-core.h | 66 +++++++++++++++++++++++++++++++++++
12492 lib/getopt-pfx-ext.h | 70 +++++++++++++++++++++++++++++++++++++
12547 continuing. DOS/DJGPP version had a check for this but
12633 This also drops the check for _WIN32 as that shouldn't be needed.
12642 CMake: Add support for replacement getopt_long (lib/getopt*).
12669 lib/getopt*.c: Include <config.h> only HAVE_CONFIG_H is defined.
12673 Up-to-date getopt_long in Gnulib is LGPLv2 so at some
12674 point it could be included in XZ Utils too but for now
12677 lib/getopt.c | 4 +++-
12678 lib/getopt1.c | 4 +++-
12694 liblzma: Move a few __attribute__ uses in function declarations.
12714 This commit also moves all other function attributes to
12715 the beginning of function declarations. "extern" is kept
12741 so aliasing issues could happen in theory.
12744 Now there are no __malloc__ attributes left in the code.
12745 The allocations aren't in hot paths so this should make
12773 with the check for __STDC_VERSION__ >= 201112.
12775 - When MSVC isn't in C11/C17 mode, __declspec(noreturn) is used.
12822 MSVC: xz: Use _stricmp() instead of strcasecmp() in suffix.c.
12861 lib/getopt.c | 4 +++-
12862 lib/getopt.in.h | 4 +++-
12880 CI: Enable CLMUL in address sanitization test.
12882 The crc64_clmul() function should be ignored by the address sanitizer
12906 src/liblzma/check/crc64_fast.c | 8 ++++++++
12916 HAVE_CLOCK_MONOTONIC would not be set as compile definitions. The check
12930 added as a compile definition even if the check for it failed.
12945 problems in some cases).
12967 Tests: Improve invalid unpadded size check in test_lzma_index_append().
12969 This check was extended to test the code added to fix a failing assert
12970 in ae5c07b22a6b3766b84f409f1b6b5c100469068a.
12979 Tests: Improve comments in test_index.c.
12997 liblzma: Update assert in vli_ceil4().
13001 are invalid arguments. All uses of the function ensure this so the
13011 liblzma: Add overflow check for Unpadded size in lzma_index_append().
13014 UINT64_MAX in lzma_index_append() or when it calls index_file_size().
13015 The bug was discovered by a failing assert() in vli_ceil4() when called
13020 than UNPADDED_SIZE_MAX, but no check was done once compressed_base was
13023 This could not have caused an integer overflow in index_file_size() when
13035 LZMA_VLI_MAX. This is guarenteed by overflow checks in the functions
13109 mythread.h: Fix typo error in Vista threads mythread_once().
13128 It should help prevent silly errors and fix up commits in the future.
13204 mythread.h: Disable signal functions in builds targeting Wasm + WASI.
13206 signal.h in WASI SDK doesn't currently provide sigprocmask()
13210 isn't (yet?) implemented in WASI SDK.
13226 Newline was accidentally removed in commit
13348 liblzma: Prevent an empty translation unit in Windows builds.
13353 not allowed by the C standard and result in a warning when used with
13386 unless the workflow is checked on the default branch so checking in a
13409 Tests: Skip .lz files in test_files.sh if not configured.
13547 liblzma: Suppress -Wunused-function warning.
13549 Clang 16.0.0 and earlier have a bug that the ifunc resolver function
13550 triggers the -Wunused-function warning. The resolver function is static
13556 This is not a problem in GCC.
13558 src/liblzma/check/crc64_fast.c | 10 ++++++++++
13580 liblzma: Improve comment in string_conversion.c.
13592 xz: Translate the second "%s: " in message.c since French needs "%s : ".
13616 liblzma: Tweak #if condition in memcmplen.h.
13628 liblzma: Omit unnecessary parenthesis in a preprocessor directive.
13637 xz: Update Authors list in a few files.
13655 hopefully this information will help others with the same question in the
13679 xz: Fix typo in man page.
13695 * Reworded error message in validate_block_list_filter().
13696 * Removed helper function filter_chain_error().
13697 * Changed 1 << X to 1U << X in many places
13724 xz: Slight reword in xz man page for consistency.
13726 Changed will print => prints in xz --robot --version description to
13736 xz: Reorder robot mode subsections in the man page.
13739 are documented earlier in the man page. The new order is:
13768 --filters and --filtersX options. The message in --long-help is too
13771 In --robot mode, xz will only print the output from liblzma function
13806 xz: Ignore filter chains that are set but never used in --block-list.
13808 If a filter chain is set but not used in --block-list, it introduced
13810 compress, reducing the number of threads in multi-threaded encoding, and
13814 assumed to be used if it is specified in --filtersX until
13816 in --block-list.
13866 The block splitting logic and split_block() function are not needed if
13878 xz: Free filters[] in debug mode.
13881 default filter chain may be set from a static function variable. The
13894 --block-list is only supported with compression in xz format. This avoids
13931 xz: Use lzma_filters_free() in forget_filter_chain().
13936 is no need to terminate it later in coder_set_compression_settings().
13945 xz: Separate string to filter conversion into a helper function.
13957 Tests: Use new --filters option in test_compress.sh
13978 The --filters option uses the new lzma_str_to_filters() function
14001 there were known current bugs affecting it. This is just in case future
14025 extension and results in a build failure on MSVC. The -wpedantic flag
14044 Tests: Fix memory leaks in test_index.
14057 Tests: Fix memory leaks in test_block_header.
14070 liblzma: Prevent uninitialzed warning in mt stream encoder.
14073 for the wait_abs struct in stream_encode_mt() to be used before it was
14144 Docs: Document the configure option --disable-ifunc in INSTALL.
14165 It's so that there's a clear difference in wording compared
14166 to liblzma's integrity check types.
14177 The ifunc method avoids indirection via the function pointer
14183 liblzma with -fsanitize=address will result in segfaults.
14189 src/liblzma/check/crc64_fast.c | 35 ++++++++++++++++++++++++++---------
14196 Add ifunc check to CMakeLists.txt
14199 used in the build system. If so, HAVE_FUNC_ATTRIBUTE_IFUNC will be
14209 Add ifunc check to configure.ac
14211 configure.ac will now verify if __attribute__((__ifunc__())) can be used in
14244 Boost iostream uses `find_package` in quiet mode and then again uses
14429 liblzma: Exports lzma_mt_block_size() as an API function.
14431 The lzma_mt_block_size() was previously just an internal function for
14435 This function is helpful to determine the maximum Block size for the
14438 lzma_stream_encoder_mt() in the lzma_mt options parameter when
14517 tuklib_integer.h: Fix a recent copypaste error in Clang detection.
14519 Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7.
14521 work too even if not relevant in practice.
14564 needed in tuklib_integer.h to only include <intrin.h> when it will is
14580 <intrin.h> header file in order to use the MSVC intrinsics.
14591 liblzma: Update project maintainers in lzma.h.
14708 version did before. In order to do this without repeating lines in
14735 assumption changes in the future, then the bash specific commands will
14755 Build: Removes redundant check for LZMA1 filter support.
14788 This allows users to change the features they build either in
14802 It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC
14814 This makes no functional difference in the generated configure
14817 fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294.
14837 This is broken in the releases 5.2.6 to 5.4.2. A workaround
14839 to configure in addition to --disable-threads.
14841 The problem appeared when m4/ax_pthread.m4 was updated in
14849 would be undefined in the Libtool code in configure.
14851 ax_pthread.m4 is fine. The bug was in configure.ac which called
14852 AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
14865 liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.
14913 src/liblzma/check/sha256.c | 2 +-
14922 CMake: Fix typo in a comment.
14942 These should have been included in 5.3.2alpha already.
14958 These should have been included in 5.3.2alpha already.
14986 po4a/update-po: Display the script name consistently in error messages.
14998 confusing since multiple other files in the doc directory are for
15015 This was left in by mistake since an early version of the ARM64 filter
15057 The \mainpage command is used in the first block of comments in lzma.h.
15059 comment block in lzma.h for its contents.
15070 confusing in the HTML version and was only a "nice to have" when
15077 src/liblzma/api/lzma/check.h | 2 --
15094 Build: Generate doxygen documentation in autogen.sh.
15097 creating the doxygen documenation in cases where it not wanted or
15110 run in 'liblzma' or 'internal' mode by setting the first argument. It
15117 files in the distrubtion and when installing.
15121 other libraries that Doxygen 1.9.6 puts into jquery.js in minified form.
15131 Build: Install Doxygen docs and include in distribution if generated.
15137 If the doxygen docs exist in the source tree, they will also be included
15138 in the distribution now too.
15147 Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile.
15149 Instead of having Doxyfile.in configured by Autoconf, the Doxyfile
15153 Going forward, the documentation should be generated in two different
15165 Doxyfile.in => doxygen/Doxyfile | 721 +++++++++++++++++++++++++---------------
15194 API function from index.h except for lzma_file_info_decoder, which can
15195 be tested in the future.
15204 xz: Simplify the error-label in Capsicum sandbox code.
15239 xz: Fix -Wunused-label in io_sandbox_enter().
15266 we can check if errno == ENOSYS and not issue a fatal error.
15288 liblzma: Clarify lzma_lzma_preset() documentation in lzma12.h.
15291 usable in an encoder even if it returns false (success). If liblzma
15332 liblzma: Replace '\n' -> newline in filter.h documentation.
15344 liblzma: Shorten return description for two functions in filter.h.
15356 liblzma: Reword a few lines in filter.h
15365 liblzma: Improve documentation in filter.h.
15391 liblzma: Avoid null pointer + 0 (undefined behavior in C).
15412 in the foo(NULL, 0) call.
15416 amount of old code won't break in the future. Based on web searches
15418 occurs) are being fixed instead to be future-proof in case compilers
15420 return 0) which in the worst case will cause security bugs.
15431 null pointer + 0. These check for size > 0 instead of ptr != NULL
15433 get caught quickly. None of them are in hot spots so it shouldn't
15484 liblzma: Fix small typos and reword a few things in filter.h.
15493 liblzma: Convert list of flags in lzma_mt to bulleted list.
15502 liblzma: Fix typo in documentation in container.h
15515 Standardizing each function to always specify parameters and return
15517 function description.
15546 On MicroBlaze, GCC 12 is broken in sense that
15555 For now the only extra symbols in liblzma_linux.map are the
15558 in the C code. Compatibility with the patch from CentOS 7 doesn't
15560 instead. It doesn't require anything special in the C code and thus
15564 attribute in configure.ac and CMakeLists.txt and fall back
15571 (This doesn't do the same fix in CMakeLists.txt. Perhaps it should
15577 a patch (in the end that solution wasn't used):
15592 Use lzma_options_delta.dist and such in docs so that in Doxygen's
15607 liblzma: Adjust spacing in doc headers in bcj.h.
15616 liblzma: Adjust documentation in bcj.h for consistent style.
15625 liblzma: Rename field => member in documentation.
15650 src/liblzma/check/crc64_fast.c | 2 +-
15659 Standardizing each function to always specify parameters and return
15661 function description.
15672 liblzma: Improve documentation in lzma12.h.
15683 liblzma: Improve documentation in check.h.
15689 src/liblzma/api/lzma/check.h | 41 ++++++++++++++++++++++++++++-------------
15696 liblzma: Improve documentation in index.h
15707 liblzma: Reword a comment in index.h.
15742 Standardizing each function to always specify params and return values.
15752 liblzma: Add one more missing [out] annotation in vli.h
15773 liblzma: Add comments for macros in delta.h.
15785 liblzma: Improve documentation in index_hash.h.
15797 xz: Improve the comment about start_time in mytime.c.
15799 start_time is relative to an arbitary point in time, it's not
15813 macros do not need to be on consecutive lines in version.h. They can be
15815 as they appear in the proper order (major, minor, patch).
15824 xz: Add a comment clarifying the use of start_time in mytime.c.
15854 liblzma: Fix bug in lzma_str_from_filters() not checking filters[] length.
15856 The bug is only a problem in applications that do not properly terminate
15881 liblzma: Fix typos in comments in string_conversion.c.
15921 liblzma: Enumerate functions that read version in lzma_block.
15930 liblzma: Clarify comment in block.h.
15941 Standardizing each function to always specify params and return values.
15967 CI: Update .gitignore for artifacts directory in build-aux.
15969 The workflow action for our CI pipeline can only reference artifacts in
15980 CI: Add quotes around variables in a few places.
16011 po4a/po4a.conf: Sort the language identifiers in alphabetical order.
16023 remaining won't get confused by the amount of time spent in
16030 Search for SIGTSTP in section 2.4.3:
16056 Build: Avoid different quoting style in --enable-doxygen doc.
16077 liblzma: Fix documentation in filter.h for lzma_str_to_filters()
16081 which is in practice always defined to 0. This is the same value as
16096 Macros in the reserved namespace (_foo or __foo) shouldn't be #defined
16109 tuklib_physmem: Clean up the way -Wcast-function-type is silenced on Windows.
16112 compiler-agnostic so it's not good to check for __clang__ with it.
16127 Also edit style to match the existing coding style in the project.
16138 xz: Refactor duplicated check for custom suffix when using --format=raw
16167 Doxygen: Update Doxyfile.in from 1.4.7 to 1.8.17.
16170 in 2019, so this should be compatible with resonable modern distros.
16175 Doxyfile.in | 2523 ++++++++++++++++++++++++++++++++++++++++++++---------------
16184 Doxygen is now configurable in autotools only with
16189 Doxyfile.in | 18 +++++++++---------
16205 src/liblzma/api/lzma/check.h | 5 +++--
16222 tuklib_physmem: Silence warning from -Wcast-function-type on MinGW-w64.
16225 to retrieve a function address. The proper way to do this is to cast the
16226 return value to the type of function pointer retrieved. Unfortunately,
16227 this causes a cast-function-type warning, so the best solution is to
16263 CI: Enable --config-cache in autotool builds.
16265 If CFLAGS are set in a build, the cache must be cleared with
16284 xz: Do not set compression settings with raw format in list mode.
16286 Calling coder_set_compression_settings() in list mode with verbose mode
16288 unnecessary since the command results in an error and not consistent
16307 CI: Disable shared and nls from various jobs in autotool runners.
16310 runners. The shared library is still being tested in the 32 bit build
16313 Disabling nls is to check for any unexpected warnings or errors.
16322 CI: Reorder the 32-bit job in the Ubuntu runner.
16352 CI: Allow disabling shared library in autotools builds.
16372 It's not that important. It can be annoying in builds that
16373 disable many features since in those cases the tests programs
16395 xz: Silence warnings from -Wsign-conversion in a 32-bit build.
16405 liblzma: Silence another warning from -Wsign-conversion in a 32-bit build.
16418 liblzma: Silence a warning from -Wsign-conversion in a 32-bit build.
16445 Since such an invalid value is needed in multiple tests, a constant
16448 The use of 0x1000 for lzma_block.check wasn't optimal as if
16450 However, in these test cases the value is ignored, thus even with
16468 so it's best to use enumeration type lzma_check in these situations.
16495 src/liblzma/check/check.h | 4 ----
16531 xz: Fix warning -Wformat-nonliteral on clang in message.c.
16533 clang and gcc differ in how they handle -Wformat-nonliteral. gcc will
16534 allow a non-literal format string as long as the function takes its
16553 Tests: Fix type-limits warning in test_filter_flags.
16555 This only occurs in test_filter_flags when the BCJ filters are not
16567 liblzma: CLMUL CRC64: Work around a bug in MSVC, second attempt.
16572 this and it passes the tests included in the CMake build and
16581 src/liblzma/check/crc64_fast.c | 18 ++++++++++++++++++
16588 Tests: Fix unused function warning in test_block_header.
16590 One of the global arrays of filters was only used in a test that
16591 required both encoders and decoders to be configured in the build.
16600 Tests: Fix unused function warning in test_index_hash.
16603 and decoders are configured in the build.
16624 CI/CD: Enables warnings as errors in autotool build.
16626 This will help us catch warnings and potential bugs in builds that are
16636 CI/CD: Add -f argument to set CFLAGS in ci_build.sh.
16648 Revert "liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022)."
16658 src/liblzma/check/crc64_fast.c | 6 ------
16672 there should be no need to include <strings.h> in sysdefs.h.
16681 xz: Include <strings.h> in suffix.c if needed for strcasecmp().
16683 SUSv2 and POSIX.1‐2017 declare only a few functions in <strings.h>.
16684 Of these, strcasecmp() is used on some platforms in suffix.c.
16685 Nothing else in the project needs <strings.h> (at least if
16693 is also in <string.h> in DJGPP.
16752 in addition to the \x20 hack to avoid spaces in the command line
16754 version 15.0.0 (results in "XZx20Utils") but luckily it works
16778 not a significant problem in practice because the encoder and
16781 to be in 5.4.x.
16803 liblzma: CLMUL CRC64: Workaround a bug in MSVC (VS2015-2022).
16810 src/liblzma/check/crc64_fast.c | 6 ++++++
16817 CMake: Fix a copypaste error in xzdec Windows resource file handling.
16830 It's not needed in XZ Utils at least for now. It's good to support
16925 The old version used too many runners that resulted in unnecessary
16985 Tests: test_index_hash: Fix a typo in a comment.
17016 The words defined in the .xz file format specification
17036 Style: Change #if !defined() to #ifndef in mythread.h.
17047 The line in the .vcxproj files for building with was missing in 5.4.0.
17067 LZMA_API resulting in a warning.
17088 Tests: Adjust style in test_compress.sh.
17099 The shell parameter expansion using # and ## is not supported in
17140 in devel versions. The major soname won't be bumped even
17203 liblzma: Add NULL check to lzma_index_hash_append.
17237 Tests: Clarify a comment in test_lzip_decoder.c.
17246 xz: Includes <time.h> and <sys/time.h> conditionally in mytime.c.
17257 liblzma: Includes sys/time.h conditionally in mythread
17273 be set to 0 or 1. However, this macro was needed in xz so if xz was not
17336 Doxygen: Update .gitignore for generating docs for in source build.
17352 lzma_lzma_lclppb_encode returns a boolean. This could result in
17362 CMake: Update .gitignore for CMake artifacts from in source build.
17374 liblzma: Update authors list in arm64.c.