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