deps: update zlib to 1.2.13.1-motley-61dc0bd
PR-URL: https://github.com/nodejs/node/pull/48788 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
This commit is contained in:
parent
4a2e9bacab
commit
01c8576a24
63
deps/zlib/BUILD.gn
vendored
63
deps/zlib/BUILD.gn
vendored
@ -124,45 +124,40 @@ source_set("zlib_adler32_simd") {
|
||||
|
||||
if (use_arm_neon_optimizations) {
|
||||
config("zlib_arm_crc32_config") {
|
||||
# Disabled for iPhone, as described in DDI0487C_a_armv8_arm:
|
||||
# "All implementations of the ARMv8.1 architecture are required to
|
||||
# implement the CRC32* instructions. These are optional in ARMv8.0."
|
||||
if (!is_ios) {
|
||||
defines = [ "CRC32_ARMV8_CRC32" ]
|
||||
if (is_android) {
|
||||
defines += [ "ARMV8_OS_ANDROID" ]
|
||||
} else if (is_linux || is_chromeos) {
|
||||
defines += [ "ARMV8_OS_LINUX" ]
|
||||
} else if (is_mac) {
|
||||
defines += [ "ARMV8_OS_MACOS" ]
|
||||
} else if (is_fuchsia) {
|
||||
defines += [ "ARMV8_OS_FUCHSIA" ]
|
||||
} else if (is_win) {
|
||||
defines += [ "ARMV8_OS_WINDOWS" ]
|
||||
} else {
|
||||
assert(false, "Unsupported ARM OS")
|
||||
}
|
||||
defines = [ "CRC32_ARMV8_CRC32" ]
|
||||
if (is_android) {
|
||||
defines += [ "ARMV8_OS_ANDROID" ]
|
||||
} else if (is_linux || is_chromeos) {
|
||||
defines += [ "ARMV8_OS_LINUX" ]
|
||||
} else if (is_mac) {
|
||||
defines += [ "ARMV8_OS_MACOS" ]
|
||||
} else if (is_ios) {
|
||||
defines += [ "ARMV8_OS_IOS" ]
|
||||
} else if (is_fuchsia) {
|
||||
defines += [ "ARMV8_OS_FUCHSIA" ]
|
||||
} else if (is_win) {
|
||||
defines += [ "ARMV8_OS_WINDOWS" ]
|
||||
} else {
|
||||
assert(false, "Unsupported ARM OS")
|
||||
}
|
||||
}
|
||||
|
||||
source_set("zlib_arm_crc32") {
|
||||
visibility = [ ":*" ]
|
||||
|
||||
if (!is_ios) {
|
||||
include_dirs = [ "." ]
|
||||
include_dirs = [ "." ]
|
||||
|
||||
if (!is_win && !is_clang) {
|
||||
assert(!use_thin_lto,
|
||||
"ThinLTO fails mixing different module-level targets")
|
||||
cflags_c = [ "-march=armv8-a+aes+crc" ]
|
||||
}
|
||||
|
||||
sources = [
|
||||
"crc32_simd.c",
|
||||
"crc32_simd.h",
|
||||
]
|
||||
if (!is_win && !is_clang) {
|
||||
assert(!use_thin_lto,
|
||||
"ThinLTO fails mixing different module-level targets")
|
||||
cflags_c = [ "-march=armv8-a+aes+crc" ]
|
||||
}
|
||||
|
||||
sources = [
|
||||
"crc32_simd.c",
|
||||
"crc32_simd.h",
|
||||
]
|
||||
|
||||
configs += [ ":zlib_internal_config" ]
|
||||
|
||||
public_configs = [ ":zlib_arm_crc32_config" ]
|
||||
@ -332,14 +327,6 @@ component("zlib") {
|
||||
defines += [ "CPU_NO_SIMD" ]
|
||||
}
|
||||
|
||||
if (is_ios) {
|
||||
# iOS@ARM is a special case where we always have NEON but don't check
|
||||
# for crypto extensions.
|
||||
# TODO(cavalcantii): verify what is the current state of CPU features
|
||||
# shipped on latest iOS devices.
|
||||
defines += [ "ARM_OS_IOS" ]
|
||||
}
|
||||
|
||||
if (use_x86_x64_optimizations || use_arm_neon_optimizations) {
|
||||
deps += [
|
||||
":zlib_adler32_simd",
|
||||
|
1
deps/zlib/README.chromium
vendored
1
deps/zlib/README.chromium
vendored
@ -4,6 +4,7 @@ URL: http://zlib.net/
|
||||
Version: 1.2.13
|
||||
CPEPrefix: cpe:/a:zlib:zlib:1.2.13
|
||||
Security Critical: yes
|
||||
Shipped: yes
|
||||
License: Custom license
|
||||
License File: LICENSE
|
||||
License Android Compatible: yes
|
||||
|
59
deps/zlib/contrib/bench/zlib_bench.cc
vendored
59
deps/zlib/contrib/bench/zlib_bench.cc
vendored
@ -236,7 +236,11 @@ void check_file(const Data& file, zlib_wrapper type, int mode) {
|
||||
error_exit("check file: error writing output", 3);
|
||||
}
|
||||
|
||||
void zlib_file(const char* name, zlib_wrapper type, int width, int check) {
|
||||
void zlib_file(const char* name,
|
||||
zlib_wrapper type,
|
||||
int width,
|
||||
int check,
|
||||
bool output_csv_format) {
|
||||
/*
|
||||
* Read the file data.
|
||||
*/
|
||||
@ -257,7 +261,9 @@ void zlib_file(const char* name, zlib_wrapper type, int width, int check) {
|
||||
* Report compression strategy and file name.
|
||||
*/
|
||||
const char* strategy = zlib_level_strategy_name(zlib_compression_level);
|
||||
printf("%s%-40s :\n", strategy, name);
|
||||
if (!output_csv_format) {
|
||||
printf("%s%-40s :\n", strategy, name);
|
||||
}
|
||||
|
||||
/*
|
||||
* Chop the data into blocks.
|
||||
@ -329,19 +335,28 @@ void zlib_file(const char* name, zlib_wrapper type, int width, int check) {
|
||||
std::sort(ctime, ctime + runs);
|
||||
std::sort(utime, utime + runs);
|
||||
|
||||
double deflate_rate_med = length * repeats / mega_byte / ctime[runs / 2];
|
||||
double inflate_rate_med = length * repeats / mega_byte / utime[runs / 2];
|
||||
double deflate_rate_max = length * repeats / mega_byte / ctime[0];
|
||||
double inflate_rate_max = length * repeats / mega_byte / utime[0];
|
||||
double deflate_rate_med, inflate_rate_med, deflate_rate_max, inflate_rate_max;
|
||||
deflate_rate_med = length * repeats / mega_byte / ctime[runs / 2];
|
||||
inflate_rate_med = length * repeats / mega_byte / utime[runs / 2];
|
||||
deflate_rate_max = length * repeats / mega_byte / ctime[0];
|
||||
inflate_rate_max = length * repeats / mega_byte / utime[0];
|
||||
double compress_ratio = output_length * 100.0 / length;
|
||||
|
||||
// type, block size, compression ratio, etc
|
||||
printf("%s: [b %dM] bytes %*d -> %*u %4.2f%%",
|
||||
zlib_wrapper_name(type), block_size / (1 << 20), width, length, width,
|
||||
unsigned(output_length), output_length * 100.0 / length);
|
||||
if (!output_csv_format) {
|
||||
// type, block size, compression ratio, etc
|
||||
printf("%s: [b %dM] bytes %*d -> %*u %4.2f%%", zlib_wrapper_name(type),
|
||||
block_size / (1 << 20), width, length, width,
|
||||
unsigned(output_length), compress_ratio);
|
||||
|
||||
// compress / uncompress median (max) rates
|
||||
printf(" comp %5.1f (%5.1f) MB/s uncomp %5.1f (%5.1f) MB/s\n",
|
||||
deflate_rate_med, deflate_rate_max, inflate_rate_med, inflate_rate_max);
|
||||
// compress / uncompress median (max) rates
|
||||
printf(" comp %5.1f (%5.1f) MB/s uncomp %5.1f (%5.1f) MB/s\n",
|
||||
deflate_rate_med, deflate_rate_max, inflate_rate_med,
|
||||
inflate_rate_max);
|
||||
} else {
|
||||
printf("%s\t%.5lf\t%.5lf\t%.5lf\t%.5lf\t%.5lf\n", name, deflate_rate_med,
|
||||
inflate_rate_med, deflate_rate_max, inflate_rate_max,
|
||||
compress_ratio);
|
||||
}
|
||||
}
|
||||
|
||||
static int argn = 1;
|
||||
@ -363,8 +378,10 @@ void get_field_width(int argc, char* argv[], int& value) {
|
||||
}
|
||||
|
||||
void usage_exit(const char* program) {
|
||||
static auto* options = "gzip|zlib|raw"
|
||||
" [--compression 0:9] [--huffman|--rle] [--field width] [--check]";
|
||||
static auto* options =
|
||||
"gzip|zlib|raw"
|
||||
" [--compression 0:9] [--huffman|--rle] [--field width] [--check]"
|
||||
" [--csv]";
|
||||
printf("usage: %s %s files ...\n", program, options);
|
||||
printf("zlib version: %s\n", ZLIB_VERSION);
|
||||
exit(1);
|
||||
@ -383,7 +400,7 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
int size_field_width = 0;
|
||||
int file_check = 0;
|
||||
|
||||
bool output_csv = false;
|
||||
while (argn < argc && argv[argn][0] == '-') {
|
||||
if (get_option(argc, argv, "--compression")) {
|
||||
if (!get_compression(argc, argv, zlib_compression_level))
|
||||
@ -398,6 +415,11 @@ int main(int argc, char* argv[]) {
|
||||
file_check = 2;
|
||||
} else if (get_option(argc, argv, "--field")) {
|
||||
get_field_width(argc, argv, size_field_width);
|
||||
} else if (get_option(argc, argv, "--csv")) {
|
||||
output_csv = true;
|
||||
printf(
|
||||
"filename\tcompression\tdecompression\tcomp_max\t"
|
||||
"decomp_max\tcompress_ratio\n");
|
||||
} else {
|
||||
usage_exit(argv[0]);
|
||||
}
|
||||
@ -408,8 +430,9 @@ int main(int argc, char* argv[]) {
|
||||
|
||||
if (size_field_width < 6)
|
||||
size_field_width = 6;
|
||||
while (argn < argc)
|
||||
zlib_file(argv[argn++], type, size_field_width, file_check);
|
||||
while (argn < argc) {
|
||||
zlib_file(argv[argn++], type, size_field_width, file_check, output_csv);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
1
deps/zlib/contrib/minizip/README.chromium
vendored
1
deps/zlib/contrib/minizip/README.chromium
vendored
@ -4,6 +4,7 @@ URL: https://github.com/madler/zlib/tree/master/contrib/minizip
|
||||
Version: 1.2.12
|
||||
License: Zlib
|
||||
Security Critical: yes
|
||||
Shipped: yes
|
||||
|
||||
Description:
|
||||
Minizip provides API on top of zlib that can enumerate and extract ZIP archive
|
||||
|
26
deps/zlib/cpu_features.c
vendored
26
deps/zlib/cpu_features.c
vendored
@ -35,7 +35,7 @@ int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0;
|
||||
|
||||
#ifndef CPU_NO_SIMD
|
||||
|
||||
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA)
|
||||
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_FUCHSIA) || defined(ARMV8_OS_IOS)
|
||||
#include <pthread.h>
|
||||
#endif
|
||||
|
||||
@ -50,17 +50,19 @@ int ZLIB_INTERNAL x86_cpu_enable_avx512 = 0;
|
||||
#include <zircon/types.h>
|
||||
#elif defined(ARMV8_OS_WINDOWS) || defined(X86_WINDOWS)
|
||||
#include <windows.h>
|
||||
#elif defined(ARMV8_OS_IOS)
|
||||
#include <sys/sysctl.h>
|
||||
#elif !defined(_MSC_VER)
|
||||
#include <pthread.h>
|
||||
#else
|
||||
#error cpu_features.c CPU feature detection in not defined for your platform
|
||||
#endif
|
||||
|
||||
#if !defined(CPU_NO_SIMD) && !defined(ARMV8_OS_MACOS) && !defined(ARM_OS_IOS)
|
||||
#if !defined(CPU_NO_SIMD) && !defined(ARMV8_OS_MACOS)
|
||||
static void _cpu_check_features(void);
|
||||
#endif
|
||||
|
||||
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS)
|
||||
#if defined(ARMV8_OS_ANDROID) || defined(ARMV8_OS_LINUX) || defined(ARMV8_OS_MACOS) || defined(ARMV8_OS_FUCHSIA) || defined(X86_NOT_WINDOWS) || defined(ARMV8_OS_IOS)
|
||||
#if !defined(ARMV8_OS_MACOS)
|
||||
// _cpu_check_features() doesn't need to do anything on mac/arm since all
|
||||
// features are known at build time, so don't call it.
|
||||
@ -89,11 +91,7 @@ void ZLIB_INTERNAL cpu_check_features(void)
|
||||
#endif
|
||||
|
||||
#if (defined(__ARM_NEON__) || defined(__ARM_NEON))
|
||||
/*
|
||||
* iOS@ARM is a special case where we always have NEON but don't check
|
||||
* for crypto extensions.
|
||||
*/
|
||||
#if !defined(ARMV8_OS_MACOS) && !defined(ARM_OS_IOS)
|
||||
#if !defined(ARMV8_OS_MACOS)
|
||||
/*
|
||||
* See http://bit.ly/2CcoEsr for run-time detection of ARM features and also
|
||||
* crbug.com/931275 for android_getCpuFeatures() use in the Android sandbox.
|
||||
@ -127,6 +125,18 @@ static void _cpu_check_features(void)
|
||||
#elif defined(ARMV8_OS_WINDOWS)
|
||||
arm_cpu_enable_crc32 = IsProcessorFeaturePresent(PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE);
|
||||
arm_cpu_enable_pmull = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
|
||||
#elif defined(ARMV8_OS_IOS)
|
||||
// Determine what features are supported dynamically. This code is applicable to macOS
|
||||
// as well if we wish to do that dynamically on that platform in the future.
|
||||
// See https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
|
||||
int val = 0;
|
||||
size_t len = sizeof(val);
|
||||
arm_cpu_enable_crc32 = sysctlbyname("hw.optional.armv8_crc32", &val, &len, 0, 0) == 0
|
||||
&& val != 0;
|
||||
val = 0;
|
||||
len = sizeof(val);
|
||||
arm_cpu_enable_pmull = sysctlbyname("hw.optional.arm.FEAT_PMULL", &val, &len, 0, 0) == 0
|
||||
&& val != 0;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
106
deps/zlib/google/zip_internal.cc
vendored
106
deps/zlib/google/zip_internal.cc
vendored
@ -8,12 +8,12 @@
|
||||
#include <string.h>
|
||||
|
||||
#include <algorithm>
|
||||
#include <unordered_set>
|
||||
|
||||
#include "base/containers/fixed_flat_set.h"
|
||||
#include "base/files/file_path.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/no_destructor.h"
|
||||
#include "base/notreached.h"
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/strings/string_util.h"
|
||||
#include "base/strings/utf_string_conversions.h"
|
||||
|
||||
@ -407,59 +407,59 @@ Compression GetCompressionMethod(const base::FilePath& path) {
|
||||
|
||||
// Well known filename extensions of files that a likely to be already
|
||||
// compressed. The extensions are in lower case without the leading dot.
|
||||
static const base::NoDestructor<std::unordered_set<StringPiece>> exts(
|
||||
std::initializer_list<StringPiece>{
|
||||
FILE_PATH_LITERAL("3g2"), //
|
||||
FILE_PATH_LITERAL("3gp"), //
|
||||
FILE_PATH_LITERAL("7z"), //
|
||||
FILE_PATH_LITERAL("7zip"), //
|
||||
FILE_PATH_LITERAL("aac"), //
|
||||
FILE_PATH_LITERAL("avi"), //
|
||||
FILE_PATH_LITERAL("bz"), //
|
||||
FILE_PATH_LITERAL("bz2"), //
|
||||
FILE_PATH_LITERAL("crx"), //
|
||||
FILE_PATH_LITERAL("gif"), //
|
||||
FILE_PATH_LITERAL("gz"), //
|
||||
FILE_PATH_LITERAL("jar"), //
|
||||
FILE_PATH_LITERAL("jpeg"), //
|
||||
FILE_PATH_LITERAL("jpg"), //
|
||||
FILE_PATH_LITERAL("lz"), //
|
||||
FILE_PATH_LITERAL("m2v"), //
|
||||
FILE_PATH_LITERAL("m4p"), //
|
||||
FILE_PATH_LITERAL("m4v"), //
|
||||
FILE_PATH_LITERAL("mng"), //
|
||||
FILE_PATH_LITERAL("mov"), //
|
||||
FILE_PATH_LITERAL("mp2"), //
|
||||
FILE_PATH_LITERAL("mp3"), //
|
||||
FILE_PATH_LITERAL("mp4"), //
|
||||
FILE_PATH_LITERAL("mpe"), //
|
||||
FILE_PATH_LITERAL("mpeg"), //
|
||||
FILE_PATH_LITERAL("mpg"), //
|
||||
FILE_PATH_LITERAL("mpv"), //
|
||||
FILE_PATH_LITERAL("ogg"), //
|
||||
FILE_PATH_LITERAL("ogv"), //
|
||||
FILE_PATH_LITERAL("png"), //
|
||||
FILE_PATH_LITERAL("qt"), //
|
||||
FILE_PATH_LITERAL("rar"), //
|
||||
FILE_PATH_LITERAL("taz"), //
|
||||
FILE_PATH_LITERAL("tb2"), //
|
||||
FILE_PATH_LITERAL("tbz"), //
|
||||
FILE_PATH_LITERAL("tbz2"), //
|
||||
FILE_PATH_LITERAL("tgz"), //
|
||||
FILE_PATH_LITERAL("tlz"), //
|
||||
FILE_PATH_LITERAL("tz"), //
|
||||
FILE_PATH_LITERAL("tz2"), //
|
||||
FILE_PATH_LITERAL("vob"), //
|
||||
FILE_PATH_LITERAL("webm"), //
|
||||
FILE_PATH_LITERAL("wma"), //
|
||||
FILE_PATH_LITERAL("wmv"), //
|
||||
FILE_PATH_LITERAL("xz"), //
|
||||
FILE_PATH_LITERAL("z"), //
|
||||
FILE_PATH_LITERAL("zip"), //
|
||||
});
|
||||
static constexpr auto kExts = base::MakeFixedFlatSet<StringPiece>({
|
||||
FILE_PATH_LITERAL("3g2"), //
|
||||
FILE_PATH_LITERAL("3gp"), //
|
||||
FILE_PATH_LITERAL("7z"), //
|
||||
FILE_PATH_LITERAL("7zip"), //
|
||||
FILE_PATH_LITERAL("aac"), //
|
||||
FILE_PATH_LITERAL("avi"), //
|
||||
FILE_PATH_LITERAL("bz"), //
|
||||
FILE_PATH_LITERAL("bz2"), //
|
||||
FILE_PATH_LITERAL("crx"), //
|
||||
FILE_PATH_LITERAL("gif"), //
|
||||
FILE_PATH_LITERAL("gz"), //
|
||||
FILE_PATH_LITERAL("jar"), //
|
||||
FILE_PATH_LITERAL("jpeg"), //
|
||||
FILE_PATH_LITERAL("jpg"), //
|
||||
FILE_PATH_LITERAL("lz"), //
|
||||
FILE_PATH_LITERAL("m2v"), //
|
||||
FILE_PATH_LITERAL("m4p"), //
|
||||
FILE_PATH_LITERAL("m4v"), //
|
||||
FILE_PATH_LITERAL("mng"), //
|
||||
FILE_PATH_LITERAL("mov"), //
|
||||
FILE_PATH_LITERAL("mp2"), //
|
||||
FILE_PATH_LITERAL("mp3"), //
|
||||
FILE_PATH_LITERAL("mp4"), //
|
||||
FILE_PATH_LITERAL("mpe"), //
|
||||
FILE_PATH_LITERAL("mpeg"), //
|
||||
FILE_PATH_LITERAL("mpg"), //
|
||||
FILE_PATH_LITERAL("mpv"), //
|
||||
FILE_PATH_LITERAL("ogg"), //
|
||||
FILE_PATH_LITERAL("ogv"), //
|
||||
FILE_PATH_LITERAL("png"), //
|
||||
FILE_PATH_LITERAL("qt"), //
|
||||
FILE_PATH_LITERAL("rar"), //
|
||||
FILE_PATH_LITERAL("taz"), //
|
||||
FILE_PATH_LITERAL("tb2"), //
|
||||
FILE_PATH_LITERAL("tbz"), //
|
||||
FILE_PATH_LITERAL("tbz2"), //
|
||||
FILE_PATH_LITERAL("tgz"), //
|
||||
FILE_PATH_LITERAL("tlz"), //
|
||||
FILE_PATH_LITERAL("tz"), //
|
||||
FILE_PATH_LITERAL("tz2"), //
|
||||
FILE_PATH_LITERAL("vob"), //
|
||||
FILE_PATH_LITERAL("webm"), //
|
||||
FILE_PATH_LITERAL("wma"), //
|
||||
FILE_PATH_LITERAL("wmv"), //
|
||||
FILE_PATH_LITERAL("xz"), //
|
||||
FILE_PATH_LITERAL("z"), //
|
||||
FILE_PATH_LITERAL("zip"), //
|
||||
});
|
||||
|
||||
if (exts->count(ext_without_dot))
|
||||
if (kExts.count(ext_without_dot)) {
|
||||
return kStored;
|
||||
}
|
||||
|
||||
return kDeflated;
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ This a list of all the dependencies:
|
||||
* [undici 5.22.1][]
|
||||
* [uvwasi 0.0.16][]
|
||||
* [V8 11.3.244.8][]
|
||||
* [zlib 1.2.13.1-motley-f81f385][]
|
||||
* [zlib 1.2.13.1-motley-61dc0bd][]
|
||||
|
||||
Any code which meets one or more of these conditions should
|
||||
be managed as a dependency:
|
||||
@ -311,7 +311,7 @@ See [maintaining-web-assembly][] for more informations.
|
||||
high-performance JavaScript and WebAssembly engine, written in C++.
|
||||
See [maintaining-V8][] for more informations.
|
||||
|
||||
### zlib 1.2.13.1-motley-f81f385
|
||||
### zlib 1.2.13.1-motley-61dc0bd
|
||||
|
||||
The [zlib](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/third_party/zlib)
|
||||
dependency lossless data-compression library,
|
||||
@ -349,4 +349,4 @@ performance improvements not currently available in standard zlib.
|
||||
[update-openssl-action]: ../../../.github/workflows/update-openssl.yml
|
||||
[uvwasi 0.0.16]: #uvwasi-0016
|
||||
[v8 11.3.244.8]: #v8-1132448
|
||||
[zlib 1.2.13.1-motley-f81f385]: #zlib-12131-motley-f81f385
|
||||
[zlib 1.2.13.1-motley-61dc0bd]: #zlib-12131-motley-61dc0bd
|
||||
|
Loading…
x
Reference in New Issue
Block a user