]> git.ipfire.org Git - thirdparty/zlib-ng.git/log
thirdparty/zlib-ng.git
9 months agoAdd variable 'wbufsize' to track window buffer including padding, to allow
Hans Kristian Rosbach [Wed, 25 Sep 2024 15:21:28 +0000 (17:21 +0200)] 
Add variable 'wbufsize' to track window buffer including padding, to allow
the chunkset code to spill garbage data into the padding area if available.

9 months agoDon't use 'dmax' and 'sane' variables unless their checks have been compiled in.
Hans Kristian Rosbach [Wed, 25 Sep 2024 15:18:49 +0000 (17:18 +0200)] 
Don't use 'dmax' and 'sane' variables unless their checks have been compiled in.

9 months agoCompute the "safe" distance properly
Adam Stylinski [Thu, 3 Oct 2024 21:17:44 +0000 (17:17 -0400)] 
Compute the "safe" distance properly

The safe pointer that is computed is an exclusive, not inclusive bounds.
While we were probably rarely ever bit this, if ever, it still makes
sense to apply the limit, properly.

10 months agoExplicitly set CMake policy 0169 to silence warning
FantasqueX [Thu, 19 Sep 2024 16:53:18 +0000 (00:53 +0800)] 
Explicitly set CMake policy 0169 to silence warning

The recommended `FetchContent_MakeAvailable()` is introduced in CMake
3.14 which is greater than `cmake_minimum_required()`.

CMake policy will effects subdirectories.

The `cmake_minimum_required(VERSION)` command implicitly calls
`cmake_policy(VERSION)`.

Closes https://github.com/zlib-ng/zlib-ng/issues/1788

10 months agoSimplify chunking in the copy ladder here
Adam Stylinski [Sun, 15 Sep 2024 16:23:50 +0000 (12:23 -0400)] 
Simplify chunking in the copy ladder here

As it turns out, trying to peel off the remainder with so many branches
caused the code size to inflate a bit too much that this function
wouldn't inline without some fairly aggressive optimization flags. Only
catching vector sized chunks here makes the loop body small enough and
having the byte by byte copy idiom at the bottom gives the compiler some
flexibility that it is likely to do something there.

10 months agoDisable MSVC warning 4324 (struct padded due to alignment)
Hans Kristian Rosbach [Wed, 25 Sep 2024 18:52:26 +0000 (20:52 +0200)] 
Disable MSVC warning 4324 (struct padded due to alignment)

10 months agoForce Visual C++ to treat source files as UTF-8.
Mika Lindqvist [Wed, 18 Sep 2024 18:55:40 +0000 (21:55 +0300)] 
Force Visual C++ to treat source files as UTF-8.

10 months agoReplace non-ascii characters to fix MSVC warning
FantasqueX [Thu, 19 Sep 2024 16:05:26 +0000 (00:05 +0800)] 
Replace non-ascii characters to fix MSVC warning

10 months ago[CI] Don't try to use macOS 11 as it's no longer supported.
Mika Lindqvist [Fri, 23 Feb 2024 11:21:28 +0000 (13:21 +0200)] 
[CI] Don't try to use macOS 11 as it's no longer supported.

10 months agoUse target include instead of raw include
Letu Ren [Tue, 17 Sep 2024 13:49:27 +0000 (21:49 +0800)] 
Use target include instead of raw include

10 months agoFix overridde CMAKE_C_STANDARD, CMAKE_C_STANDARD_REQUIRED, CMAKE_C_EXTENSIONS. False...
Vladislav Shchapov [Tue, 17 Sep 2024 15:10:34 +0000 (20:10 +0500)] 
Fix overridde CMAKE_C_STANDARD, CMAKE_C_STANDARD_REQUIRED, CMAKE_C_EXTENSIONS. False value is allowed for CMAKE_C_STANDARD_REQUIRED and CMAKE_C_EXTENSIONS.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
10 months agoAllow overridde CMAKE_CXX_STANDARD, CMAKE_CXX_STANDARD_REQUIRED, CMAKE_CXX_EXTENSIONS...
Vladislav Shchapov [Tue, 17 Sep 2024 15:08:41 +0000 (20:08 +0500)] 
Allow overridde CMAKE_CXX_STANDARD, CMAKE_CXX_STANDARD_REQUIRED, CMAKE_CXX_EXTENSIONS variables for tests and benchmarks.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
10 months agoFix build on aarch64 android.
Bartosz Taudul [Tue, 17 Sep 2024 10:46:11 +0000 (12:46 +0200)] 
Fix build on aarch64 android.

When building with CMake toolchain provided by NDK, the ARCH variable is
not "aarch64", but "aarch64-none-linux-android26" (or similar). The
strict string match check causes the WITH_ARMV6 option to be enabled in
such a case. In result, arch/arm/slide_hash_armv6.c is compiled, which
is not intended to be used on aarch64, and fails.

Relax the check and assume aarch64 if the ARCH variable contains aarch64.

