]> git.ipfire.org Git - thirdparty/zlib-ng.git/log
thirdparty/zlib-ng.git
14 months agoAdd back-and-forth inflateCopy() test
Ilya Leoshkevich [Tue, 21 May 2024 10:45:39 +0000 (12:45 +0200)] 
Add back-and-forth inflateCopy() test

Check that calling inflateCopy() twice does not result in memory
corruption.

14 months agoRemove unused function dfltcc_alloc_state
Vladislav Shchapov [Sat, 18 May 2024 08:13:51 +0000 (13:13 +0500)] 
Remove unused function dfltcc_alloc_state

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoUse actual compressed length
Vladislav Shchapov [Fri, 17 May 2024 17:37:29 +0000 (22:37 +0500)] 
Use actual compressed length

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoFix a name conflict when compiled with zlib-compat
Adam Stylinski [Sat, 18 May 2024 22:36:33 +0000 (18:36 -0400)] 
Fix a name conflict when compiled with zlib-compat

The benchmarks fail to compile properly when built with ZLIB_COMPAT.
The name of the class cannot have the same name as the function.

14 months agoFix illegal instruction usage in Xeon Phi x200 processors
Tulio Magno Quites Machado Filho [Tue, 14 May 2024 14:06:46 +0000 (11:06 -0300)] 
Fix illegal instruction usage in Xeon Phi x200 processors

The Xeon Phi x200 family of processors (Knights Landing) supports
AVX512 (F, CD, ER, PF) but does not support AVX512 (VL, DQ, BW).

Because of processors like this, the Intel Software Developer's Manual
suggests the bits AVX512 (DQ,BW,VL) are also tested in EBX together with
AVX512F before deciding to run AVX512 (DQ,BW,VL) instructions.

This also adds a new x86 feature called avx512_common that indicates
that AVX512 (F,DQ,BW,VL) are all available and start using this for both
adler32_avx512 and crc32_vpclmulqdq implementations because they are
both built with -mavx512dq -mavx512bw -mavx512vl.

This has been reported downstream as
https://bugzilla.redhat.com/show_bug.cgi?id=2280347 .

14 months agoUse windows-2019 for build with toolset v141
Vladislav Shchapov [Fri, 17 May 2024 13:01:04 +0000 (18:01 +0500)] 
Use windows-2019 for build with toolset v141

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoMake lint check ignore *.patch files, as those can legally have trailing
Hans Kristian Rosbach [Wed, 15 May 2024 11:38:26 +0000 (13:38 +0200)] 
Make lint check ignore *.patch files, as those can legally have trailing
whitespace or end the file with blank lines.

14 months agoUpdate llvm version used for MSAN.
Hans Kristian Rosbach [Wed, 1 May 2024 15:23:36 +0000 (17:23 +0200)] 
Update llvm version used for MSAN.
Disable unneccessary compilation of tests, benchmarks, docs.

14 months agoUpdate s390x CI setup.
Hans Kristian Rosbach [Wed, 24 Apr 2024 19:14:20 +0000 (21:14 +0200)] 
Update s390x CI setup.
- New dockerfile
  - Using native actions-runner instead of relying on qemu.
  - To support s390x, we include patches to actions-runner.
  - Using Almalinux 9 instead of Ubuntu, with functional .Net.
- Update CI workflow.
- Update readme guide.

14 months agoAdd small compress() benchmark
Hans Kristian Rosbach [Thu, 25 Jan 2024 23:13:20 +0000 (00:13 +0100)] 
Add small compress() benchmark

14 months agoIBM zSystems DFLTCC: Inline DLFTCC states into zlib states
Ilya Leoshkevich [Thu, 2 May 2024 17:16:04 +0000 (19:16 +0200)] 
IBM zSystems DFLTCC: Inline DLFTCC states into zlib states

Currently DFLTCC states are allocated using hook macros, complicating
memory management. Inline them into zlib states and remove the hooks.

14 months agoIBM zSystems DFLTCC: Extend sanitizer checks
Ilya Leoshkevich [Thu, 2 May 2024 15:29:00 +0000 (17:29 +0200)] 
IBM zSystems DFLTCC: Extend sanitizer checks

Currently the DFLTCC sanitizer instrumentation is limited to
MSAN-unpoisoning the parameter block. Add ASAN and MSAN checks;
also MSAN-unpoison the window.

Introduce the generic instrument_read(), instrument_write() and
instrument_read_write() macros, that are modeled after the repsective
functions in the Linux kernel.

