]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
6 years agobounds for --adapt mode 1327/head
Yann Collet [Tue, 25 Sep 2018 01:16:08 +0000 (18:16 -0700)] 
bounds for --adapt mode

can supply min and max compression level through advanced command :
--adapt=min=#,max=#

6 years agoMerge branch 'dev' into adapt
Yann Collet [Mon, 24 Sep 2018 23:56:45 +0000 (16:56 -0700)] 
Merge branch 'dev' into adapt

6 years agoMerge pull request #1332 from facebook/minclevel
Yann Collet [Mon, 24 Sep 2018 23:01:13 +0000 (16:01 -0700)] 
Merge pull request #1332 from facebook/minclevel

defined a minimum negative level

6 years agoMerge pull request #1336 from facebook/scanbuild
Yann Collet [Mon, 24 Sep 2018 21:49:16 +0000 (14:49 -0700)] 
Merge pull request #1336 from facebook/scanbuild

fixed minor scan-build warnings

6 years agoMerge pull request #1335 from facebook/limits
Yann Collet [Mon, 24 Sep 2018 21:49:03 +0000 (14:49 -0700)] 
Merge pull request #1335 from facebook/limits

added some tests based on limits.h

6 years agofixed minor scan-build warnings 1336/head
Yann Collet [Mon, 24 Sep 2018 07:52:19 +0000 (00:52 -0700)] 
fixed minor scan-build warnings

6 years agoadded some tests based on limits.h 1335/head
Yann Collet [Mon, 24 Sep 2018 06:57:30 +0000 (23:57 -0700)] 
added some tests based on limits.h

in order to ensure proper type mapping
when not using stdint.h

6 years agofixed zstd-decompress 1332/head
Yann Collet [Sun, 23 Sep 2018 00:21:39 +0000 (17:21 -0700)] 
fixed zstd-decompress

which cannot support ZSTD_minCLevel()

6 years agoMerge pull request #1331 from facebook/mingw
Yann Collet [Sat, 22 Sep 2018 23:11:55 +0000 (16:11 -0700)] 
Merge pull request #1331 from facebook/mingw

fix mingw compatibility

6 years agoenforce minimum compression level limit
Yann Collet [Sat, 22 Sep 2018 23:10:10 +0000 (16:10 -0700)] 
enforce minimum compression level limit

using ZSTD_minCLevel()

6 years agofixed constant comparison on 32-bits systems
Yann Collet [Sat, 22 Sep 2018 01:23:32 +0000 (18:23 -0700)] 
fixed constant comparison on 32-bits systems

6 years agoavoid recompiling dll every time under mingw 1331/head
Yann Collet [Sat, 22 Sep 2018 00:40:30 +0000 (17:40 -0700)] 
avoid recompiling dll every time under mingw

6 years agofix pzstd compatibility with mingw
Yann Collet [Sat, 22 Sep 2018 00:36:00 +0000 (17:36 -0700)] 
fix pzstd compatibility with mingw

some details changed with introduction of gcc7

6 years agofix constant redeclaration in paramgrill
Yann Collet [Sat, 22 Sep 2018 00:28:37 +0000 (17:28 -0700)] 
fix constant redeclaration in paramgrill

6 years agosimplified "slows down when compression blocked"
Yann Collet [Fri, 21 Sep 2018 23:35:43 +0000 (16:35 -0700)] 
simplified "slows down when compression blocked"

6 years agoMerge branch 'mingw' into adapt
Yann Collet [Fri, 21 Sep 2018 23:00:46 +0000 (16:00 -0700)] 
Merge branch 'mingw' into adapt

6 years agoensure all writes to job->cSize are mutex protected
Yann Collet [Fri, 21 Sep 2018 22:37:30 +0000 (15:37 -0700)] 
ensure all writes to job->cSize are mutex protected

even when reporting errors,
using a macro for code brevity, as suggested by @terrelln,

6 years agofixed tautological tests
Yann Collet [Fri, 21 Sep 2018 22:04:43 +0000 (15:04 -0700)] 
fixed tautological tests

involving ZSTD_TARGETLENGTH_MIN (== 0)

