]> git.ipfire.org Git - thirdparty/zstd.git/log
thirdparty/zstd.git
6 years agoEnable building zstd on Haiku. 1330/head
Jerome Duval [Sun, 6 Aug 2017 20:27:54 +0000 (22:27 +0200)] 
Enable building zstd on Haiku.

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 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

6 years agoMerge pull request #1301 from terrelln/lit-size
Yann Collet [Wed, 29 Aug 2018 00:10:25 +0000 (17:10 -0700)] 
Merge pull request #1301 from terrelln/lit-size

[zstd] Fix seqStore growth

6 years agofirst working test program
Yann Collet [Tue, 28 Aug 2018 22:47:07 +0000 (15:47 -0700)] 
first working test program

measures :
- compression ratio with / without dictionary
- create one dictionary per block
- memory budget for dictionaries
- decompression speed, using one different dictionary per block

current limitations :
- only one file
- 4K blocks only
- automatic dictionary built with 4K size

dictionary can be selected on command line, with -D

6 years agoFix decodecorpus 1301/head
Nick Terrell [Tue, 28 Aug 2018 20:56:47 +0000 (13:56 -0700)] 
Fix decodecorpus

6 years agoSmall test fixes
Nick Terrell [Tue, 28 Aug 2018 20:42:01 +0000 (13:42 -0700)] 
Small test fixes

6 years ago[zstd] Fix seqStore growth
Nick Terrell [Tue, 28 Aug 2018 20:24:44 +0000 (13:24 -0700)] 
[zstd] Fix seqStore growth

We could undersize the literals buffer by up to 11 bytes,
due to a combination of 2 bugs:
* The literals buffer didn't have `WILDCOPY_OVERLENGTH` extra
  space, like it is supposed to.
* We didn't check the literals buffer size in `ZSTD_sufficientBuff()`.

6 years ago[fuzzer] Test growing the seqStore_t
Nick Terrell [Tue, 28 Aug 2018 20:20:37 +0000 (13:20 -0700)] 
[fuzzer] Test growing the seqStore_t

6 years agoMerge pull request #1298 from facebook/bench
Yann Collet [Tue, 28 Aug 2018 19:25:02 +0000 (12:25 -0700)] 
Merge pull request #1298 from facebook/bench

Refactored bench.c

6 years agoMerge branch 'bench' into largeNbDicts
Yann Collet [Tue, 28 Aug 2018 18:26:46 +0000 (11:26 -0700)] 
Merge branch 'bench' into largeNbDicts

6 years agotimedFn : measurement delay is programmable 1298/head
Yann Collet [Tue, 28 Aug 2018 18:21:09 +0000 (11:21 -0700)] 
timedFn : measurement delay is programmable

instead of hard-coded 1 second per measurement

6 years agoMerge pull request #1299 from modbw/dev
Yann Collet [Tue, 28 Aug 2018 15:41:44 +0000 (08:41 -0700)] 
Merge pull request #1299 from modbw/dev

Fixed memory leak detected by cppcheck

6 years agoFixed memory leak detected by cppcheck 1299/head
modbw [Tue, 28 Aug 2018 05:25:05 +0000 (07:25 +0200)] 
Fixed memory leak detected by cppcheck

cppcheck (which is run regularly in our CI environment)  detected a possible memory leak.

6 years agoparamgrill: removed useless tests
Yann Collet [Tue, 28 Aug 2018 02:07:17 +0000 (19:07 -0700)] 
paramgrill: removed useless tests

designed to compensate iter_mode,
but since only time_mode is available now,
all tests are guaranteed to last a minimum amount of time.

6 years agoparamgrill: fixed a bunch of div-by-zero
Yann Collet [Tue, 28 Aug 2018 01:46:42 +0000 (18:46 -0700)] 
paramgrill: fixed a bunch of div-by-zero

they were pretty easy to trigger by the way,
just start an extended paramgrill session
to find a compression table based on any sample,
it would necessarily happen at some point.

6 years agorestored assert() in paramgrill
Yann Collet [Tue, 28 Aug 2018 00:52:04 +0000 (17:52 -0700)] 
restored assert() in paramgrill

assert() in paramgrill are not in the benchmark path.
They should remain active, as they don't impact measurements, and their runtime is insignificant.

6 years agolargeNbDicts can compress and compare dict vs noDict
Yann Collet [Tue, 28 Aug 2018 00:08:44 +0000 (17:08 -0700)] 
largeNbDicts can compress and compare dict vs noDict

6 years agoMerge branch 'bench' into largeNbDicts
Yann Collet [Mon, 27 Aug 2018 19:12:51 +0000 (12:12 -0700)] 
Merge branch 'bench' into largeNbDicts

6 years agobench: minor api update, for consistency
Yann Collet [Mon, 27 Aug 2018 04:30:18 +0000 (21:30 -0700)] 
bench: minor api update, for consistency

BMK_benchTimedFn()
BMK_isCompleted_TimedFn() uses TimedFnState

6 years agofirst sketch for largeNbDicts test program
Yann Collet [Mon, 27 Aug 2018 02:29:12 +0000 (19:29 -0700)] 
first sketch for largeNbDicts test program

6 years agofixed minor warnings
Yann Collet [Sat, 25 Aug 2018 04:38:09 +0000 (21:38 -0700)] 
fixed minor warnings

valgrind: memory leak of a few bytes in fullbench
static analyzer: uninitialized data passed as result

6 years agoMerge pull request #1297 from felixhandte/check-offset-table
Yann Collet [Sat, 25 Aug 2018 00:36:44 +0000 (17:36 -0700)] 
Merge pull request #1297 from felixhandte/check-offset-table

Fix Missing Offset Table Check

6 years agobench: reduce nb of return type
Yann Collet [Sat, 25 Aug 2018 00:28:38 +0000 (17:28 -0700)] 
bench: reduce nb of return type

runOutcome is enough
removed timedFnOutcome

6 years agofix minor warnings
Yann Collet [Fri, 24 Aug 2018 22:59:57 +0000 (15:59 -0700)] 
fix minor warnings

gcc : prototype with 0 parameter must be labelled (void)
visual : const property must be identical in both declaration and implementation

6 years agoMark Repeated Offset Table as Needing Check 1297/head
W. Felix Handte [Fri, 24 Aug 2018 21:33:34 +0000 (14:33 -0700)] 
Mark Repeated Offset Table as Needing Check

6 years agoAdd Failing Test
W. Felix Handte [Fri, 24 Aug 2018 21:30:21 +0000 (14:30 -0700)] 
Add Failing Test

6 years agofixed fullbench behavior
Yann Collet [Fri, 24 Aug 2018 19:40:10 +0000 (12:40 -0700)] 
fixed fullbench behavior

now same as v1.3.5

6 years agofixed zstd -b speed result
Yann Collet [Fri, 24 Aug 2018 01:04:50 +0000 (18:04 -0700)] 
fixed zstd -b speed result

the benchmark was displaying the speed of last run
instead of the best of all previous runs.

6 years agoFix decodecorpus
Nick Terrell [Thu, 23 Aug 2018 22:28:12 +0000 (15:28 -0700)] 
Fix decodecorpus

6 years agoFix compiler warning
Nick Terrell [Tue, 21 Aug 2018 21:38:24 +0000 (14:38 -0700)] 
Fix compiler warning

6 years ago[zstd] Add note about empty ZSTD_CDict
Nick Terrell [Tue, 21 Aug 2018 21:20:21 +0000 (14:20 -0700)] 
[zstd] Add note about empty ZSTD_CDict

6 years ago[zstd] Reuse the ZSTD_CCtx more often with small data.
Nick Terrell [Tue, 21 Aug 2018 21:20:02 +0000 (14:20 -0700)] 
[zstd] Reuse the ZSTD_CCtx more often with small data.