14 months agoSwitch to python venv
Vladislav Shchapov [Fri, 3 May 2024 12:27:06 +0000 (17:27 +0500)] 
Switch to python venv

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoFix -std option in configure script
Vladislav Shchapov [Fri, 3 May 2024 17:03:21 +0000 (22:03 +0500)] 
Fix -std option in configure script

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoUpdate macOS Github Actions
Vladislav Shchapov [Thu, 2 May 2024 20:53:18 +0000 (01:53 +0500)] 
Update macOS Github Actions

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months ago.gitattributes: Enforce LF line-endings on all non-binary files
Deniz Bahadir [Wed, 24 Apr 2024 14:37:34 +0000 (16:37 +0200)] 
.gitattributes: Enforce LF line-endings on all non-binary files

Although Git is able to automatically modify line-endings during checkin
and checkout, this brings a lot of trouble, especially when trying to
use a repository from different platforms (as Windows and Linux). This
is due to the fact that Git consults different local gitconfig settings
and uses problematic defaults if not set.

Therefore, Git should enfoce one type of line-ending (LF) and not
consult the local config, which is what the change from this commit
does.

Signed-off-by: Deniz Bahadir <deniz@code.bahadir.email>
14 months agomake darwin cross compilation possible
Un1q32 [Tue, 23 Apr 2024 23:54:05 +0000 (19:54 -0400)] 
make darwin cross compilation possible

https://github.com/madler/zlib/pull/789

15 months agoBump max CMake policy version to 3.29.0
Matt McCormick [Tue, 9 Apr 2024 14:44:07 +0000 (10:44 -0400)] 
Bump max CMake policy version to 3.29.0

Addresses:

  3.29.0/share/cmake/Modules/CMakeDependentOption.cmake:89 (message):
    Policy CMP0127 is not set: cmake_dependent_option() supports full Condition
    Syntax.  Run "cmake --help-policy CMP0127" for policy details.  Use the
    cmake_policy command to set the policy and suppress this warning.
  Call Stack (most recent call first):
    CMakeLists.txt:107 (cmake_dependent_option)
This warning is for project developers.  Use -Wno-dev to suppress it.

15 months agoarch/riscv/riscv_features.c: fix uclibc build
Fabrice Fontaine [Sun, 17 Mar 2024 20:56:53 +0000 (21:56 +0100)] 
arch/riscv/riscv_features.c: fix uclibc build

Fix the following uclibc build failure raised since version 2.1.4 and
https://github.com/zlib-ng/zlib-ng/commit/6ff8b52cefe56a824fae1d53fdd687bcde2e53c9:

/home/autobuild/autobuild/instance-2/output-1/build/zlib-ng-2.1.6/arch/riscv/riscv_features.c:4:10: fatal error: sys/auxv.h: No such file or directory
    4 | #include <sys/auxv.h>
      |          ^~~~~~~~~~~~

Fixes:
 - http://autobuild.buildroot.org/results/06a7d8e59ec4de7c711d3f4a4624f67b97d78afe

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
15 months agoUpdate dependencies for 32-bit MinGW CI run.
Mika Lindqvist [Tue, 9 Apr 2024 17:17:24 +0000 (20:17 +0300)] 
Update dependencies for 32-bit MinGW CI run.

15 months agoCMake: Replace ';' by '$<SEMICOLON>' in generator-expression
Deniz Bahadir [Fri, 5 Apr 2024 20:37:11 +0000 (22:37 +0200)] 
CMake: Replace ';' by '$<SEMICOLON>' in generator-expression

Note: CMake generator-expressions should not contain semicolons,
especially if they might end up in a CMake list, because a semicolon
would be interpreted as list-item separator and therefore render the
generator-expression invalid. The generator-expression `$<SEMICOLON>`
should be used instead.

Signed-off-by: Deniz Bahadir <deniz@code.bahadir.email>
15 months agoClean up insert_match() in deflate_medium
Hans Kristian Rosbach [Wed, 21 Feb 2024 13:50:18 +0000 (14:50 +0100)] 
Clean up insert_match() in deflate_medium

15 months agoInserting strings is not slow any longer, remove bypass in deflate_medium().
Hans Kristian Rosbach [Wed, 21 Feb 2024 13:05:29 +0000 (14:05 +0100)] 
Inserting strings is not slow any longer, remove bypass in deflate_medium().

16 months agoOptimized rvv slide_hash
Alex Chiang [Mon, 25 Mar 2024 08:27:01 +0000 (01:27 -0700)] 
Optimized rvv slide_hash

