| Original patch from: ../4.3.2/220-noteGNUstack-01.patch |
| |
| -= BEGIN original header =- |
| Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch |
| 2005-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * src/alpha/osf.S: Add .note.GNU-stack on Linux. |
| * src/s390/sysv.S: Likewise. |
| * src/powerpc/linux64.S: Likewise. |
| * src/powerpc/linux64_closure.S: Likewise. |
| * src/powerpc/ppc_closure.S: Likewise. |
| * src/powerpc/sysv.S: Likewise. |
| * src/x86/unix64.S: Likewise. |
| * src/x86/sysv.S: Likewise. |
| * src/sparc/v8.S: Likewise. |
| * src/sparc/v9.S: Likewise. |
| * src/m68k/sysv.S: Likewise. |
| * src/ia64/unix.S: Likewise. |
| * src/arm/sysv.S: Likewise. |
| |
| * ia64_save_regs_in_stack.s: Moved to... |
| * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack |
| on Linux. |
| |
| -= END original header =- |
| |
| diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S |
| --- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S 1970-01-01 01:00:00.000000000 +0100 |
| +++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -0,0 +1,15 @@ |
| + .text |
| + .align 16 |
| + .global GC_save_regs_in_stack |
| + .proc GC_save_regs_in_stack |
| +GC_save_regs_in_stack: |
| + .bodyfoo.mpg |
| + flushrs |
| + ;; |
| + mov r8=ar.bsp |
| + br.ret.sptk.few rp |
| + .endp GC_save_regs_in_stack |
| + |
| +#ifdef __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s |
| --- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s 2001-10-15 06:57:59.000000000 +0200 |
| +++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s 1970-01-01 01:00:00.000000000 +0100 |
| @@ -1,12 +0,0 @@ |
| - .text |
| - .align 16 |
| - .global GC_save_regs_in_stack |
| - .proc GC_save_regs_in_stack |
| -GC_save_regs_in_stack: |
| - .body |
| - flushrs |
| - ;; |
| - mov r8=ar.bsp |
| - br.ret.sptk.few rp |
| - .endp GC_save_regs_in_stack |
| - |
| diff -durN gcc-4.3.3.orig/libffi/src/alpha/osf.S gcc-4.3.3/libffi/src/alpha/osf.S |
| --- gcc-4.3.3.orig/libffi/src/alpha/osf.S 2007-04-06 18:24:16.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/alpha/osf.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -358,4 +358,8 @@ |
| .byte 16 # uleb128 offset 16*-8 |
| .align 3 |
| $LEFDE3: |
| + |
| +#ifdef __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| #endif |
| diff -durN gcc-4.3.3.orig/libffi/src/arm/sysv.S gcc-4.3.3/libffi/src/arm/sysv.S |
| --- gcc-4.3.3.orig/libffi/src/arm/sysv.S 2007-09-04 19:52:45.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/arm/sysv.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -293,3 +293,6 @@ |
| UNWIND .fnend |
| .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV) |
| |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",%progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/ia64/unix.S gcc-4.3.3/libffi/src/ia64/unix.S |
| --- gcc-4.3.3.orig/libffi/src/ia64/unix.S 2005-03-30 23:49:19.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/ia64/unix.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -553,3 +553,7 @@ |
| data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT |
| data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE |
| data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/m68k/sysv.S gcc-4.3.3/libffi/src/m68k/sysv.S |
| --- gcc-4.3.3.orig/libffi/src/m68k/sysv.S 2007-05-10 23:29:04.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/m68k/sysv.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -207,3 +207,7 @@ |
| rts |
| CFI_ENDPROC() |
| .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64.S gcc-4.3.3/libffi/src/powerpc/linux64.S |
| --- gcc-4.3.3.orig/libffi/src/powerpc/linux64.S 2007-11-17 00:24:53.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/powerpc/linux64.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -179,3 +179,7 @@ |
| .align 3 |
| .LEFDE1: |
| #endif |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.3/libffi/src/powerpc/linux64_closure.S |
| --- gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S 2005-08-11 23:18:24.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/powerpc/linux64_closure.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -204,3 +204,7 @@ |
| .align 3 |
| .LEFDE1: |
| #endif |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.3/libffi/src/powerpc/ppc_closure.S |
| --- gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S 2007-12-01 22:00:04.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/powerpc/ppc_closure.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -295,3 +295,7 @@ |
| .LEFDE1: |
| |
| #endif |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/powerpc/sysv.S gcc-4.3.3/libffi/src/powerpc/sysv.S |
| --- gcc-4.3.3.orig/libffi/src/powerpc/sysv.S 2007-12-01 22:00:04.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/powerpc/sysv.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -223,3 +223,7 @@ |
| .align 2 |
| .LEFDE1: |
| #endif |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/s390/sysv.S gcc-4.3.3/libffi/src/s390/sysv.S |
| --- gcc-4.3.3.orig/libffi/src/s390/sysv.S 2003-10-21 21:01:58.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/s390/sysv.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -427,3 +427,6 @@ |
| |
| #endif |
| |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/sparc/v8.S gcc-4.3.3/libffi/src/sparc/v8.S |
| --- gcc-4.3.3.orig/libffi/src/sparc/v8.S 2008-11-21 23:13:13.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/sparc/v8.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -306,3 +306,7 @@ |
| .byte 0x1f ! uleb128 0x1f |
| .align WS |
| .LLEFDE2: |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/sparc/v9.S gcc-4.3.3/libffi/src/sparc/v9.S |
| --- gcc-4.3.3.orig/libffi/src/sparc/v9.S 2004-01-25 07:58:33.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/sparc/v9.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -300,3 +300,7 @@ |
| .align 8 |
| .LLEFDE2: |
| #endif |
| + |
| +#ifdef __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/x86/sysv.S gcc-4.3.3/libffi/src/x86/sysv.S |
| --- gcc-4.3.3.orig/libffi/src/x86/sysv.S 2008-01-30 15:36:58.000000000 +0100 |
| +++ gcc-4.3.3/libffi/src/x86/sysv.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -430,3 +430,7 @@ |
| #endif |
| |
| #endif /* ifndef __x86_64__ */ |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |
| diff -durN gcc-4.3.3.orig/libffi/src/x86/unix64.S gcc-4.3.3/libffi/src/x86/unix64.S |
| --- gcc-4.3.3.orig/libffi/src/x86/unix64.S 2005-05-05 06:06:38.000000000 +0200 |
| +++ gcc-4.3.3/libffi/src/x86/unix64.S 2009-01-27 22:25:27.000000000 +0100 |
| @@ -410,3 +410,7 @@ |
| .LEFDE3: |
| |
| #endif /* __x86_64__ */ |
| + |
| +#if defined __ELF__ && defined __linux__ |
| + .section .note.GNU-stack,"",@progbits |
| +#endif |