Commit b16beb0df89e3b9c2c75daf994f0520435e6cd8e

Luke Dashjr 2012-02-21T18:58:19

Bugfix: allow no-exec (NX) stack

diff --git a/x86_32/sha256_xmm.asm b/x86_32/sha256_xmm.asm
index 601cf2b..c2cd35b 100644
--- a/x86_32/sha256_xmm.asm
+++ b/x86_32/sha256_xmm.asm
@@ -250,3 +250,10 @@ LAB_RET:
 	pop	edi
 	pop	esi
 	retn	4
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+%ifidn __OUTPUT_FORMAT__,elf32
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
diff --git a/x86_64/sha256_sse4_amd64.asm b/x86_64/sha256_sse4_amd64.asm
index f988019..8bedc20 100644
--- a/x86_64/sha256_sse4_amd64.asm
+++ b/x86_64/sha256_sse4_amd64.asm
@@ -256,3 +256,10 @@ LAB_LOOP:
 LAB_RET:
 	pop	rbx
 	ret
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+%ifidn __OUTPUT_FORMAT__,elf64
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
diff --git a/x86_64/sha256_xmm_amd64.asm b/x86_64/sha256_xmm_amd64.asm
index 15ee855..e8c9778 100644
--- a/x86_64/sha256_xmm_amd64.asm
+++ b/x86_64/sha256_xmm_amd64.asm
@@ -320,3 +320,10 @@ sha256_sse2_64_new:
 LAB_RET:
     pop       rbx
     ret
+
+%ifidn __OUTPUT_FORMAT__,elf
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif
+%ifidn __OUTPUT_FORMAT__,elf64
+section .note.GNU-stack noalloc noexec nowrite progbits
+%endif