summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/zstd/PKGBUILD15
-rw-r--r--core/zstd/zstd-1.5.1-non-x86_64-noexecstack.patch19
2 files changed, 34 insertions, 0 deletions
diff --git a/core/zstd/PKGBUILD b/core/zstd/PKGBUILD
new file mode 100644
index 00000000..c1f01001
--- /dev/null
+++ b/core/zstd/PKGBUILD
@@ -0,0 +1,15 @@
+# make sure the stack is not executable on IA-32
+source+=('zstd-1.5.1-non-x86_64-noexecstack.patch')
+sha256sums+=('eb641a066c45a96f20782396a033e4eed3c8411b848a1c89b7682df91aba1a58')
+b2sums+=('6cf6fe41026f67d165cb6513f7ab1779e6b8e48bdd545d89beb7942ce12ecb0ebccf802128a02b6bb32994f22841089a67fa83f8f3a6a7e3f9b05bde8930ce5b')
+
+eval "$(
+ {
+ declare -f prepare || \
+ printf 'prepare() {\n}\n'
+ } \
+ | sed '
+ $i cd $pkgname-$pkgver
+ $i patch -p1 -i "$srcdir/zstd-1.5.1-non-x86_64-noexecstack.patch"
+ '
+)"
diff --git a/core/zstd/zstd-1.5.1-non-x86_64-noexecstack.patch b/core/zstd/zstd-1.5.1-non-x86_64-noexecstack.patch
new file mode 100644
index 00000000..ebc270b6
--- /dev/null
+++ b/core/zstd/zstd-1.5.1-non-x86_64-noexecstack.patch
@@ -0,0 +1,19 @@
+diff -rauN zstd-1.5.1/lib/decompress/huf_decompress_amd64.S zstd-1.5.1-non-x86_64-noexecstack-patch/lib/decompress/huf_decompress_amd64.S
+--- zstd-1.5.1/lib/decompress/huf_decompress_amd64.S 2021-12-20 23:49:18.000000000 +0100
++++ zstd-1.5.1-non-x86_64-noexecstack-patch/lib/decompress/huf_decompress_amd64.S 2022-01-13 17:06:54.275942263 +0100
+@@ -1,6 +1,5 @@
+ #include "../common/portability_macros.h"
+
+-#if ZSTD_ENABLE_ASM_X86_64_BMI2
+
+ /* Stack marking
+ * ref: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
+@@ -9,6 +8,8 @@
+ .section .note.GNU-stack,"",%progbits
+ #endif
+
++#if ZSTD_ENABLE_ASM_X86_64_BMI2
++
+ /* Calling convention:
+ *
+ * %rdi contains the first argument: HUF_DecompressAsmArgs*.