10 months ago2.2.2 Release 2.2.2
Hans Kristian Rosbach [Sun, 15 Sep 2024 14:11:48 +0000 (16:11 +0200)] 
2.2.2 Release

10 months agoRevert "Split chunkcopy_safe to allow the first part to be inlined more often."
Hans Kristian Rosbach [Tue, 17 Sep 2024 12:09:44 +0000 (14:09 +0200)] 
Revert "Split chunkcopy_safe to allow the first part to be inlined more often."

This reverts commit 6b8efe78685926d89da0cf1c496c1022fc24f588.

New and improved chunkcopy_safe is coming soon.

10 months agoMake use of unaligned loads on big endian in insert_string
Cameron Cawley [Sun, 25 Feb 2024 18:08:53 +0000 (18:08 +0000)] 
Make use of unaligned loads on big endian in insert_string

10 months agoSplit chunkcopy_safe to allow the first part to be inlined more often.
Hans Kristian Rosbach [Wed, 11 Sep 2024 10:31:38 +0000 (12:31 +0200)] 
Split chunkcopy_safe to allow the first part to be inlined more often.

10 months ago[RISCV] Better run-time detection of RVV vector instruction support
Mika Lindqvist [Mon, 26 Aug 2024 16:26:37 +0000 (19:26 +0300)] 
[RISCV] Better run-time detection of RVV vector instruction support

Original version posted by @ncopa in #1705.

10 months agoFixed false positive HAVE_ARMV6_INTRIN value on old ARM platforms.
Alexander Smorkalov [Tue, 10 Sep 2024 14:07:09 +0000 (17:07 +0300)] 
Fixed false positive HAVE_ARMV6_INTRIN value on old ARM platforms.

10 months agoDon't use chunkunroll for inflateBack
Nathan Moinvaziri [Mon, 9 Sep 2024 20:32:33 +0000 (13:32 -0700)] 
Don't use chunkunroll for inflateBack

If the output buffer and the window buffer are the same
memory allocation, we cannot make the assumptions that chunkunroll
does, that it is okay to overwrite the output buffer.

11 months agoAddress CR feedback
Adeel Mujahid [Thu, 29 Aug 2024 11:27:43 +0000 (14:27 +0300)] 
Address CR feedback

11 months agoFix new Windows SDK build break
Adeel Mujahid [Wed, 28 Aug 2024 20:49:55 +0000 (23:49 +0300)] 
Fix new Windows SDK build break

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
11 months agoEnable warning C4242 and treat warnings as errors for Visual C++.
Mika Lindqvist [Mon, 12 Aug 2024 23:20:19 +0000 (02:20 +0300)] 
Enable warning C4242 and treat warnings as errors for Visual C++.

11 months ago Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data...
Carlos Sánchez López [Thu, 25 Jul 2024 23:03:21 +0000 (16:03 -0700)] 
 Fixes build issues C4242, C4244 and C4334 caused by loss of data bugs due to data type mismatch in various files.

11 months agoIBM zSystems: Hardcode HWCAP_S390_VXRS
Ilya Leoshkevich [Fri, 9 Aug 2024 08:29:20 +0000 (10:29 +0200)] 
IBM zSystems: Hardcode HWCAP_S390_VXRS

Compiling zlib-ng with glibc 2.17 (minimum version still supported by
crosstool-ng) fails due to the lack of HWCAP_S390_VX - it was
introduced in glibc 2.23.

Strictly speaking, this is a problem with the feature detection logic
in cmake. However, it's not worth disabling the s390x vectorized CRC32
if the hwcap constant is missing and the compiler intrinsics are
available.

So fix by hardcoding the constant. It's a part of the kernel ABI,
which does not change.

11 months agoCast result of zalloc to char * to avoid warnings
Pavel P [Wed, 7 Aug 2024 18:59:39 +0000 (20:59 +0200)] 
Cast result of zalloc to char * to avoid warnings

 + remove unnecessary cast when using `original_buf`

11 months agoSilence possible loss of data warning in crc32_braid ZSWAPWORD call
Nathan Moinvaziri [Mon, 5 Aug 2024 15:59:31 +0000 (08:59 -0700)] 
Silence possible loss of data warning in crc32_braid ZSWAPWORD call

Warning C4244
'=': conversion from 'z_word_t' to 'uint32_t', possible loss of data
zlib
crc32_braid_c.c 195

11 months ago[CI] Upgrade MacOS ARM64 UBSAN to use gcc-13.
Mika Lindqvist [Tue, 30 Jul 2024 22:31:33 +0000 (01:31 +0300)] 
[CI] Upgrade MacOS ARM64 UBSAN to use gcc-13.

13 months ago2.2.1 Release 2.2.1
Hans Kristian Rosbach [Fri, 28 Jun 2024 11:48:49 +0000 (13:48 +0200)] 
2.2.1 Release

