]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
6 months ago[linux] Expose ZSTD_compressSequencesAndLiterals() in the kernel 4260/head
Giovanni Cabiddu [Tue, 21 Jan 2025 18:52:46 +0000 (18:52 +0000)] 
[linux] Expose ZSTD_compressSequencesAndLiterals() in the kernel

Make the function ZSTD_compressSequencesAndLiterals() available in kernel
space. This will be used by Intel QAT driver.

Additionally, (1) expose the function ZSTD_CCtx_setParameter(), which is
required to set parameters before calling ZSTD_compressSequencesAndLiterals(),
(2) update the build process to include `compress/zstd_preSplit.o` and
(3) replace `asm/unaligned.h` with `linux/unaligned.h`.

Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
6 months agoMerge pull request #4266 from pps83/rm-ZSTD_decompressSequences_t
Yann Collet [Mon, 27 Jan 2025 06:55:46 +0000 (22:55 -0800)] 
Merge pull request #4266 from pps83/rm-ZSTD_decompressSequences_t

Remove unused ZSTD_decompressSequences_t typedef

6 months agoRemove unused ZSTD_decompressSequences_t typedef 4266/head
Pavel P [Fri, 24 Jan 2025 00:13:20 +0000 (02:13 +0200)] 
Remove unused ZSTD_decompressSequences_t typedef

6 months agoMerge pull request #4263 from pps83/dev-dyn-bmi2
Yann Collet [Thu, 23 Jan 2025 23:53:17 +0000 (15:53 -0800)] 
Merge pull request #4263 from pps83/dev-dyn-bmi2

Check `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0`

6 months agoCheck `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0` 4263/head
Pavel P [Thu, 23 Jan 2025 21:58:50 +0000 (23:58 +0200)] 
Check `DYNAMIC_BMI2` instead of `DYNAMIC_BMI2 != 0`

`#if DYNAMIC_BMI2` is consistent with the rest of the code.

 + use spaces instead of tabs

6 months agoMerge pull request #4257 from pps83/dev-x64test
Yann Collet [Thu, 23 Jan 2025 20:50:27 +0000 (12:50 -0800)] 
Merge pull request #4257 from pps83/dev-x64test

Use _M_X64 only without mixing with _M_AMD64

6 months agoMerge pull request #4258 from pps83/dev-ZSTD_ALIGNED
Yann Collet [Wed, 22 Jan 2025 23:09:35 +0000 (15:09 -0800)] 
Merge pull request #4258 from pps83/dev-ZSTD_ALIGNED

Implement ZSTD_ALIGNED for ms compiler

6 months agoMerge pull request #4259 from Treata11/dev
Yann Collet [Wed, 22 Jan 2025 23:09:11 +0000 (15:09 -0800)] 
Merge pull request #4259 from Treata11/dev

Add support for Apple framework builds

6 months agoInstructions for Apple Framework builds 4259/head
Treata11 [Wed, 22 Jan 2025 19:24:03 +0000 (22:54 +0330)] 
Instructions for Apple Framework builds

6 months agoBuild: Revert min version to 3.10
Treata11 [Wed, 22 Jan 2025 19:23:41 +0000 (22:53 +0330)] 
Build: Revert min version to 3.10

6 months agoIgnore generated framework artifacts
Treata11 [Tue, 21 Jan 2025 17:36:54 +0000 (21:06 +0330)] 
Ignore generated framework artifacts

Signed-off-by: Treata11 <treata11@yahoo.com>
6 months agoBuild: Add support for Apple frameworks
Treata11 [Tue, 21 Jan 2025 17:28:27 +0000 (20:58 +0330)] 
Build: Add support for Apple frameworks

Signed-off-by: Treata11 <treata11@yahoo.com>
6 months agoImplement ZSTD_ALIGNED for ms compiler 4258/head
Pavel P [Tue, 21 Jan 2025 00:33:25 +0000 (02:33 +0200)] 
Implement ZSTD_ALIGNED for ms compiler

6 months agoUse _M_X64 only without mixing with _M_AMD64 4257/head
Pavel P [Tue, 21 Jan 2025 00:27:09 +0000 (02:27 +0200)] 
Use _M_X64 only without mixing with _M_AMD64

6 months agoMerge pull request #4255 from facebook/dependabot/github_actions/github/codeql-action...
Yann Collet [Mon, 20 Jan 2025 07:18:33 +0000 (23:18 -0800)] 
Merge pull request #4255 from facebook/dependabot/github_actions/github/codeql-action-3.28.1