6 years agoMerge branch 'mingw' into minclevel
Yann Collet [Fri, 21 Sep 2018 21:56:57 +0000 (14:56 -0700)] 
Merge branch 'mingw' into minclevel

6 years agofix mingw compatibility
Yann Collet [Fri, 21 Sep 2018 21:46:09 +0000 (14:46 -0700)] 
fix mingw compatibility

only enable backtraces for platforms we know support it
aka mac OS-X and Linux.
can be extended later.

6 years agoMerge pull request #1318 from felixhandte/shadow-dict-matches
Yann Collet [Fri, 21 Sep 2018 19:15:33 +0000 (12:15 -0700)] 
Merge pull request #1318 from felixhandte/shadow-dict-matches

Don't Search Dictionary Context When Working Context Search Resulted in Mismatch

6 years agodefined a minimum negative level
Yann Collet [Thu, 20 Sep 2018 23:17:49 +0000 (16:17 -0700)] 
defined a minimum negative level

which can be probed using new function ZSTD_minCLevel().

Also : redefined ZSTD_TARGETLENGTH_MIN/MAX for consistency

used the opportunity to bump version number to v1.3.6

6 years agofixed complex tsan issue
Yann Collet [Thu, 20 Sep 2018 20:47:31 +0000 (13:47 -0700)] 
fixed complex tsan issue

when job->consumed == job->src.size , compression job is presumed completed,
so it must be the very last action done in worker thread.

6 years agofixed minor gcc warning on a unused variable
Yann Collet [Thu, 20 Sep 2018 20:00:11 +0000 (13:00 -0700)] 
fixed minor gcc warning on a unused variable

6 years agoupdated man page
Yann Collet [Thu, 20 Sep 2018 00:37:22 +0000 (17:37 -0700)] 
updated man page

and added `--adapt` test in `playTests.sh`

6 years agofixed minor reporting discrepancy in MT mode
Yann Collet [Wed, 19 Sep 2018 23:30:55 +0000 (16:30 -0700)] 
fixed minor reporting discrepancy in MT mode

6 years agoremoved static variables
Yann Collet [Wed, 19 Sep 2018 22:09:45 +0000 (15:09 -0700)] 
removed static variables

so that --adapt can work on multiple input files too

6 years agoerror out when --adapt is associated with --single-thread
Yann Collet [Wed, 19 Sep 2018 21:49:13 +0000 (14:49 -0700)] 
error out when --adapt is associated with --single-thread

since they are not compatible

6 years agoMerge branch 'dev' into adapt
Yann Collet [Wed, 19 Sep 2018 19:43:42 +0000 (12:43 -0700)] 
Merge branch 'dev' into adapt

6 years agoMerge pull request #1326 from facebook/refPrefix
Yann Collet [Tue, 18 Sep 2018 22:28:34 +0000 (15:28 -0700)] 
Merge pull request #1326 from facebook/refPrefix

updated documentation of *refPrefix()

6 years agoupdated documentation of *refPrefix() 1326/head
Yann Collet [Tue, 18 Sep 2018 20:07:08 +0000 (13:07 -0700)] 
updated documentation of *refPrefix()

indicating the equivalence with `diff` operation.

6 years agoMerge pull request #1321 from bket/non-portable
Nick Terrell [Mon, 17 Sep 2018 21:40:27 +0000 (14:40 -0700)] 
Merge pull request #1321 from bket/non-portable

'head -c BYTES' is non-portable.

6 years agoMerge pull request #1324 from ko-zu/fixclangcode
Yann Collet [Mon, 17 Sep 2018 21:10:17 +0000 (14:10 -0700)] 
Merge pull request #1324 from ko-zu/fixclangcode

Fix largeNbDicts bench for clangbuild

6 years ago'head -c BYTES' is non-portable. 1321/head
Björn Ketelaars [Sat, 30 Jun 2018 13:42:42 +0000 (15:42 +0200)] 
'head -c BYTES' is non-portable.

tests/playTests.sh uses 'head -c' in a couple of tests to truncate the
last byte of a file. The '-c' option is non-portable (not in POSIX).
Instead use a wrapper around dd (truncateLastByte).