13 months agodon't use zlib-ng's -Wl,--version-script in tests (#1750)
Harmen Stoppels [Fri, 28 Jun 2024 11:21:33 +0000 (13:21 +0200)] 
don't use zlib-ng's -Wl,--version-script in tests (#1750)

lld 18 errors when a version script assigns a version to a symbol that
is not defined in the object files. Therefore configure scripts should
not use zlib-ng's version script -- all tests will fail.

Also test whether the linker supports the flag instead of assuming.

13 months ago2.2.0 Release 2.2.0
Hans Kristian Rosbach [Wed, 12 Jun 2024 12:27:05 +0000 (14:27 +0200)] 
2.2.0 Release

13 months agoImproved ACLE check (#1727)
Un1q32 [Thu, 13 Jun 2024 11:23:29 +0000 (07:23 -0400)] 
Improved ACLE check (#1727)

Co-authored-by: Cameron Cawley <ccawley2011@gmail.com>
13 months agoFix a couple typos found by codespell 1741/head
Dimitri Papadopoulos [Mon, 10 Jun 2024 07:18:17 +0000 (09:18 +0200)] 
Fix a couple typos found by codespell

14 months agoFix lint trailing whitespace error.
Vladislav Shchapov [Thu, 30 May 2024 17:40:07 +0000 (22:40 +0500)] 
Fix lint trailing whitespace error.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoEnabled orphaned unit tests for compare256_rle family of functions.
Vladislav Shchapov [Tue, 28 May 2024 19:46:06 +0000 (00:46 +0500)] 
Enabled orphaned unit tests for compare256_rle family of functions.

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoSimplify inflate window management now that there is no need to
Hans Kristian Rosbach [Thu, 23 May 2024 18:10:00 +0000 (20:10 +0200)] 
Simplify inflate window management now that there is no need to
worry about failed allocs other than during init.

14 months agoUpdate PORTING.md to document zlib-ng memory allocation details.
Hans Kristian Rosbach [Sat, 25 May 2024 18:43:00 +0000 (20:43 +0200)] 
Update PORTING.md to document zlib-ng memory allocation details.

14 months agoClean up memory allocation functions that are no longer used, and its tests.
Hans Kristian Rosbach [Thu, 18 Apr 2024 13:28:56 +0000 (15:28 +0200)] 
Clean up memory allocation functions that are no longer used, and its tests.

Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com>
14 months agoRewrite inflate memory allocation.
Hans Kristian Rosbach [Tue, 16 Apr 2024 20:20:03 +0000 (22:20 +0200)] 
Rewrite inflate memory allocation.
Inflate used to allocate state during init, but window would be allocated
when/if needed and could be resized and that required a new free/alloc round.

- Now, we allocate state and a 32K window during init, allowing the latency cost
  of allocs to be done during init instead of at one or more times later.
- Total memory allocation is about the same when requesting a 32K window, but
  if now window or a smaller window was requested, then it is an increase.
- While doing alloc(), we now store pointer to corresponding free(), avoiding crashes
  with applications that incorrectly set alloc/free pointers after running init function.
- After init has succeeded, inflate will no longer possibly fail due to a failing malloc.

Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com>
14 months agoRewrite deflate memory allocation.
Hans Kristian Rosbach [Sun, 14 Apr 2024 15:29:51 +0000 (17:29 +0200)] 
Rewrite deflate memory allocation.
Deflate used to call allocate 5 times during init.

- 5 calls to external alloc function now becomes 1
- Handling alignment of allocated buffers is simplified
  - Efforts to align the allocated buffer now needs to happen only once.
  - Individual buffers are ordered so that they have natural sequential alignment.
- Due to reduced losses to alignment, we allocate less memory in total.
- While doing alloc(), we now store pointer to corresponding free(), avoiding crashes
  with applications that incorrectly set alloc/free pointers after running init function.
- Removed need for extra padding after window, chunked reads can now go beyond the window
  buffer without causing a segfault.

Co-authored-by: Ilya Leoshkevich <iii@linux.ibm.com>
14 months agoPrepare DFLTCC changes for new malloc system
Ilya Leoshkevich [Tue, 21 May 2024 12:42:12 +0000 (14:42 +0200)] 
Prepare DFLTCC changes for new malloc system

14 months agoImprove source compatibility with zlib
Vladislav Shchapov [Sun, 26 May 2024 13:57:14 +0000 (18:57 +0500)] 
Improve source compatibility with zlib

Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
14 months agoAdd AArch64 feature detection support for OpenBSD
Brad Smith [Wed, 22 May 2024 23:11:05 +0000 (19:11 -0400)] 
Add AArch64 feature detection support for OpenBSD

14 months ago- Make codecov uploads happen even if some jobs have failed.
Hans Kristian Rosbach [Fri, 17 May 2024 14:04:57 +0000 (16:04 +0200)] 
- Make codecov uploads happen even if some jobs have failed.
- Fix error in generating list of reports to upload.
- Clean up the implementation a bit.

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.