aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2008-01-26 21:40:23 +0200
committerLasse Collin <lasse.collin@tukaani.org>2008-01-26 21:40:23 +0200
commite9f6e9c075ad93141a568d94f7d4eb0f2edbd6c2 (patch)
treea37416d3a220b823b50f1d6740cfcec3d9f1de43
parentAdded api/lzma/easy.h. I had forgot to add this to the (diff)
downloadxz-e9f6e9c075ad93141a568d94f7d4eb0f2edbd6c2.tar.xz
Added note.GNU-stack to x86 assembler files. It is needed
when using non-executable stack.
Diffstat (limited to '')
-rw-r--r--src/liblzma/check/crc32_x86.S9
-rw-r--r--src/liblzma/check/crc64_x86.S9
2 files changed, 18 insertions, 0 deletions
diff --git a/src/liblzma/check/crc32_x86.S b/src/liblzma/check/crc32_x86.S
index f1ae7f76..82cfb944 100644
--- a/src/liblzma/check/crc32_x86.S
+++ b/src/liblzma/check/crc32_x86.S
@@ -215,3 +215,12 @@ lzma_crc32:
ret
.size lzma_crc32, .-lzma_crc32
+
+/*
+ * This is needed to support non-executable stack. It's ugly to
+ * use __linux__ here, but I don't know a way to detect when
+ * we are using GNU assembler.
+ */
+#if defined(__ELF__) && defined(__linux__)
+ .section .note.GNU-stack,"",@progbits
+#endif
diff --git a/src/liblzma/check/crc64_x86.S b/src/liblzma/check/crc64_x86.S
index 7ad3d889..78935e65 100644
--- a/src/liblzma/check/crc64_x86.S
+++ b/src/liblzma/check/crc64_x86.S
@@ -201,3 +201,12 @@ lzma_crc64:
ret
.size lzma_crc64, .-lzma_crc64
+
+/*
+ * This is needed to support non-executable stack. It's ugly to
+ * use __linux__ here, but I don't know a way to detect when
+ * we are using GNU assembler.
+ */
+#if defined(__ELF__) && defined(__linux__)
+ .section .note.GNU-stack,"",@progbits
+#endif