Signed-off-by: Alex Chiang <alex.chiang@sifive.com>
16 months agoRemove obsolete TARGET_OS_MAC check
Vladislav Shchapov [Sat, 23 Mar 2024 08:27:18 +0000 (13:27 +0500)] 
Remove obsolete TARGET_OS_MAC check

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoAllow disabling runtime CPU features detection in tests and benchmarks
Vladislav Shchapov [Wed, 20 Mar 2024 17:52:13 +0000 (22:52 +0500)] 
Allow disabling runtime CPU features detection in tests and benchmarks

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoFix building with NVHPC
Sergey Kosukhin [Tue, 12 Mar 2024 14:46:52 +0000 (15:46 +0100)] 
Fix building with NVHPC

16 months agoReplace conditional call to functable.force_init with macro FUNCTABLE_INIT
Vladislav Shchapov [Tue, 5 Mar 2024 13:14:21 +0000 (18:14 +0500)] 
Replace conditional call to functable.force_init with macro FUNCTABLE_INIT

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoAdd native ARM64 build on macOS
Vladislav Shchapov [Fri, 1 Mar 2024 08:42:14 +0000 (13:42 +0500)] 
Add native ARM64 build on macOS

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoWorkaround for MSVC. By default MSVC does not define the __SSE*__ macros. Fix it...
Vladislav Shchapov [Wed, 28 Feb 2024 05:20:03 +0000 (10:20 +0500)] 
Workaround for MSVC. By default MSVC does not define the __SSE*__ macros. Fix it if AVX is enabled.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoAdd option to disable runtime CPU detection
Vladislav Shchapov [Wed, 28 Feb 2024 05:16:12 +0000 (10:16 +0500)] 
Add option to disable runtime CPU detection

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
16 months agoExplicitly indicate functions are conditionally dispatched
Vladislav Shchapov [Wed, 28 Feb 2024 05:12:53 +0000 (10:12 +0500)] 
Explicitly indicate functions are conditionally dispatched

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months ago[ARM] Override Clang x4 NEON intrinsics for Android
Mika Lindqvist [Sun, 25 Feb 2024 14:42:43 +0000 (16:42 +0200)] 
[ARM] Override Clang x4 NEON intrinsics for Android
* Clang for Android requires 256-bit alignment for x4 loads and stores, which can't be guaranteed and is unnecessary

17 months agoRename cpu_functions.h to arch_functions.h in depcheck.cpp
Vladislav Shchapov [Wed, 28 Feb 2024 05:31:43 +0000 (10:31 +0500)] 
Rename cpu_functions.h to arch_functions.h in depcheck.cpp

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months ago[CI] Fix creating list of artifacts for CodeCov.
Mika Lindqvist [Mon, 19 Feb 2024 21:34:03 +0000 (23:34 +0200)] 
[CI] Fix creating list of artifacts for CodeCov.

17 months agoAdd more result variables to the cmake package configuration
Marc Aldorasi [Fri, 16 Feb 2024 20:01:32 +0000 (15:01 -0500)] 
Add more result variables to the cmake package configuration

17 months agoAdd test for checking if -march=native needs -mfpu=neon for 32-bit ARM.
Mika Lindqvist [Wed, 21 Feb 2024 14:02:20 +0000 (16:02 +0200)] 
Add test for checking if -march=native needs -mfpu=neon for 32-bit ARM.

17 months agoCleanup and update NMake Makefiles.
Mika Lindqvist [Mon, 19 Feb 2024 12:35:15 +0000 (14:35 +0200)] 
Cleanup and update NMake Makefiles.
* Add depcheck.exe to validate NMake Makefiles

17 months agoMove update_hash(), insert_string() and quick_insert_string() out of functable
Hans Kristian Rosbach [Wed, 21 Feb 2024 10:44:18 +0000 (11:44 +0100)] 
Move update_hash(), insert_string() and quick_insert_string() out of functable
and remove SSE4.2 and ACLE optimizations. The functable overhead is higher
than the benefit from using optimized functions.

17 months agoRemove unused 's' parameter from HASH_CALC macro
Hans Kristian Rosbach [Wed, 21 Feb 2024 11:06:16 +0000 (12:06 +0100)] 
Remove unused 's' parameter from HASH_CALC macro

17 months agoRemove deflate_state parameter from update_hash functions.
Nathan Moinvaziri [Sat, 27 Jan 2024 23:50:54 +0000 (15:50 -0800)] 
Remove deflate_state parameter from update_hash functions.