6 years agoMerge pull request #1322 from azat-archive/seekable-fixes-pull
Nick Terrell [Mon, 17 Sep 2018 18:04:51 +0000 (11:04 -0700)] 
Merge pull request #1322 from azat-archive/seekable-fixes-pull

Fixes read write past end of input buffer.

6 years agoFix largeNbDicts bench for clangbuild 1324/head
ko-zu [Mon, 17 Sep 2018 04:09:08 +0000 (13:09 +0900)] 
Fix largeNbDicts bench for clangbuild

Remove unsigned to size_t promotion to fix implicit down conversion errors in clangbuild target.

6 years agoseekable_decompression: support offset greater then UNIT_MAX 1322/head
Azat Khuzhin [Sun, 16 Sep 2018 15:04:43 +0000 (18:04 +0300)] 
seekable_decompression: support offset greater then UNIT_MAX

6 years agozstdseek_decompress: fix decompression with data left in input buffer
Azat Khuzhin [Sun, 16 Sep 2018 15:04:43 +0000 (18:04 +0300)] 
zstdseek_decompress: fix decompression with data left in input buffer

6 years agoMerge pull request #1319 from ko-zu/fixclangbuild
Yann Collet [Sun, 16 Sep 2018 02:31:42 +0000 (19:31 -0700)] 
Merge pull request #1319 from ko-zu/fixclangbuild

Fix clang build

6 years agoFix clang build 1319/head
ko-zu [Sun, 16 Sep 2018 01:27:02 +0000 (10:27 +0900)] 
Fix clang build

Fix dixygen comment
Fix clang binary path

6 years agominor code comment update
Yann Collet [Fri, 14 Sep 2018 23:06:35 +0000 (16:06 -0700)] 
minor code comment update

6 years agoMerge pull request #1295 from felixhandte/hdr-intro-comment-negative-lvls
Yann Collet [Fri, 14 Sep 2018 22:29:19 +0000 (15:29 -0700)] 
Merge pull request #1295 from felixhandte/hdr-intro-comment-negative-lvls

Proposed Update to Zstd.h Introduction Comment

6 years agoZSTD_dfast: Don't Search Dict Context When Mismatch Was Found 1318/head
W. Felix Handte [Fri, 14 Sep 2018 22:24:25 +0000 (15:24 -0700)] 
ZSTD_dfast: Don't Search Dict Context When Mismatch Was Found

6 years agoZSTD_fast: Don't Search Dict Context When Mismatch Was Found
W. Felix Handte [Fri, 14 Sep 2018 22:23:35 +0000 (15:23 -0700)] 
ZSTD_fast: Don't Search Dict Context When Mismatch Was Found

6 years agoMerge pull request #1316 from facebook/coldDict
Yann Collet [Fri, 14 Sep 2018 17:37:46 +0000 (10:37 -0700)] 
Merge pull request #1316 from facebook/coldDict

Cold dictionary mitigation

6 years agoupdated code comments, based on @terrelln review 1316/head
Yann Collet [Thu, 13 Sep 2018 23:44:04 +0000 (16:44 -0700)] 
updated code comments, based on @terrelln review

6 years agofixed msan error
Yann Collet [Thu, 13 Sep 2018 19:29:52 +0000 (12:29 -0700)] 
fixed msan error

cold dictionary is detected through a comparison with dictEnd,
which was not initialized at the beginning of first DCtx usage.

6 years agofinal parameter tuning
Yann Collet [Wed, 12 Sep 2018 23:54:57 +0000 (16:54 -0700)] 
final parameter tuning

6 years agoclean traces
Yann Collet [Wed, 12 Sep 2018 23:40:28 +0000 (16:40 -0700)] 
clean traces

6 years agofixed PREFETCH() macro
Yann Collet [Wed, 12 Sep 2018 23:15:37 +0000 (16:15 -0700)] 
fixed PREFETCH() macro

for corner cases and platforms without this instruction

6 years agoMerge pull request #1315 from cmcginty/dev
Yann Collet [Wed, 12 Sep 2018 23:12:00 +0000 (16:12 -0700)] 
Merge pull request #1315 from cmcginty/dev

Add build define to manually enable -rdynamic LD flag

6 years agoconditional dict content prefetching
Yann Collet [Wed, 12 Sep 2018 22:35:21 +0000 (15:35 -0700)] 
conditional dict content prefetching

