aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/zstd
Commit message (Collapse)AuthorAgeFilesLines
* zstd: Add a stub <assert.h> for the kernelMinsoo Choo2025-01-091-0/+2
| | | | | | | | | The stub header includes <sys/kassert.h>. zstd's xx_hash.h #includes <assert.h> for the definition of static_assert() when building with C11 or newer. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D43239
* sys/contrib: Mop up $FreeBSD$ tagsWarner Losh2024-05-312-4/+0
| | | | | | | Mop up left-over $FreeBSD$ tags that aren't in upstream and were added for the previous $FreeBSD$ checker. Sponsored by: Netflix
* MFV: zstd 1.5.2Allan Jude2023-01-27145-5477/+17328
| | | | | | | | | | | | Merge commit 'b3392d84da5bf2162baf937c77e0557f3fd8a52b' into zstd_1.5.2 full changelog: https://github.com/facebook/zstd/compare/v1.4.8...v1.5.2 Updated sys/kern/subr_compressor.c to new API MFC after: 3 days Relnotes: yes Sponsored by: Klara, Inc.
* sys/*/conf/*, docs: fix links to handbookCeri Davies2021-05-201-1/+1
| | | | | | | | | | | | While here, fix all links to older en_US.ISO8859-1 documentation in the src/ tree. PR: 255026 Reported by: Michael Büker <freebsd@michael-bueker.de> Reviewed by: dbaio Approved by: blackend (mentor), re (gjb) MFC after: 10 days Differential Revision: https://reviews.freebsd.org/D30265
* libprivatezstd: Restrict symbol visibility similar to upstreamConrad Meyer2021-01-032-0/+6
| | | | | We have to relax three symbols to dynamically link zstd(1), but the rest are the same.
* zstd: Fix non-FreeBSD CI libzstd buildConrad Meyer2021-01-031-3/+4
| | | | | | | | | | | | | Fix non-FreeBSD CI build after v1.4.8. This definition was only used in zstd(1), which isn't part of non-FreeBSD CI (I guess). The ifdef was added in v1.4.5 import. Upstream does not currently support shared-linked zstd(1), but I have proposed https://github.com/facebook/zstd/pull/2450 . If that is adopted, we can add -DZSTD_PROGRAMS_LINK_SHARED to our libzstd build and drop some diffs. Reported by: uqs
* sys/contrib/zstd: Import zstd 1.4.8Conrad Meyer2020-12-2589-3081/+6820
| | | | | | | | | | | | Merge commit 'f6ae97673c28bdb9ae795bd235ab6f26f2536a2d' into main Changes from 1.4.5: * https://github.com/facebook/zstd/releases/tag/v1.4.8 * https://github.com/facebook/zstd/releases/tag/v1.4.7 (and there was no public v1.4.6) Conflicts: sys/contrib/zstd/lib/common/zstd_internal.h (new ZSTD_NO_INTRINSICS)
* Unbreak ARM64 kernel build after r361426Conrad Meyer2020-05-231-3/+3
| | | | | | | X-MFC-With: r361426 Notes: svn path=/head/; revision=361427
* Update to Zstandard 1.4.5Conrad Meyer2020-05-23292-37340/+5670
| | | | | | | | | | | | | | | | | | | | | | | As usual, the full release notes are found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.5 Notable changes include: * Improved decompress performance on amd64 and arm (5-10% and 15-50%, respectively). * '--patch-from' zstd(1) CLI option, which provides something like a very fast version of bspatch(1) with slightly worse compression. See release notes. In this update, I dropped the 3-year old -O0 workaround for an LLVM ARM bug; the bug was fixed in LLVM SVN in 2017, but we didn't remove this workaround from our tree until now. MFC after: I won't, but feel free Relnotes: yes Notes: svn path=/head/; revision=361426
* contrib/zstd: Revise Xlist for 1.4.5 importConrad Meyer2020-05-231-3/+3
| | | | Notes: svn path=/head/; revision=361425
* Update to Zstandard 1.4.4Conrad Meyer2019-11-16117-2337/+4374
| | | | | | | | | | | | | | | The full release notes can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.4 Notable changes in this release include improved decompression speed (about 10%). See the Github release notes for more details. MFC after: I'm not going to, but feel free Relnotes: yes Notes: svn path=/head/; revision=354777
* zstd: Add an Xlist and document use during importConrad Meyer2019-11-062-0/+26
| | | | | | | No functional change. Notes: svn path=/head/; revision=354373
* Stopgap fix for gcc platforms.Warner Losh2019-08-081-1/+1
| | | | | | | | | Our in-tree gcc doesn't have a no-tree-vectorize optimization knob, so we get a warning that it's unused. This causes the build to fail on all our gcc platforms. Add a quick version check as a stop-gap measure to get CI building again. Notes: svn path=/head/; revision=350778
* Update to Zstandard 1.4.2Conrad Meyer2019-08-0872-2095/+3319
| | | | | | | | | | | | | | | The full release notes for 1.4.1 (skipped) and 1.4.2 can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.1 https://github.com/facebook/zstd/releases/tag/v1.4.2 These are mostly minor updates; 1.4.1 purportedly brings something like 7% faster decompression speed. Relnotes: yes Notes: svn path=/head/; revision=350760
* Update to Zstandard 1.4.0Conrad Meyer2019-04-19143-3042/+11746
| | | | | | | | | | | The full release notes can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.4.0 Relnotes: yes Notes: svn path=/head/; revision=346364
* Update to Zstandard 1.3.8Conrad Meyer2018-12-29109-6581/+11296
| | | | | | | | | | | | | | | | | | | | | | This merge brings in a couple new files, which needed to be attached to the build; a new dependency on <limits.h>, which must be stubbed; and a name change in the Context parameter constants, from ZSTD_p_foo to ZSTD_c_foo. Significantly, it fixes a kernel build error with GCC where floating-point functions were included in the kernel build, by hiding them under the same compile-time #ifdef that already covered their invocation. That issue was introduced to FreeBSD in the 1.3.7 update and tracked upstream here: https://github.com/facebook/zstd/issues/1386 The full 1.3.8 release notes can be found on Github: https://github.com/facebook/zstd/releases/tag/v1.3.8 Relnotes: yes Notes: svn path=/head/; revision=342598
* Revert accidentally included changes in r342108Conrad Meyer2018-12-152-14/+0
| | | | | | | | | If you're curious, please follow along in https://reviews.freebsd.org/D18537 . Sorry for the noise. Notes: svn path=/head/; revision=342109
* efirt: When present, attempt to use EFI runtime services to shutdownConrad Meyer2018-12-152-0/+14
| | | | | | | | | | PR: maybe related to 233998 (inconclusive at this time) Submitted by: byuu <byuu AT tutanota.com> (previous version) Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D18506 Notes: svn path=/head/; revision=342108
* Update to Zstandard 1.3.7Conrad Meyer2018-10-22120-4899/+12567
| | | | | | | | Relnotes: yes Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=339606
* malloc: try to use builtins for zeroing at the callsiteMateusz Guzik2018-06-021-0/+1
| | | | | | | | | | | | | Plenty of allocation sites pass M_ZERO and sizes which are small and known at compilation time. Handling them internally in malloc loses this information and results in avoidable calls to memset. Instead, let the compiler take the advantage of it whenever possible. Discussed with: jeff Notes: svn path=/head/; revision=334545
* Update to Zstandard 1.3.4Conrad Meyer2018-03-2682-4470/+7418
| | | | | | | | | | | | | | | Includes our local patch to conditionalize use of __builtin_clz(ll) on Clang's __has_builtin() (which is just defined to false when building with GCC). The issue is tracked upstream at https://github.com/facebook/zstd/pull/884 . Otherwise, these are vanilla Zstandard 1.3.4 files. Reported by: allanjude, Yann Collet Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=331602
* lib(private)zstd: Fix riscv buildConrad Meyer2018-03-181-0/+5
| | | | | | | | | | | | | Link __bswap[ds]i2() intrinsics in to libzstd for riscv, where the C runtime apparently lacks such intrinsics. Broken in r330894. Reported by: asomers Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=331115
* Update to Zstandard 1.3.3Conrad Meyer2018-03-1464-2770/+3036
| | | | | | | | | | | | | Includes patch to conditionalize use of __builtin_clz(ll) on __has_builtin(). The issue is tracked upstream at https://github.com/facebook/zstd/pull/884 . Otherwise, these are vanilla Zstandard 1.3.3 files. Note that the 1.3.4 release should be due out soon. Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=330894
* MFV: zstd: FIO_addFInfo: Fully initialize output 'total' structConrad Meyer2018-03-051-0/+1
| | | | | | | | | | | | | | Silence a Coverity warning about 'windowSize' being uninitialized. (Yes, nothing that calls this routine actually uses the windowSize value. Still, appeasing Coverity is pretty harmless in this case.) Reported by: Coverity Reviewed by: Yann Collet Obtained from: zstd 606374269cf3485972c90b993fbb84dc20da032f Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=330521
* Move zstd malloc()/free()/calloc() macros to stdlib.h.Mark Johnston2018-02-132-11/+44
| | | | | | | | | | | | The definitions otherwise leak into anything that includes zstd.h, which is not desirable for native FreeBSD code. Reviewed by: allanjude, cem, imp MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D14352 Notes: svn path=/head/; revision=329238
* zstd: Use mallocarray(9) for calloc macro.Pedro F. Giffuni2018-01-131-1/+1
| | | | | | | | | | | This is in contrib code but since we only have mallocarray(9) in current we will not upstream this. This effectively brings back r327934, which was reverted to correct the log message. Notes: svn path=/head/; revision=327940
* Revert r327934 to fix the log message.Pedro F. Giffuni2018-01-131-1/+1
| | | | Notes: svn path=/head/; revision=327937
* zstd: Use memalloc(9) for calloc macro.Pedro F. Giffuni2018-01-131-1/+1
| | | | | | | | This is in contrib code but since we only have memalloc(9) in current we will not upstream this. Notes: svn path=/head/; revision=327934
* Zstd: Add bswap intrinsics for small MIPS systems (e.g., Onion Omega)Conrad Meyer2018-01-111-0/+14
| | | | | | | | Reported by: mizhka Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=327807
* Finally, fix Zstd kernel build on MIPS and RISC-VConrad Meyer2018-01-101-0/+75
| | | | | | | | | | | | | | | | | | Add an implementation of the intrinsics invoked by __builtin_ctz{,ll} and __builtin_clz{,ll}, and include this compilation unit on platforms that lack assembly intrinsics for those builtins (MIPS and RISC-V). Future cleanup work might involve bringing these into a mini libcompiler-rt for the standalone kernel environment. Or cleaning up the approach upstream takes for builtins in standalone environments (or just FreeBSD). For now, at least this builds, and doesn't require modifying the vendor code. Reported by: jeff, markj, mizhka Reviewed by: jhb (earlier version), rpokala (comment text earlier version) Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=327763
* Integrate zstd into the kernelConrad Meyer2018-01-087-0/+104
| | | | | | | | | | | | | Mock userspace headers and include mocked headers first in compilation command to inject kernel headers and override e.g., malloc(3) with malloc(9). Submitted by: allanjude Reviewed by: imp (earlier version), bapt (earlier version) Differential Revision: https://reviews.freebsd.org/D10407 Notes: svn path=/head/; revision=327706
* Revert local changes made to make zstd(1) frontend behave like gzip(1) and ↵Baptiste Daroussin2017-12-062-3/+3
| | | | | | | | | | | | | | | | | friends This change was made to allow zstd(1) to be a dropin replacement for gzip(1) and friends, allowing easy integration, in particular with newsyslog(8). At the price of having a zstd(1) command which by default behaves differently than what upstream default, confusing users. newsyslog(8) has been adapted to now be more flexible in what it accepts as compression program, so we can switch back zstd(1) to its default behaviour Reported by: many Notes: svn path=/head/; revision=326618
* Use __has_builtin() to ensure clz and clzll builtins are availableAllan Jude2017-12-043-4/+4
| | | | | | | | | | The existing check of the GCC version number is not sufficient This fixes the build on sparc64 in preparation for integrating ZSTD into the kernel for ZFS and Crash Dumps. Notes: svn path=/head/; revision=326506
* Actually commit the right patch for r325929Baptiste Daroussin2017-11-171-1/+1
| | | | Notes: svn path=/head/; revision=325930
* Do not remove the sources when zstd is called as zstdcatBaptiste Daroussin2017-11-171-1/+1
| | | | Notes: svn path=/head/; revision=325929
* Move zstd from contrib to sys/contrib so it can be used in theWarner Losh2017-11-14243-0/+93071
kernel. Adjust the Makefiles that referenced it to the new path. Sponsored by: Netflix OK'd by: cem@ and AllanJude@ Notes: svn path=/head/; revision=325792