17 months agoInline CHUNKCOPY and CHUNKUNROLL
Cameron Cawley [Fri, 16 Feb 2024 16:43:49 +0000 (16:43 +0000)] 
Inline CHUNKCOPY and CHUNKUNROLL

This slightly decreases the shared library size on x86_64 when both SSE2 and SSSE3 are enabled.

17 months agoRemove mixing of SSE2 and SSSE3 chunkset code
Cameron Cawley [Thu, 22 Feb 2024 12:09:51 +0000 (12:09 +0000)] 
Remove mixing of SSE2 and SSSE3 chunkset code

17 months agoBump github/codeql-action from 2 to 3
dependabot[bot] [Thu, 22 Feb 2024 13:06:24 +0000 (13:06 +0000)] 
Bump github/codeql-action from 2 to 3

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
17 months agoBump actions/upload-artifact from 3 to 4
dependabot[bot] [Thu, 22 Feb 2024 13:06:28 +0000 (13:06 +0000)] 
Bump actions/upload-artifact from 3 to 4

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
17 months agoDon't export git/github-related files in tar/zip archives
Hans Kristian Rosbach [Wed, 21 Feb 2024 18:37:53 +0000 (19:37 +0100)] 
Don't export git/github-related files in tar/zip archives

17 months agoRename cpu_functions.h to arch_functions.h.
Vladislav Shchapov [Wed, 21 Feb 2024 14:27:42 +0000 (19:27 +0500)] 
Rename cpu_functions.h to arch_functions.h.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months agoMove select for generic functions into generic_functions.h.
Vladislav Shchapov [Sat, 3 Feb 2024 16:32:28 +0000 (21:32 +0500)] 
Move select for generic functions into generic_functions.h.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months agoSplit CPU features checks and CPU-specific function prototypes and reduce include...
Vladislav Shchapov [Sat, 3 Feb 2024 16:26:57 +0000 (21:26 +0500)] 
Split CPU features checks and CPU-specific function prototypes and reduce include-dependencies.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months agoAdd dependabot for github actions
Hans Kristian Rosbach [Wed, 21 Feb 2024 18:32:51 +0000 (19:32 +0100)] 
Add dependabot for github actions

17 months agoRename codecov.
Vladislav Shchapov [Sun, 18 Feb 2024 14:50:06 +0000 (19:50 +0500)] 
Rename codecov.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months agoFixed S390X configure builds not running in forks.
Nathan Moinvaziri [Sun, 14 Jan 2024 04:28:38 +0000 (20:28 -0800)] 
Fixed S390X configure builds not running in forks.

17 months agoFix PCLMULQDQ support for IntelLLVM.
Mika Lindqvist [Sun, 18 Feb 2024 13:36:55 +0000 (15:36 +0200)] 
Fix PCLMULQDQ support for IntelLLVM.

17 months agoDisable CodeCov for RISC-V as the toolchain doesn't support generating code coverage.
Mika Lindqvist [Tue, 20 Feb 2024 18:02:40 +0000 (20:02 +0200)] 
Disable CodeCov for RISC-V as the toolchain doesn't support generating code coverage.

17 months agoUpdate mymindstorm/setup-emsdk to v14.
Mika Lindqvist [Mon, 19 Feb 2024 23:01:41 +0000 (01:01 +0200)] 
Update mymindstorm/setup-emsdk to v14.

17 months agoUpgrade codecov/codecov-action to v4.
Mika Lindqvist [Mon, 19 Feb 2024 22:43:11 +0000 (00:43 +0200)] 
Upgrade codecov/codecov-action to v4.

17 months agoFix include paths
Pavel P [Wed, 14 Feb 2024 13:29:18 +0000 (15:29 +0200)] 
Fix include paths

zlb-ng shouldn't require to have arch/generic in the include path

17 months agoAdd missing checks for 64bit arm/intel with msvc compiler
Pavel P [Wed, 14 Feb 2024 13:26:04 +0000 (15:26 +0200)] 
Add missing checks for 64bit arm/intel with msvc compiler

17 months agoDisable Intel Compiler diagnostic message 10441.
Mika Lindqvist [Mon, 12 Feb 2024 18:53:32 +0000 (20:53 +0200)] 
Disable Intel Compiler diagnostic message 10441.