based on nbSeq.

6 years agoAdd build define to manually enable -rdynamic LD flag 1315/head
Casey McGinty [Wed, 12 Sep 2018 21:00:08 +0000 (14:00 -0700)] 
Add build define to manually enable -rdynamic LD flag

6 years agoMerge pull request #1314 from terrelln/cpuid
Yann Collet [Wed, 12 Sep 2018 20:30:16 +0000 (13:30 -0700)] 
Merge pull request #1314 from terrelln/cpuid

[libzstd] Fix cpu for MSFT ARM

6 years agoadjust heuristic decisions
Yann Collet [Wed, 12 Sep 2018 19:32:09 +0000 (12:32 -0700)] 
adjust heuristic decisions

6 years agoAlso allow x86 1314/head
Nick Terrell [Wed, 12 Sep 2018 19:05:32 +0000 (12:05 -0700)] 
Also allow x86

6 years agolargeNbDicts : can select a nb of blocks
Yann Collet [Wed, 12 Sep 2018 18:28:45 +0000 (11:28 -0700)] 
largeNbDicts : can select a nb of blocks

will automatically truncate or repeat input as needed,
to create the requested nb of blocks.
default: nb of files, eventually increased appropriately if blockSize is set

6 years ago[libzstd] Fix cpu for MSFT ARM
Nick Terrell [Wed, 12 Sep 2018 17:35:16 +0000 (10:35 -0700)] 
[libzstd] Fix cpu for MSFT ARM

The `__cpuid()` and `__cpuidex()` intrinsics are only available
on x86 and x86_64.

6 years agoadded conditional prefetch
Yann Collet [Wed, 12 Sep 2018 17:29:47 +0000 (10:29 -0700)] 
added conditional prefetch

depending on amount of work to do.

6 years agoMerge pull request #1311 from cmcginty/dev
Yann Collet [Wed, 12 Sep 2018 17:13:23 +0000 (10:13 -0700)] 
Merge pull request #1311 from cmcginty/dev

Print a stack trace on unexpected term signal (e.g. SIGABRT)

6 years agoimplemented first prefetch
Yann Collet [Wed, 12 Sep 2018 00:23:44 +0000 (17:23 -0700)] 
implemented first prefetch

based on dictID.
dictContent is prefetched up to 32 KB
(no contentSize adaptation)

6 years agoDisable -rdynamic LD option on Windows 1311/head
Casey McGinty [Tue, 11 Sep 2018 23:19:34 +0000 (16:19 -0700)] 
Disable -rdynamic LD option on Windows

6 years agoUpdate comments, and LD flag usage in Make
Casey McGinty [Tue, 11 Sep 2018 21:49:47 +0000 (14:49 -0700)] 
Update comments, and LD flag usage in Make

6 years agoRemove dead code and method name typo
Casey McGinty [Tue, 11 Sep 2018 18:56:50 +0000 (11:56 -0700)] 
Remove dead code and method name typo

6 years agoMove ABRThandler func out of internal lib
Casey McGinty [Tue, 11 Sep 2018 18:39:49 +0000 (11:39 -0700)] 
Move ABRThandler func out of internal lib

6 years agoRefactor abort signal handling
Casey McGinty [Tue, 11 Sep 2018 17:40:45 +0000 (10:40 -0700)] 
Refactor abort signal handling

- Print signal name to term
- Add -rdynamic option to generate Linux symbol names in backtrace
- Raise default signal after handler to ensure program termination

6 years agoMerge pull request #1310 from facebook/Dworkspace
Yann Collet [Mon, 10 Sep 2018 20:11:11 +0000 (13:11 -0700)] 
Merge pull request #1310 from facebook/Dworkspace

 reduce DDict size by 2KB

6 years agoadded comment about minimum size of FSE tables 1310/head
Yann Collet [Mon, 10 Sep 2018 18:24:17 +0000 (11:24 -0700)] 
added comment about minimum size of FSE tables

required for DDict creation,
which use this space as workspace during Hufman table building stage.

