]>
git.ipfire.org Git - thirdparty/zstd.git/log
Sen Huang [Mon, 22 Mar 2021 22:25:57 +0000 (15:25 -0700)]
Rename *compressSequences*() functions for clarity
Sen Huang [Mon, 22 Mar 2021 21:38:21 +0000 (14:38 -0700)]
Add a fallback in case the total blocksize of split blocks exceeds raw block size
Sen Huang [Mon, 22 Mar 2021 15:54:24 +0000 (08:54 -0700)]
Enable block splitter by default when applicable
Sen Huang [Tue, 16 Mar 2021 21:15:56 +0000 (14:15 -0700)]
Clean up various functions, add debuglogging for estimate vs. actual sizes
Sen Huang [Wed, 24 Feb 2021 21:21:49 +0000 (13:21 -0800)]
Fix various fuzzer failures: repcode history, superblocks
senhuang42 [Mon, 11 Jan 2021 13:30:16 +0000 (08:30 -0500)]
Change 1.3.4 bugfix to be cross-compatible with superblocks and normal compression
senhuang42 [Fri, 8 Jan 2021 20:50:19 +0000 (15:50 -0500)]
Refactor buildSequencesStatistics() to avoid pointer increment for superblocks
senhuang42 [Tue, 29 Dec 2020 20:56:13 +0000 (15:56 -0500)]
Add unit tests and fuzzer param
senhuang42 [Thu, 10 Dec 2020 17:18:43 +0000 (12:18 -0500)]
Add recursive block split algorithm
senhuang42 [Tue, 8 Dec 2020 18:06:18 +0000 (13:06 -0500)]
Update function names for consistency
senhuang42 [Mon, 7 Dec 2020 22:11:23 +0000 (17:11 -0500)]
Add block splitter to experimental params
senhuang42 [Mon, 7 Dec 2020 18:12:41 +0000 (13:12 -0500)]
Refactor block compression logic into single function
senhuang42 [Mon, 30 Nov 2020 18:41:03 +0000 (13:41 -0500)]
Centralize entropy statistics calculations to zstd_compress.c
senhuang42 [Mon, 12 Oct 2020 22:33:11 +0000 (18:33 -0400)]
Add a nbSeq argument to compressSequences()
Refactor ZSTD_compressBlock_internal() to do the block header write within and add nbSeq argument to compressSequences()
senhuang42 [Mon, 12 Oct 2020 22:27:54 +0000 (18:27 -0400)]
Move block header write into compressBlock_internal()
sen [Tue, 16 Mar 2021 17:09:00 +0000 (13:09 -0400)]
Merge pull request #2534 from foxeng/fix-seek-descriptor-check
Fix seek table descriptor check when loading
Felix Handte [Mon, 15 Mar 2021 17:58:27 +0000 (13:58 -0400)]
Merge pull request #2535 from felixhandte/gha-release-artifacts
Add GitHub Action to Automatically Publish Release Tarballs
W. Felix Handte [Mon, 15 Mar 2021 16:11:53 +0000 (12:11 -0400)]
Allow a Passphrase on the Key
W. Felix Handte [Mon, 15 Mar 2021 15:59:31 +0000 (11:59 -0400)]
Maintain Artifact Name Backwards Compatibility
When the tag is `v1.2.3`, name the artifacts `zstd-1.2.3.tar*` rather than
`zstd-v1.2.3.tar*`. When the tag doesn't match, use the full tag.
Fotis Xenakis [Sat, 13 Mar 2021 09:42:47 +0000 (11:42 +0200)]
Run generic-dev:gcc-8-asan-ubsan-testzstd on latest Ubuntu
W. Felix Handte [Fri, 12 Mar 2021 22:35:11 +0000 (17:35 -0500)]
Remove CircleCI Artifact Generation
Fotis Xenakis [Fri, 12 Mar 2021 22:00:08 +0000 (00:00 +0200)]
Fix seekable test to provide valid descriptor
Fotis Xenakis [Fri, 12 Mar 2021 21:07:15 +0000 (23:07 +0200)]
Fix seek table descriptor check when loading
W. Felix Handte [Thu, 11 Mar 2021 21:06:25 +0000 (16:06 -0500)]
Add GitHub Action to Automatically Publish Release Tarballs
This commit introduces a GitHub action that is triggered on release creation,
which creates the release tarball, compresses it, hashes it, signs it, and
attaches all of those files to the release.
sen [Mon, 8 Mar 2021 16:14:34 +0000 (11:14 -0500)]
Merge pull request #2517 from PaulBone/num_cores
Make the number of physical CPU cores detection more robust
Yann Collet [Sun, 7 Mar 2021 05:33:28 +0000 (21:33 -0800)]
Merge pull request #2521 from animalize/doc_free
doc: ZSTD_free*() functions accept NULL pointer
Nick Terrell [Fri, 5 Mar 2021 20:35:09 +0000 (12:35 -0800)]
Merge pull request #2523 from terrelln/huf-stack-reduction
Add HUF_writeCTable_wksp() function
Nick Terrell [Mon, 21 Dec 2020 18:23:08 +0000 (10:23 -0800)]
Add HUF_writeCTable_wksp() function
This saves ~700 bytes of stack space in HUF_writeCTable.
Nick Terrell [Fri, 5 Mar 2021 04:55:58 +0000 (20:55 -0800)]
Merge pull request #2522 from terrelln/stack-reduction
Reduce stack usage of ZSTD_buildCTable()
Nick Terrell [Thu, 4 Mar 2021 18:50:34 +0000 (10:50 -0800)]
Reduce stack usage of ZSTD_buildCTable()
It is a stack high-point for some compression strategies and has an easy
fix. This moves the normalized count into the entropy workspace.
Yann Collet [Thu, 4 Mar 2021 23:29:23 +0000 (15:29 -0800)]
Merge pull request #2518 from facebook/seekTable
New direct seekTable access methods
Yann Collet [Thu, 4 Mar 2021 06:54:04 +0000 (22:54 -0800)]
added code comments for new API ZSTD_seekTable
Yann Collet [Thu, 4 Mar 2021 02:56:54 +0000 (18:56 -0800)]
Merge branch 'seekTable' of github.com:facebook/zstd into seekTable
animalize [Thu, 4 Mar 2021 03:47:43 +0000 (11:47 +0800)]
doc: ZSTD_free*() functions accept NULL pointer
Yann Collet [Thu, 4 Mar 2021 02:55:34 +0000 (18:55 -0800)]
added test case for seekTable API
and simple roundtrip test
Yann Collet [Thu, 4 Mar 2021 02:00:41 +0000 (18:00 -0800)]
fixed gcc-7 conversion warning
Yann Collet [Wed, 3 Mar 2021 23:30:55 +0000 (15:30 -0800)]
fixed wrong assert condition
Yann Collet [Wed, 3 Mar 2021 23:17:12 +0000 (15:17 -0800)]
fixed gcc conversion warnings
Yann Collet [Wed, 3 Mar 2021 23:08:40 +0000 (15:08 -0800)]
Merge branch 'dev' into seekTable
sen [Wed, 3 Mar 2021 22:30:46 +0000 (17:30 -0500)]
Merge pull request #2516 from senhuang42/seekable_hang_fix
Seekable hang fix
Yann Collet [Wed, 3 Mar 2021 00:03:18 +0000 (16:03 -0800)]
various minor style fixes
Paul Bone [Tue, 2 Mar 2021 09:31:23 +0000 (20:31 +1100)]
Only set numPhysicalCores if ratio is valid
Paul Bone [Tue, 2 Mar 2021 09:13:51 +0000 (20:13 +1100)]
If cpuinfo parsing fails fallback to sysconf
Yann Collet [Tue, 2 Mar 2021 23:43:52 +0000 (15:43 -0800)]
strengthen compilation flags
Yann Collet [Tue, 2 Mar 2021 23:24:30 +0000 (15:24 -0800)]
fixed const guarantees
read-only objects are properly const-ified in parameters
Yann Collet [Tue, 2 Mar 2021 23:03:37 +0000 (15:03 -0800)]
fix potential leak on exit
Sen Huang [Tue, 2 Mar 2021 22:30:03 +0000 (14:30 -0800)]
Fix seekable decompress hanging
Martin Lindsay [Mon, 22 Feb 2021 15:57:35 +0000 (10:57 -0500)]
ZSTD_seekable_decompress() example that hangs.
Yann Collet [Tue, 2 Mar 2021 18:50:47 +0000 (10:50 -0800)]
Merge pull request #2113 from mdittmer/expose-seek-table
[contrib] Support seek table-only API
Felix Handte [Tue, 2 Mar 2021 16:41:55 +0000 (11:41 -0500)]
Merge pull request #2514 from felixhandte/v1.4.9
Prepare Codebase for v1.4.9 Release
W. Felix Handte [Mon, 1 Mar 2021 23:00:10 +0000 (18:00 -0500)]
Update CHANGELOG
W. Felix Handte [Mon, 1 Mar 2021 22:57:02 +0000 (17:57 -0500)]
Documentation Rebuild
W. Felix Handte [Mon, 1 Mar 2021 22:45:30 +0000 (17:45 -0500)]
Bump Library Version 1.4.8 -> 1.4.9
Felix Handte [Fri, 26 Feb 2021 23:02:38 +0000 (18:02 -0500)]
Merge pull request #2513 from felixhandte/fix-2493
Avoid Using `stat -c` on NetBSD
Felix Handte [Fri, 26 Feb 2021 23:02:18 +0000 (18:02 -0500)]
Merge pull request #2512 from felixhandte/fix-2509
Detect `..` in Paths Correctly
W. Felix Handte [Fri, 26 Feb 2021 18:05:39 +0000 (13:05 -0500)]
Avoid Using `stat -c` on NetBSD
Addresses #2493. I think. I don't have a NetBSD system to test on.
W. Felix Handte [Fri, 26 Feb 2021 18:01:20 +0000 (13:01 -0500)]
Cover These Edge Cases in Tests
W. Felix Handte [Fri, 26 Feb 2021 17:29:42 +0000 (12:29 -0500)]
Detect `..` in Paths Correctly
This commit addresses #2509.
Nick Terrell [Thu, 25 Feb 2021 18:55:30 +0000 (10:55 -0800)]
Merge pull request #2510 from terrelln/regression
[regression] Update results.csv
Nick Terrell [Thu, 25 Feb 2021 03:11:38 +0000 (19:11 -0800)]
[regression] Update results.csv
Fixes the update from PR #2508. I had accidentally forgotten to rebuild
the library, and the regression test suite isn't hooked up to the new
fancy build system yet.
I've double checked that the results are deterministic.
Yann Collet [Thu, 25 Feb 2021 00:38:10 +0000 (16:38 -0800)]
Merge pull request #2492 from niacat/dev
Use standard md5 tool on NetBSD.
Yann Collet [Wed, 24 Feb 2021 23:58:33 +0000 (15:58 -0800)]
Merge pull request #2489 from concatime/cmake-c-lib-programs
CMake: Enable only C for lib and programs projects
Nick Terrell [Wed, 24 Feb 2021 00:19:33 +0000 (16:19 -0800)]
Merge pull request #2508 from terrelln/regression
[regression] Update results.csv
Nick Terrell [Tue, 23 Feb 2021 23:15:39 +0000 (15:15 -0800)]
[regression] Update results.csv
9f327c02fd17a5aad2b24ae06b85d8226add1f93 changed the compression method
for LDM, so the results are slightly different.
I've re-tested LDM on some larger inputs and everything seems fine.
These ratio changes just seem to be noise. There is generally a 0.01%
swing in ratio, sometimes better sometimes worse, but never large.
Yann Collet [Tue, 23 Feb 2021 22:54:52 +0000 (14:54 -0800)]
Merge pull request #2507 from facebook/freebsd12_2
update FreeBSD image to latest 12.2
Yann Collet [Tue, 23 Feb 2021 21:37:17 +0000 (13:37 -0800)]
Merge pull request #2504 from skitt/stop-using-resetxstream
Stop using deprecated reset?Stream functions
Yann Collet [Tue, 23 Feb 2021 21:25:08 +0000 (13:25 -0800)]
disabled icc tests on Github Actions
Stephen Kitt [Sat, 20 Feb 2021 16:28:19 +0000 (17:28 +0100)]
Stop using deprecated reset?Stream functions
These are replaced by the corresponding context resets. When
converting resetCStream, CCtx_setPledgedSrcSize isn't called if the
source size is "unknown".
This helps reduce the reliance on "static only" symbols, as well as
reducing the use of deprecated functions.
Signed-off-by: Stephen Kitt <steve@sk2.org>
Yann Collet [Tue, 23 Feb 2021 18:40:44 +0000 (10:40 -0800)]
update FreeBSD image to latest 12.2
Yann Collet [Sat, 20 Feb 2021 19:05:55 +0000 (11:05 -0800)]
Merge pull request #2502 from facebook/ubsanfix
fix ubsan test errors
Yann Collet [Sat, 20 Feb 2021 00:30:06 +0000 (16:30 -0800)]
removing signed integer overflow exception from ubsan tests
Yann Collet [Sat, 20 Feb 2021 00:19:07 +0000 (16:19 -0800)]
Merge pull request #2503 from terrelln/fuzz-ubsan
[fuzz] Fix compiler detection & update ubsan flags
Nick Terrell [Fri, 19 Feb 2021 21:11:29 +0000 (13:11 -0800)]
[fuzz] Fix compiler detection & update ubsan flags
* Fix compiler version regex, which was broken for multi-digit
versions.
* Fix compiler detection for gcc.
* Disable `pointer-overflow` instead of `integer-overflow` for gcc
versions newer than 8.0.0.
Yann Collet [Fri, 19 Feb 2021 18:42:05 +0000 (10:42 -0800)]
fix ubsan test errors
allows recovering from pointer overflow
Felix Handte [Wed, 17 Feb 2021 22:03:23 +0000 (17:03 -0500)]
Merge pull request #2495 from felixhandte/umask
Use umask() to Constrain Created File Permissions
W. Felix Handte [Thu, 11 Feb 2021 20:50:13 +0000 (15:50 -0500)]
Use umask() to Constrain Created File Permissions
This commit addresses #2491.
Note that a downside of this solution is that it is global: `umask()` affects
all file creation calls in the process. I believe this is safe since
`fileio.c` functions should only ever be used in the zstd binary, and these
are (almost) the only files ever created by zstd, and AIUI they're only
created in a single thread. So we can get away with messing with global state.
Note that this doesn't change the permissions of files created by `dibio.c`.
I'm not sure what those should be...
Yann Collet [Wed, 17 Feb 2021 18:43:41 +0000 (10:43 -0800)]
Merge pull request #2500 from senhuang42/add_cli_newline
[easy][cli] Add newline to boundary of --help message of --trace and --[no-]check
senhuang42 [Wed, 17 Feb 2021 17:26:38 +0000 (12:26 -0500)]
Add newline to end of cli help message
Nick Terrell [Tue, 16 Feb 2021 18:51:25 +0000 (10:51 -0800)]
Merge pull request #2498 from terrelln/old-api-fix
[bug-fix] Make simple single-pass functions ignore advanced parameters
Nick Terrell [Sat, 13 Feb 2021 02:52:08 +0000 (18:52 -0800)]
[bug-fix] Make simple single-pass functions ignore advanced parameters
The simple compression functions are intended to ignore the advanced
parameters, but they were accidentally using them. All the
`ZSTD_parameters` were set correctly, but any extra parameters were
used as-is. E.g. `ZSTD_c_format`.
This PR makes all the simple single-pass functions listed below ignore
the advanced parameters, as intended.
* `ZSTD_compressCCtx()`
* `ZSTD_compress_usingDict()`
* `ZSTD_compress_usingCDict()`
* `ZSTD_compress_advanced()`
* `ZSTD_compress_usingCDict_advanced()`
It also adds a test case that ensures that each of these functions
ignore the advanced parameters.
Nick Terrell [Sat, 13 Feb 2021 01:34:07 +0000 (17:34 -0800)]
Merge pull request #2497 from terrelln/tracing
[lib] Set appliedParams.compressionLevel correctly
Nick Terrell [Fri, 12 Feb 2021 22:53:07 +0000 (14:53 -0800)]
[lib] Set appliedParams.compressionLevel correctly
Forward the correct compressionLevel to the appliedParams in all cases.
It was already correct for the advanced API, so only the old single-pass
functions needed to be fixed.
This compression level is unused by the library, but is set so that the
tracing framework can consume it.
Nick Terrell [Fri, 12 Feb 2021 18:48:30 +0000 (10:48 -0800)]
Merge pull request #2496 from terrelln/tracing
[trace] Minor fixes found during integration
Nick Terrell [Fri, 12 Feb 2021 00:20:04 +0000 (16:20 -0800)]
[trace] Minor fixes found during integration
* Mark `ZSTD_CCtx_getParameter()` as const
* Add `extern "C"` guards to `zstd_trace.h`
Yann Collet [Thu, 11 Feb 2021 16:38:23 +0000 (08:38 -0800)]
Merge pull request #2483 from mpu/ldmgear
New algorithms for the long distance matcher
nia [Thu, 11 Feb 2021 09:50:11 +0000 (10:50 +0100)]
Use standard md5 tool on NetBSD.
This avoids a GNU coreutils dependency.
-n is used to match the output format of coreutils:
http://man.netbsd.org/md5.1
Quentin Carbonneaux [Wed, 10 Feb 2021 15:16:54 +0000 (16:16 +0100)]
relocate large arrays from the stack to ldmState_t
Nick Terrell [Tue, 9 Feb 2021 20:16:17 +0000 (12:16 -0800)]
Merge pull request #2490 from terrelln/tracing
[trace] Keep track of a uint64_t tracing context
Nick Terrell [Tue, 9 Feb 2021 19:37:05 +0000 (11:37 -0800)]
[trace] Keep track of a uint64_t tracing context
The most common information that you want to track between begin() and
end() is the timestamp of the begin function, so you can measure the
duration of the (de)compression call. Allow the tracing library to put
this information inside the `ZSTD_TraceCtx`, so it doesn't need to keep
a global map in this case. If a single uint64_t is not enough, the
tracing library can return a unique identifier (like the context
pointer) instead, and use it as a key in a map.
This keeps the simple case simple.
Quentin Carbonneaux [Mon, 8 Feb 2021 10:43:06 +0000 (11:43 +0100)]
fix some compiler warnings
Issam E. Maghni [Mon, 8 Feb 2021 00:38:47 +0000 (19:38 -0500)]
CMake: Enable only C for lib and programs projects
Nick Terrell [Sat, 6 Feb 2021 03:19:01 +0000 (19:19 -0800)]
Merge pull request #2482 from terrelln/tracing
Add (de)compression tracing functionality
Nick Terrell [Thu, 4 Feb 2021 03:53:00 +0000 (19:53 -0800)]
Add basic tracing functionality
Nick Terrell [Sat, 6 Feb 2021 00:08:02 +0000 (16:08 -0800)]
Merge pull request #2488 from terrelln/continuity
[zstd] Fix NULL pointer addition in ZSTD_checkContinuity()
Nick Terrell [Fri, 5 Feb 2021 20:16:10 +0000 (12:16 -0800)]
[zstd] Fix NULL pointer addition in ZSTD_checkContinuity()
Don't start a new section when `dstSize == 0` to avoid NULL
pointer addition.
Yann Collet [Fri, 5 Feb 2021 18:58:21 +0000 (10:58 -0800)]
Merge pull request #2486 from facebook/nogcc6
minor: removed flackey gcc6 tests from github actions
Yann Collet [Fri, 5 Feb 2021 18:57:55 +0000 (10:57 -0800)]
Merge pull request #2487 from facebook/fixcast
fixed minor cast warning
Yann Collet [Fri, 5 Feb 2021 17:28:08 +0000 (09:28 -0800)]
fixed minor cast warning
Yann Collet [Fri, 5 Feb 2021 17:19:27 +0000 (09:19 -0800)]
removed flackey gcc6 tests
from github actions.
replaced by equivalent "current" gcc tests when it makes sense
Quentin Carbonneaux [Thu, 4 Feb 2021 10:13:41 +0000 (11:13 +0100)]
deal safely with short inputs in ZSTD_ldm_generateSequences
The fuzzer CI found this bug.