17 months agoUpgrade ilammy/msvc-dev-cmd to v1.13.0
Mika Lindqvist [Mon, 12 Feb 2024 13:30:43 +0000 (15:30 +0200)] 
Upgrade ilammy/msvc-dev-cmd to v1.13.0

17 months agoFix xsave intrinsic test for clang, and gcc 8.2 or later, and icc.
Mika T. Lindqvist [Mon, 12 Feb 2024 10:43:33 +0000 (12:43 +0200)] 
Fix xsave intrinsic test for clang, and gcc 8.2 or later, and icc.

17 months agoAllow overwrite NATIVEFLAG value by option NATIVE_ARCH_OVERRIDE.
Vladislav Shchapov [Wed, 7 Feb 2024 19:22:54 +0000 (00:22 +0500)] 
Allow overwrite NATIVEFLAG value by option NATIVE_ARCH_OVERRIDE.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
17 months agoIncrease alignment from 8 to 16 to avoid warnings with ms compiler
Pavel P [Sun, 11 Feb 2024 15:33:03 +0000 (17:33 +0200)] 
Increase alignment from 8 to 16 to avoid warnings with ms compiler

Fixing align attribute, makes ms compiler warn: 'internal_state': Alignment specifier is less than actual alignment (16), and will be ignored.
Increasing alignemnt fixes the warning

17 months agoFix `deflate_state` alignment with MS or clang-cl compilers
Pavel P [Sun, 11 Feb 2024 15:02:37 +0000 (17:02 +0200)] 
Fix `deflate_state` alignment with MS or clang-cl compilers

When building with clang-cl, compiler produces the following warning:

zlib-ng/deflate.h(287,3): warning : attribute 'align' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes]
zlib-ng/zbuild.h(196,34): note: expanded from macro 'ALIGNED_'

Repositioning align attribute after "struct" fixes the warning and aligns `deflate_state` correctly.

17 months agoAvoid empty function by renaming bi_flush to zng_tr_flush_bits.
Hans Kristian Rosbach [Wed, 7 Feb 2024 20:25:53 +0000 (21:25 +0100)] 
Avoid empty function by renaming bi_flush to zng_tr_flush_bits.

17 months agoRemove branch that is almost impossible to hit in bi_flush().
Hans Kristian Rosbach [Wed, 7 Feb 2024 18:21:36 +0000 (19:21 +0100)] 
Remove branch that is almost impossible to hit in bi_flush().
Add case that handles sizes >=48.

17 months agoRelocate CMake target export definitions
Don Olmstead [Thu, 1 Feb 2024 20:49:11 +0000 (12:49 -0800)] 
Relocate CMake target export definitions

When exporting a CMake target the `install(TARGETS ${ZLIB_INSTALL_LIBRARIES})` is repeated with an `EXPORT` parameter. On Windows this would install the `.dll` files into the `lib` directory.

Set the `EXPORT_NAME` earlier and unconditionally on the `TARGET`. Then move the `EXPORT` to a single `install(TARGETS)`.

17 months agoUse zng_alloc_aligned in unit tests to prevent having to use C++17.
Nathan Moinvaziri [Sun, 7 Jan 2024 01:55:25 +0000 (17:55 -0800)] 
Use zng_alloc_aligned in unit tests to prevent having to use C++17.

alloc_aligned when using in C++ requires C++17 standard. zutil_p.h
include removed from test_crc32 since it was causing the same issue and was
not really needed.

17 months agoMemory alloc size must be a multiple of alignment for aligned_alloc.
Nathan Moinvaziri [Sun, 7 Jan 2024 01:15:06 +0000 (17:15 -0800)] 
Memory alloc size must be a multiple of alignment for aligned_alloc.

17 months agoPrefer HAVE_ALIGNED_ALLOC when available in zng_alloc
Nathan Moinvaziri [Thu, 4 Jan 2024 22:32:06 +0000 (14:32 -0800)] 
Prefer HAVE_ALIGNED_ALLOC when available in zng_alloc

Added some more helpful comments for people who come across this code.

17 months agozlib 1.3.1
Mark Adler [Mon, 29 Jan 2024 04:00:26 +0000 (20:00 -0800)] 
zlib 1.3.1

madler/zlib#51b7f2abdade71cd9bb0e7a373ef2610ec6f9daf

17 months agoRemove -w compile option in configure test.
Mark Adler [Mon, 29 Jan 2024 03:48:52 +0000 (19:48 -0800)] 
Remove -w compile option in configure test.

Not all C compilers have a -w option.

madler/zlib#88ec24670e9c484219392def5f2f4b5e3f839db3

