]>
git.ipfire.org Git - thirdparty/zlib-ng.git/log
Milan Bulat [Mon, 29 Jan 2024 03:43:23 +0000 (19:43 -0800)]
Make the existence of gz_intmax() unconditional.
gz_intmax() is noted in zlib.map. This assures it's always there.
madler/zlib#
01253ecd7e0a01d311670f2d03c61b82fc12d338
Mark Adler [Mon, 29 Jan 2024 03:39:17 +0000 (19:39 -0800)]
Note that the len2 argument of crc_combine*() must be non-negative.
If it is negative, then the code will enter an infinite loop.
madler/zlib#
36e369e1a54b35a978dc584496af69a07ec2d71a
Nathan Moinvaziri [Tue, 30 Jan 2024 17:15:06 +0000 (09:15 -0800)]
Enable LIT_MEM by default expect when WITH_REDUCED_MEM is ON.
Hans Wennborg [Tue, 30 Jan 2024 00:42:46 +0000 (16:42 -0800)]
Fix the copy of pending_buf in deflateCopy() for the LIT_MEM case.
madler/zlib#
60c31985ecdc2b40873564867e1ad2aef0b88697
Hans Wennborg [Tue, 30 Jan 2024 00:39:52 +0000 (16:39 -0800)]
Fix pending buffer overflow assert with LIT_MEM allocation.
Since each element in s->d_buf is 2 bytes, the sx index should be
multiplied by 2 in the assert.
Fixes madler/zlib#897
madler/zlib#
ee474ff2d11715485a87b123edbdd615ba218b88
Mark Adler [Mon, 29 Jan 2024 03:36:46 +0000 (19:36 -0800)]
Add bounds checking to ERR_MSG() macro, used by zError().
madler/zlib#
431a9b65eacab7efabf2230ba97ff426c0e07f9d
Mark Adler [Tue, 30 Jan 2024 00:38:32 +0000 (16:38 -0800)]
Add LIT_MEM define to use more memory for a small deflate speedup.
A bug fix in zlib 1.2.12 resulted in a slight slowdown (1-2%) of
deflate. This commit provides the option to #define LIT_MEM, which
uses more memory to reverse most of that slowdown. The memory for
the pending buffer and symbol buffers is increased by 25%, which
increases the total memory usage with the default parameters by
about 6%.
madler/zlib#
ac8f12c97d1afd9bafa9c710f827d40a407d3266
Xin LI [Mon, 29 Jan 2024 03:30:26 +0000 (19:30 -0800)]
Make internal functions static in the test code.
To avoid warnings when building with -Wmissing-prototypes.
madler/zlib#
bd9c329c1055a9265812352655ed2eec93f36e92
Mark Adler [Mon, 29 Jan 2024 03:26:17 +0000 (19:26 -0800)]
Fix bug in inflateSync() for data held in bit buffer.
madler/zlib#
5af7cef45eeef86ddf6ab00b4e363c1eecaf47b6
Nathan Moinvaziri [Mon, 29 Jan 2024 04:06:05 +0000 (20:06 -0800)]
Update copyright years in other source files.
Mark Adler [Mon, 29 Jan 2024 03:25:31 +0000 (19:25 -0800)]
Update copyright year in win32 resource files.
madler/zlib#
8988e03256e9c80766ac6899e86c3bc57c347efc
Hans Kristian Rosbach [Sat, 3 Feb 2024 11:46:10 +0000 (12:46 +0100)]
Remove unused code in makecrct.c
Hans Kristian Rosbach [Thu, 25 Jan 2024 09:32:23 +0000 (10:32 +0100)]
Add missing clean rule for arch/generic
Hans Kristian Rosbach [Thu, 25 Jan 2024 09:29:20 +0000 (10:29 +0100)]
Rename crc32_braid.c to crc32.c
Adam Stylinski [Sat, 27 Jan 2024 23:29:41 +0000 (00:29 +0100)]
Add support for handling alignment correction for input buffers down to 16 bytes in crc32_fold_[v]pclmulqdq
Hans Kristian Rosbach [Thu, 25 Jan 2024 12:28:10 +0000 (13:28 +0100)]
Speed up crc32_[v]pclmulqdq on small strings.
Hans Kristian Rosbach [Thu, 25 Jan 2024 20:48:06 +0000 (21:48 +0100)]
Add more fine-grained small-length benchmarking of adler32 and crc32.
Mika Lindqvist [Tue, 23 Jan 2024 05:42:29 +0000 (07:42 +0200)]
Generate CMake package configuration files
* For COMPAT mode, zlib-config.cmake and zlib-config-version.cmake
* For non-COMPAT mode, zlib-ng-config.cmake and zlib-ng-config-version.cmake
Nathan Moinvaziri [Mon, 22 Jan 2024 18:48:52 +0000 (10:48 -0800)]
Remove extern keyword from cpu_feature function declarations.
Nathan Moinvaziri [Sun, 21 Jan 2024 18:45:36 +0000 (10:45 -0800)]
Remove type declarations for z_stream/zng_stream from cpu_features.
Nathan Moinvaziri [Thu, 25 Jan 2024 14:09:25 +0000 (06:09 -0800)]
Split cpu_features.h by architecture.
Mika Lindqvist [Wed, 24 Jan 2024 20:48:00 +0000 (22:48 +0200)]
Fix regression caused by
2fa631e029084b75acd81db5d33fd4aa802fd082
* POWER8/9 feature checks were enabled even if the toolchain didn't support AT_HWCAP2
* Add detection if we need to include <linux/auxvec.h>
Adam Stylinski [Mon, 29 Jan 2024 14:34:08 +0000 (09:34 -0500)]
Removing some outdated comments
These were left on my part, the inline copy + checksum is the very
thing the function is doing.
Nathan Moinvaziri [Fri, 26 Jan 2024 01:38:25 +0000 (17:38 -0800)]
Set registers to zero to prevent GCC __get_cpuid bug.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77756
Nathan Moinvaziri [Fri, 26 Jan 2024 01:18:26 +0000 (17:18 -0800)]
Simplify architecture #ifdef in test_crc32.cc.
Nathan Moinvaziri [Thu, 25 Jan 2024 21:43:33 +0000 (13:43 -0800)]
Add VPCLMULQDQ crc32 tests to Google benchmarks
Vladislav Shchapov [Sat, 20 Jan 2024 18:59:54 +0000 (23:59 +0500)]
Improve x86 intrinsics dependencies.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Sat, 20 Jan 2024 18:40:40 +0000 (23:40 +0500)]
Remove unused macro X86_MASK_INTRIN.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Sat, 20 Jan 2024 15:40:07 +0000 (20:40 +0500)]
Reorder in which intrinsics support is checked.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Fri, 19 Jan 2024 19:29:22 +0000 (00:29 +0500)]
Fix x86 WITH_* options dependencies.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Fri, 19 Jan 2024 18:42:19 +0000 (23:42 +0500)]
Remove always true arch conditions.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Hans Kristian Rosbach [Thu, 4 Jan 2024 15:54:58 +0000 (16:54 +0100)]
Move compare256 and longest_match C fallbacks to arch/generic
Hans Kristian Rosbach [Thu, 4 Jan 2024 15:43:43 +0000 (16:43 +0100)]
Move include files out of match_tpl.h, to simplify dependency handling and
avoid attempting to parse the includes more times than needed.
Hans Kristian Rosbach [Thu, 4 Jan 2024 15:13:24 +0000 (16:13 +0100)]
Move slide_hash C fallback to arch/generic
Hans Kristian Rosbach [Thu, 4 Jan 2024 14:53:15 +0000 (15:53 +0100)]
Move insert_string and update_hash C fallbacks to arch/generic.
Also add missing insert_string dependencies to windows makefiles.
Hans Kristian Rosbach [Thu, 4 Jan 2024 14:36:19 +0000 (15:36 +0100)]
Move chunkset and inffast C fallbacks to arch/generic
Hans Kristian Rosbach [Wed, 3 Jan 2024 14:59:40 +0000 (15:59 +0100)]
Move crc32 C fallbacks to arch/generic
Hans Kristian Rosbach [Wed, 3 Jan 2024 14:22:10 +0000 (15:22 +0100)]
Move adler32 C fallbacks to arch/generic
Hans Kristian Rosbach [Wed, 3 Jan 2024 14:04:09 +0000 (15:04 +0100)]
Simplify includes
Nathan Moinvaziri [Sun, 14 Jan 2024 01:58:23 +0000 (17:58 -0800)]
Improve code coverage for SSE2.
We need to turn off support all higher instruction sets in order to hit code
for a lower instruction set.
Nathan Moinvaziri [Sun, 14 Jan 2024 00:24:32 +0000 (16:24 -0800)]
Fixed S390X CMake builds not running in forks.
Nathan Moinvaziri [Sat, 13 Jan 2024 22:26:39 +0000 (14:26 -0800)]
Upload all coverage reports at once after tests.
Nathan Moinvaziri [Thu, 4 Jan 2024 22:18:49 +0000 (14:18 -0800)]
Remove unneeded pointer for functable.longest_match in deflate_slow
Hans Kristian Rosbach [Sun, 7 Jan 2024 18:29:13 +0000 (19:29 +0100)]
2.1.6 Release
Mika Lindqvist [Tue, 9 Jan 2024 10:02:45 +0000 (12:02 +0200)]
Fix building tests with cmake 3.10 and older.
Hans Kristian Rosbach [Mon, 8 Jan 2024 20:34:19 +0000 (21:34 +0100)]
Add FAR macro to zlib-compat headers to improve compatibility.
Nathan Moinvaziri [Thu, 4 Jan 2024 22:20:19 +0000 (14:20 -0800)]
Added CI instance for WITH_NATIVE_INSTRUCTIONS.
Nathan Moinvaziri [Thu, 4 Jan 2024 17:06:03 +0000 (09:06 -0800)]
Remove tab-in-indent rule from lint workflow
Makefiles require using tabs as indents. So we need to remove this rule.
Nathan Moinvaziri [Fri, 29 Dec 2023 00:55:44 +0000 (16:55 -0800)]
Cancel previously running CI jobs for PR or branch.
Rye Mutt [Thu, 28 Dec 2023 02:38:00 +0000 (21:38 -0500)]
Nathan Moinvaziri [Wed, 27 Dec 2023 21:41:34 +0000 (13:41 -0800)]
Fixed tab character in ARM ACLE uqsub16 assembly.
Nathan Moinvaziri [Tue, 26 Dec 2023 21:33:45 +0000 (13:33 -0800)]
Fix trailing whitespace in minideflate.c.
Nathan Moinvaziri [Tue, 26 Dec 2023 21:33:45 +0000 (13:33 -0800)]
Add linter workflow for whitespace errors. zlib-ng/zlib-ng#1190
Hans Kristian Rosbach [Thu, 21 Dec 2023 00:11:40 +0000 (01:11 +0100)]
Don't attempt ARMv6 detection on AARCH64.
Hans Kristian Rosbach [Sat, 23 Dec 2023 19:12:13 +0000 (20:12 +0100)]
Don't incorrectly disable GoogleTest because of old CMake version.
Hans Kristian Rosbach [Sat, 23 Dec 2023 19:08:17 +0000 (20:08 +0100)]
Add status output when running git checkout of GoogleTest
Hans Kristian Rosbach [Sat, 23 Dec 2023 19:00:48 +0000 (20:00 +0100)]
Update to GoogleTest 1.12.1.
This requires minimum CMake 3.5 and C++11, this matches nicely with zlib-ng 2.1.x requirements.
Vladislav Shchapov [Thu, 21 Dec 2023 16:19:34 +0000 (21:19 +0500)]
Remove unused Z_TLS and HAVE_THREAD_LOCAL
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Thu, 21 Dec 2023 16:19:05 +0000 (21:19 +0500)]
Atomic functable
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Mika Lindqvist [Fri, 22 Dec 2023 11:24:54 +0000 (13:24 +0200)]
Make sure uqsub16 mnemonic doesn't get optimized away.
Mika Lindqvist [Fri, 22 Dec 2023 14:59:03 +0000 (16:59 +0200)]
Add support for __attribute__((__target__(...))) to overcome limitations of -march=native.
Hans Kristian Rosbach [Sat, 23 Dec 2023 18:00:46 +0000 (19:00 +0100)]
Always run CMake tests without LTO.
Mika Lindqvist [Thu, 21 Dec 2023 08:19:54 +0000 (10:19 +0200)]
Check if compiler supports -march=native or -mcpu=native.
Cameron Cawley [Wed, 11 Jan 2023 14:52:15 +0000 (14:52 +0000)]
Improve performance of crc32_acle on 32-bit ARM
Vladislav Shchapov [Sun, 17 Dec 2023 12:14:17 +0000 (17:14 +0500)]
Initialize functable earlier, during inflateInit
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Sat, 16 Dec 2023 13:00:45 +0000 (18:00 +0500)]
Add force initialization functable, because deflate captures function pointers from functable
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Sat, 16 Dec 2023 09:10:11 +0000 (14:10 +0500)]
Fix buffer overflow in compare256_rle benchmark
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Letu Ren [Sun, 17 Dec 2023 16:58:38 +0000 (00:58 +0800)]
Only read version information from zlib.h.in
This is a patch for https://github.com/zlib-ng/zlib-ng/commit/
cd458c79c7923e76ffdd0e2638bf2a0eed4f3996
As the commit message says: "Add code to extract version information
for both ZLIB and ZLIBNG variants from the zlib.h file."
The logic of ${SUFFIX} is that zlib-ng reads version information after
parse ZLIB_COMPAT before the commit mentioned above. ${SUFFIX} will only
be set by ZLIB_COMPAT and is meaningless before ZLIB_COMPAT.
Letu Ren [Mon, 18 Dec 2023 13:53:21 +0000 (21:53 +0800)]
Update copyright to sync with zlib 1.3
https://github.com/zlib-ng/zlib-ng/pull/1563 this patch forgets to
update copyright string.
Letu Ren [Thu, 14 Dec 2023 07:27:08 +0000 (15:27 +0800)]
Remove duplicate enable tests option
There are two identical ZLIB_ENABLE_TESTS option in CMakeLists.txt which
means the latter one is meaningless. This issue is introduced in
https://github.com/zlib-ng/zlib-ng/commit/
ce1a64b5147b874a2dd32920765be333f54e7095
which adds the option to top but forgets to remove the original one.
Mika Lindqvist [Fri, 15 Dec 2023 13:23:52 +0000 (14:23 +0100)]
Fix pkgcheck mismatch with configure due to cmake target files.
Uilian Ries [Fri, 15 Dec 2023 13:25:30 +0000 (14:25 +0100)]
Export cmake target (#1601)
* Export cmake target
* Mimic zlib target name
---------
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Adam Stylinski [Tue, 7 Nov 2023 20:22:55 +0000 (15:22 -0500)]
Detemplatize adler32_fold_copy for avx512
Measurements show deltas basically in the noise floor for the
benchmarks.
The AVX512 VNNI implementation is a bit special in that it seems to be
be hurt by the clock penalty enough versus a normal copy that a 256 bit
wide variant was warranted.
Adam Stylinski [Tue, 7 Nov 2023 19:54:18 +0000 (14:54 -0500)]
Simplify AVX2 adler32_fold_copy by removing templates
Vladislav Shchapov [Sun, 26 Nov 2023 19:13:49 +0000 (00:13 +0500)]
Prevent tests writing into the source directory.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Vladislav Shchapov [Sun, 26 Nov 2023 17:48:31 +0000 (22:48 +0500)]
Run OSB tests with readonly source directory.
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
Simon Hosie [Mon, 6 Nov 2023 23:39:34 +0000 (15:39 -0800)]
Add adler32_fold_copy_rvv implementation.
Yoshiki Matsuda [Mon, 23 Oct 2023 09:33:16 +0000 (18:33 +0900)]
Fix clang-cl warnings
Hans Kristian Rosbach [Sun, 26 Nov 2023 19:56:58 +0000 (20:56 +0100)]
2.1.5 Release
Adam Stylinski [Fri, 17 Nov 2023 23:26:45 +0000 (18:26 -0500)]
Fix an issue with regard to finishing out the window
if inflate is invoked with Z_FINISH, and it deems a window was not
necessary, there's a corner case where we never checksum the bytes.
Detect this by checking the window size against zero and the value
of the flush parameter.
This should fix issue #1600, and possibly #1565 as well.
Nathan Moinvaziri [Wed, 22 Nov 2023 06:30:45 +0000 (22:30 -0800)]
Added unit test for inflate with Z_FINISH and no window.
This test decompresses a small git pack object with the text:
"alone in the dark". By providing inflate with Z_FINISH, it should not use a
sliding window according to zlib docs. We purposefully limit the read buffer
size to trigger CHECK mode to bail early.
Mika T. Lindqvist [Tue, 7 Nov 2023 17:06:21 +0000 (19:06 +0200)]
[configure] Propagate -DWITH_GZFILEOP to pkgconfig.
Leander Schulten [Fri, 3 Nov 2023 22:31:11 +0000 (23:31 +0100)]
pkgconfig file: propagate WITH_GZFILEOP
Benjamin Buch [Mon, 30 Oct 2023 18:18:30 +0000 (19:18 +0100)]
fix cmake header path in install with custom CMAKE_INSTALL_INCLUDEDIR
Mika Lindqvist [Mon, 30 Oct 2023 19:49:18 +0000 (21:49 +0200)]
[README] configure no longer supports --native
Hans Kristian Rosbach [Fri, 20 Oct 2023 20:31:43 +0000 (22:31 +0200)]
Fix status badges
Hans Kristian Rosbach [Fri, 20 Oct 2023 20:30:32 +0000 (22:30 +0200)]
Update to actions/checkout@v4, and disable checkout progress logging.
Hans Kristian Rosbach [Fri, 13 Oct 2023 10:57:37 +0000 (12:57 +0200)]
2.1.4 Release
Mika Lindqvist [Sun, 15 Oct 2023 19:10:46 +0000 (22:10 +0300)]
Fix building benchmarks on 32-bit PowerPC.
Mika T. Lindqvist [Mon, 16 Oct 2023 20:46:26 +0000 (23:46 +0300)]
Fix cross-compiling benchmarks and libpng.
Xeonacid [Sun, 8 Oct 2023 03:30:54 +0000 (11:30 +0800)]
Support RVV hwcap detect at runtime
Fallback to compile-time detect if kernel version lower than 6.5.
Co-authored-by: Hans Kristian Rosbach <hk-git@circlestorm.org>
Signed-off-by: Xeonacid <h.dwwwwww@gmail.com>
Hans Kristian Rosbach [Mon, 25 Sep 2023 13:23:41 +0000 (15:23 +0200)]
Make sure inflateCopy() allocates window with the necessary buffer for chunked operations.
Based on Chromium bugfix https://chromium-review.googlesource.com/c/chromium/src/+/
4876445
Hans Kristian Rosbach [Thu, 21 Sep 2023 10:45:13 +0000 (12:45 +0200)]
Deprecate ZLIBNG_VER_STATUS, add new variant ZLIBNG_VER_STATUSH
Hajin Jang [Mon, 25 Sep 2023 17:15:10 +0000 (02:15 +0900)]
Detect -Wno-pedantic-ms-format support in mingw
Use check_c_compiler_flag() feature of CMake to figure out whether this
mingw toolchain has support for -Wno-pedantic-ms-format or not.
This flag will be added only if the toolchain supports it.
Currently, MinGW-w64 GCC has it, and llvm-mingw does not have it.
Hajin Jang [Sun, 24 Sep 2023 04:07:22 +0000 (13:07 +0900)]
Add llvm-mingw CMake toolchain files
Hajin Jang [Sun, 10 Sep 2023 09:28:28 +0000 (18:28 +0900)]
Support llvm-mingw toolchain
zlib-ng requires some patches to make it compilable on LLVM-mingw.
1. Add -Wno-pedantic-ms-format only if a toolchain is MinGW GCC.
- llvm-mingw does not support it, causing build to break.
2. Include arm_neon.h instead of arm64_neon.h (aarch64 only).
- arm64_neon.h is MSVC only.
- GCC, Clang does not have arm64_neon.h but arm_neon.h on aarch64.
- Also applied to configure and detect-instrinsics.cmake
alexsifivetw [Sun, 24 Sep 2023 09:53:55 +0000 (02:53 -0700)]
Use large data type for chunk
Implement chunk memset for specific length
alexsifivetw [Thu, 31 Aug 2023 08:22:20 +0000 (01:22 -0700)]
General optimized chunkset
Nathan Moinvaziri [Mon, 18 Sep 2023 00:11:48 +0000 (17:11 -0700)]
Added instructions for cpack to readme.
Nathan Moinvaziri [Sun, 17 Sep 2023 22:25:41 +0000 (15:25 -0700)]
Don't run test intrinsic code with native flag in CMake.
Native flag should already determine what code will run on the architecture.
This appears to have just been an extra run check with limited benefits. Any
compiler that compiles code not available on the native platform is buggy and
not our problem.