From fb97aa11c15fa74f60f1535e91442f1e9a60d153 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 25 Oct 2023 20:03:51 +0000 Subject: automatic import of ghc --- execstack.patch | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 execstack.patch (limited to 'execstack.patch') diff --git a/execstack.patch b/execstack.patch new file mode 100644 index 0000000..f8370a4 --- /dev/null +++ b/execstack.patch @@ -0,0 +1,50 @@ +From 3739e565f8fa09b3a31ba8f563c518480585f6f9 Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Sat, 11 Jun 2022 23:29:24 +0200 +Subject: [PATCH] RTS: Add stack marker to StgCRunAsm.S + +Every object file must be properly marked for non-executable stack, even if it +contains no code. +--- + rts/StgCRunAsm.S | 11 +++++------ + 1 file changed, 5 insertions(+), 6 deletions(-) + +diff --git a/rts/StgCRunAsm.S b/rts/StgCRunAsm.S +index aed3241d12..9216e6c759 100644 +--- a/rts/StgCRunAsm.S ++++ b/rts/StgCRunAsm.S +@@ -66,8 +66,6 @@ StgReturn: + addi 12,1,-(8*18) + bl _restgpr1_14 + b _restfpr_14 +- +- .section .note.GNU-stack,"",@progbits + # else // linux_HOST_OS + # error Only Linux support for power64 little endian right now. + # endif +@@ -231,8 +229,6 @@ StgReturn: + .cfi_endproc + .size StgReturn, .-StgReturn + +- .section .note.GNU-stack,"",@progbits +- + #elif defined(riscv64_HOST_ARCH) + # define STACK_FRAME_SIZE (RESERVED_C_STACK_BYTES+208) + .text +@@ -374,8 +370,11 @@ StgReturn: + ret + .cfi_endproc + .size StgReturn, .-StgReturn +- +- .section .note.GNU-stack,"",@progbits + #endif + + #endif /* !USE_MINIINTERPRETER */ ++ ++/* mark stack as nonexecutable */ ++#if defined(__linux__) && defined(__ELF__) ++.section .note.GNU-stack,"",@progbits ++#endif +-- +2.37.0 + -- cgit v1.2.3