]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
9 months agofix test 4170/head
Yann Collet [Wed, 16 Oct 2024 01:44:40 +0000 (18:44 -0700)] 
fix test

9 months agominor improvement to level 3 dictionary compression ratio
Yann Collet [Wed, 16 Oct 2024 00:58:33 +0000 (17:58 -0700)] 
minor improvement to level 3 dictionary compression ratio

9 months agosmall dictionary compression speed improvement
Yann Collet [Wed, 16 Oct 2024 00:46:01 +0000 (17:46 -0700)] 
small dictionary compression speed improvement

not as good as small-blocks improvement,
but generally positive.

9 months agoMerge pull request #4167 from facebook/ci_m32test_faster
Yann Collet [Sat, 12 Oct 2024 08:57:55 +0000 (01:57 -0700)] 
Merge pull request #4167 from facebook/ci_m32test_faster

attempt to make 32-bit tests faster

9 months agoattempt parallel test running with -j 4167/head
Yann Collet [Sat, 12 Oct 2024 01:01:28 +0000 (18:01 -0700)] 
attempt parallel test running with -j

9 months agomeasure if -O2 makes the test complete faster
Yann Collet [Sat, 12 Oct 2024 00:30:55 +0000 (17:30 -0700)] 
measure if -O2 makes the test complete faster

9 months agoattempt to make 32-bit tests faster
Yann Collet [Fri, 11 Oct 2024 23:24:25 +0000 (16:24 -0700)] 
attempt to make 32-bit tests faster

this is the longest CI test, reaching ~40mn on last PR

9 months agoMerge pull request #4165 from facebook/cspeed_cmov
Yann Collet [Fri, 11 Oct 2024 23:20:19 +0000 (16:20 -0700)] 
Merge pull request #4165 from facebook/cspeed_cmov

Improve compression speed on small blocks

9 months agorename variable name 4165/head
Yann Collet [Fri, 11 Oct 2024 22:38:12 +0000 (15:38 -0700)] 
rename variable name

findMatch -> matchFound
since it's a test, as opposed to an active search operation.
suggested by @terrelln

9 months agofixed parameter ordering in `dfast`
Yann Collet [Fri, 11 Oct 2024 22:36:15 +0000 (15:36 -0700)] 
fixed parameter ordering in `dfast`

noticed by @terrelln

9 months agoMerge pull request #4164 from facebook/spec_043
Yann Collet [Thu, 10 Oct 2024 23:56:02 +0000 (16:56 -0700)] 
Merge pull request #4164 from facebook/spec_043

spec update: huffman prefix code paragraph

9 months agominor: better variable naming
Yann Collet [Thu, 10 Oct 2024 23:07:20 +0000 (16:07 -0700)] 
minor: better variable naming

9 months agoadded ascending order example 4164/head
Yann Collet [Wed, 9 Oct 2024 08:06:24 +0000 (01:06 -0700)] 
added ascending order example

9 months agomake __asm__ a __GNUC__ specific
Yann Collet [Tue, 8 Oct 2024 23:38:35 +0000 (16:38 -0700)] 
make __asm__ a __GNUC__ specific

9 months agostore dummy bytes within ZSTD_match4Found_cmov()
Yann Collet [Tue, 8 Oct 2024 23:02:54 +0000 (16:02 -0700)] 
store dummy bytes within ZSTD_match4Found_cmov()

feels more logical, better contained

9 months agointroduce memory barrier to force test order
Yann Collet [Tue, 8 Oct 2024 22:54:48 +0000 (15:54 -0700)] 
introduce memory barrier to force test order

suggested by @terrelln

9 months agomade search strategy switchable
Yann Collet [Tue, 8 Oct 2024 18:43:07 +0000 (11:43 -0700)] 
made search strategy switchable

between cmov and branch
and use a simple heuristic based on wlog to select between them.

note: performance is not good on clang (yet)

9 months agorefactor search into an inline function
Yann Collet [Tue, 8 Oct 2024 18:10:48 +0000 (11:10 -0700)] 
refactor search into an inline function

for easier swapping with a parameter

9 months agorefactor huffman prefix code paragraph
Yann Collet [Tue, 8 Oct 2024 00:15:07 +0000 (17:15 -0700)] 
refactor huffman prefix code paragraph

9 months agominor refactor zstd_fast
Yann Collet [Mon, 7 Oct 2024 18:22:40 +0000 (11:22 -0700)] 
minor refactor zstd_fast

make hot variables more local

9 months agoMerge pull request #4160 from facebook/fix_nightly
Yann Collet [Fri, 4 Oct 2024 04:02:39 +0000 (21:02 -0700)] 
Merge pull request #4160 from facebook/fix_nightly

fix dependency for nightly github actions tests

9 months agofix dependency for nightly github actions tests 4160/head
Yann Collet [Thu, 3 Oct 2024 22:10:16 +0000 (15:10 -0700)] 
fix dependency for nightly github actions tests

9 months agoMerge pull request #4159 from facebook/spec_refactor_fse
Yann Collet [Thu, 3 Oct 2024 21:54:16 +0000 (14:54 -0700)] 
Merge pull request #4159 from facebook/spec_refactor_fse

specification update

9 months agorefactor documentation of the FSE decoding table build process 4159/head
Yann Collet [Thu, 3 Oct 2024 05:57:36 +0000 (22:57 -0700)] 
refactor documentation of the FSE decoding table build process

9 months agoMerge pull request #4153 from artem/fix-meson-includes
Yann Collet [Wed, 2 Oct 2024 23:51:44 +0000 (16:51 -0700)] 
Merge pull request #4153 from artem/fix-meson-includes

meson: Do not export private headers in libzstd_dep to avoid name clash

9 months agoMerge pull request #4156 from facebook/rm_circleci
Yann Collet [Wed, 2 Oct 2024 23:51:15 +0000 (16:51 -0700)] 
Merge pull request #4156 from facebook/rm_circleci

removing nightly tests built on circleci

9 months agoMerge pull request #4157 from facebook/fix_result_c
Yann Collet [Wed, 2 Oct 2024 23:50:45 +0000 (16:50 -0700)] 
Merge pull request #4157 from facebook/fix_result_c

fix incorrect pointer manipulation

9 months agoMerge pull request #4158 from facebook/benchzstd_fclose
Yann Collet [Wed, 2 Oct 2024 23:49:43 +0000 (16:49 -0700)] 
Merge pull request #4158 from facebook/benchzstd_fclose

fix missing fclose()

10 months agofix missing fclose() 4158/head
Yann Collet [Tue, 1 Oct 2024 16:52:45 +0000 (09:52 -0700)] 
fix missing fclose()

fix #4151

10 months agofix incorrect pointer manipulation 4157/head
Yann Collet [Tue, 1 Oct 2024 16:25:26 +0000 (09:25 -0700)] 
fix incorrect pointer manipulation

fix #4155

10 months agoremoving nightly tests built on circleci 4156/head
Yann Collet [Tue, 1 Oct 2024 04:38:29 +0000 (21:38 -0700)] 
removing nightly tests built on circleci

10 months agoMerge pull request #4154 from dearblue/freebsd-14.1
Yann Collet [Mon, 30 Sep 2024 18:54:32 +0000 (11:54 -0700)] 
Merge pull request #4154 from dearblue/freebsd-14.1

Update FreeBSD VM image to 14.1

10 months agomeson: Fix contrib and tests build 4153/head
Artem Labazov [Mon, 30 Sep 2024 15:05:57 +0000 (18:05 +0300)] 
meson: Fix contrib and tests build

10 months agomeson: Do not export private headers in libzstd_dep to avoid name clash
Artem Labazov [Mon, 30 Sep 2024 14:00:42 +0000 (17:00 +0300)] 
meson: Do not export private headers in libzstd_dep to avoid name clash

This way libzstd_dep does not override, for instance, <xxhash.h>

10 months agoUpdate FreeBSD VM image to 14.1 4154/head
dearblue [Mon, 30 Sep 2024 13:45:17 +0000 (22:45 +0900)] 
Update FreeBSD VM image to 14.1

FreeBSD 14.0 will reach the end of life on 2024-09-30.
The updated 14.1 is scheduled to end-of-life on 2025-03-31.

ref. https://www.freebsd.org/releases/14.2R/schedule/

10 months agoMerge pull request #4146 from facebook/dictBench_Doc
Yann Collet [Fri, 27 Sep 2024 20:44:42 +0000 (13:44 -0700)] 
Merge pull request #4146 from facebook/dictBench_Doc

update documentation: specify that Dictionary can be used for benchmark

