thirdparty: upgrade zstd to 1.5.8 (#24597)

This commit is contained in:
kbkpbot 2025-05-29 14:03:47 +08:00 committed by GitHub
parent 52c7130a2f
commit af8ecdaa26
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 6096 additions and 4697 deletions

28
thirdparty/zstd/fix.md vendored Normal file
View file

@ -0,0 +1,28 @@
1. replace all `abs64` with `zstd_abs64`.
2. add following at header of the file:
#if defined(__TINYC__)
#if defined(_WIN32)
#undef ZSTD_MULTITHREAD
#define ZSTD_NO_INTRINSICS
#endif
#if defined(__arm__) || defined(__aarch64__)
#define NO_PREFETCH
#endif
#endif
3. replace `qsort_r` with `qsort`, as there is no way detect __MUSL__ macro. add following at header of the file:
#ifndef ZDICT_QSORT
# if defined(__APPLE__)
# define ZDICT_QSORT ZDICT_QSORT_APPLE /* uses qsort_r() with a different order for parameters */
# elif defined(__GLIBC__)
# define ZDICT_QSORT ZDICT_QSORT_GNU /* uses qsort_r() */
# elif defined(_WIN32) && defined(_MSC_VER)
# define ZDICT_QSORT ZDICT_QSORT_MSVC /* uses qsort_s() with a different order for parameters */
# elif defined(STDC_LIB_EXT1) && (STDC_LIB_EXT1 > 0) /* C11 Annex K */
# define ZDICT_QSORT ZDICT_QSORT_C11 /* uses qsort_s() */
# else
# define ZDICT_QSORT ZDICT_QSORT_C90 /* uses standard qsort() which is not re-entrant (requires global variable) */
# endif
#endif

7631
thirdparty/zstd/zstd.c vendored

File diff suppressed because it is too large Load diff

3090
thirdparty/zstd/zstd.h vendored

File diff suppressed because it is too large Load diff