6 years agoMerge pull request #1307 from facebook/spec
Yann Collet [Fri, 7 Sep 2018 22:42:04 +0000 (15:42 -0700)] 
Merge pull request #1307 from facebook/spec

spec clarification

6 years agoPrint a stack trace on unexpected term signal (e.g. SIGABRT)
Casey McGinty [Fri, 7 Sep 2018 01:46:52 +0000 (18:46 -0700)] 
Print a stack trace on unexpected term signal (e.g. SIGABRT)

For OSX and Linux, add a signal handler to SIGABRT, SGIFPE, SIGILL,
SIGSEGV, and SIGBUS. When the program terminates unexpectedly the
handler will print the current stack to the terminal to help determine
the location of the failure.

On OSX the output will look like:

```
Stack trace:
4   zstd                                0x000000010927ed96 main + 16886
5   libdyld.dylib                       0x00007fff767d1015 start + 1
6   ???                                 0x0000000000000001 0x0 + 1
```

On Linux the output will look like:

```
Stack trace:
./zstd() [0x4b8e1b]
./zstd() [0x4b928a]
./zstd() [0x403dc2]
/lib64/libc.so.6(__libc_start_main+0xf5) [0x7f5e0fbb0445]
./zstd() [0x405754]
```

As is, the code does not function on WIN32.

See also: https://oroboro.com/stack-trace-on-crash/

6 years agoMerge pull request #1309 from facebook/islink
Yann Collet [Fri, 7 Sep 2018 01:01:10 +0000 (18:01 -0700)] 
Merge pull request #1309 from facebook/islink

fixed UTIL_isLink() for Mac OS-X

6 years agostrengthened conditions for using workplace into fse table space
Yann Collet [Fri, 7 Sep 2018 00:54:13 +0000 (17:54 -0700)] 
strengthened conditions for using workplace into fse table space

ensure that the structure layout is as expected.
will trigger an error if it changes in the future.

Another solution would be to use a union,
this would be cleaner and get rid of these static asserts.

However, in order to keep the current code unmodified,
it would be necessary to use an un-named unions.
And apparently, un-named unions are only possible on "recent" compilers (C99+).

6 years agoMerge branch 'islink' into Dworkspace
Yann Collet [Fri, 7 Sep 2018 00:33:27 +0000 (17:33 -0700)] 
Merge branch 'islink' into Dworkspace

6 years agofixed UTIL_isLink() for Mac OS-X 1309/head
Yann Collet [Fri, 7 Sep 2018 00:32:16 +0000 (17:32 -0700)] 
fixed UTIL_isLink() for Mac OS-X

6 years agoreduced DDict size, by -2KB
Yann Collet [Fri, 7 Sep 2018 00:07:53 +0000 (17:07 -0700)] 
reduced DDict size, by -2KB

corresponding to the removal of workspace
which is needed while building huffman table
and is now either present in DCtx,
or temporarily borrowed from available FSE table space.

6 years agoMerge pull request #1308 from facebook/codeofconduct
Yann Collet [Thu, 6 Sep 2018 21:38:32 +0000 (14:38 -0700)] 
Merge pull request #1308 from facebook/codeofconduct

added code of conduct

6 years agoadded code of conduct 1308/head
Yann Collet [Thu, 6 Sep 2018 18:20:39 +0000 (11:20 -0700)] 
added code of conduct

as requested by Facebook OSS program.

6 years agoMerge pull request #1304 from facebook/largeNbDicts
Yann Collet [Thu, 6 Sep 2018 16:50:56 +0000 (09:50 -0700)] 
Merge pull request #1304 from facebook/largeNbDicts

contrib/largeNbDicts

6 years agofixed minor static analyzer warning 1304/head
Yann Collet [Wed, 5 Sep 2018 21:33:51 +0000 (14:33 -0700)] 
fixed minor static analyzer warning

6 years agospec clarification 1307/head
Yann Collet [Wed, 5 Sep 2018 19:25:35 +0000 (12:25 -0700)] 
spec clarification

following #1305 comments from @ulikunitz

6 years agoMerge pull request #1306 from jennifermliu/dev
Nick Terrell [Wed, 5 Sep 2018 01:03:36 +0000 (18:03 -0700)] 
Merge pull request #1306 from jennifermliu/dev

