Apparently, even when the assembly file is empty (because
`ZSTD_ENABLE_ASM_X86_64_BMI2` is false), it still is marked as possibly
needing an executable stack and so the whole library is marked as such. This
commit applies a simple patch for this problem by moving the noexecstack
indication outside the macro guard.
This commit builds on #2857.
This commit addresses #2963.
#include "../common/portability_macros.h"
-#if ZSTD_ENABLE_ASM_X86_64_BMI2
-
/* Stack marking
* ref: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
*/
.section .note.GNU-stack,"",%progbits
#endif
+#if ZSTD_ENABLE_ASM_X86_64_BMI2
+
/* Calling convention:
*
* %rdi contains the first argument: HUF_DecompressAsmArgs*.