Bump github/codeql-action from 3.27.1 to 3.28.1

6 months agoMerge pull request #4254 from facebook/dependabot/github_actions/cygwin/cygwin-instal...
Yann Collet [Mon, 20 Jan 2025 07:16:18 +0000 (23:16 -0800)] 
Merge pull request #4254 from facebook/dependabot/github_actions/cygwin/cygwin-install-action-5

Bump cygwin/cygwin-install-action from 4 to 5

6 months agoUpdate dev-short-tests.yml 4254/head
Yann Collet [Mon, 20 Jan 2025 07:14:59 +0000 (23:14 -0800)] 
Update dev-short-tests.yml

specify cygwin action version

6 months agoBump github/codeql-action from 3.27.1 to 3.28.1 4255/head
dependabot[bot] [Mon, 20 Jan 2025 05:47:03 +0000 (05:47 +0000)] 
Bump github/codeql-action from 3.27.1 to 3.28.1

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.27.1 to 3.28.1.
- [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/4f3212b61783c3c68e8309a0f18a699764811cda...b6a472f63d85b9c78a3ac5e89422239fc15e9b3c)

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

Signed-off-by: dependabot[bot] <support@github.com>
6 months agoBump cygwin/cygwin-install-action from 4 to 5
dependabot[bot] [Mon, 20 Jan 2025 05:46:57 +0000 (05:46 +0000)] 
Bump cygwin/cygwin-install-action from 4 to 5

