Date: Tue, 1 Nov 2005 20:25:10 +0100
From: Dirk Mueller
Subject: [PATCH] build SDL with nonexecutable stack
libSDL is by default marked with an executable stack, which it doesn't
actually need. the reason for this is that there are assembler files in the
source tree not properly annotated with the "noexec stack" section. As such
the linker does a safe-fallback and marks the whole lib as "requires
executable stack".
the patch below removes this by adding annotations. As far as I can see it
shouldn't break anything.
--- a/src/hermes/mmx_main.asm Tue Nov 01 04:18:08 2005 +0000
+++ b/src/hermes/mmx_main.asm Tue Nov 01 23:19:59 2005 +0000
@@ -13,6 +13,7 @@
GLOBAL _mmxreturn
+SECTION .note.GNU-stack noalloc progbits noexec nowrite
SECTION .text
;; _ConvertMMX:
--- a/src/hermes/mmxp2_32.asm Tue Nov 01 04:18:08 2005 +0000
+++ b/src/hermes/mmxp2_32.asm Tue Nov 01 23:19:59 2005 +0000
@@ -29,6 +29,7 @@
EXTERN _mmxreturn
+SECTION .note.GNU-stack noalloc progbits noexec nowrite
SECTION .data
ALIGN 8
--- a/src/hermes/x86_main.asm Tue Nov 01 04:18:08 2005 +0000
+++ b/src/hermes/x86_main.asm Tue Nov 01 23:19:59 2005 +0000
@@ -16,7 +16,7 @@
GLOBAL _Hermes_X86_CPU
-
+SECTION .note.GNU-stack noalloc progbits noexec nowrite
SECTION .data
cpu_flags dd 0
--- a/src/hermes/x86p_16.asm Tue Nov 01 04:18:08 2005 +0000
+++ b/src/hermes/x86p_16.asm Tue Nov 01 23:19:59 2005 +0000
@@ -27,7 +27,7 @@
EXTERN _ConvertX86
EXTERN _x86return
-
+SECTION .note.GNU-stack noalloc progbits noexec nowrite
SECTION .text
--- a/src/hermes/x86p_32.asm Tue Nov 01 04:18:08 2005 +0000
+++ b/src/hermes/x86p_32.asm Tue Nov 01 23:19:59 2005 +0000
@@ -24,7 +24,8 @@
GLOBAL _ConvertX86p32_8RGB332
EXTERN _x86return
-
+
+SECTION .note.GNU-stack noalloc progbits noexec nowrite
SECTION .text