10 months agoMerge pull request #4013 from elasota/spec-clarify-offset-code-overflow
Yann Collet [Fri, 27 Sep 2024 20:42:32 +0000 (13:42 -0700)] 
Merge pull request #4013 from elasota/spec-clarify-offset-code-overflow

Specify that decoders may reject non-zero probabilities for larger offset codes than implementation supports

10 months agoupdate documentation to specify that Dictionary can be used for benchmark 4146/head
Yann Collet [Wed, 25 Sep 2024 23:56:01 +0000 (16:56 -0700)] 
update documentation to specify that Dictionary can be used for benchmark

fix #4139

10 months agoIncluded suggestion from @neheb
inventor500 [Wed, 25 Sep 2024 15:21:20 +0000 (10:21 -0500)] 
Included suggestion from @neheb

10 months agoFixed warning when compiling pzstd with CPPFLAGS=-Wunused-result and CXXFLAGS=-std...
inventor500 [Sat, 31 Aug 2024 12:23:51 +0000 (07:23 -0500)] 
Fixed warning when compiling pzstd with CPPFLAGS=-Wunused-result and CXXFLAGS=-std=c++17

10 months agoMerge pull request #4119 from xionghul/dev
Yann Collet [Wed, 25 Sep 2024 00:55:43 +0000 (17:55 -0700)] 
Merge pull request #4119 from xionghul/dev

Fix zstd-pgo run error

10 months agoMerge pull request #4143 from facebook/fix_dictsizemin_dic
Yann Collet [Wed, 25 Sep 2024 00:55:25 +0000 (17:55 -0700)] 
Merge pull request #4143 from facebook/fix_dictsizemin_dic

fix doc nit: ZDICT_DICTSIZE_MIN

10 months agoOptimize compression by avoiding unpredictable branches 4144/head
Ilya Tokar [Wed, 18 Sep 2024 21:36:37 +0000 (17:36 -0400)] 
Optimize compression by avoiding unpredictable branches

Avoid unpredictable branch. Use conditional move to generate the address
that is guaranteed to be safe and compare unconditionally.
Instead of

if (idx < limit && x[idx] == val ) // mispredicted idx < limit branch

Do

addr = cmov(safe,x+idx)
if (*addr == val && idx < limit) // almost always false so well predicted

Using microbenchmarks from https://github.com/google/fleetbench,
I get about ~10% speed-up:

