Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85056 - trunk/libs/context/src/asm
From: oliver.kowalke_at_[hidden]
Date: 2013-07-17 05:48:44


Author: olli
Date: 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013)
New Revision: 85056
URL: http://svn.boost.org/trac/boost/changeset/85056

Log:
context: fix for 8826, non-executable stack on ELF

Text files modified:
   trunk/libs/context/src/asm/jump_arm_aapcs_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_i386_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_mips32_o32_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_sparc64_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_sparc_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_arm_aapcs_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_i386_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_mips32_o32_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_sparc64_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_sparc_sysv_elf_gas.S | 3 +++
   trunk/libs/context/src/asm/make_x86_64_sysv_elf_gas.S | 2 ++
   16 files changed, 47 insertions(+), 0 deletions(-)

Modified: trunk/libs/context/src/asm/jump_arm_aapcs_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_arm_aapcs_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_arm_aapcs_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -71,3 +71,6 @@
                                     @ and as first arg in context function
     ldmia a2, {v1-v8,sp-pc} @ restore v1-V8,SP-PC
 .size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_i386_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_i386_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_i386_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -70,3 +70,6 @@
 
     jmp *%edx /* indirect jump to context */
 .size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_mips32_o32_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_mips32_o32_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_mips32_o32_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -94,3 +94,6 @@
     jr $t9 # jump to context
 .end jump_fcontext
 .size jump_fcontext, .-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_ppc32_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -178,3 +178,6 @@
 
     bctr # jump to context
 .size jump_fcontext, .-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_ppc64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -199,3 +199,6 @@
 
     bctr # jump to context
 .size .jump_fcontext, .-.jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_sparc64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_sparc64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_sparc64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -134,3 +134,6 @@
     mov %o2, %o0 // return arg as result
 
 .size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_sparc_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_sparc_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_sparc_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -130,3 +130,6 @@
     mov %o2, %o0 // return arg as result
 
 .size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/jump_x86_64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -80,3 +80,6 @@
 
     jmp *%rcx /* indirect jump to context */
 .size jump_fcontext,.-jump_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_arm_aapcs_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_arm_aapcs_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_arm_aapcs_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -74,3 +74,6 @@
     mov a1, #0 @ exit code is zero
     bl _exit_at_PLT @ exit application
 .size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_i386_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_i386_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_i386_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -75,3 +75,6 @@
     call _exit_at_PLT /* exit application */
     hlt
 .size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_mips32_o32_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_mips32_o32_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_mips32_o32_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -83,3 +83,6 @@
     jalr $t9 # exit application
 .end make_fcontext
 .size make_fcontext, .-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_ppc32_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -109,3 +109,6 @@
     li %r3, 0 # exit code is zero
     bl _exit_at_plt # exit application
 .size make_fcontext, .-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_ppc64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -131,3 +131,6 @@
     bl _exit # exit application
     nop
 .size .make_fcontext, .-.make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_sparc64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_sparc64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_sparc64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -84,3 +84,6 @@
      nop
 
 .size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_sparc_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_sparc_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_sparc_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -80,3 +80,6 @@
      nop
 
 .size make_fcontext,.-make_fcontext
+
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits

Modified: trunk/libs/context/src/asm/make_x86_64_sysv_elf_gas.S
==============================================================================
--- trunk/libs/context/src/asm/make_x86_64_sysv_elf_gas.S Tue Jul 16 16:15:38 2013 (r85055)
+++ trunk/libs/context/src/asm/make_x86_64_sysv_elf_gas.S 2013-07-17 05:48:43 EDT (Wed, 17 Jul 2013) (r85056)
@@ -72,3 +72,5 @@
     hlt
 .size make_fcontext,.-make_fcontext
 
+/* Mark that we don't need executable stack. */
+.section .note.GNU-stack,"",%progbits


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk