]>
git.ipfire.org Git - thirdparty/zstd.git/log
Nick Terrell [Mon, 18 May 2020 22:11:02 +0000 (15:11 -0700)]
[test] Test that the ldm dictionary gets invalidated on reset
Nick Terrell [Mon, 18 May 2020 19:56:34 +0000 (12:56 -0700)]
[test] Improve LDM forceMaxWindow test
Nick Terrell [Mon, 18 May 2020 19:35:44 +0000 (12:35 -0700)]
[ldm] Reset loadedDictEnd when the context is reset
Felix Handte [Mon, 18 May 2020 15:53:28 +0000 (11:53 -0400)]
Merge pull request #2146 from cwoffenden/combine-script-fixes
Reduced single file lib size on macOS
Carl Woffenden [Mon, 18 May 2020 10:33:44 +0000 (12:33 +0200)]
Minor tidy
Carl Woffenden [Mon, 18 May 2020 08:12:02 +0000 (10:12 +0200)]
Reduced generated sized on macOS (and other envs where realpath is missing)
Added Python fallback for when realpath fails.
Yann Collet [Sat, 16 May 2020 00:19:00 +0000 (17:19 -0700)]
updated CHANGELOG for v1.4.5
Bimba Shrestha [Fri, 15 May 2020 20:33:31 +0000 (15:33 -0500)]
[fuzz] Adding dictionary_stream_round_trip fuzzer (#2140)
* Adding dictionary_stream_round_trip
* fixing memory leak
Yann Collet [Fri, 15 May 2020 00:44:58 +0000 (17:44 -0700)]
Merge pull request #2141 from terrelln/regression
[test][regression] Update results.csv
Nick Terrell [Fri, 15 May 2020 00:06:39 +0000 (17:06 -0700)]
[test][regression] Update results.csv
Yann Collet [Thu, 14 May 2020 23:17:03 +0000 (16:17 -0700)]
updated documentation for v1.4.5
API manual and man pages
Nick Terrell [Thu, 14 May 2020 20:32:00 +0000 (13:32 -0700)]
Merge pull request #2138 from terrelln/ldm-fix
[lib] Fix bug in loading LDM dictionary in MT mode
Nick Terrell [Thu, 14 May 2020 19:06:55 +0000 (12:06 -0700)]
[test] Expose the LDM+MT+dict bug in a unit test
Nick Terrell [Thu, 14 May 2020 18:50:48 +0000 (11:50 -0700)]
[lib] Fix bug in loading LDM dictionary in MT mode
Exposed when loading a dictionary < LDM minMatch bytes in MT mode.
Test Plan:
```
CC=clang make -j zstreamtest MOREFLAGS="-O0 -fsanitize=address"
./zstreamtest -vv -i100000000 -t1 --newapi -s7065 -t3925297
```
TODO: Add an explicit test that loads a small dictionary in MT mode
Bimba Shrestha [Wed, 13 May 2020 21:08:59 +0000 (16:08 -0500)]
Merge pull request #2135 from bimbashrestha/grep
Revert to old zstdgrep because of potential license issue
Bimba Shrestha [Wed, 13 May 2020 20:22:07 +0000 (15:22 -0500)]
reverting docs and test
Bimba Shrestha [Wed, 13 May 2020 20:12:14 +0000 (15:12 -0500)]
Revert to old zstdgrep
Yann Collet [Wed, 13 May 2020 03:49:10 +0000 (20:49 -0700)]
Merge pull request #2134 from terrelln/align-lazy
[greedy] Fix performance instability
Nick Terrell [Wed, 13 May 2020 00:51:16 +0000 (17:51 -0700)]
[greedy] Fix performance instability
Nick Terrell [Wed, 13 May 2020 00:44:31 +0000 (17:44 -0700)]
Merge pull request #2131 from terrelln/raw-dict-fuzzer
Fix rare scenario with lazy parser, dictionary, and repcodes
Nick Terrell [Tue, 12 May 2020 21:33:59 +0000 (14:33 -0700)]
[lib] Fix assertion when dictionary is prefix
Yann Collet [Tue, 12 May 2020 20:49:38 +0000 (13:49 -0700)]
Merge pull request #2132 from bimbashrestha/grep-rm-test
[build] removing -f test (grep usage not supported on mac)
Yann Collet [Tue, 12 May 2020 20:48:23 +0000 (13:48 -0700)]
Merge pull request #2125 from Artoria2e5/patch-2
programs/Makefile: make it actually work with clang
Bimba Shrestha [Tue, 12 May 2020 20:18:43 +0000 (15:18 -0500)]
removing -f test (grep usage not supported on mac)
Nick Terrell [Tue, 12 May 2020 19:25:06 +0000 (12:25 -0700)]
[lib] Fix lazy repcode validity checks
Yann Collet [Tue, 12 May 2020 19:03:22 +0000 (12:03 -0700)]
Merge pull request #2130 from facebook/initStatic_fix
Fix for initStatic
Nick Terrell [Tue, 12 May 2020 18:57:15 +0000 (11:57 -0700)]
[lib] Fix repcode validation in no dict mode
Nick Terrell [Tue, 12 May 2020 05:27:34 +0000 (22:27 -0700)]
[lib] Fix dictionary + repcodes + optimal parser
Nick Terrell [Tue, 12 May 2020 02:05:42 +0000 (19:05 -0700)]
[lib][fuzz] Assert sequences are valid in round trip tests
Yann Collet [Tue, 12 May 2020 03:35:47 +0000 (20:35 -0700)]
fixed asan test
Yann Collet [Tue, 12 May 2020 02:29:36 +0000 (19:29 -0700)]
blindfix for VS macro redefinition
Yann Collet [Tue, 12 May 2020 02:21:50 +0000 (19:21 -0700)]
updated documentation for ZSTD_estimate*()
make it clearer that tighter memory estimation
can be provided using advanced functions
on the condition of a defined input size bound.
Nick Terrell [Tue, 12 May 2020 02:04:30 +0000 (19:04 -0700)]
[lib] Fix lazy parser with dictionary + repcodes
Nick Terrell [Tue, 12 May 2020 02:03:33 +0000 (19:03 -0700)]
[fuzz] Add raw dictionary content fuzzer
Nick Terrell [Tue, 12 May 2020 02:00:52 +0000 (19:00 -0700)]
[fuzz] Fix compress bound for dictionary_round_trip
Bimba Shrestha [Tue, 12 May 2020 01:55:01 +0000 (20:55 -0500)]
[doc] measuring performance docs (#2117)
* performance measuring docs
* spelling
* combining advanced and simple section
* zstd benchmark title change
Yann Collet [Tue, 12 May 2020 01:54:22 +0000 (18:54 -0700)]
Merge pull request #2124 from facebook/initStatic_tests
re-inforced tests for initStaticCCtx
Yann Collet [Tue, 12 May 2020 01:54:07 +0000 (18:54 -0700)]
Merge pull request #2123 from facebook/zstd_help
updated `zstd -h`
Yann Collet [Tue, 12 May 2020 01:50:10 +0000 (18:50 -0700)]
updated initStatic tests
differentiate small CCtx for small inputs
from full CCtx
from CStream contexts.
Ensure allocation & resize tests are more precise.
Yann Collet [Tue, 12 May 2020 01:16:38 +0000 (18:16 -0700)]
fixed context downsize with initStatic
When context is created using initStatic,
no resize is possible.
fix : only bump oversizeDuration when !initStatic
Yann Collet [Mon, 11 May 2020 23:51:13 +0000 (16:51 -0700)]
Merge branch 'dev' into initStatic_tests
Yann Collet [Mon, 11 May 2020 23:36:46 +0000 (16:36 -0700)]
Merge pull request #2129 from felixhandte/fix-cctx-size-estimate
Fix ZSTD_estimateCCtxSize() Under ASAN
W. Felix Handte [Mon, 11 May 2020 22:53:32 +0000 (18:53 -0400)]
Fix ZSTD_estimateCCtxSize() Under ASAN
`ZSTD_estimateCCtxSize()` provides estimates for one-shot compression, which
is guaranteed not to buffer inputs or outputs. So it ignores the sizes of the
buffers, assuming they'll be zero. However, the actual workspace allocation
logic always allocates those buffers, and when running under ASAN, the
workspace surrounds every allocation with 256 bytes of redzone. So the 0-sized
buffers end up consuming 512 bytes of space, which is accounted for in the
actual allocation path through the use of `ZSTD_cwksp_alloc_size()` but isn't
in the estimation path, since it ignores the buffers entirely.
This commit fixes this.
Nick Terrell [Mon, 11 May 2020 20:53:18 +0000 (13:53 -0700)]
Merge pull request #2128 from terrelln/benches
Update benchmarks and add fast mode
Nick Terrell [Mon, 11 May 2020 19:29:03 +0000 (12:29 -0700)]
Update benchmarks and add fast mode
Bimba Shrestha [Mon, 11 May 2020 17:51:35 +0000 (12:51 -0500)]
Merge pull request #2127 from bimbashrestha/docs1
[doc] documenting non-supported grep options for zstdgrep to README
Bimba Shrestha [Mon, 11 May 2020 17:22:45 +0000 (12:22 -0500)]
documenting non-supported grep options for zstdgrep
Yann Collet [Mon, 11 May 2020 16:42:33 +0000 (09:42 -0700)]
Merge pull request #2120 from facebook/clevel_doc
updated zstd CLI documentation
Mingye Wang [Sun, 10 May 2020 08:36:08 +0000 (16:36 +0800)]
programs/Makefile: make it actually work with clang
Recent versions of clang seem to require a step of conversion from the profraw file to a "compiler-readable" profdata file to let PGO work.
Yann Collet [Sat, 9 May 2020 18:30:45 +0000 (11:30 -0700)]
re-inforced tests for initStaticCCtx
ensure that `estimateCCtxSize()` works as intended.
Felix Handte [Fri, 8 May 2020 22:17:38 +0000 (18:17 -0400)]
Merge pull request #2122 from felixhandte/unused-variables
Compile Under `-Wunused-variable`
Yann Collet [Fri, 8 May 2020 21:20:47 +0000 (14:20 -0700)]
minor clarification on `-o file`
Yann Collet [Fri, 8 May 2020 21:15:56 +0000 (14:15 -0700)]
Merge branch 'dev' of github.com:facebook/zstd into dev
Yann Collet [Fri, 8 May 2020 21:14:46 +0000 (14:14 -0700)]
updated `zstd -h`
to help readability.
Group arguments into categories,
try to give better visibility to more common arguments.
Felix Handte [Fri, 8 May 2020 21:14:43 +0000 (17:14 -0400)]
Merge pull request #2116 from felixhandte/pkg-config-again-again
Fix pkg-config File Generation Again Again
W. Felix Handte [Fri, 8 May 2020 20:42:15 +0000 (16:42 -0400)]
Use Unused Variable
Yann Collet [Fri, 8 May 2020 20:35:59 +0000 (13:35 -0700)]
document additional compilation macros
ZSTD_NOBENCH, ZSTD_NODICT, ZSTD_NOCOMPRESS, ZSTD_NODECOMPRESS
W. Felix Handte [Fri, 8 May 2020 20:01:26 +0000 (16:01 -0400)]
Only Trigger libzstd.pc Build on Unix-Like Platforms
We don't even define the rule on unsupported platforms.
W. Felix Handte [Fri, 8 May 2020 17:10:20 +0000 (13:10 -0400)]
Test libzstd.pc Build on Travis OS X
W. Felix Handte [Fri, 8 May 2020 17:06:31 +0000 (13:06 -0400)]
Add libzstd.pc Build to More Aggregate Targets in Makefiles
W. Felix Handte [Thu, 7 May 2020 17:12:59 +0000 (13:12 -0400)]
Fix pkg-config File Generation Again Again
Resubmission of #2001. This switches the `sed` invocations to use `-E`,
extended regex syntax, which is better standardized across platforms.
I guess.
Same test plan:
```
make -C lib clean libzstd.pc
cat lib/libzstd.pc
echo # should fail
make -C lib clean libzstd.pc LIBDIR=/foo
make -C lib clean libzstd.pc INCLUDEDIR=/foo
make -C lib clean libzstd.pc LIBDIR=/usr/localfoo
make -C lib clean libzstd.pc INCLUDEDIR=/usr/localfoo
make -C lib clean libzstd.pc LIBDIR=/usr/local/lib prefix=/foo
make -C lib clean libzstd.pc INCLUDEDIR=/usr/local/include prefix=/foo
echo # should succeed
make -C lib clean libzstd.pc LIBDIR=/usr/local/foo
make -C lib clean libzstd.pc INCLUDEDIR=/usr/local/foo
make -C lib clean libzstd.pc LIBDIR=/usr/local/
make -C lib clean libzstd.pc INCLUDEDIR=/usr/local/
make -C lib clean libzstd.pc LIBDIR=/usr/local
make -C lib clean libzstd.pc INCLUDEDIR=/usr/local
make -C lib clean libzstd.pc LIBDIR=/tmp/foo prefix=/tmp
make -C lib clean libzstd.pc INCLUDEDIR=/tmp/foo prefix=/tmp
make -C lib clean libzstd.pc LIBDIR=/tmp/foo prefix=/tmp/foo
make -C lib clean libzstd.pc INCLUDEDIR=/tmp/foo prefix=/tmp/foo
echo # should also succeed
make -C lib clean libzstd.pc prefix=/foo LIBDIR=/foo/bar INCLUDEDIR=/foo/
cat lib/libzstd.pc
mkdir out
cd out
cmake ../build/cmake
make
cat lib/libzstd.pc
```
Felix Handte [Fri, 8 May 2020 20:09:44 +0000 (16:09 -0400)]
Merge pull request #2078 from nocnokneo/fix-destdir-installs
CMake: Fix DESTDIR installs and the Package Config file
Yann Collet [Fri, 8 May 2020 18:59:45 +0000 (11:59 -0700)]
Merge branch 'dev' into clevel_doc
Nick Terrell [Fri, 8 May 2020 18:13:44 +0000 (11:13 -0700)]
Merge pull request #2118 from Artoria2e5/patch-1
programs/README.md: update help text
Yann Collet [Fri, 8 May 2020 17:51:37 +0000 (10:51 -0700)]
updated documentation regarding ZSTD_CLEVEL
make it clearer that it's useful for `tar --zstd`.
Bimba Shrestha [Fri, 8 May 2020 15:54:06 +0000 (10:54 -0500)]
Merge pull request #2119 from bimbashrestha/mingw
[build] Adding $TARGET_SYSTEM for cross-compilation Fedora fix
Bimba Shrestha [Fri, 8 May 2020 03:07:40 +0000 (22:07 -0500)]
adding
Yann Collet [Thu, 7 May 2020 20:16:33 +0000 (13:16 -0700)]
Merge pull request #2114 from facebook/verbose
support for verbose make
Yann Collet [Thu, 7 May 2020 20:13:34 +0000 (13:13 -0700)]
Merge pull request #2112 from facebook/cfast
small speed improvement for strategy fast
caoyzh [Tue, 14 Apr 2020 13:33:25 +0000 (21:33 +0800)]
Change the modification of ZSTD_wildcopy()
caoyzh [Tue, 14 Apr 2020 13:29:43 +0000 (21:29 +0800)]
revert ZSTD_reduceTable_internal()'s modificatiion
caoyzh [Thu, 2 Apr 2020 15:08:13 +0000 (23:08 +0800)]
Modify indent of comments
caoyzh [Fri, 27 Mar 2020 16:11:50 +0000 (00:11 +0800)]
Change "arm_neon.h" to system include <arm_neon.h>
caoyzh [Mon, 16 Mar 2020 03:07:31 +0000 (11:07 +0800)]
Optimize compression by using neon function.
Mingye Wang [Thu, 7 May 2020 18:52:18 +0000 (02:52 +0800)]
programs/README.md: update help text
I noticed that the help is outdated as there is no mention of --adapt. Y'all should probably put "update help text" into your release checklist.
Nick Terrell [Thu, 7 May 2020 01:51:14 +0000 (18:51 -0700)]
[zdict] Stabilize ZDICT_finalizeDictionary()
Bimba Shrestha [Thu, 7 May 2020 17:03:33 +0000 (12:03 -0500)]
Merge pull request #2115 from bimbashrestha/docs
[doc] Adding static analysis section and note
Bimba Shrestha [Thu, 7 May 2020 15:38:06 +0000 (10:38 -0500)]
adding some static-anslysis docs
Yann Collet [Thu, 7 May 2020 14:59:56 +0000 (07:59 -0700)]
support for verbose make
A commonly accepted makefile idiom is V=1 or VERBOSE=1
to request the printing of all commands.
This is not "default" though, and must be manually added.
Example :
Before :
```
make libzstd
compiling dynamic library 1.4.5
creating versioned links
make libzstd V=1
compiling dynamic library 1.4.5
creating versioned links
```
After :
```
make libzstd
compiling dynamic library 1.4.5
creating versioned links
make libzstd V=1
compiling dynamic library 1.4.5
cc -DXXH_NAMESPACE=ZSTD_ -DZSTD_LEGACY_SUPPORT=5 -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef -Wpointer-arith -Wvla -Wformat=2 -Winit-self -Wfloat-equal -Wwrite-strings -Wredundant-decls -Wmissing-prototypes -Wc++-compat -O3 common/debug.c common/entropy_common.c common/error_private.c common/fse_decompress.c common/pool.c common/threading.c common/xxhash.c common/zstd_common.c compress/fse_compress.c compress/hist.c compress/huf_compress.c compress/zstd_compress.c compress/zstd_compress_literals.c compress/zstd_compress_sequences.c compress/zstd_compress_superblock.c compress/zstd_double_fast.c compress/zstd_fast.c compress/zstd_lazy.c compress/zstd_ldm.c compress/zstd_opt.c compress/zstdmt_compress.c decompress/huf_decompress.c decompress/zstd_ddict.c decompress/zstd_decompress.c decompress/zstd_decompress_block.c deprecated/zbuff_common.c deprecated/zbuff_compress.c deprecated/zbuff_decompress.c dictBuilder/cover.c dictBuilder/divsufsort.c dictBuilder/fastcover.c dictBuilder/zdict.c legacy/zstd_v05.c legacy/zstd_v06.c legacy/zstd_v07.c -shared -fPIC -fvisibility=hidden -Wl,-soname=libzstd.so.1 -o libzstd.so.1.4.5
creating versioned links
ln -sf libzstd.so.1.4.5 libzstd.so.1
ln -sf libzstd.so.1.4.5 libzstd.so
```
Yann Collet [Thu, 7 May 2020 12:01:27 +0000 (05:01 -0700)]
small speed improvement for strategy fast
gcc 9.3.0 :
kennedy : 459 -> 466
silesia : 360 -> 365
enwik8 : 267 -> 269
clang 10.0.0 :
kennedy : 436 -> 441
silesia : 364 -> 366
enwik8 : 271 -> 272
Nick Terrell [Fri, 1 May 2020 23:35:35 +0000 (16:35 -0700)]
[lib] Fix NULL pointer dereference
When the output buffer is `NULL` with size 0, but the frame content size
is non-zero, we will write to the NULL pointer because our bounds check
underflowed.
This was exposed by a recent PR that allowed an empty frame into the
single-pass shortcut in streaming mode.
* Fix the bug.
* Fix another NULL dereference in zstd-v1.
* Overflow checks in 32-bit mode.
* Add a dedicated test.
* Expose the bug in the dedicated simple_decompress fuzzer.
* Switch all mallocs in fuzzers to return NULL for size=0.
* Fix a new timeout in a fuzzer.
Neither clang nor gcc show a decompression speed regression on x86-64.
On x86-32 clang is slightly positive and gcc loses 2.5% of speed.
Credit to OSS-Fuzz.
Felix Handte [Wed, 6 May 2020 16:42:23 +0000 (09:42 -0700)]
Merge pull request #2103 from felixhandte/relative-includes
Migrate Includes to Relative Paths
Bimba Shrestha [Wed, 6 May 2020 16:18:15 +0000 (11:18 -0500)]
Merge pull request #2095 from bimbashrestha/grep
[bugs] zstdgrep/grep inconsistencies
Yann Collet [Wed, 6 May 2020 03:50:40 +0000 (20:50 -0700)]
Merge pull request #2109 from facebook/fasterCygwin
faster cygwin test
Bimba Shrestha [Tue, 5 May 2020 23:51:06 +0000 (16:51 -0700)]
adding tests back
Yann Collet [Tue, 5 May 2020 23:38:17 +0000 (16:38 -0700)]
Merge pull request #2108 from facebook/hufc_wconv
some more conversion fixes …
Yann Collet [Tue, 5 May 2020 21:08:35 +0000 (14:08 -0700)]
faster cygwin test
The cygwin test on Appveyor is way too long (>30 mn).
The main issue is the very long zstreamtest, because no time out has been programmed.
Ensures that both fuzzer and zstreamtest receive a 30sec slot.
Should reduce cygwin tests duration by -30mn.
W. Felix Handte [Tue, 5 May 2020 19:25:18 +0000 (15:25 -0400)]
Yay It Works, Clean Up Logging A Bit
W. Felix Handte [Tue, 5 May 2020 18:54:04 +0000 (14:54 -0400)]
Fix Sed Regex Escaping for Extended Regex Rules......
W. Felix Handte [Tue, 5 May 2020 17:58:22 +0000 (13:58 -0400)]
Uhhh It's Still Failing, Let's Try Printing Debug Info?
Yann Collet [Tue, 5 May 2020 17:23:00 +0000 (10:23 -0700)]
Merge branch 'dev' into hufc_wconv
W. Felix Handte [Tue, 5 May 2020 17:18:45 +0000 (13:18 -0400)]
Fix Fallbacks to Work on FreeBSD
Yann Collet [Tue, 5 May 2020 17:16:59 +0000 (10:16 -0700)]
some more conversion warnings
hunting down some static analyzer warnings
Bimba Shrestha [Tue, 5 May 2020 17:03:57 +0000 (10:03 -0700)]
adding help text
Bimba Shrestha [Tue, 5 May 2020 16:51:44 +0000 (09:51 -0700)]
fixing inconsistencies
Yann Collet [Tue, 5 May 2020 16:08:05 +0000 (09:08 -0700)]
fix minor conversion warnings (#2106)
W. Felix Handte [Mon, 4 May 2020 22:59:47 +0000 (18:59 -0400)]
Add Fallback When realpath Doesn't Support --relative-to
W. Felix Handte [Mon, 4 May 2020 22:59:26 +0000 (18:59 -0400)]
Mark zstddeclib-in.c Not Executable
Yann Collet [Mon, 4 May 2020 21:43:09 +0000 (14:43 -0700)]
fix minor conversion warnings
Felix Handte [Mon, 4 May 2020 19:42:56 +0000 (12:42 -0700)]
Merge pull request #1976 from felixhandte/minimal-lib-target
Add Minification Variable to `lib/Makefile`