summaryrefslogtreecommitdiff
path: root/lib/builtins/x86_64
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2016-06-22 22:09:42 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2016-06-22 22:09:42 +0000
commit4c71a477ac0bd7b19c72d7625861f1f18c15b278 (patch)
treec2fd3c01e223cdac2b2042c6d323b2e2f59cd695 /lib/builtins/x86_64
parent1b1a91100eca99b8eef8fa9b5ffe471d3cf27af4 (diff)
downloadcompiler-rt-4c71a477ac0bd7b19c72d7625861f1f18c15b278.tar.gz
builtins: tag with noexecstack
These routines do not require executable stacks. However, by default ELFish linkers may assume an executable stack on GNUish environments (and some non-GNU ones too!). The GNU extension to add a note to indicate a non-executable stack is honoured by these environments to mark the stack as non-executable (the compiler normally emits this directive on appropriate targets whenever possible). This allows normal builds from getting executable stacks due to linking to the compiler rt builtins. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@273500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/builtins/x86_64')
-rw-r--r--lib/builtins/x86_64/floatundidf.S3
-rw-r--r--lib/builtins/x86_64/floatundisf.S3
-rw-r--r--lib/builtins/x86_64/floatundixf.S3
3 files changed, 9 insertions, 0 deletions
diff --git a/lib/builtins/x86_64/floatundidf.S b/lib/builtins/x86_64/floatundidf.S
index 3cd5d02a7..094a68dc3 100644
--- a/lib/builtins/x86_64/floatundidf.S
+++ b/lib/builtins/x86_64/floatundidf.S
@@ -47,3 +47,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatundidf)
END_COMPILERRT_FUNCTION(__floatundidf)
#endif // __x86_64__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/lib/builtins/x86_64/floatundisf.S b/lib/builtins/x86_64/floatundisf.S
index 61952f404..7c9f75e18 100644
--- a/lib/builtins/x86_64/floatundisf.S
+++ b/lib/builtins/x86_64/floatundisf.S
@@ -33,3 +33,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatundisf)
END_COMPILERRT_FUNCTION(__floatundisf)
#endif // __x86_64__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/lib/builtins/x86_64/floatundixf.S b/lib/builtins/x86_64/floatundixf.S
index 92961c891..28a096b71 100644
--- a/lib/builtins/x86_64/floatundixf.S
+++ b/lib/builtins/x86_64/floatundixf.S
@@ -66,3 +66,6 @@ END_COMPILERRT_FUNCTION(__floatundixf)
#endif // __x86_64__
*/
+
+NO_EXEC_STACK_DIRECTIVE
+