Bumps [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action) from 4 to 5.
- [Release notes](https://github.com/cygwin/cygwin-install-action/releases)
- [Commits](https://github.com/cygwin/cygwin-install-action/compare/006ad0b0946ca6d0a3ea2d4437677fa767392401...f61179d72284ceddc397ed07ddb444d82bf9e559)

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

Signed-off-by: dependabot[bot] <support@github.com>
6 months agoMerge pull request #4253 from facebook/BitContainerType
Yann Collet [Mon, 20 Jan 2025 02:35:36 +0000 (18:35 -0800)] 
Merge pull request #4253 from facebook/BitContainerType

minor: use BitContainerType when appropriate

6 months agoMerge pull request #4252 from facebook/x32_dynamicBmi2
Yann Collet [Mon, 20 Jan 2025 02:30:29 +0000 (18:30 -0800)] 
Merge pull request #4252 from facebook/x32_dynamicBmi2

enable DYNAMIC_BMI2 by default on x86 (32-bit mode)

6 months agominor: generalize BitContainerType 4253/head
Yann Collet [Sun, 19 Jan 2025 17:32:01 +0000 (09:32 -0800)] 
minor: generalize BitContainerType

technically equivalent to `size_t`,
but it's the proper type for underlying register representation.

This makes it possible to control register type, and therefore size, independently from `size_t`,
which can be useful on systems where `size_t` is 32-bit, while the architecture supports 64-bit registers.

6 months agoenable DYNAMIC_BMI2 by default on x86 (32-bit mode) 4252/head
Yann Collet [Sun, 19 Jan 2025 15:39:17 +0000 (07:39 -0800)] 
enable DYNAMIC_BMI2 by default on x86 (32-bit mode)

so far was only enabled for x64 (64-bit mode)

6 months agoMerge pull request #4251 from facebook/x32_bmi2
Yann Collet [Sun, 19 Jan 2025 15:37:57 +0000 (07:37 -0800)] 
Merge pull request #4251 from facebook/x32_bmi2

BMI2 detection in 32-bit mode

6 months agono longer limit automated BMI2 detection to x64 4251/head
Yann Collet [Sun, 19 Jan 2025 08:08:57 +0000 (00:08 -0800)] 
no longer limit automated BMI2 detection to x64

this was previously no triggered in x86 32-bit mode,
due to a limitation in `bitstream.h`, that was fixed in #4248.

Now, `bmi2` will be automatically detected and triggered
at compilation time, if the corresponding instruction set is enabled,
even in 32-bit mode.

Also: updated library documentation, to feature STATIC_BMI2 build variable

6 months agoMerge pull request #4250 from facebook/x86_32_avx2
Yann Collet [Sun, 19 Jan 2025 07:54:51 +0000 (23:54 -0800)] 
Merge pull request #4250 from facebook/x86_32_avx2

added a CI test for x86 32-bit + avx2 combination

6 months agoalso add `-mbmi2` to the compilation test 4250/head
Yann Collet [Sun, 19 Jan 2025 06:58:03 +0000 (22:58 -0800)] 
also add `-mbmi2` to the compilation test

6 months agominor: cosmetic, indentation
Yann Collet [Sun, 19 Jan 2025 06:48:49 +0000 (22:48 -0800)] 
minor: cosmetic, indentation

6 months agoadded -DSTATIC_BMI2=1 for the -mavx2 test
Yann Collet [Sun, 19 Jan 2025 06:40:18 +0000 (22:40 -0800)] 
added -DSTATIC_BMI2=1 for the -mavx2 test

6 months agofixed minor static function declaration issue
Yann Collet [Sun, 19 Jan 2025 04:43:30 +0000 (20:43 -0800)] 
fixed minor static function declaration issue

in AVX2 mode only

6 months agoadded avx2 (x64) compilation test
Yann Collet [Sun, 19 Jan 2025 04:38:48 +0000 (20:38 -0800)] 
added avx2 (x64) compilation test

6 months agoadded a CI test for x86 32-bit + avx2 combination
Yann Collet [Sun, 19 Jan 2025 04:19:55 +0000 (20:19 -0800)] 
added a CI test for x86 32-bit + avx2 combination

which is expected to be quite rare, but nonetheless possible.

This test is initially expected to fail, before integration of #4248 fix

6 months agoMerge pull request #4248 from pps83/dev-bzhi32
Yann Collet [Sun, 19 Jan 2025 06:48:24 +0000 (22:48 -0800)] 
Merge pull request #4248 from pps83/dev-bzhi32

Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2

6 months agoMerge pull request #4246 from pps83/dev-asmx64-win
Yann Collet [Sun, 19 Jan 2025 04:03:16 +0000 (20:03 -0800)] 
Merge pull request #4246 from pps83/dev-asmx64-win

[asm] Enable x86_64 asm for windows builds

6 months agoMerge pull request #4249 from facebook/zds_nonnull
Yann Collet [Sun, 19 Jan 2025 02:56:46 +0000 (18:56 -0800)] 
Merge pull request #4249 from facebook/zds_nonnull

minor: assert that state is not null

6 months agoupdate sizeof check 4248/head
Pavel P [Sun, 19 Jan 2025 00:37:35 +0000 (02:37 +0200)] 
update sizeof check

6 months agoremove unrelated changes 4246/head
Pavel P [Sun, 19 Jan 2025 00:36:00 +0000 (02:36 +0200)] 
remove unrelated changes

6 months agochange to BitContainerType
Pavel P [Sun, 19 Jan 2025 00:34:23 +0000 (02:34 +0200)] 
change to BitContainerType

6 months agohandle 32bit size_t when building for x64
Pavel P [Sat, 18 Jan 2025 21:37:50 +0000 (23:37 +0200)] 
handle 32bit size_t when building for x64

6 months agohandle 32bit size_t when building for x64
Pavel P [Sat, 18 Jan 2025 21:27:19 +0000 (23:27 +0200)] 
handle 32bit size_t when building for x64

6 months agominor: assert that state is not null 4249/head
Yann Collet [Sat, 18 Jan 2025 21:08:04 +0000 (13:08 -0800)] 
minor: assert that state is not null

replaces #4016

6 months agoMerge pull request #4247 from facebook/test_endMsg
Yann Collet [Sat, 18 Jan 2025 21:06:07 +0000 (13:06 -0800)] 
Merge pull request #4247 from facebook/test_endMsg

Added a human-readable final success message at end of tests

6 months agoCI: replaced shortest target by check 4247/head
Yann Collet [Sat, 18 Jan 2025 20:22:52 +0000 (12:22 -0800)] 
CI: replaced shortest target by check

6 months agoUse _bzhi_u32 for 32-bit builds when building with STATIC_BMI2
Pavel P [Sat, 18 Jan 2025 19:32:30 +0000 (21:32 +0200)] 
Use _bzhi_u32 for 32-bit builds when building with STATIC_BMI2

`_bzhi_u64` is available only for 64-bit builds, while `BIT_getLowerBits` expects `nbBits` to be less than `BIT_MASK_SIZE` (`BIT_MASK_SIZE` is 32)

6 months ago[asm] Enable x86_64 asm for windows builds
Pavel P [Sat, 18 Jan 2025 03:01:43 +0000 (05:01 +0200)] 
[asm] Enable x86_64 asm for windows builds

6 months agoAdded a final success message at end of tests
Yann Collet [Sat, 18 Jan 2025 03:30:55 +0000 (19:30 -0800)] 
Added a final success message at end of tests

so that a human reading the test log can determine everything was fine without consulting the shell error code.

Also: made `make check` slightly shorter by moving one longer test to `make test`

6 months agoMerge pull request #4242 from lalakii/dev
Yann Collet [Thu, 16 Jan 2025 18:33:18 +0000 (10:33 -0800)] 
Merge pull request #4242 from lalakii/dev

add prerelease option

6 months agoMerge pull request #4235 from facebook/bench_nbThreads
Yann Collet [Thu, 16 Jan 2025 18:33:04 +0000 (10:33 -0800)] 
Merge pull request #4235 from facebook/bench_nbThreads

benchmark mode specifies nb of threads with -v

6 months agoMerge pull request #4238 from szsam/patch-1
Yann Collet [Thu, 16 Jan 2025 01:56:41 +0000 (17:56 -0800)] 
Merge pull request #4238 from szsam/patch-1

fix out-of-bounds array index access

6 months agoMerge pull request #4232 from facebook/convertSequences_SSE
Yann Collet [Thu, 16 Jan 2025 01:56:05 +0000 (17:56 -0800)] 
Merge pull request #4232 from facebook/convertSequences_SSE

Improve speed of ZSTD_compressSequencesAndLiterals() using AVX2

6 months agorestore full equation 4232/head
Yann Collet [Tue, 14 Jan 2025 23:57:05 +0000 (15:57 -0800)] 
restore full equation

do not solve the equation, even though some members cancel each other,
this is done for clarity,
we'll let the compiler do the resolution at compile time.

6 months agoAlignment instruction ZSTD_ALIGNED() in common/compiler.h
Yann Collet [Tue, 14 Jan 2025 23:54:10 +0000 (15:54 -0800)] 
Alignment instruction ZSTD_ALIGNED() in common/compiler.h

6 months agochanged code compilation test to employ ZSTD_ARCH_X86_AVX2
Yann Collet [Tue, 14 Jan 2025 22:56:10 +0000 (14:56 -0800)] 
changed code compilation test to employ ZSTD_ARCH_X86_AVX2

6 months agoremoved unused branch
Yann Collet [Tue, 14 Jan 2025 22:54:02 +0000 (14:54 -0800)] 
removed unused branch

6 months agocreate new compilation macro ZSTD_ARCH_X86_AVX2
Yann Collet [Tue, 14 Jan 2025 22:44:02 +0000 (14:44 -0800)] 
create new compilation macro ZSTD_ARCH_X86_AVX2

6 months agominor code doc update
Yann Collet [Wed, 8 Jan 2025 22:25:03 +0000 (14:25 -0800)] 
minor code doc update

6 months agoadded compilation-time checks to ensure AVX2 code is valid
Yann Collet [Wed, 8 Jan 2025 18:51:57 +0000 (10:51 -0800)] 
added compilation-time checks to ensure AVX2 code is valid

since it depends on a specific definition of ZSTD_Sequence structure.

6 months agoremoved unused variable
Yann Collet [Wed, 8 Jan 2025 07:59:01 +0000 (23:59 -0800)] 
removed unused variable

6 months agofix minor conversion warning
Yann Collet [Wed, 8 Jan 2025 07:45:15 +0000 (23:45 -0800)] 
fix minor conversion warning

6 months agono need for specialized variant
Yann Collet [Wed, 8 Jan 2025 07:40:49 +0000 (23:40 -0800)] 
no need for specialized variant

the branch is not in the hot loop

6 months agoremoved erroneous #includes
Yann Collet [Wed, 8 Jan 2025 07:34:19 +0000 (23:34 -0800)] 
removed erroneous #includes

that were automatically added by the editor without notification

6 months agoAVX2 version of ZSTD_get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 07:32:05 +0000 (23:32 -0800)] 
AVX2 version of ZSTD_get1BlockSummary()

6 months agominor +10% speed improvement for scalar ZSTD_get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 03:34:06 +0000 (19:34 -0800)] 
minor +10% speed improvement for scalar ZSTD_get1BlockSummary()

6 months agoadded benchmark for get1BlockSummary()
Yann Collet [Wed, 8 Jan 2025 03:29:06 +0000 (19:29 -0800)] 
added benchmark for get1BlockSummary()

6 months agogeneralize validation function
Yann Collet [Wed, 8 Jan 2025 01:04:12 +0000 (17:04 -0800)] 
generalize validation function

6 months agocontrol long length within AVX2 implementation
Yann Collet [Wed, 8 Jan 2025 00:42:36 +0000 (16:42 -0800)] 
control long length within AVX2 implementation

6 months agofullbench can run a verification function
Yann Collet [Tue, 7 Jan 2025 23:51:38 +0000 (15:51 -0800)] 
fullbench can run a verification function

compressSequencesAndLiterals: fixed long lengths in scalar mode

6 months agoinitial implementation (incomplete)
Yann Collet [Sun, 29 Dec 2024 10:13:57 +0000 (02:13 -0800)] 
initial implementation (incomplete)

needs to take care of long lengths > 65535

6 months agoMerge pull request #4243 from facebook/fix_ci
Yann Collet [Thu, 16 Jan 2025 01:10:26 +0000 (17:10 -0800)] 
Merge pull request #4243 from facebook/fix_ci

fix ci tests

6 months agofixed zlib test 4243/head
Yann Collet [Thu, 16 Jan 2025 00:31:00 +0000 (16:31 -0800)] 
fixed zlib test

new versions of the library generate a different error code

6 months agozlib-wrapper: separate test components to better understand what is failing
Yann Collet [Thu, 16 Jan 2025 00:05:42 +0000 (16:05 -0800)] 
zlib-wrapper: separate test components to better understand what is failing

6 months agoupdate installed lib64gcc version
Yann Collet [Wed, 15 Jan 2025 23:52:27 +0000 (15:52 -0800)] 
update installed lib64gcc version

6 months agoshort-test-1: separate tests, giving each a name
Yann Collet [Wed, 15 Jan 2025 23:39:20 +0000 (15:39 -0800)] 
short-test-1: separate tests, giving each a name

to better observe where the problem might be

6 months agofixed cmake-build-and-test-check
Yann Collet [Wed, 15 Jan 2025 23:28:23 +0000 (15:28 -0800)] 
fixed cmake-build-and-test-check

missing the liblzma library

6 months agofix make-external-compressors "only-lzma" test
Yann Collet [Wed, 15 Jan 2025 23:24:27 +0000 (15:24 -0800)] 
fix make-external-compressors "only-lzma" test

missing the liblzma-dev package

6 months agofix meson-linux build test
Yann Collet [Wed, 15 Jan 2025 23:15:27 +0000 (15:15 -0800)] 
fix meson-linux build test

missing the liblzma package

6 months agofix clang-pgo test
Yann Collet [Wed, 15 Jan 2025 22:49:45 +0000 (14:49 -0800)] 
fix clang-pgo test

6 months agoMerge pull request #4234 from MessyHack/dev
Yann Collet [Tue, 14 Jan 2025 22:33:25 +0000 (14:33 -0800)] 
Merge pull request #4234 from MessyHack/dev

[MSVC] Wrong define checked when building for 64bit with Visual Studio

6 months agoMerge pull request #4237 from facebook/typo_s
Yann Collet [Tue, 14 Jan 2025 19:12:46 +0000 (11:12 -0800)] 
Merge pull request #4237 from facebook/typo_s

fixed an obvious macro name typo

6 months agoadd prerelease option 4241/head 4242/head
lalakii [Tue, 14 Jan 2025 18:16:42 +0000 (02:16 +0800)] 
add prerelease option

6 months agoreturn error if block delimiter is not found 4238/head
Mingjie Shen [Tue, 14 Jan 2025 01:52:06 +0000 (20:52 -0500)] 
return error if block delimiter is not found

6 months ago[contrib/pzstd] Prevent hangs when there are errors
Sean Bartell [Thu, 20 Jun 2024 20:52:43 +0000 (15:52 -0500)] 
[contrib/pzstd] Prevent hangs when there are errors

When two threads are using a WorkQueue and the reader thread exits due
to an error, it must call WorkQueue::finish() to wake up the writer
thread. Otherwise, if the queue is full and the writer thread is waiting
for a free slot, it could hang forever.

This can happen in pratice when decompressing a large, corrupted file
that does not contain pzstd skippable frames.

6 months agofix out-of-bounds array index access
Mingjie Shen [Mon, 13 Jan 2025 21:39:34 +0000 (16:39 -0500)] 
fix out-of-bounds array index access

6 months agofixed macro name typo 4237/head
Yann Collet [Mon, 13 Jan 2025 07:08:26 +0000 (23:08 -0800)] 
fixed macro name typo

6 months agobench: nb threads specified with -v 4235/head
Yann Collet [Sun, 12 Jan 2025 09:32:40 +0000 (01:32 -0800)] 
bench: nb threads specified with -v