name                                                                                          old cpu/op   new cpu/op    delta
BM_ZSTD_COMPRESS_Fleet/compression_level:-7/window_log:15                                     1.46ns ± 3%   1.31ns ± 7%   -9.88%  (p=0.000 n=35+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:-7/window_log:16                                     1.41ns ± 3%   1.28ns ± 3%   -9.56%  (p=0.000 n=36+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-5/window_log:15                                     1.61ns ± 1%   1.43ns ± 3%  -10.70%  (p=0.000 n=30+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-5/window_log:16                                     1.54ns ± 2%   1.39ns ± 3%   -9.21%  (p=0.000 n=37+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-3/window_log:15                                     1.82ns ± 2%   1.61ns ± 3%  -11.31%  (p=0.000 n=37+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:-3/window_log:16                                     1.73ns ± 3%   1.56ns ± 3%   -9.50%  (p=0.000 n=38+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-1/window_log:15                                     2.12ns ± 2%   1.79ns ± 3%  -15.55%  (p=0.000 n=34+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:-1/window_log:16                                     1.99ns ± 3%   1.72ns ± 3%  -13.70%  (p=0.000 n=38+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:0/window_log:15                                      3.22ns ± 3%   2.94ns ± 3%   -8.67%  (p=0.000 n=38+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:0/window_log:16                                      3.19ns ± 4%   2.86ns ± 4%  -10.55%  (p=0.000 n=40+38)
BM_ZSTD_COMPRESS_Fleet/compression_level:1/window_log:15                                      2.60ns ± 3%   2.22ns ± 3%  -14.53%  (p=0.000 n=40+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:1/window_log:16                                      2.46ns ± 3%   2.13ns ± 2%  -13.67%  (p=0.000 n=39+36)
BM_ZSTD_COMPRESS_Fleet/compression_level:2/window_log:15                                      2.69ns ± 3%   2.46ns ± 3%   -8.63%  (p=0.000 n=37+39)
BM_ZSTD_COMPRESS_Fleet/compression_level:2/window_log:16                                      2.63ns ± 3%   2.36ns ± 3%  -10.47%  (p=0.000 n=40+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:3/window_log:15                                      3.20ns ± 2%   2.95ns ± 3%   -7.94%  (p=0.000 n=35+40)
BM_ZSTD_COMPRESS_Fleet/compression_level:3/window_log:16                                      3.20ns ± 4%   2.87ns ± 4%  -10.33%  (p=0.000 n=40+40)

I've also measured the impact on internal workloads and saw similar
~10% improvement in performance, measured by cpu usage/byte of data.

10 months agofix doc nit: ZDICT_DICTSIZE_MIN 4143/head
Yann Collet [Thu, 19 Sep 2024 16:50:30 +0000 (09:50 -0700)] 
fix doc nit: ZDICT_DICTSIZE_MIN

fix #4142

11 months agoMerge pull request #4129 from facebook/mitigate_32bit
Yann Collet [Thu, 22 Aug 2024 18:00:50 +0000 (11:00 -0700)] 
Merge pull request #4129 from facebook/mitigate_32bit

Limit range of operations on Indexes in 32-bit mode

11 months agoLimit range of operations on Indexes in 32-bit mode 4129/head
Yann Collet [Wed, 21 Aug 2024 17:53:25 +0000 (10:53 -0700)] 
Limit range of operations on Indexes in 32-bit mode

and use unsigned type.
This reduce risks that an operation produces a negative number when crossing the 2 GB limit.

11 months agoMerge pull request #4128 from facebook/dependabot/github_actions/github/codeql-action...
Yann Collet [Mon, 19 Aug 2024 20:54:06 +0000 (13:54 -0700)] 
Merge pull request #4128 from facebook/dependabot/github_actions/github/codeql-action-3.26.2

Bump github/codeql-action from 3.25.1 to 3.26.2

11 months agoBump github/codeql-action from 3.25.1 to 3.26.2 4128/head
dependabot[bot] [Mon, 19 Aug 2024 05:37:33 +0000 (05:37 +0000)] 
Bump github/codeql-action from 3.25.1 to 3.26.2

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.1 to 3.26.2.
- [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/c7f9125735019aa87cfc361530512d50ea439c71...429e1977040da7a23b6822b13c129cd1ba93dbb2)

---
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>
11 months agoMerge pull request #4122 from facebook/dependabot/github_actions/actions/setup-java-4
Yann Collet [Mon, 12 Aug 2024 06:07:43 +0000 (23:07 -0700)] 
Merge pull request #4122 from facebook/dependabot/github_actions/actions/setup-java-4

Bump actions/setup-java from 3 to 4

11 months agoBump actions/setup-java from 3 to 4 4122/head
dependabot[bot] [Mon, 12 Aug 2024 05:16:05 +0000 (05:16 +0000)] 
Bump actions/setup-java from 3 to 4

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

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

Signed-off-by: dependabot[bot] <support@github.com>
11 months agoMerge pull request #4115 from Adenilson/leak01
Yann Collet [Fri, 9 Aug 2024 21:09:17 +0000 (14:09 -0700)] 
Merge pull request #4115 from Adenilson/leak01

[zstd][leak] Avoid memory leak on early return of ZSTD_generateSequence

11 months agoMerge pull request #4114 from Adenilson/trace01
Yann Collet [Fri, 9 Aug 2024 21:08:57 +0000 (14:08 -0700)] 
Merge pull request #4114 from Adenilson/trace01

[riscv] Enable support for weak symbols

11 months agoMerge pull request #4113 from facebook/fix4110
Yann Collet [Fri, 9 Aug 2024 00:19:08 +0000 (17:19 -0700)] 
Merge pull request #4113 from facebook/fix4110

formatString_u() can display numbers > 100

11 months agoFix zstd-pgo run error 4119/head
Xionghu Luo [Thu, 8 Aug 2024 07:13:27 +0000 (15:13 +0800)] 
Fix zstd-pgo run error

The -Werror=missing-profile caused thread/zlib/lzma/lz4 detection failure
when build with profile-use, thus caused ZSTD_MULTITHREAD etc. is not
defined for profile-use, then there will be many profile mismatch information
in output and the final binary reports run error sometimes as below:

Error : ZSTD_CCtx_setParameter(ctx, ZSTD_c_nbWorkers, adv->nbWorkers) failed : Unsupported parameter

Signed-off-by: Xionghu Luo <xionghuluo@tencent.com>
11 months agoMerge pull request #4109 from facebook/actionsTest
Yann Collet [Thu, 8 Aug 2024 01:17:18 +0000 (18:17 -0700)] 
Merge pull request #4109 from facebook/actionsTest

added android-ndk-build

11 months ago[zstd][leak] Avoid memory leak on early return of ZSTD_generateSequence 4115/head
Adenilson Cavalcanti [Wed, 7 Aug 2024 00:16:28 +0000 (17:16 -0700)] 
[zstd][leak] Avoid memory leak on early return of ZSTD_generateSequence

Sanity checks on a few of the context parameters (i.e. workers and block size)
may prompt an early return on ZSTD_generateSequences.

Allocating the destination buffer past those return points avoids a potential
memory leak.

This patch should fix issue #4112.

11 months ago[riscv] Enable support for weak symbols 4114/head
Adenilson Cavalcanti [Tue, 6 Aug 2024 23:55:32 +0000 (16:55 -0700)] 
[riscv] Enable support for weak symbols

Both gcc and clang support weak symbols on RISC-V, therefore
let's enable it.

This should fix issue #4069.

11 months agofix c90 comment style 4113/head
Yann Collet [Tue, 6 Aug 2024 19:47:30 +0000 (12:47 -0700)] 
fix c90 comment style

11 months agoformatString_u() can display numbers > 100
Yann Collet [Tue, 6 Aug 2024 18:44:37 +0000 (11:44 -0700)] 
formatString_u() can display numbers > 100

fixes #4110

11 months agoMerge pull request #4111 from facebook/dependabot/github_actions/msys2/setup-msys2...
Yann Collet [Mon, 5 Aug 2024 07:39:06 +0000 (00:39 -0700)] 
Merge pull request #4111 from facebook/dependabot/github_actions/msys2/setup-msys2-2.24.1

Bump msys2/setup-msys2 from 2.24.0 to 2.24.1

11 months agoBump msys2/setup-msys2 from 2.24.0 to 2.24.1 4111/head
dependabot[bot] [Mon, 5 Aug 2024 05:17:43 +0000 (05:17 +0000)] 
Bump msys2/setup-msys2 from 2.24.0 to 2.24.1

Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.24.0 to 2.24.1.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/5df0ca6cbf14efcd08f8d5bd5e049a3cc8e07fd2...ddf331adaebd714795f1042345e6ca57bd66cea8)

---
updated-dependencies:
- dependency-name: msys2/setup-msys2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
12 months agoMerge pull request #4102 from proppy/decodecorpus-ext
Yann Collet [Wed, 31 Jul 2024 08:43:15 +0000 (01:43 -0700)] 
Merge pull request #4102 from proppy/decodecorpus-ext

tests/decodecorpus: add more advanced options

12 months agoadded android-ndk-build 4109/head
Yann Collet [Tue, 30 Jul 2024 18:02:16 +0000 (11:02 -0700)] 
added android-ndk-build

12 months agoMerge pull request #4107 from Adenilson/ndk01
Yann Collet [Tue, 30 Jul 2024 18:34:27 +0000 (11:34 -0700)] 
Merge pull request #4107 from Adenilson/ndk01

[zstd][android] Fix build with NDK r27

12 months ago[zstd][android] Fix build with NDK r27 4107/head
Adenilson Cavalcanti [Mon, 29 Jul 2024 23:37:41 +0000 (16:37 -0700)] 
[zstd][android] Fix build with NDK r27

The NDK cross compiler declares the target as __linux (which is
not technically incorrect), which triggers the enablement of _GNU_SOURCE
in the newly added code that requires the presence of qsort_r() used
in the COVER dictionary code.

Even though the NDK uses llvm/libc, it doesn't declare qsort_r()
in the stdlib.h header.

The build fix is to only activate the _GNU_SOURCE macro if the OS is
*not* Android, as then we will fallback to the C90 compliant code.

This patch should solve the reported issue number #4103.

12 months agoMerge pull request #4094 from RubenKelevra/patchfrom_singlethread_man_update
Yann Collet [Mon, 29 Jul 2024 16:34:55 +0000 (09:34 -0700)] 
Merge pull request #4094 from RubenKelevra/patchfrom_singlethread_man_update

clarify when to use '--single-thread' with '--patch-from'

12 months agoMerge pull request #4106 from facebook/dependabot/github_actions/msys2/setup-msys2...
Yann Collet [Mon, 29 Jul 2024 16:34:17 +0000 (09:34 -0700)] 
Merge pull request #4106 from facebook/dependabot/github_actions/msys2/setup-msys2-2.24.0

Bump msys2/setup-msys2 from 2.23.0 to 2.24.0

12 months agoMerge pull request #4087 from jclab-joseph/fix/genhtml-windows
Yann Collet [Mon, 29 Jul 2024 16:18:27 +0000 (09:18 -0700)] 
Merge pull request #4087 from jclab-joseph/fix/genhtml-windows

gen_html: Fix build error with mingw

12 months agoMerge pull request #4101 from uilianries/readme/conan
Yann Collet [Mon, 29 Jul 2024 16:17:51 +0000 (09:17 -0700)] 
Merge pull request #4101 from uilianries/readme/conan

[docs] Add instruction how to install zstd using Conan

12 months agoMerge pull request #4104 from facebook/dependabot/github_actions/ossf/scorecard-actio...
Yann Collet [Mon, 29 Jul 2024 16:17:11 +0000 (09:17 -0700)] 
Merge pull request #4104 from facebook/dependabot/github_actions/ossf/scorecard-action-2.4.0

Bump ossf/scorecard-action from 2.3.1 to 2.4.0

12 months agoBump msys2/setup-msys2 from 2.23.0 to 2.24.0 4106/head
dependabot[bot] [Mon, 29 Jul 2024 05:34:42 +0000 (05:34 +0000)] 
Bump msys2/setup-msys2 from 2.23.0 to 2.24.0

Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.23.0 to 2.24.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/d0e80f58dffbc64f6a3a1f43527d469b4fc7b6c8...5df0ca6cbf14efcd08f8d5bd5e049a3cc8e07fd2)

---
updated-dependencies:
- dependency-name: msys2/setup-msys2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
12 months agoBump ossf/scorecard-action from 2.3.1 to 2.4.0 4104/head
dependabot[bot] [Mon, 29 Jul 2024 05:34:32 +0000 (05:34 +0000)] 
Bump ossf/scorecard-action from 2.3.1 to 2.4.0

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.3.1 to 2.4.0.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/0864cf19026789058feabb7e87baa5f140aac736...62b2cac7ed8198b15735ed49ab1e5cf35480ba46)

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

Signed-off-by: dependabot[bot] <support@github.com>
12 months agotests/decodecorpus: add more advanced options 4102/head
Pawel Czarnecki [Fri, 26 Jul 2024 07:47:16 +0000 (09:47 +0200)] 
tests/decodecorpus: add more advanced options

- add option to force a specific block type
- add option to force a specific literal tyle
- add option to generate only frame headers
- add option to skip generating magic numbers

Co-authored-by: Maciej Dudek <mdudek@antmicro.com>
Co-authored-by: Pawel Czarnecki <pczarnecki@antmicro.com>
Co-authored-by: Robert Winkler <rwinkler@antmicro.com>
Co-authored-by: Roman Dobrodii <rdobrodii@antmicro.com>
12 months agoAdd Conan to readme 4101/head
Uilian Ries [Fri, 26 Jul 2024 07:45:06 +0000 (09:45 +0200)] 
Add Conan to readme

Signed-off-by: Uilian Ries <uilianries@gmail.com>
12 months agoMerge pull request #4096 from tpetazzoni/build-fix
Yann Collet [Tue, 16 Jul 2024 21:09:43 +0000 (14:09 -0700)] 
Merge pull request #4096 from tpetazzoni/build-fix

lib/libzstd.mk: fix typo in the definition of LIB_BINDIR

12 months agolib/libzstd.mk: fix typo in the definition of LIB_BINDIR 4096/head
Thomas Petazzoni [Sat, 13 Jul 2024 11:53:53 +0000 (13:53 +0200)] 
lib/libzstd.mk: fix typo in the definition of LIB_BINDIR

Commit f4dbfce79cb2b82fb496fcd2518ecd3315051b7d ("define LIB_SRCDIR
and LIB_BINDIR") significantly reworked the build logic, but in its
introduction of LIB_BINDIR a typo was made.

It was introduced as such:

+LIB_SRCDIR ?= $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
+LIB_BINDIR ?= $(LIBSRC_DIR)

But the definition of LIB_BINDIR has a typo: it should use
$(LIB_SRCDIR) not $(LIBSRC_DIR).

Due to this, $(LIB_BINDIR) is empty, therefore in programs/Makefile,
-L$(LIB_BINDIR) is expanded to just -L, and consequently when trying
to link the "zstd" binary with the libzstd library, it cannot find it:

host/lib/gcc/powerpc64-buildroot-linux-gnu/13.3.0/../../../../powerpc64-buildroot-linux-gnu/bin/ld: cannot find -lzstd: No such file or directory

This commit fixes the build by fixing this typo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
12 months agoclarify when to use '--single-thread' with '--patch-from' 4094/head
@RubenKelevra [Sun, 7 Jul 2024 17:43:49 +0000 (19:43 +0200)] 
clarify when to use '--single-thread' with '--patch-from'

Using '--single-thread' with '--patch-from' on compression levels above 15 will lead to significantly worse compression ratios.

Corrected the man page not suggest anymore to do this.

12 months agoMerge pull request #4086 from Adenilson/fix01
Yann Collet [Thu, 4 Jul 2024 07:23:55 +0000 (00:23 -0700)] 
Merge pull request #4086 from Adenilson/fix01

[zstd][dict] Ensure that dictionary training functions are fully reen…

13 months agogen_html: Fix build error in windows 4087/head
Joseph Lee [Wed, 3 Jul 2024 03:26:15 +0000 (12:26 +0900)] 
gen_html: Fix build error in windows

13 months ago[zstd][dict] Ensure that dictionary training functions are fully reentrant 4086/head
Adenilson Cavalcanti [Wed, 19 Jun 2024 00:20:35 +0000 (17:20 -0700)] 
[zstd][dict] Ensure that dictionary training functions are fully reentrant

The two main functions used for dictionary training using the COVER
algorithm require initialization of a COVER_ctx_t where a call
to qsort() is performed.

The issue is that the standard C99 qsort() function doesn't offer
a way to pass an extra parameter for the comparison function callback
(e.g. a pointer to a context) and currently zstd relies on a *global*
static variable to hold a pointer to a context needed to perform
the sort operation.

If a zstd library user invokes either ZDICT_trainFromBuffer_cover or
ZDICT_optimizeTrainFromBuffer_cover from multiple threads, the
global context may be overwritten before/during the call/execution to qsort()
in the initialization of the COVER_ctx_t, thus yielding to crashes
and other bad things (Tm) as reported on issue #4045.

Enters qsort_r(): it was designed to address precisely this situation,
to quote from the documention [1]: "the comparison function does not need to
use global variables to pass through arbitrary arguments, and is therefore
reentrant and safe to use in threads."

It is available with small variations for multiple OSes (GNU, BSD[2],
Windows[3]), and the ISO C11 [4] standard features on annex B-21 qsort_s() as
part of the <stdlib.h>. Let's hope that compilers eventually catch up
with it.

For now, we have to handle the small variations in function parameters
for each platform.

The current fix solves the problem by allowing each executing thread
pass its own COVER_ctx_t instance to qsort_r(), removing the use of
a global pointer and allowing the code to be reentrant.

Unfortunately for *BSD, we cannot leverage qsort_r() given that its API
has changed on newer versions of FreeBSD (14.0) and the other BSD variants
(e.g. NetBSD, OpenBSD) don't implement it.

For such cases we provide a fallback that will work only requiring support
for compilers implementing support for C90.

[1] https://man7.org/linux/man-pages/man3/qsort_r.3.html
[2] https://man.freebsd.org/cgi/man.cgi?query=qsort_r
[3] https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/qsort-s?view=msvc-170
[4] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf

13 months agoMerge pull request #4079 from elasota/truncated-huff-state-error
Yann Collet [Sun, 30 Jun 2024 23:17:03 +0000 (16:17 -0700)] 
Merge pull request #4079 from elasota/truncated-huff-state-error

Throw error if Huffman weight initial states are truncated

13 months agoMerge pull request #4068 from DimitriPapadopoulos/codespell
Yann Collet [Sat, 29 Jun 2024 23:04:05 +0000 (16:04 -0700)] 
Merge pull request #4068 from DimitriPapadopoulos/codespell

Fix new typos found by codespell

13 months agoThrow error if Huffman weight initial states are truncated 4079/head
elasota [Thu, 20 Jun 2024 19:19:58 +0000 (15:19 -0400)] 
Throw error if Huffman weight initial states are truncated

13 months agoFix typos not found by codespell 4068/head
Dimitri Papadopoulos [Wed, 19 Jun 2024 19:04:50 +0000 (21:04 +0200)] 
Fix typos not found by codespell

13 months agoFix new typos found by codespell
Dimitri Papadopoulos [Wed, 5 Jun 2024 17:41:43 +0000 (19:41 +0200)] 
Fix new typos found by codespell

13 months agoMerge pull request #4076 from facebook/fix_macos_build
Yann Collet [Wed, 19 Jun 2024 05:16:00 +0000 (22:16 -0700)] 
Merge pull request #4076 from facebook/fix_macos_build

fix macos build

13 months agofix macos build 4076/head
Yann Collet [Wed, 19 Jun 2024 03:21:25 +0000 (20:21 -0700)] 
fix macos build

weird: after replacing the UNAME line with an identical one,
it does work properly now(??).
Possibly a case of hidden special character?

13 months agoExpose size estimation helpers for Linux (#4064)
Elliot Gorokhovsky [Fri, 14 Jun 2024 18:38:48 +0000 (14:38 -0400)] 
Expose size estimation helpers for Linux (#4064)

13 months agoMerge pull request #4073 from facebook/cygwin_install
Yann Collet [Wed, 12 Jun 2024 18:58:54 +0000 (11:58 -0700)] 
Merge pull request #4073 from facebook/cygwin_install

added a cygwin install test to check #4067

13 months agoadded cygwin install test 4073/head
Yann Collet [Wed, 12 Jun 2024 16:51:01 +0000 (09:51 -0700)] 
added cygwin install test

13 months agoMerge pull request #4067 from QBos07/filterfix
Yann Collet [Wed, 12 Jun 2024 17:55:18 +0000 (10:55 -0700)] 
Merge pull request #4067 from QBos07/filterfix

Fix $filter operants and Msys/Cygwin

13 months agoMerge pull request #4065 from embg/freebsd_ci
Yann Collet [Wed, 12 Jun 2024 16:54:25 +0000 (09:54 -0700)] 
Merge pull request #4065 from embg/freebsd_ci

Drop support for FreeBSD 13.2 CI

13 months agoFix $filter and Msys/Cygwin 4067/head
Quentin Boswank [Wed, 5 Jun 2024 16:21:34 +0000 (18:21 +0200)] 
Fix $filter and Msys/Cygwin

- switched the patter and input of $filter into the right places
- added pattern wildcard to MSYS_NT & CYGWIN_NT as they change with windows versions
- correctly identify MSYS2, even in an env like MINGW64

13 months agominor:doc: specify decompression behavior in presence of multiple concatenated frames
Yann Collet [Tue, 4 Jun 2024 01:30:23 +0000 (18:30 -0700)] 
minor:doc: specify decompression behavior in presence of multiple concatenated frames

directly at ZSTD_decompress() level.

13 months agoUnit test for external sequence producer + static CCtx + streaming (#4063)
Elliot Gorokhovsky [Mon, 3 Jun 2024 16:42:27 +0000 (12:42 -0400)] 
Unit test for external sequence producer + static CCtx + streaming (#4063)

13 months agoDrop FreeBSD 13.2 CI 4065/head
Elliot Gorokhovsky [Mon, 3 Jun 2024 15:36:07 +0000 (08:36 -0700)] 
Drop FreeBSD 13.2 CI

14 months agoMerge pull request #4046 from josepho0918/iar
Yann Collet [Wed, 29 May 2024 22:33:19 +0000 (15:33 -0700)] 
Merge pull request #4046 from josepho0918/iar

Improve support for IAR compiler with attributes and intrinsics

14 months agoMerge pull request #4054 from jbajic/fix-missing-newline
Yann Collet [Wed, 29 May 2024 22:32:54 +0000 (15:32 -0700)] 
Merge pull request #4054 from jbajic/fix-missing-newline

[fix] Add newline when file exceeds 128KB

14 months agoRefactor dictionary matchfinder index safety check (#4039)
Federico Maresca [Wed, 29 May 2024 16:35:24 +0000 (18:35 +0200)] 
Refactor dictionary matchfinder index safety check (#4039)

14 months ago[fix] Add newline when file exceeds 128KB 4054/head
Jure Bajic [Sun, 26 May 2024 09:33:39 +0000 (11:33 +0200)] 
[fix] Add newline when file exceeds 128KB