Change default f of FASTCOVER to 20

6 years agoChange default f to 20 1306/head
Jennifer Liu [Wed, 5 Sep 2018 00:12:35 +0000 (17:12 -0700)] 
Change default f to 20

6 years agoMerge pull request #1302 from jennifermliu/splitpoint
Nick Terrell [Tue, 4 Sep 2018 23:59:41 +0000 (16:59 -0700)] 
Merge pull request #1302 from jennifermliu/splitpoint

 Always use splitPoint=1.0 for non-optimize cover and fastcover and some minor changes on comments

6 years agoupdated documentation
Yann Collet [Tue, 4 Sep 2018 21:57:45 +0000 (14:57 -0700)] 
updated documentation

6 years agosilenced false-positive scan-build warning
Yann Collet [Fri, 31 Aug 2018 17:01:06 +0000 (10:01 -0700)] 
silenced false-positive scan-build warning

6 years agoMerge pull request #1303 from cmcginty/dev
Yann Collet [Fri, 31 Aug 2018 01:09:33 +0000 (18:09 -0700)] 
Merge pull request #1303 from cmcginty/dev

Zstandard - better `make list`

6 years agoAdd optional description field support to "list" target 1303/head
Casey McGinty [Thu, 30 Aug 2018 23:54:43 +0000 (16:54 -0700)] 
Add optional description field support to "list" target

6 years agofixed link order for old compilers
Yann Collet [Thu, 30 Aug 2018 23:43:28 +0000 (16:43 -0700)] 
fixed link order for old compilers

6 years agominor : createDictionaryBuffer() can create dictionaries of different sizes
Yann Collet [Thu, 30 Aug 2018 23:24:44 +0000 (16:24 -0700)] 
minor : createDictionaryBuffer() can create dictionaries of different sizes

6 years agofixed minor compatibility issues with older compilers
Yann Collet [Thu, 30 Aug 2018 22:54:14 +0000 (15:54 -0700)] 
fixed minor compatibility issues with older compilers

6 years agoUpdate comment about default dictionary builder 1302/head
Jennifer Liu [Thu, 30 Aug 2018 22:46:39 +0000 (15:46 -0700)] 
Update comment about default dictionary builder

6 years agoUpdate comment on default steps of cover and fastcover
Jennifer Liu [Thu, 30 Aug 2018 22:37:29 +0000 (15:37 -0700)] 
Update comment on default steps of cover and fastcover

6 years ago-std=c99 for largeNbDicts
Yann Collet [Thu, 30 Aug 2018 21:59:10 +0000 (14:59 -0700)] 
-std=c99 for largeNbDicts

6 years agoAlways use splitPoint=1.0 for non-optimize cover and fastcover
Jennifer Liu [Thu, 30 Aug 2018 21:53:59 +0000 (14:53 -0700)] 
Always use splitPoint=1.0 for non-optimize cover and fastcover

6 years agoMerge branch 'dev' of github.com:facebook/zstd into dev
Jennifer Liu [Thu, 30 Aug 2018 21:57:16 +0000 (14:57 -0700)] 
Merge branch 'dev' of github.com:facebook/zstd into dev

6 years agolargeNbDicts compatible with multiple source files
Yann Collet [Thu, 30 Aug 2018 18:02:08 +0000 (11:02 -0700)] 
largeNbDicts compatible with multiple source files

splitting is disabled by default, but can be re-enabled using usual command -B#
update commands to look like zstd ones

6 years agomake all includes contrib/largeNbDicts
Yann Collet [Wed, 29 Aug 2018 23:17:22 +0000 (16:17 -0700)] 
make all includes contrib/largeNbDicts

6 years agoadded a README
Yann Collet [Wed, 29 Aug 2018 01:19:19 +0000 (18:19 -0700)] 
added a README

for documentation

6 years agoincreases randomness of ddict ptrs
Yann Collet [Wed, 29 Aug 2018 01:13:46 +0000 (18:13 -0700)] 
increases randomness of ddict ptrs

6 years agolevel, block size and nb dicts can be set on command line
Yann Collet [Wed, 29 Aug 2018 01:05:31 +0000 (18:05 -0700)] 
level, block size and nb dicts can be set on command line