Просмотр исходного кода

Avoid executable stack by marking that it's not required. (#4418)

Also refer to: https://github.com/fluent/fluent-bit/issues/10513

Signed-off-by: Jaco Kroon <jaco@uls.co.za>
Jaco Kroon 5 месяцев назад
Родитель
Сommit
272a41dc80

+ 3 - 0
core/iwasm/common/arch/fneh.txt

@@ -0,0 +1,3 @@
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_aarch64.s

@@ -79,3 +79,6 @@ return:
         add     sp, sp, #0x30          /* restore sp */
         add     sp, sp, #0x30          /* restore sp */
         ret
         ret
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_aarch64_simd.s

@@ -77,3 +77,6 @@ return:
         add     sp, sp, #0x30          /* restore sp */
         add     sp, sp, #0x30          /* restore sp */
         ret
         ret
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_arc.s

@@ -67,3 +67,6 @@ call_func:
     j_s     [blink]             /* ret */
     j_s     [blink]             /* ret */
     nop_s
     nop_s
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_arm.s

@@ -73,3 +73,6 @@ return:
         add     sp, sp, #4
         add     sp, sp, #4
         ldmfd   sp!, {r4, r5, r6, r7, lr}
         ldmfd   sp!, {r4, r5, r6, r7, lr}
         bx      lr
         bx      lr
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_arm_vfp.s

@@ -84,3 +84,6 @@ return:
         ldmfd   sp!, {r4, r5, r6, r7, lr}
         ldmfd   sp!, {r4, r5, r6, r7, lr}
         bx      lr
         bx      lr
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_em64.s

@@ -62,3 +62,6 @@ push_args_end:
     leave
     leave
     ret
     ret
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_em64_simd.s

@@ -62,3 +62,6 @@ push_args_end:
     leave
     leave
     ret
     ret
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_ia32.s

@@ -35,3 +35,6 @@ skip_push_args:
     leave
     leave
     ret
     ret
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_mips.s

@@ -72,3 +72,6 @@ done:
 
 
     j $31
     j $31
     .end invokeNative
     .end invokeNative
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 1 - 1
core/iwasm/common/arch/invokeNative_osx_universal.s

@@ -15,4 +15,4 @@
 #else
 #else
 #include "invokeNative_em64_simd.s"
 #include "invokeNative_em64_simd.s"
 #endif
 #endif
-#endif
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_thumb.s

@@ -89,3 +89,6 @@ return:
         pop     {r4, r5, r6, r7}
         pop     {r4, r5, r6, r7}
         mov     lr, r3
         mov     lr, r3
         bx      lr
         bx      lr
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_thumb_vfp.s

@@ -98,3 +98,6 @@ return:
         mov     lr, r3
         mov     lr, r3
         bx      lr
         bx      lr
 
 
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif

+ 3 - 0
core/iwasm/common/arch/invokeNative_xtensa.s

@@ -72,3 +72,6 @@ call_func:
 
 
 return:
 return:
         retw.n
         retw.n
+#if defined(__linux__) && defined(__ELF__)
+.section .note.GNU-stack,"",%progbits
+#endif