]>
git.ipfire.org Git - thirdparty/zstd.git/log
Fotis Xenakis [Sat, 13 Mar 2021 09:42:47 +0000 (11:42 +0200)]
Run generic-dev:gcc-8-asan-ubsan-testzstd on latest Ubuntu
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
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.
Quentin Carbonneaux [Mon, 11 Jan 2021 16:16:51 +0000 (08:16 -0800)]
new core ldm algorithm
Nick Terrell [Fri, 22 Jan 2021 17:41:22 +0000 (12:41 -0500)]
Merge pull request #2464 from mpu/ldmfixes
Simple performance improvements for ldm
Quentin Carbonneaux [Fri, 22 Jan 2021 10:24:19 +0000 (02:24 -0800)]
fix a variable name to reflect its nature
Quentin Carbonneaux [Wed, 20 Jan 2021 09:05:29 +0000 (01:05 -0800)]
fix warning and remove one more occurrence of makeEntryAndInsertByTag
Quentin Carbonneaux [Mon, 11 Jan 2021 10:41:17 +0000 (02:41 -0800)]
fix forgotten numTagBits in getTagMask
Quentin Carbonneaux [Fri, 8 Jan 2021 08:54:06 +0000 (00:54 -0800)]
a couple performance improvement changes for ldm
Yann Collet [Tue, 19 Jan 2021 18:19:41 +0000 (10:19 -0800)]
Merge pull request #2475 from facebook/parallel_build
parallel make build on linux
Yann Collet [Mon, 18 Jan 2021 19:33:03 +0000 (11:33 -0800)]
parallel make build on linux
fix #2474
Yann Collet [Mon, 18 Jan 2021 19:03:45 +0000 (11:03 -0800)]
Merge pull request #2466 from felixhandte/force-stdin-console
Allow Input From Console When `-f`/`--force` is Passed
Nick Terrell [Fri, 15 Jan 2021 20:30:24 +0000 (15:30 -0500)]
Merge pull request #2473 from terrelln/recovery
[contrib][recovery] Add recovery_directory program
Nick Terrell [Fri, 15 Jan 2021 16:41:42 +0000 (08:41 -0800)]
[contrib][recovery] Add recovery_directory program
This program takes a file with concatenated zstd frames and splits the
file up by frame. E.g. if `dir.zst` has 4 frames:
```
> ./recover_directory dir.zst recovery/file
Recovering 4 files...
Recovered recovery/file0
Recovered recovery/file1
Recovered recovery/file2
Recovered recovery/file3
Complete
```
W. Felix Handte [Mon, 11 Jan 2021 22:55:58 +0000 (17:55 -0500)]
Also Update Man Page Documentation
W. Felix Handte [Mon, 11 Jan 2021 22:53:20 +0000 (17:53 -0500)]
Allow Input From Console When `--force` is Passed
Also update option flag documentation.
sen [Mon, 11 Jan 2021 17:35:34 +0000 (12:35 -0500)]
Merge pull request #2465 from senhuang42/cformat_2021
[license] Change year to 2021 compression_format.md
Nick Terrell [Mon, 11 Jan 2021 17:30:13 +0000 (12:30 -0500)]
Merge pull request #2462 from lazka/cmake-fix-pc-escaping
cmake: use configure_file() for creating the .pc file
senhuang42 [Mon, 11 Jan 2021 13:53:29 +0000 (08:53 -0500)]
Change year to 2021 for compression format file
Christoph Reiter [Sat, 9 Jan 2021 08:24:45 +0000 (09:24 +0100)]
cmake: use configure_file() for creating the .pc file
Escaping in add_custom_target() seems to depend on the shell used in the cmake
generator and using Ninja on Windows, which uses cmd.exe, results in stray backslashes
in the .pc file.
Instead of going through escaping hell just use configure_file() with the existing
libzstd.pc.in file already used by the simple Makefile based build system.
This fixes the .pc file syntax when building zstd with CMake+Ninja+gcc on Windows.
yumeyao [Fri, 8 Jan 2021 22:27:31 +0000 (06:27 +0800)]
Fix visibility of symbols in .so (#2441)
Fix visibility of symbols in .so and add an alias for renamed API
sen [Fri, 8 Jan 2021 21:49:45 +0000 (16:49 -0500)]
Merge pull request #2446 from senhuang42/multiple_ddicts_v3
[RFC] Support references to multiple DDicts
Yann Collet [Fri, 8 Jan 2021 01:10:13 +0000 (17:10 -0800)]
Merge pull request #2457 from facebook/cli-dll
zstd CLI can now be linked to libzstd dynamic library
Yann Collet [Fri, 8 Jan 2021 00:19:10 +0000 (16:19 -0800)]
Merge pull request #2459 from ThomasWaldmann/fix-typos
fix typos (work done by Andrea Gelmini)