17 months agoFix cmake build on AIX.
gastush [Mon, 29 Jan 2024 03:45:57 +0000 (19:45 -0800)] 
Fix cmake build on AIX.

The --version-script linker option is not supported by the linker on AIX systems

madler/zlib#ade6825c4996f73d776b0ffa038360762bd318ae

17 months agoRemove mentions of an official zlib DLL distribution.
Mark Adler [Mon, 29 Jan 2024 03:44:43 +0000 (19:44 -0800)] 
Remove mentions of an official zlib DLL distribution.

There used to be one, but no more. It is up to the user or vendor
to compile zlib.

madler/zlib#25263462377fa5c569947a40315815bd59e37f4b

17 months agoAdd back gz_intmax for zlib compatibility when linking statically
Nathan Moinvaziri [Sun, 4 Feb 2024 22:18:56 +0000 (14:18 -0800)] 
Add back gz_intmax for zlib compatibility when linking statically

17 months agoMake the existence of gz_intmax() unconditional.
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

17 months agoNote that the len2 argument of crc_combine*() must be non-negative.
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

17 months agoEnable LIT_MEM by default expect when WITH_REDUCED_MEM is ON.
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.

17 months agoFix the copy of pending_buf in deflateCopy() for the LIT_MEM case.
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

17 months agoFix pending buffer overflow assert with LIT_MEM allocation.
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

17 months agoAdd bounds checking to ERR_MSG() macro, used by zError().
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

17 months agoAdd LIT_MEM define to use more memory for a small deflate speedup.
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

17 months agoMake internal functions static in the test code.
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

17 months agoFix bug in inflateSync() for data held in bit buffer.
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

17 months agoUpdate copyright years in other source files.
Nathan Moinvaziri [Mon, 29 Jan 2024 04:06:05 +0000 (20:06 -0800)] 
Update copyright years in other source files.

17 months agoUpdate copyright year in win32 resource files.
Mark Adler [Mon, 29 Jan 2024 03:25:31 +0000 (19:25 -0800)] 
Update copyright year in win32 resource files.

madler/zlib#8988e03256e9c80766ac6899e86c3bc57c347efc

17 months agoRemove unused code in makecrct.c
Hans Kristian Rosbach [Sat, 3 Feb 2024 11:46:10 +0000 (12:46 +0100)] 
Remove unused code in makecrct.c

17 months agoAdd missing clean rule for arch/generic
Hans Kristian Rosbach [Thu, 25 Jan 2024 09:32:23 +0000 (10:32 +0100)] 
Add missing clean rule for arch/generic

17 months agoRename crc32_braid.c to crc32.c
Hans Kristian Rosbach [Thu, 25 Jan 2024 09:29:20 +0000 (10:29 +0100)] 
Rename crc32_braid.c to crc32.c

18 months agoAdd support for handling alignment correction for input buffers down to 16 bytes...
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

18 months agoSpeed up crc32_[v]pclmulqdq on small strings.
Hans Kristian Rosbach [Thu, 25 Jan 2024 12:28:10 +0000 (13:28 +0100)] 
Speed up crc32_[v]pclmulqdq on small strings.

18 months agoAdd more fine-grained small-length benchmarking of adler32 and crc32.
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.

18 months agoGenerate CMake package configuration files
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

18 months agoRemove extern keyword from cpu_feature function declarations.
Nathan Moinvaziri [Mon, 22 Jan 2024 18:48:52 +0000 (10:48 -0800)] 
Remove extern keyword from cpu_feature function declarations.

18 months agoRemove type declarations for z_stream/zng_stream from cpu_features.
Nathan Moinvaziri [Sun, 21 Jan 2024 18:45:36 +0000 (10:45 -0800)] 
Remove type declarations for z_stream/zng_stream from cpu_features.

18 months agoSplit cpu_features.h by architecture.
Nathan Moinvaziri [Thu, 25 Jan 2024 14:09:25 +0000 (06:09 -0800)] 
Split cpu_features.h by architecture.

18 months agoFix regression caused by 2fa631e029084b75acd81db5d33fd4aa802fd082
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>

18 months agoRemoving some outdated comments
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.

18 months agoSet registers to zero to prevent GCC __get_cpuid bug.
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

18 months agoSimplify architecture #ifdef in test_crc32.cc.
Nathan Moinvaziri [Fri, 26 Jan 2024 01:18:26 +0000 (17:18 -0800)] 
Simplify architecture #ifdef in test_crc32.cc.