Upgrade zstd to v1.5.6

This project was upgraded with external_updater.
Usage: tools/external_updater/updater.sh update external/zstd
For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md

Test: TreeHugger
Change-Id: Iecc9bd0f3fd8a9af9d3de517f08a2a91fc9c309b
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..0ec604c
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,250 @@
+package {
+    default_applicable_licenses: ["external_zstd_license"],
+}
+
+// Added automatically by a large-scale-change that took the approach of
+// 'apply every license found to every target'. While this makes sure we respect
+// every license restriction, it may not be entirely correct.
+//
+// e.g. GPL in an MIT project might only apply to the contrib/ directory.
+//
+// Please consider splitting the single license below into multiple licenses,
+// taking care not to lose any license_kind information, and overriding the
+// default license using the 'licenses: [...]' property on targets as needed.
+//
+// For unused files, consider creating a 'fileGroup' with "//visibility:private"
+// to attach the license to, and including a comment whether the files may be
+// used in the current project.
+//
+// large-scale-change included anything that looked like it might be a license
+// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
+//
+// Please consider removing redundant or irrelevant files from 'license_text:'.
+// See: http://go/android-license-faq
+license {
+    name: "external_zstd_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-CC0-1.0",
+        "SPDX-license-identifier-GPL",
+        "SPDX-license-identifier-GPL-2.0",
+        "SPDX-license-identifier-GPL-3.0",
+        "SPDX-license-identifier-LGPL",
+        "SPDX-license-identifier-MIT",
+        "SPDX-license-identifier-Zlib",
+        "legacy_unencumbered",
+    ],
+    license_text: [
+        "COPYING",
+        "LICENSE",
+    ],
+}
+
+cc_library {
+    name: "libzstd",
+    min_sdk_version: "apex_inherit",
+    apex_available: [
+        "//apex_available:platform",
+        "com.android.adbd",
+        "com.android.art",
+        "com.android.art.debug",
+        "com.android.runtime",
+    ],
+    visibility: [
+        "//bootable/recovery:__subpackages__",
+        "//device/google/contexthub/util/nanoapp_postprocess:__subpackages__",
+        "//external/bcc/libbpf-tools:__subpackages__",
+        "//external/bpftool:__subpackages__",
+        "//external/dwarves:__subpackages__",
+        "//external/elfutils:__subpackages__",
+        "//external/libbpf:__subpackages__",
+        "//external/squashfs-tools/squashfs-tools:__subpackages__",
+        "//external/stg:__subpackages__",
+        "//frameworks/libs/binary_translation/tools:__subpackages__",
+        "//packages/modules/adb:__subpackages__",
+        "//system/logging/logd:__subpackages__",
+        "//system/update_engine:__subpackages__",
+        "//system/core/fs_mgr/libsnapshot:__subpackages__",
+        "//system/core/init:__subpackages__",
+        "//system/core/fastboot:__subpackages__",
+        "//system/extras/partition_tools:__subpackages__",
+        "//system/unwinding/libunwindstack:__subpackages__",
+    ],
+    product_available: true,
+    recovery_available: true,
+    vendor_available: true,
+    host_supported: true,
+    native_bridge_supported: true,
+    ramdisk_available: true,
+    vendor_ramdisk_available: true,
+    target: {
+        windows: {
+            enabled: true,
+        },
+    },
+    srcs: ["lib/*/*.c"],
+    arch: {
+        x86_64: {
+            cflags: ["-DZSTD_DISABLE_ASM"],
+        },
+    },
+    cflags: ["-Wall", "-Werror"],
+    local_include_dirs: ["lib/common"],
+    export_include_dirs: ["lib"],
+}
+
+cc_defaults {
+    name: "zstd_fuzz_defaults",
+    static_libs: [
+        "libzstd",
+    ],
+    srcs: [
+        "contrib/externalSequenceProducer/sequence_producer.c",
+        "tests/fuzz/fuzz_data_producer.c",
+        "tests/fuzz/fuzz_helpers.c",
+        "tests/fuzz/zstd_helpers.c",
+    ],
+    local_include_dirs: [
+        "contrib/externalSequenceProducer",
+        "lib/common",
+        "lib/compress",
+        "lib/dictBuilder",
+        "tests/fuzz",
+    ],
+    cflags: [
+        "-Wno-error",
+        "-Wno-pointer-arith",
+    ],
+    host_supported: true,
+}
+
+cc_fuzz {
+    name: "zstd_block_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/block_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_block_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/block_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_loader_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_loader.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_dict_stream_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/dictionary_stream_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_raw_dict_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/raw_dictionary_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_compress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_compress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_simple_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/simple_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_stream_decompress_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/stream_decompress.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_stream_round_trip_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/stream_round_trip.c",
+    ],
+}
+
+cc_fuzz {
+    name: "zstd_frame_info_fuzzer",
+    defaults: [
+        "zstd_fuzz_defaults",
+    ],
+    srcs: [
+        "tests/fuzz/zstd_frame_info.c",
+    ],
+}
diff --git a/METADATA b/METADATA
new file mode 100644
index 0000000..b4ca1cf
--- /dev/null
+++ b/METADATA
@@ -0,0 +1,20 @@
+# This project was upgraded with external_updater.
+# Usage: tools/external_updater/updater.sh update external/zstd
+# For more info, check https://cs.android.com/android/platform/superproject/+/main:tools/external_updater/README.md
+
+name: "zstd"
+description: "Zstandard - Fast real-time compression algorithm"
+third_party {
+  license_type: RESTRICTED
+  last_upgrade_date {
+    year: 2024
+    month: 3
+    day: 27
+  }
+  homepage: "https://github.com/facebook/zstd"
+  identifier {
+    type: "Git"
+    value: "https://github.com/facebook/zstd"
+    version: "v1.5.6"
+  }
+}
diff --git a/MODULE_LICENSE_BSD b/MODULE_LICENSE_BSD
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/MODULE_LICENSE_BSD
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..7529cb9
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+include platform/system/core:/janitors/OWNERS