summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins
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
commit590e85b57561f07d09b51067090d4abc763afca5 (patch)
treec4ee28977a74ccb6ac8c3bc58b0340033c9643a2 /compiler-rt/lib/builtins
parent928a95d0b0ad71de454014c9eca348e82929eb13 (diff)
downloadbcm5719-llvm-590e85b57561f07d09b51067090d4abc763afca5.tar.gz
bcm5719-llvm-590e85b57561f07d09b51067090d4abc763afca5.zip
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. llvm-svn: 273500
Diffstat (limited to 'compiler-rt/lib/builtins')
-rw-r--r--compiler-rt/lib/builtins/arm/adddf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/addsf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_cdcmp.S2
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_cfcmp.S2
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_dcmp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_fcmp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_idivmod.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_ldivmod.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_memcmp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_memcpy.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_memmove.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_memset.S2
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_uidivmod.S3
-rw-r--r--compiler-rt/lib/builtins/arm/aeabi_uldivmod.S3
-rw-r--r--compiler-rt/lib/builtins/arm/bswapdi2.S3
-rw-r--r--compiler-rt/lib/builtins/arm/bswapsi2.S3
-rw-r--r--compiler-rt/lib/builtins/arm/clzdi2.S3
-rw-r--r--compiler-rt/lib/builtins/arm/clzsi2.S3
-rw-r--r--compiler-rt/lib/builtins/arm/comparesf2.S3
-rw-r--r--compiler-rt/lib/builtins/arm/divdf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/divmodsi4.S3
-rw-r--r--compiler-rt/lib/builtins/arm/divsf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/divsi3.S3
-rw-r--r--compiler-rt/lib/builtins/arm/eqdf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/eqsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/extendsfdf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/fixdfsivfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/fixsfsivfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/fixunsdfsivfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/fixunssfsivfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/floatsidfvfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/floatsisfvfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/floatunssidfvfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/floatunssisfvfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/gedf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/gesf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/gtdf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/gtsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/ledf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/lesf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/ltdf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/ltsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/modsi3.S3
-rw-r--r--compiler-rt/lib/builtins/arm/muldf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/mulsf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/nedf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/negdf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/negsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/nesf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/restore_vfp_d8_d15_regs.S2
-rw-r--r--compiler-rt/lib/builtins/arm/save_vfp_d8_d15_regs.S2
-rw-r--r--compiler-rt/lib/builtins/arm/subdf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/subsf3vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/switch16.S2
-rw-r--r--compiler-rt/lib/builtins/arm/switch32.S2
-rw-r--r--compiler-rt/lib/builtins/arm/switch8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/switchu8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_and_4.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_max_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_min_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_nand_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_or_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_sub_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_umax_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_umin_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S3
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_xor_4.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S2
-rw-r--r--compiler-rt/lib/builtins/arm/sync_synchronize.S3
-rw-r--r--compiler-rt/lib/builtins/arm/truncdfsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/udivmodsi4.S3
-rw-r--r--compiler-rt/lib/builtins/arm/udivsi3.S3
-rw-r--r--compiler-rt/lib/builtins/arm/umodsi3.S3
-rw-r--r--compiler-rt/lib/builtins/arm/unorddf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/arm/unordsf2vfp.S3
-rw-r--r--compiler-rt/lib/builtins/assembly.h10
-rw-r--r--compiler-rt/lib/builtins/i386/ashldi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/ashrdi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/divdi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatdidf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatdisf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatdixf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatundidf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatundisf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/floatundixf.S3
-rw-r--r--compiler-rt/lib/builtins/i386/lshrdi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/moddi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/muldi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/udivdi3.S3
-rw-r--r--compiler-rt/lib/builtins/i386/umoddi3.S3
-rw-r--r--compiler-rt/lib/builtins/ppc/restFP.S3
-rw-r--r--compiler-rt/lib/builtins/ppc/saveFP.S3
-rw-r--r--compiler-rt/lib/builtins/x86_64/floatundidf.S3
-rw-r--r--compiler-rt/lib/builtins/x86_64/floatundisf.S3
-rw-r--r--compiler-rt/lib/builtins/x86_64/floatundixf.S3
104 files changed, 296 insertions, 0 deletions
diff --git a/compiler-rt/lib/builtins/arm/adddf3vfp.S b/compiler-rt/lib/builtins/arm/adddf3vfp.S
index 2825ae92cd5..f4c00a03e05 100644
--- a/compiler-rt/lib/builtins/arm/adddf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/adddf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__adddf3vfp)
vmov r0, r1, d6 // move result back to r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__adddf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/addsf3vfp.S b/compiler-rt/lib/builtins/arm/addsf3vfp.S
index bff5a7e0fbe..af40c1cc92a 100644
--- a/compiler-rt/lib/builtins/arm/addsf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/addsf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__addsf3vfp)
vmov r0, s14 // move result back to r0
bx lr
END_COMPILERRT_FUNCTION(__addsf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S b/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
index 036a6f542f7..8008f5fca26 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
@@ -94,3 +94,5 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cdrcmple)
b __aeabi_cdcmple
END_COMPILERRT_FUNCTION(__aeabi_cdrcmple)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S b/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
index 43594e5c393..274baf7aecf 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
@@ -89,3 +89,5 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_cfrcmple)
b __aeabi_cfcmple
END_COMPILERRT_FUNCTION(__aeabi_cfrcmple)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_dcmp.S b/compiler-rt/lib/builtins/arm/aeabi_dcmp.S
index 310c35b7493..43e439268d9 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_dcmp.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_dcmp.S
@@ -38,3 +38,6 @@ DEFINE_AEABI_DCMP(lt)
DEFINE_AEABI_DCMP(le)
DEFINE_AEABI_DCMP(ge)
DEFINE_AEABI_DCMP(gt)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_fcmp.S b/compiler-rt/lib/builtins/arm/aeabi_fcmp.S
index 55f49a2b5af..0a1d92a60b6 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_fcmp.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_fcmp.S
@@ -38,3 +38,6 @@ DEFINE_AEABI_FCMP(lt)
DEFINE_AEABI_FCMP(le)
DEFINE_AEABI_FCMP(ge)
DEFINE_AEABI_FCMP(gt)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_idivmod.S b/compiler-rt/lib/builtins/arm/aeabi_idivmod.S
index 384add38279..2fcad862f73 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_idivmod.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_idivmod.S
@@ -26,3 +26,6 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_idivmod)
add sp, sp, #4
pop { pc }
END_COMPILERRT_FUNCTION(__aeabi_idivmod)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S b/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
index ad06f1de2af..9f161f3007f 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
@@ -29,3 +29,6 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_ldivmod)
add sp, sp, #16
pop {r11, pc}
END_COMPILERRT_FUNCTION(__aeabi_ldivmod)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_memcmp.S b/compiler-rt/lib/builtins/arm/aeabi_memcmp.S
index 051ce435bab..8f49d06891f 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_memcmp.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_memcmp.S
@@ -18,3 +18,6 @@ END_COMPILERRT_FUNCTION(__aeabi_memcmp)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp4, __aeabi_memcmp)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp8, __aeabi_memcmp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_memcpy.S b/compiler-rt/lib/builtins/arm/aeabi_memcpy.S
index cf02332490a..bc848636426 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_memcpy.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_memcpy.S
@@ -18,3 +18,6 @@ END_COMPILERRT_FUNCTION(__aeabi_memcpy)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcpy4, __aeabi_memcpy)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcpy8, __aeabi_memcpy)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_memmove.S b/compiler-rt/lib/builtins/arm/aeabi_memmove.S
index 4dda06f75d0..1bf08c0d5b7 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_memmove.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_memmove.S
@@ -18,3 +18,6 @@ END_COMPILERRT_FUNCTION(__aeabi_memmove)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove4, __aeabi_memmove)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove8, __aeabi_memmove)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_memset.S b/compiler-rt/lib/builtins/arm/aeabi_memset.S
index c8b49c7809a..c1d655a559d 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_memset.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_memset.S
@@ -32,3 +32,5 @@ END_COMPILERRT_FUNCTION(__aeabi_memclr)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr4, __aeabi_memclr)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr8, __aeabi_memclr)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S b/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
index 8ea474d91c6..e1e12d97aa0 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_uidivmod)
add sp, sp, #4
pop { pc }
END_COMPILERRT_FUNCTION(__aeabi_uidivmod)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S b/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
index 4e1f8e2a673..e8aaef282e9 100644
--- a/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
+++ b/compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
@@ -29,3 +29,6 @@ DEFINE_COMPILERRT_FUNCTION(__aeabi_uldivmod)
add sp, sp, #16
pop {r11, pc}
END_COMPILERRT_FUNCTION(__aeabi_uldivmod)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/bswapdi2.S b/compiler-rt/lib/builtins/arm/bswapdi2.S
index 86f3bba8c29..fb226cea249 100644
--- a/compiler-rt/lib/builtins/arm/bswapdi2.S
+++ b/compiler-rt/lib/builtins/arm/bswapdi2.S
@@ -45,3 +45,6 @@ DEFINE_COMPILERRT_FUNCTION(__bswapdi2)
mov r1, r2 // r1 = r2 = rev(r0)
JMP(lr)
END_COMPILERRT_FUNCTION(__bswapdi2)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/bswapsi2.S b/compiler-rt/lib/builtins/arm/bswapsi2.S
index 59ba8158fd5..553c3c2e39c 100644
--- a/compiler-rt/lib/builtins/arm/bswapsi2.S
+++ b/compiler-rt/lib/builtins/arm/bswapsi2.S
@@ -37,3 +37,6 @@ DEFINE_COMPILERRT_FUNCTION(__bswapsi2)
#endif
JMP(lr)
END_COMPILERRT_FUNCTION(__bswapsi2)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/clzdi2.S b/compiler-rt/lib/builtins/arm/clzdi2.S
index a55abac0469..6068c176fd1 100644
--- a/compiler-rt/lib/builtins/arm/clzdi2.S
+++ b/compiler-rt/lib/builtins/arm/clzdi2.S
@@ -95,3 +95,6 @@ DEFINE_COMPILERRT_FUNCTION(__clzdi2)
JMP(lr)
#endif // __ARM_FEATURE_CLZ
END_COMPILERRT_FUNCTION(__clzdi2)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/clzsi2.S b/compiler-rt/lib/builtins/arm/clzsi2.S
index 1cd379bfb0a..c2ba3a8cfcd 100644
--- a/compiler-rt/lib/builtins/arm/clzsi2.S
+++ b/compiler-rt/lib/builtins/arm/clzsi2.S
@@ -74,3 +74,6 @@ DEFINE_COMPILERRT_FUNCTION(__clzsi2)
JMP(lr)
#endif // __ARM_FEATURE_CLZ
END_COMPILERRT_FUNCTION(__clzsi2)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/comparesf2.S b/compiler-rt/lib/builtins/arm/comparesf2.S
index cf71d36e051..52597b673f9 100644
--- a/compiler-rt/lib/builtins/arm/comparesf2.S
+++ b/compiler-rt/lib/builtins/arm/comparesf2.S
@@ -146,3 +146,6 @@ DEFINE_COMPILERRT_FUNCTION(__unordsf2)
END_COMPILERRT_FUNCTION(__unordsf2)
DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_fcmpun, __unordsf2)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/divdf3vfp.S b/compiler-rt/lib/builtins/arm/divdf3vfp.S
index 6eebef167a2..928f53809f1 100644
--- a/compiler-rt/lib/builtins/arm/divdf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/divdf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__divdf3vfp)
vmov r0, r1, d5 // move result back to r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__divdf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/divmodsi4.S b/compiler-rt/lib/builtins/arm/divmodsi4.S
index 646b9ab78fb..999c310ec8a 100644
--- a/compiler-rt/lib/builtins/arm/divmodsi4.S
+++ b/compiler-rt/lib/builtins/arm/divmodsi4.S
@@ -72,3 +72,6 @@ LOCAL_LABEL(divzero):
CLEAR_FRAME_AND_RETURN
#endif
END_COMPILERRT_FUNCTION(__divmodsi4)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/divsf3vfp.S b/compiler-rt/lib/builtins/arm/divsf3vfp.S
index fdbaebc8837..a2e297f7015 100644
--- a/compiler-rt/lib/builtins/arm/divsf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/divsf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__divsf3vfp)
vmov r0, s13 // move result back to r0
bx lr
END_COMPILERRT_FUNCTION(__divsf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/divsi3.S b/compiler-rt/lib/builtins/arm/divsi3.S
index adf8f94fc7b..7e23ba4fc23 100644
--- a/compiler-rt/lib/builtins/arm/divsi3.S
+++ b/compiler-rt/lib/builtins/arm/divsi3.S
@@ -63,3 +63,6 @@ ESTABLISH_FRAME
CLEAR_FRAME_AND_RETURN
#endif
END_COMPILERRT_FUNCTION(__divsi3)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/eqdf2vfp.S b/compiler-rt/lib/builtins/arm/eqdf2vfp.S
index 7f2fbc3072d..95e6bb36334 100644
--- a/compiler-rt/lib/builtins/arm/eqdf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/eqdf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__eqdf2vfp)
movne r0, #0
bx lr
END_COMPILERRT_FUNCTION(__eqdf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/eqsf2vfp.S b/compiler-rt/lib/builtins/arm/eqsf2vfp.S
index a318b336ae9..fbac139c193 100644
--- a/compiler-rt/lib/builtins/arm/eqsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/eqsf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__eqsf2vfp)
movne r0, #0
bx lr
END_COMPILERRT_FUNCTION(__eqsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/extendsfdf2vfp.S b/compiler-rt/lib/builtins/arm/extendsfdf2vfp.S
index b998e589459..563bf92afc3 100644
--- a/compiler-rt/lib/builtins/arm/extendsfdf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/extendsfdf2vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__extendsfdf2vfp)
vmov r0, r1, d7 // return result in r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__extendsfdf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/fixdfsivfp.S b/compiler-rt/lib/builtins/arm/fixdfsivfp.S
index e3bd8e05e01..8263ff942f8 100644
--- a/compiler-rt/lib/builtins/arm/fixdfsivfp.S
+++ b/compiler-rt/lib/builtins/arm/fixdfsivfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__fixdfsivfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__fixdfsivfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/fixsfsivfp.S b/compiler-rt/lib/builtins/arm/fixsfsivfp.S
index 3d0d0f56d23..c7c3b811787 100644
--- a/compiler-rt/lib/builtins/arm/fixsfsivfp.S
+++ b/compiler-rt/lib/builtins/arm/fixsfsivfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__fixsfsivfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__fixsfsivfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/fixunsdfsivfp.S b/compiler-rt/lib/builtins/arm/fixunsdfsivfp.S
index 35dda5b9b03..9cc1e628699 100644
--- a/compiler-rt/lib/builtins/arm/fixunsdfsivfp.S
+++ b/compiler-rt/lib/builtins/arm/fixunsdfsivfp.S
@@ -25,3 +25,6 @@ DEFINE_COMPILERRT_FUNCTION(__fixunsdfsivfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__fixunsdfsivfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/fixunssfsivfp.S b/compiler-rt/lib/builtins/arm/fixunssfsivfp.S
index 5c3a7d926fc..79d70822911 100644
--- a/compiler-rt/lib/builtins/arm/fixunssfsivfp.S
+++ b/compiler-rt/lib/builtins/arm/fixunssfsivfp.S
@@ -25,3 +25,6 @@ DEFINE_COMPILERRT_FUNCTION(__fixunssfsivfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__fixunssfsivfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/floatsidfvfp.S b/compiler-rt/lib/builtins/arm/floatsidfvfp.S
index d69184914cc..7623f26c6e6 100644
--- a/compiler-rt/lib/builtins/arm/floatsidfvfp.S
+++ b/compiler-rt/lib/builtins/arm/floatsidfvfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatsidfvfp)
vmov r0, r1, d7 // move d7 to result register pair r0/r1
bx lr
END_COMPILERRT_FUNCTION(__floatsidfvfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/floatsisfvfp.S b/compiler-rt/lib/builtins/arm/floatsisfvfp.S
index 4a0cb39d0eb..c73dfac13eb 100644
--- a/compiler-rt/lib/builtins/arm/floatsisfvfp.S
+++ b/compiler-rt/lib/builtins/arm/floatsisfvfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatsisfvfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__floatsisfvfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/floatunssidfvfp.S b/compiler-rt/lib/builtins/arm/floatunssidfvfp.S
index d92969ea345..2a59fdb830b 100644
--- a/compiler-rt/lib/builtins/arm/floatunssidfvfp.S
+++ b/compiler-rt/lib/builtins/arm/floatunssidfvfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatunssidfvfp)
vmov r0, r1, d7 // move d7 to result register pair r0/r1
bx lr
END_COMPILERRT_FUNCTION(__floatunssidfvfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/floatunssisfvfp.S b/compiler-rt/lib/builtins/arm/floatunssisfvfp.S
index f6aeba56ae1..c096263c1bc 100644
--- a/compiler-rt/lib/builtins/arm/floatunssisfvfp.S
+++ b/compiler-rt/lib/builtins/arm/floatunssisfvfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatunssisfvfp)
vmov r0, s15 // move s15 to result register
bx lr
END_COMPILERRT_FUNCTION(__floatunssisfvfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/gedf2vfp.S b/compiler-rt/lib/builtins/arm/gedf2vfp.S
index 9e235270175..72f13ef4e71 100644
--- a/compiler-rt/lib/builtins/arm/gedf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/gedf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__gedf2vfp)
movlt r0, #0
bx lr
END_COMPILERRT_FUNCTION(__gedf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/gesf2vfp.S b/compiler-rt/lib/builtins/arm/gesf2vfp.S
index 0ff60847788..c9ee52c9c44 100644
--- a/compiler-rt/lib/builtins/arm/gesf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/gesf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__gesf2vfp)
movlt r0, #0
bx lr
END_COMPILERRT_FUNCTION(__gesf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/gtdf2vfp.S b/compiler-rt/lib/builtins/arm/gtdf2vfp.S
index 3dc5d5b5922..c7f277552fa 100644
--- a/compiler-rt/lib/builtins/arm/gtdf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/gtdf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__gtdf2vfp)
movle r0, #0
bx lr
END_COMPILERRT_FUNCTION(__gtdf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/gtsf2vfp.S b/compiler-rt/lib/builtins/arm/gtsf2vfp.S
index ddd843acf59..7d49e4564a8 100644
--- a/compiler-rt/lib/builtins/arm/gtsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/gtsf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__gtsf2vfp)
movle r0, #0
bx lr
END_COMPILERRT_FUNCTION(__gtsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/ledf2vfp.S b/compiler-rt/lib/builtins/arm/ledf2vfp.S
index b06ff6db5a3..ca5b553f115 100644
--- a/compiler-rt/lib/builtins/arm/ledf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/ledf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__ledf2vfp)
movhi r0, #0
bx lr
END_COMPILERRT_FUNCTION(__ledf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/lesf2vfp.S b/compiler-rt/lib/builtins/arm/lesf2vfp.S
index 9b33c0c5369..f25422ece8f 100644
--- a/compiler-rt/lib/builtins/arm/lesf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/lesf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__lesf2vfp)
movhi r0, #0
bx lr
END_COMPILERRT_FUNCTION(__lesf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/ltdf2vfp.S b/compiler-rt/lib/builtins/arm/ltdf2vfp.S
index 9f794b026a4..6e2c0997c01 100644
--- a/compiler-rt/lib/builtins/arm/ltdf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/ltdf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__ltdf2vfp)
movpl r0, #0
bx lr
END_COMPILERRT_FUNCTION(__ltdf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/ltsf2vfp.S b/compiler-rt/lib/builtins/arm/ltsf2vfp.S
index ba190d9d8dc..95febb60672 100644
--- a/compiler-rt/lib/builtins/arm/ltsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/ltsf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__ltsf2vfp)
movpl r0, #0
bx lr
END_COMPILERRT_FUNCTION(__ltsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/modsi3.S b/compiler-rt/lib/builtins/arm/modsi3.S
index 295a227d862..1d302edc67b 100644
--- a/compiler-rt/lib/builtins/arm/modsi3.S
+++ b/compiler-rt/lib/builtins/arm/modsi3.S
@@ -61,3 +61,6 @@ LOCAL_LABEL(divzero):
CLEAR_FRAME_AND_RETURN
#endif
END_COMPILERRT_FUNCTION(__modsi3)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/muldf3vfp.S b/compiler-rt/lib/builtins/arm/muldf3vfp.S
index 636cc711ac1..f638de1ad28 100644
--- a/compiler-rt/lib/builtins/arm/muldf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/muldf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__muldf3vfp)
vmov r0, r1, d6 // move result back to r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__muldf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/mulsf3vfp.S b/compiler-rt/lib/builtins/arm/mulsf3vfp.S
index 7f4008266bf..bef58d3a0c8 100644
--- a/compiler-rt/lib/builtins/arm/mulsf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/mulsf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__mulsf3vfp)
vmov r0, s13 // move result back to r0
bx lr
END_COMPILERRT_FUNCTION(__mulsf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/nedf2vfp.S b/compiler-rt/lib/builtins/arm/nedf2vfp.S
index 7ab2f5501ce..78cf529d665 100644
--- a/compiler-rt/lib/builtins/arm/nedf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/nedf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__nedf2vfp)
moveq r0, #0
bx lr
END_COMPILERRT_FUNCTION(__nedf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/negdf2vfp.S b/compiler-rt/lib/builtins/arm/negdf2vfp.S
index 56d73c67617..01c8ba6a120 100644
--- a/compiler-rt/lib/builtins/arm/negdf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/negdf2vfp.S
@@ -21,3 +21,6 @@ DEFINE_COMPILERRT_FUNCTION(__negdf2vfp)
eor r1, r1, #-2147483648 // flip sign bit on double in r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__negdf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/negsf2vfp.S b/compiler-rt/lib/builtins/arm/negsf2vfp.S
index a6e32e1ff89..797abb32ead 100644
--- a/compiler-rt/lib/builtins/arm/negsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/negsf2vfp.S
@@ -21,3 +21,6 @@ DEFINE_COMPILERRT_FUNCTION(__negsf2vfp)
eor r0, r0, #-2147483648 // flip sign bit on float in r0
bx lr
END_COMPILERRT_FUNCTION(__negsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/nesf2vfp.S b/compiler-rt/lib/builtins/arm/nesf2vfp.S
index 9fe8ecdefb3..554d3e46751 100644
--- a/compiler-rt/lib/builtins/arm/nesf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/nesf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__nesf2vfp)
moveq r0, #0
bx lr
END_COMPILERRT_FUNCTION(__nesf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/restore_vfp_d8_d15_regs.S b/compiler-rt/lib/builtins/arm/restore_vfp_d8_d15_regs.S
index 0f6ea513616..0692cf3e1b7 100644
--- a/compiler-rt/lib/builtins/arm/restore_vfp_d8_d15_regs.S
+++ b/compiler-rt/lib/builtins/arm/restore_vfp_d8_d15_regs.S
@@ -31,3 +31,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__restore_vfp_d8_d15_regs)
bx lr // return to prolog
END_COMPILERRT_FUNCTION(__restore_vfp_d8_d15_regs)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/save_vfp_d8_d15_regs.S b/compiler-rt/lib/builtins/arm/save_vfp_d8_d15_regs.S
index f1d90e75808..544dd5467a4 100644
--- a/compiler-rt/lib/builtins/arm/save_vfp_d8_d15_regs.S
+++ b/compiler-rt/lib/builtins/arm/save_vfp_d8_d15_regs.S
@@ -31,3 +31,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__save_vfp_d8_d15_regs)
bx lr // return to prolog
END_COMPILERRT_FUNCTION(__save_vfp_d8_d15_regs)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/subdf3vfp.S b/compiler-rt/lib/builtins/arm/subdf3vfp.S
index 5f3c0f70dbc..1fc7d18c3d3 100644
--- a/compiler-rt/lib/builtins/arm/subdf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/subdf3vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__subdf3vfp)
vmov r0, r1, d6 // move result back to r0/r1 pair
bx lr
END_COMPILERRT_FUNCTION(__subdf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/subsf3vfp.S b/compiler-rt/lib/builtins/arm/subsf3vfp.S
index d6e06df5192..11fe386cd0d 100644
--- a/compiler-rt/lib/builtins/arm/subsf3vfp.S
+++ b/compiler-rt/lib/builtins/arm/subsf3vfp.S
@@ -25,3 +25,6 @@ DEFINE_COMPILERRT_FUNCTION(__subsf3vfp)
vmov r0, s14 // move result back to r0
bx lr
END_COMPILERRT_FUNCTION(__subsf3vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/switch16.S b/compiler-rt/lib/builtins/arm/switch16.S
index 3c3a6b10612..df9e38e176c 100644
--- a/compiler-rt/lib/builtins/arm/switch16.S
+++ b/compiler-rt/lib/builtins/arm/switch16.S
@@ -42,3 +42,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__switch16)
bx ip // jump to computed label
END_COMPILERRT_FUNCTION(__switch16)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/switch32.S b/compiler-rt/lib/builtins/arm/switch32.S
index b38cd2b764a..d97b5361436 100644
--- a/compiler-rt/lib/builtins/arm/switch32.S
+++ b/compiler-rt/lib/builtins/arm/switch32.S
@@ -42,3 +42,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__switch32)
bx ip // jump to computed label
END_COMPILERRT_FUNCTION(__switch32)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/switch8.S b/compiler-rt/lib/builtins/arm/switch8.S
index d7c20423def..4d9e0eaff84 100644
--- a/compiler-rt/lib/builtins/arm/switch8.S
+++ b/compiler-rt/lib/builtins/arm/switch8.S
@@ -40,3 +40,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__switch8)
bx ip // jump to computed label
END_COMPILERRT_FUNCTION(__switch8)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/switchu8.S b/compiler-rt/lib/builtins/arm/switchu8.S
index 1844f11c604..4ffe35f0549 100644
--- a/compiler-rt/lib/builtins/arm/switchu8.S
+++ b/compiler-rt/lib/builtins/arm/switchu8.S
@@ -40,3 +40,5 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION(__switchu8)
bx ip // jump to computed label
END_COMPILERRT_FUNCTION(__switchu8)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S
index 54c33e2d26b..7877d6c46c1 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_add_4.S
@@ -19,3 +19,5 @@
SYNC_OP_4(add_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S
index 5724bb148ba..1df07a342a1 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_add_8.S
@@ -22,3 +22,5 @@
SYNC_OP_8(add_8)
#endif
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_and_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_and_4.S
index e2b77a1a87d..720ff02279c 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_and_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_and_4.S
@@ -17,3 +17,6 @@
#define and_4(rD, rN, rM) and rD, rN, rM
SYNC_OP_4(and_4)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S
index a74163a8600..4f7b5ca7ab2 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_and_8.S
@@ -21,3 +21,6 @@
SYNC_OP_8(and_8)
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_max_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_max_4.S
index 01e4f444c2f..43da9c7d406 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_max_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_max_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(max_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S
index 1eef2b22366..898fc6202ac 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_max_8.S
@@ -19,3 +19,6 @@
SYNC_OP_8(max_8)
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_min_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_min_4.S
index 015626b63da..bba31a03aac 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_min_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_min_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(min_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S
index ad5cce07544..e7ccf9fb60e 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_min_8.S
@@ -19,3 +19,6 @@
SYNC_OP_8(min_8)
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_4.S
index b32a314b397..c13dd394588 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(nand_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S
index a2c17c09c08..e8107ab3a33 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_nand_8.S
@@ -22,3 +22,5 @@
SYNC_OP_8(nand_8)
#endif
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_or_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_or_4.S
index f2e08576aaa..6726571a944 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_or_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_or_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(or_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S
index 87b940bf620..f7f162c7c3b 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_or_8.S
@@ -22,3 +22,5 @@
SYNC_OP_8(or_8)
#endif
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_4.S
index 460b2bc1ed6..b9326b14cdd 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_4.S
@@ -19,3 +19,5 @@
SYNC_OP_4(sub_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S
index a8035a27685..6ce743e5ee9 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_sub_8.S
@@ -22,3 +22,5 @@
SYNC_OP_8(sub_8)
#endif
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_4.S
index c5915303193..b8d19ff3505 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(umax_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S
index d9b7965e52b..34442fd7745 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_umax_8.S
@@ -19,3 +19,6 @@
SYNC_OP_8(umax_8)
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_4.S
index 9f3896fca80..0998e3e10f5 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(umin_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S
index 7bf5e235653..558f9139051 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_umin_8.S
@@ -19,3 +19,6 @@
SYNC_OP_8(umin_8)
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_4.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_4.S
index 7e7c90c9627..824f4914688 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_4.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_4.S
@@ -18,3 +18,5 @@
SYNC_OP_4(xor_4)
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S b/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S
index ea9aa6d4b0e..073fb9c20f2 100644
--- a/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S
+++ b/compiler-rt/lib/builtins/arm/sync_fetch_and_xor_8.S
@@ -22,3 +22,5 @@
SYNC_OP_8(xor_8)
#endif
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/sync_synchronize.S b/compiler-rt/lib/builtins/arm/sync_synchronize.S
index 178f24534c7..61d1db910f0 100644
--- a/compiler-rt/lib/builtins/arm/sync_synchronize.S
+++ b/compiler-rt/lib/builtins/arm/sync_synchronize.S
@@ -33,3 +33,6 @@ END_COMPILERRT_FUNCTION(__sync_synchronize)
.subsections_via_symbols
#endif
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/truncdfsf2vfp.S b/compiler-rt/lib/builtins/arm/truncdfsf2vfp.S
index fa4362c45e7..04287ad27ce 100644
--- a/compiler-rt/lib/builtins/arm/truncdfsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/truncdfsf2vfp.S
@@ -24,3 +24,6 @@ DEFINE_COMPILERRT_FUNCTION(__truncdfsf2vfp)
vmov r0, s15 // return result in r0
bx lr
END_COMPILERRT_FUNCTION(__truncdfsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/udivmodsi4.S b/compiler-rt/lib/builtins/arm/udivmodsi4.S
index 85b84936c4b..1ad8ee34bde 100644
--- a/compiler-rt/lib/builtins/arm/udivmodsi4.S
+++ b/compiler-rt/lib/builtins/arm/udivmodsi4.S
@@ -182,3 +182,6 @@ LOCAL_LABEL(divby0):
#endif
END_COMPILERRT_FUNCTION(__udivmodsi4)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/udivsi3.S b/compiler-rt/lib/builtins/arm/udivsi3.S
index 165b2b58acb..085f8fb9e2d 100644
--- a/compiler-rt/lib/builtins/arm/udivsi3.S
+++ b/compiler-rt/lib/builtins/arm/udivsi3.S
@@ -168,3 +168,6 @@ LOCAL_LABEL(divby0):
#endif
END_COMPILERRT_FUNCTION(__udivsi3)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/umodsi3.S b/compiler-rt/lib/builtins/arm/umodsi3.S
index 9e7a148ce46..672487e81a6 100644
--- a/compiler-rt/lib/builtins/arm/umodsi3.S
+++ b/compiler-rt/lib/builtins/arm/umodsi3.S
@@ -159,3 +159,6 @@ LOCAL_LABEL(divby0):
#endif
END_COMPILERRT_FUNCTION(__umodsi3)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/unorddf2vfp.S b/compiler-rt/lib/builtins/arm/unorddf2vfp.S
index c4bea2d5eeb..022dd7a978a 100644
--- a/compiler-rt/lib/builtins/arm/unorddf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/unorddf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__unorddf2vfp)
movvc r0, #0
bx lr
END_COMPILERRT_FUNCTION(__unorddf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/arm/unordsf2vfp.S b/compiler-rt/lib/builtins/arm/unordsf2vfp.S
index 886e9656810..5ebdd3df550 100644
--- a/compiler-rt/lib/builtins/arm/unordsf2vfp.S
+++ b/compiler-rt/lib/builtins/arm/unordsf2vfp.S
@@ -27,3 +27,6 @@ DEFINE_COMPILERRT_FUNCTION(__unordsf2vfp)
movvc r0, #0
bx lr
END_COMPILERRT_FUNCTION(__unordsf2vfp)
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/assembly.h b/compiler-rt/lib/builtins/assembly.h
index c28970534cc..5fc74f68f60 100644
--- a/compiler-rt/lib/builtins/assembly.h
+++ b/compiler-rt/lib/builtins/assembly.h
@@ -30,6 +30,8 @@
#define SYMBOL_IS_FUNC(name)
#define CONST_SECTION .const
+#define NO_EXEC_STACK_DIRECTIVE
+
#elif defined(__ELF__)
#define HIDDEN(name) .hidden name
@@ -42,6 +44,12 @@
#endif
#define CONST_SECTION .section .rodata
+#if defined(__GNU__) || defined(__ANDROID__) || defined(__FreeBSD__)
+#define NO_EXEC_STACK_DIRECTIVE .section .note.GNU-stack,"",%progbits
+#else
+#define NO_EXEC_STACK_DIRECTIVE
+#endif
+
#else // !__APPLE__ && !__ELF__
#define HIDDEN(name)
@@ -54,6 +62,8 @@
.endef
#define CONST_SECTION .section .rdata,"rd"
+#define NO_EXEC_STACK_DIRECTIVE
+
#endif
#if defined(__arm__)
diff --git a/compiler-rt/lib/builtins/i386/ashldi3.S b/compiler-rt/lib/builtins/i386/ashldi3.S
index 3fbd7390384..6f05dcf7444 100644
--- a/compiler-rt/lib/builtins/i386/ashldi3.S
+++ b/compiler-rt/lib/builtins/i386/ashldi3.S
@@ -56,3 +56,6 @@ END_COMPILERRT_FUNCTION(__ashldi3)
#endif // __SSE2__
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/ashrdi3.S b/compiler-rt/lib/builtins/i386/ashrdi3.S
index 8f4742481b4..206369f360a 100644
--- a/compiler-rt/lib/builtins/i386/ashrdi3.S
+++ b/compiler-rt/lib/builtins/i386/ashrdi3.S
@@ -67,3 +67,6 @@ END_COMPILERRT_FUNCTION(__ashrdi3)
#endif // __SSE2__
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/divdi3.S b/compiler-rt/lib/builtins/i386/divdi3.S
index 2cb0ddd4c29..2fb4bdcad90 100644
--- a/compiler-rt/lib/builtins/i386/divdi3.S
+++ b/compiler-rt/lib/builtins/i386/divdi3.S
@@ -160,3 +160,6 @@ DEFINE_COMPILERRT_FUNCTION(__divdi3)
END_COMPILERRT_FUNCTION(__divdi3)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatdidf.S b/compiler-rt/lib/builtins/i386/floatdidf.S
index dcc32f8ed85..d75dfe62d6a 100644
--- a/compiler-rt/lib/builtins/i386/floatdidf.S
+++ b/compiler-rt/lib/builtins/i386/floatdidf.S
@@ -37,3 +37,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatdidf)
END_COMPILERRT_FUNCTION(__floatdidf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatdisf.S b/compiler-rt/lib/builtins/i386/floatdisf.S
index f6427670360..0874eaaa9a9 100644
--- a/compiler-rt/lib/builtins/i386/floatdisf.S
+++ b/compiler-rt/lib/builtins/i386/floatdisf.S
@@ -30,3 +30,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatdisf)
END_COMPILERRT_FUNCTION(__floatdisf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatdixf.S b/compiler-rt/lib/builtins/i386/floatdixf.S
index 839b0434c0c..1044ef55a1a 100644
--- a/compiler-rt/lib/builtins/i386/floatdixf.S
+++ b/compiler-rt/lib/builtins/i386/floatdixf.S
@@ -28,3 +28,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatdixf)
END_COMPILERRT_FUNCTION(__floatdixf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatundidf.S b/compiler-rt/lib/builtins/i386/floatundidf.S
index 8058c2ac0ae..fe032348e82 100644
--- a/compiler-rt/lib/builtins/i386/floatundidf.S
+++ b/compiler-rt/lib/builtins/i386/floatundidf.S
@@ -50,3 +50,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatundidf)
END_COMPILERRT_FUNCTION(__floatundidf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatundisf.S b/compiler-rt/lib/builtins/i386/floatundisf.S
index 94c97e25aa8..16000b57602 100644
--- a/compiler-rt/lib/builtins/i386/floatundisf.S
+++ b/compiler-rt/lib/builtins/i386/floatundisf.S
@@ -103,3 +103,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatundisf)
END_COMPILERRT_FUNCTION(__floatundisf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/floatundixf.S b/compiler-rt/lib/builtins/i386/floatundixf.S
index 814b52f941d..c935670cb52 100644
--- a/compiler-rt/lib/builtins/i386/floatundixf.S
+++ b/compiler-rt/lib/builtins/i386/floatundixf.S
@@ -41,3 +41,6 @@ DEFINE_COMPILERRT_FUNCTION(__floatundixf)
END_COMPILERRT_FUNCTION(__floatundixf)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/lshrdi3.S b/compiler-rt/lib/builtins/i386/lshrdi3.S
index b80f11a3806..53e95cf7652 100644
--- a/compiler-rt/lib/builtins/i386/lshrdi3.S
+++ b/compiler-rt/lib/builtins/i386/lshrdi3.S
@@ -57,3 +57,6 @@ END_COMPILERRT_FUNCTION(__lshrdi3)
#endif // __SSE2__
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/moddi3.S b/compiler-rt/lib/builtins/i386/moddi3.S
index b9cee9d7aa7..a5bf9ce8ea0 100644
--- a/compiler-rt/lib/builtins/i386/moddi3.S
+++ b/compiler-rt/lib/builtins/i386/moddi3.S
@@ -164,3 +164,6 @@ DEFINE_COMPILERRT_FUNCTION(__moddi3)
END_COMPILERRT_FUNCTION(__moddi3)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/muldi3.S b/compiler-rt/lib/builtins/i386/muldi3.S
index 15b6b499845..12394606421 100644
--- a/compiler-rt/lib/builtins/i386/muldi3.S
+++ b/compiler-rt/lib/builtins/i386/muldi3.S
@@ -28,3 +28,6 @@ DEFINE_COMPILERRT_FUNCTION(__muldi3)
END_COMPILERRT_FUNCTION(__muldi3)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/udivdi3.S b/compiler-rt/lib/builtins/i386/udivdi3.S
index 41b2edf03e3..727613639b1 100644
--- a/compiler-rt/lib/builtins/i386/udivdi3.S
+++ b/compiler-rt/lib/builtins/i386/udivdi3.S
@@ -113,3 +113,6 @@ DEFINE_COMPILERRT_FUNCTION(__udivdi3)
END_COMPILERRT_FUNCTION(__udivdi3)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/i386/umoddi3.S b/compiler-rt/lib/builtins/i386/umoddi3.S
index a190a7d397d..763e821946c 100644
--- a/compiler-rt/lib/builtins/i386/umoddi3.S
+++ b/compiler-rt/lib/builtins/i386/umoddi3.S
@@ -124,3 +124,6 @@ DEFINE_COMPILERRT_FUNCTION(__umoddi3)
END_COMPILERRT_FUNCTION(__umoddi3)
#endif // __i386__
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/ppc/restFP.S b/compiler-rt/lib/builtins/ppc/restFP.S
index 95032897c0d..507e756e18b 100644
--- a/compiler-rt/lib/builtins/ppc/restFP.S
+++ b/compiler-rt/lib/builtins/ppc/restFP.S
@@ -41,3 +41,6 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED(restFP)
lwz r0,8(r1)
mtlr r0
blr
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/ppc/saveFP.S b/compiler-rt/lib/builtins/ppc/saveFP.S
index 72bd459f4cc..20b06fff53d 100644
--- a/compiler-rt/lib/builtins/ppc/saveFP.S
+++ b/compiler-rt/lib/builtins/ppc/saveFP.S
@@ -38,3 +38,6 @@ DEFINE_COMPILERRT_PRIVATE_FUNCTION_UNMANGLED(saveFP)
stfd f31,-8(r1)
stw r0,8(r1)
blr
+
+NO_EXEC_STACK_DIRECTIVE
+
diff --git a/compiler-rt/lib/builtins/x86_64/floatundidf.S b/compiler-rt/lib/builtins/x86_64/floatundidf.S
index 3cd5d02a743..094a68dc3cd 100644
--- a/compiler-rt/lib/builtins/x86_64/floatundidf.S
+++ b/compiler-rt/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/compiler-rt/lib/builtins/x86_64/floatundisf.S b/compiler-rt/lib/builtins/x86_64/floatundisf.S
index 61952f40470..7c9f75e188e 100644
--- a/compiler-rt/lib/builtins/x86_64/floatundisf.S
+++ b/compiler-rt/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/compiler-rt/lib/builtins/x86_64/floatundixf.S b/compiler-rt/lib/builtins/x86_64/floatundixf.S
index 92961c89115..28a096b7137 100644
--- a/compiler-rt/lib/builtins/x86_64/floatundixf.S
+++ b/compiler-rt/lib/builtins/x86_64/floatundixf.S
@@ -66,3 +66,6 @@ END_COMPILERRT_FUNCTION(__floatundixf)
#endif // __x86_64__
*/
+
+NO_EXEC_STACK_DIRECTIVE
+
OpenPOWER on IntegriCloud