Nick Terrell
6cee3c2c4f
[trace] Remove default definitions of weak symbols
...
Instead of providing a default no-op implementation, check the symbols
for `NULL` before accessing them. Providing a default implementation
doesn't reliably work with dynamic linking. Depending on link order the
default implementations may not be overridden. By skipping the default
implementation, all link order issues are resolved. If the symbols
aren't provided the weak function will be `NULL`.
2021-04-26 16:05:39 -07:00
Nick Terrell
a494308ae9
[copyright][license] Switch to yearless copyright and some cleanup in the linux-kernel files
...
* Switch to yearless copyright per FB policy
* Fix up SPDX-License-Identifier lines in `contrib/linux-kernel` sources
* Add zstd copyright/license header to the `contrib/linux-kernel` sources
* Update the `tests/test-license.py` to check for yearless copyright
* Improvements to `tests/test-license.py`
* Check `contrib/linux-kernel` in `tests/test-license.py`
2021-03-30 10:30:43 -07:00
Nick Terrell
cd1551d261
[lib][tracing] Add ZSTD_NO_TRACE macro
...
When defined, it disables tracing, and avoids including the header.
2021-03-16 11:47:27 -07:00
Nick Terrell
e59c9459a5
[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.
2021-02-09 11:37:05 -08:00
Nick Terrell
54a4998a80
Add basic tracing functionality
2021-02-05 16:28:52 -08:00
Nick Terrell
f9b1e711ba
[zstd] Fix NULL pointer addition in ZSTD_checkContinuity()
...
Don't start a new section when `dstSize == 0` to avoid NULL
pointer addition.
2021-02-05 12:18:06 -08:00
Yann Collet
b9748757b0
fixed minor cast warning
2021-02-05 09:55:54 -08:00
senhuang42
9ae0dd9336
Fix Visual and staticanalyze warnings
2021-01-07 17:58:37 -05:00
senhuang42
c2c9b8a7ec
Address comments, clean up interface/internals
2021-01-07 12:29:12 -05:00
senhuang42
22b7bff2bc
Add unit test, improve documentation
2021-01-07 12:29:12 -05:00
senhuang42
ea52fc3606
Use XXHash for hash function, create a sensible public interface
2021-01-07 12:29:12 -05:00
senhuang42
7c1a79f232
Add debuglog statements
2021-01-07 12:29:11 -05:00
senhuang42
d1a6a9d285
Reference requested dict ID at decompression time
2021-01-07 12:29:11 -05:00
senhuang42
5a6d3eef2b
Allocate memory for DDict hash set when parameter is set
2021-01-07 12:29:11 -05:00
senhuang42
fd5b608f1c
Add parameter to control multiple DDicts
2021-01-07 12:29:11 -05:00
senhuang42
f933668d3f
Implement hashset for dictIDs
2021-01-07 12:29:11 -05:00
Nick Terrell
66e811d782
[license] Update year to 2021
2021-01-04 17:53:52 -05:00
Yann Collet
95e74616d5
fix multiple minor conversion warnings
...
unrelated to #2386 , just cleaning up while I'm updating this file ...
2020-11-06 09:57:05 -08:00
Yann Collet
2769e4d459
fix incorrect assert
...
fix #2386 , reported by @Neumann-A
2020-11-06 09:44:04 -08:00
Nick Terrell
e3e0775cc8
[API] Add ZSTD_c_stable{In,Out}Buffer parameters
...
This commit adds the parameters and sets the value in the CCtxParams
but it does not do anything with the value.
2020-10-30 10:54:39 -07:00
Nick Terrell
2e7d174130
Reset all decompression parameters in ZSTD_DCtx_reset()
...
* Reset all decompression parameters in `ZSTD_DCtx_reset()` when
resetting parameters.
* Add a test case.
2020-10-01 14:19:21 -07:00
Nick Terrell
9261476b7d
[lib] Wrap customMem xor checks in parens for readability
...
This clarifies operator precedence, and quiets cppcheck in
the Kernel Test Robot. I think this is a slight bonus to
readability, so I am accepting the suggestion.
2020-09-23 23:26:07 -07:00
Nick Terrell
c465f24457
ZSTD_ prefix mem{cpy,move,set},malloc,calloc,free
2020-08-26 12:26:03 -07:00
Nick Terrell
a686d306d2
Rename ZSTD_{malloc,calloc,free} to ZSTD_custom{Malloc,Calloc,Free}
2020-08-26 12:25:08 -07:00
Nick Terrell
80f577baa2
Move standard includes to zstd_deps.h
2020-08-26 12:25:08 -07:00
Yann Collet
f82d9865b9
Merge pull request #2278 from senhuang42/ignore_checksum_advanced_param
...
New advanced decompression param to ignore checksums
2020-08-25 12:08:53 -07:00
Nick Terrell
614e446000
Merge pull request #2271 from terrelln/small-blocks
...
Small block optimizations
2020-08-24 18:54:33 -07:00
senhuang42
a030560d62
Add new DCtx param: validateChecksum and update unit tests
2020-08-24 17:28:00 -04:00
Nick Terrell
1302f8d676
[fix] Always return dstSize_tooSmall when it is the case
2020-08-24 13:38:13 -07:00
senhuang42
44c54a3e31
Addressing comments: more comments, cleanup, remove extra function, checksum logic
2020-08-24 16:14:19 -04:00
senhuang42
ffaa0df76d
Document change in CLI for --no-check during decompression in --help menu
2020-08-24 09:49:12 -04:00
senhuang42
e3f5f9658a
Added CLI tests for --no-check, fixed ignore checksum logic
2020-08-22 16:05:40 -04:00
senhuang42
20eb095882
Added unit test to fuzzer.c, changed definition param name
2020-08-22 13:26:33 -04:00
senhuang42
47685ac856
Move enum into zstd.h, and fix pesky switch() logic
2020-08-21 18:18:53 -04:00
senhuang42
08d3567ba8
Add function prototype
2020-08-21 16:51:43 -04:00
senhuang42
6a8dbdcd1f
Modify decompression loop to gnore checksums if flag is enabled
2020-08-21 16:46:46 -04:00
senhuang42
2f39124342
Rename to ZSTD_d_forceIgnoreChecksum, add to DCtx, add function to set the advanced param
2020-08-21 16:23:39 -04:00
Nick Terrell
612e947c5e
wire up bmi2 support
2020-08-17 16:35:28 -07:00
Nick Terrell
6004c1117f
speed up small blocks
2020-08-16 23:03:38 -07:00
Nick Terrell
f800e72a3c
[lib] Fix assertion when dictionary is prefix
2020-05-12 14:33:59 -07:00
Nick Terrell
4b88bd3ee0
[lib][fuzz] Assert sequences are valid in round trip tests
2020-05-11 20:38:49 -07:00
W. Felix Handte
6028827fee
Rewrite Include Paths to be Relative
...
Addresses #1998 .
2020-05-04 15:20:26 -04:00
W. Felix Handte
5e5f262612
Add (Possibly Empty) Info Strings to All Variadic Error Handling Macro Invocations
2020-05-04 10:58:55 -04:00
Nick Terrell
77a2945c43
Add some comments
2020-04-27 20:04:04 -07:00
Nick Terrell
f33de06c3e
[lib] Fix single-pass mode for empty frames
2020-04-27 20:04:01 -07:00
Nick Terrell
a4ff217baf
[lib] Add ZSTD_d_stableOutBuffer
2020-04-27 18:09:44 -07:00
Carl Woffenden
a93fadfcd9
Further replication removed
...
`CHECK_F` is now in `error_private.h`. Minor tidy.
2020-04-07 11:25:16 +02:00
Carl Woffenden
7af7735fa3
Merge remote-tracking branch 'upstream/dev' into single-file-lib
2020-04-07 11:13:02 +02:00
Carl Woffenden
edd9a07322
Code replicated in compression and decompression moved to shared headers
...
`CHECK_F` macro moved to `error_private.h` (shared between `fse_compress.c` and `fse_decompress.c`). `ZSTD_limitCopy()` moved to `zstd_internal.h` (shared between `zstd_compress.c` and `zstd_decompress.c`). Erroneous build artefact `zstd.h` removed from repo.
2020-04-07 11:02:06 +02:00
Bimba Shrestha
0154866749
moving consts to zstd_internal and reusing them
2020-04-03 14:26:15 -07:00