6 months agoshould check defined(_M_X64) not defined(_M_X86) when building with MSVC. 4234/head
MessyHack [Sat, 11 Jan 2025 06:38:56 +0000 (22:38 -0800)] 
should check defined(_M_X64) not defined(_M_X86) when building with MSVC.

_M_X86 is only defined under MSVC 32Bit
_M_X64 is only defined under MSVC 64Bit

6 months agoMerge pull request #4218 from facebook/externC
Victor Zhang [Tue, 7 Jan 2025 18:06:08 +0000 (10:06 -0800)] 
Merge pull request #4218 from facebook/externC

Move #includes out of `extern "C"` blocks

6 months agoMerge pull request #4231 from sunpoet/dev
Yann Collet [Tue, 7 Jan 2025 17:04:57 +0000 (09:04 -0800)] 
Merge pull request #4231 from sunpoet/dev

Update MANDIR for FreeBSD

6 months agoMerge pull request #4230 from facebook/variedOutput
Victor Zhang [Mon, 6 Jan 2025 17:26:57 +0000 (09:26 -0800)] 
Merge pull request #4230 from facebook/variedOutput

Do not vary row matchfinder selection based on availability of SSE2/Neon

6 months agoUpdate MANDIR for FreeBSD 4231/head
Po-Chuan Hsieh [Sun, 5 Jan 2025 14:26:08 +0000 (22:26 +0800)] 
Update MANDIR for FreeBSD

share/man became a valid path for manpage since Jan 2020. And we
converted the whole ports tree to share/man around last March.

6 months agoDo not vary row matchfinder selection based on availability of SSE2/Neon 4230/head
Victor Zhang [Fri, 3 Jan 2025 17:35:18 +0000 (09:35 -0800)] 
Do not vary row matchfinder selection based on availability of SSE2/Neon

Move towards a stronger guarantee of reproducibility by removing this small difference for machines without SSE2/Neon.
The SIMD behavior is now the default for all platforms.

6 months ago[opt] Fix too short of match getting generated
Nick Terrell [Fri, 20 Dec 2024 22:32:28 +0000 (17:32 -0500)] 
[opt] Fix too short of match getting generated

The optimal parser with LDM enabled using minMatch > 3 could generate a match
length of 3 when minMatch >= 4. This is not allowed.

1. Fix the bug
2. Add validation logic to `ZSTD_buildSeqStore()` in debug mode for all block
   compressors that checks we never generate too short a match. This way we don't
   rely on the `generate_sequences` fuzzer to find this issue.

Credit to OSS-Fuzz

6 months agoMerge pull request #4229 from facebook/noFseek
Victor Zhang [Fri, 3 Jan 2025 06:42:00 +0000 (22:42 -0800)] 
Merge pull request #4229 from facebook/noFseek

Support for libc variants without fseeko/ftello

6 months agochore: indentation alignment 4229/head
Victor Zhang [Thu, 2 Jan 2025 23:10:40 +0000 (15:10 -0800)] 
chore: indentation alignment

6 months agoPR feedback
Victor Zhang [Thu, 2 Jan 2025 23:05:58 +0000 (15:05 -0800)] 
PR feedback

6 months agoOops
Victor Zhang [Thu, 2 Jan 2025 22:17:24 +0000 (14:17 -0800)] 
Oops

6 months agoSupport for libc variants without fseeko/ftello
Victor Zhang [Thu, 2 Jan 2025 22:02:10 +0000 (14:02 -0800)] 
Support for libc variants without fseeko/ftello

Some older Android libc implementations don't support `fseeko` or `ftello`.
This commit adds a new compile-time macro `LIBC_NO_FSEEKO` as well as a usage in CMake for old Android APIs.

6 months agoMerge pull request #4228 from facebook/skippableMagicVariant
Yann Collet [Thu, 2 Jan 2025 18:57:49 +0000 (10:57 -0800)] 
Merge pull request #4228 from facebook/skippableMagicVariant

ZSTD_getFrameHeader() for skippable frames

7 months agoupdate type names 4228/head
Yann Collet [Sun, 29 Dec 2024 22:25:33 +0000 (14:25 -0800)] 
update type names

naming convention: Type names should start with a Capital letter (after the prefix)

7 months agoMerge pull request #4227 from facebook/doc_skippableFrame
Yann Collet [Sun, 29 Dec 2024 21:27:35 +0000 (13:27 -0800)] 
Merge pull request #4227 from facebook/doc_skippableFrame

clarify documentation for Frame-level methods invoked on a skippable frame