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