浏览代码

Add stack markings for GNU to fmod assembly files (#307)

This adds stack markings to the missing fmod .S files, otherwise the
final libopenlibm object file gets marked with an executable stack.

Output when compiling from source on Gentoo Linux:

```
 * QA Notice: The following files contain writable and executable sections
 *  Files with such sections will not work properly (or at all!) on some
 *  architectures/operating systems.  A bug should be filed at
 *  https://bugs.gentoo.org/ to make sure the issue is fixed.
 *  For more information, see:
 *
 *    https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
 *
 *  Please include the following list of files in your report:
 *  Note: Bugs should be filed for the respective maintainers
 *  of the package in question and not hardened@gentoo.org.
 * RWX --- --- usr/lib64/libopenlibm.so.4.0
```
Jakov Smolić 1 年之前
父节点
当前提交
e2482c959e
共有 3 个文件被更改,包括 15 次插入0 次删除
  1. 5 0
      amd64/e_fmod.S
  2. 5 0
      amd64/e_fmodf.S
  3. 5 0
      amd64/e_fmodl.S

+ 5 - 0
amd64/e_fmod.S

@@ -49,3 +49,8 @@ ENTRY(fmod)
 	fstp	%st
 	ret
 END(fmod)
+
+/* Enable stack protection */
+#if defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 5 - 0
amd64/e_fmodf.S

@@ -19,3 +19,8 @@ ENTRY(fmodf)
 	fstp	%st
 	ret
 END(fmodf)
+
+/* Enable stack protection */
+#if defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 5 - 0
amd64/e_fmodl.S

@@ -45,3 +45,8 @@ ENTRY(fmodl)
 	fstp	%st(1)
 	ret
 END(fmodl)
+
+/* Enable stack protection */
+#if defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif