Index: scripts/patch/gcc/4.4.0/01-cloog-fixes.patch
===================================================================
--- scripts/patch/gcc/4.4.0/01-cloog-fixes.patch	(revision d8a9d8b002b091b22f607f9787cf4fb59f49a3f6)
+++ scripts/patch/gcc/4.4.0/01-cloog-fixes.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -11,5 +11,5 @@
 diff -Naur gcc-4.4.0.orig/gcc/graphite.c gcc-4.4.0/gcc/graphite.c
 --- gcc-4.4.0.orig/gcc/graphite.c	2009-03-18 09:59:55.000000000 -0700
-+++ gcc-4.4.0/gcc/graphite.c	2009-06-15 13:55:33.000000000 -0700
++++ gcc-4.4.0/gcc/graphite.c	2009-07-14 09:26:53.000000000 -0700
 @@ -59,6 +59,110 @@
  #include "cloog/cloog.h"
@@ -151,6 +151,6 @@
  
 diff -Naur gcc-4.4.0.orig/gcc/Makefile.in gcc-4.4.0/gcc/Makefile.in
---- gcc-4.4.0.orig/gcc/Makefile.in	2009-05-21 16:17:37.000000000 -0700
-+++ gcc-4.4.0/gcc/Makefile.in	2009-06-15 13:55:33.000000000 -0700
+--- gcc-4.4.0.orig/gcc/Makefile.in	2009-07-14 09:25:46.000000000 -0700
++++ gcc-4.4.0/gcc/Makefile.in	2009-07-14 09:26:53.000000000 -0700
 @@ -914,7 +914,7 @@
  # How to link with both our special library facilities
Index: scripts/patch/gcc/4.4.0/05-java-fixes.patch
===================================================================
--- scripts/patch/gcc/4.4.0/05-java-fixes.patch	(revision d8a9d8b002b091b22f607f9787cf4fb59f49a3f6)
+++ scripts/patch/gcc/4.4.0/05-java-fixes.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -3,6 +3,6 @@
 
 diff -Naur gcc-4.4.0.orig/libjava/configure gcc-4.4.0/libjava/configure
---- gcc-4.4.0.orig/libjava/configure	2009-04-26 07:24:38.000000000 -0700
-+++ gcc-4.4.0/libjava/configure	2009-06-15 13:55:33.000000000 -0700
+--- gcc-4.4.0.orig/libjava/configure	2009-07-14 09:25:46.000000000 -0700
++++ gcc-4.4.0/libjava/configure	2009-07-14 09:33:34.000000000 -0700
 @@ -1021,6 +1021,8 @@
                            default=yes
@@ -32,6 +32,6 @@
  
 diff -Naur gcc-4.4.0.orig/libjava/configure.ac gcc-4.4.0/libjava/configure.ac
---- gcc-4.4.0.orig/libjava/configure.ac	2009-04-26 07:24:38.000000000 -0700
-+++ gcc-4.4.0/libjava/configure.ac	2009-06-15 13:55:33.000000000 -0700
+--- gcc-4.4.0.orig/libjava/configure.ac	2009-07-14 09:25:46.000000000 -0700
++++ gcc-4.4.0/libjava/configure.ac	2009-07-14 09:33:34.000000000 -0700
 @@ -139,6 +139,13 @@
  	[allow rebuilding of .class and .h files]))
Index: scripts/patch/gcc/4.4.0/10-java-fixes.patch
===================================================================
--- scripts/patch/gcc/4.4.0/10-java-fixes.patch	(revision d8a9d8b002b091b22f607f9787cf4fb59f49a3f6)
+++ 	(revision )
@@ -1,18 +1,0 @@
-2008-06-09  Jakub Jelinek  <jakub@redhat.com>
-
-	* omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
-
-diff -Naur gcc-4.4.0.orig/libgomp/omp.h.in gcc-4.4.0/libgomp/omp.h.in
---- gcc-4.4.0.orig/libgomp/omp.h.in	2009-04-09 16:23:07.000000000 -0700
-+++ gcc-4.4.0/libgomp/omp.h.in	2009-06-15 13:55:33.000000000 -0700
-@@ -39,8 +39,8 @@
- 
- typedef struct
- {
--  unsigned char _x[@OMP_NEST_LOCK_SIZE@] 
--    __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
-+  unsigned char _x[8 + sizeof (void *)] 
-+    __attribute__((__aligned__(sizeof (void *))));
- } omp_nest_lock_t;
- #endif
- 
Index: scripts/patch/gcc/4.4.0/10-libgomp_multilib-fixes.patch
===================================================================
--- scripts/patch/gcc/4.4.0/10-libgomp_multilib-fixes.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
+++ scripts/patch/gcc/4.4.0/10-libgomp_multilib-fixes.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -0,0 +1,18 @@
+2008-06-09  Jakub Jelinek  <jakub@redhat.com>
+
+	* omp.h.in (omp_nest_lock_t): Fix up for Linux multilibs.
+
+diff -Naur gcc-4.4.0.orig/libgomp/omp.h.in gcc-4.4.0/libgomp/omp.h.in
+--- gcc-4.4.0.orig/libgomp/omp.h.in	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/libgomp/omp.h.in	2009-07-14 09:41:08.000000000 -0700
+@@ -39,8 +39,8 @@
+ 
+ typedef struct
+ {
+-  unsigned char _x[@OMP_NEST_LOCK_SIZE@] 
+-    __attribute__((__aligned__(@OMP_NEST_LOCK_ALIGN@)));
++  unsigned char _x[8 + sizeof (void *)] 
++    __attribute__((__aligned__(sizeof (void *))));
+ } omp_nest_lock_t;
+ #endif
+ 
Index: scripts/patch/gcc/4.4.0/15-libtool-fixes.patch
===================================================================
--- scripts/patch/gcc/4.4.0/15-libtool-fixes.patch	(revision d8a9d8b002b091b22f607f9787cf4fb59f49a3f6)
+++ scripts/patch/gcc/4.4.0/15-libtool-fixes.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -3,5 +3,5 @@
 diff -Naur gcc-4.4.0.orig/ltmain.sh gcc-4.4.0/ltmain.sh
 --- gcc-4.4.0.orig/ltmain.sh	2008-09-26 09:21:02.000000000 -0700
-+++ gcc-4.4.0/ltmain.sh	2009-06-15 13:55:33.000000000 -0700
++++ gcc-4.4.0/ltmain.sh	2009-07-14 10:03:39.000000000 -0700
 @@ -6886,6 +6886,7 @@
  	  rpath="$finalize_rpath"
Index: scripts/patch/gcc/4.4.0/20-powerpc-biarch.patch
===================================================================
--- scripts/patch/gcc/4.4.0/20-powerpc-biarch.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
+++ scripts/patch/gcc/4.4.0/20-powerpc-biarch.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -0,0 +1,24 @@
+This patch works changes the biarch of PPC to the match other archs
+
+diff -Naur gcc-4.4.0.orig/gcc/config/rs6000/t-linux64 gcc-4.4.0/gcc/config/rs6000/t-linux64
+--- gcc-4.4.0.orig/gcc/config/rs6000/t-linux64	2007-09-27 12:56:06.000000000 -0700
++++ gcc-4.4.0/gcc/config/rs6000/t-linux64	2009-07-14 10:14:54.000000000 -0700
+@@ -14,13 +14,13 @@
+ # it doesn't tell anything about the 32bit libraries on those systems.  Set
+ # MULTILIB_OSDIRNAMES according to what is found on the target.
+ 
+-MULTILIB_OPTIONS        = m64/m32 msoft-float
++MULTILIB_OPTIONS        = m64/m32
+ MULTILIB_DIRNAMES       = 64 32 nof
+ MULTILIB_EXTRA_OPTS     = fPIC mstrict-align
+-MULTILIB_EXCEPTIONS     = m64/msoft-float
+-MULTILIB_EXCLUSIONS     = m64/!m32/msoft-float
+-MULTILIB_OSDIRNAMES	= ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof
+-MULTILIB_MATCHES        = $(MULTILIB_MATCHES_FLOAT)
++MULTILIB_EXCEPTIONS     =
++MULTILIB_EXCLUSIONS     =
++MULTILIB_OSDIRNAMES	= ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
++MULTILIB_MATCHES        = 
+ 
+ softfp_wrap_start := '\#ifndef __powerpc64__'
+ softfp_wrap_end := '\#endif'
Index: scripts/patch/gcc/4.4.0/25-hash-style.patch
===================================================================
--- scripts/patch/gcc/4.4.0/25-hash-style.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
+++ scripts/patch/gcc/4.4.0/25-hash-style.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -0,0 +1,145 @@
+2006-07-11  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/i386/linux.h (LINK_SPEC): Add --hash-style=both.
+	* config/i386/linux64.h (LINK_SPEC): Likewise.
+	* config/rs6000/sysv4.h (LINK_OS_LINUX_SPEC): Likewise.
+	* config/rs6000/linux64.h (LINK_OS_LINUX_SPEC32,
+	LINK_OS_LINUX_SPEC64): Likewise.
+	* config/s390/linux.h (LINK_SPEC): Likewise.
+	* config/ia64/linux.h (LINK_SPEC): Likewise.
+	* config/sparc/linux.h (LINK_SPEC): Likewise.
+	* config/sparc/linux64.h (LINK_SPEC, LINK_ARCH32_SPEC,
+	LINK_ARCH64_SPEC): Likewise.
+	* config/alpha/linux-elf.h (LINK_SPEC): Likewise.
+
+diff -Naur gcc-4.4.0.orig/gcc/config/alpha/linux-elf.h gcc-4.4.0/gcc/config/alpha/linux-elf.h
+--- gcc-4.4.0.orig/gcc/config/alpha/linux-elf.h	2007-08-02 03:49:31.000000000 -0700
++++ gcc-4.4.0/gcc/config/alpha/linux-elf.h	2009-07-14 10:22:11.000000000 -0700
+@@ -39,7 +39,7 @@
+ 
+ #define ELF_DYNAMIC_LINKER	LINUX_DYNAMIC_LINKER
+ 
+-#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax}		\
++#define LINK_SPEC "-m elf64alpha --hash-style=both %{G*} %{relax:-relax}	\
+   %{O*:-O3} %{!O*:-O1}						\
+   %{shared:-shared}						\
+   %{!shared:							\
+diff -Naur gcc-4.4.0.orig/gcc/config/i386/linux64.h gcc-4.4.0/gcc/config/i386/linux64.h
+--- gcc-4.4.0.orig/gcc/config/i386/linux64.h	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/i386/linux64.h	2009-07-14 10:22:11.000000000 -0700
+@@ -75,7 +75,7 @@
+ #endif
+ 
+ #undef	LINK_SPEC
+-#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} \
++#define LINK_SPEC "%{" SPEC_64 ":-m elf_x86_64} %{" SPEC_32 ":-m elf_i386} --hash-style=both \
+   %{shared:-shared} \
+   %{!shared: \
+     %{!static: \
+diff -Naur gcc-4.4.0.orig/gcc/config/i386/linux.h gcc-4.4.0/gcc/config/i386/linux.h
+--- gcc-4.4.0.orig/gcc/config/i386/linux.h	2009-07-14 09:25:45.000000000 -0700
++++ gcc-4.4.0/gcc/config/i386/linux.h	2009-07-14 10:22:11.000000000 -0700
+@@ -113,7 +113,7 @@
+   { "dynamic_linker", LINUX_DYNAMIC_LINKER }
+ 
+ #undef	LINK_SPEC
+-#define LINK_SPEC "-m %(link_emulation) %{shared:-shared} \
++#define LINK_SPEC "-m %(link_emulation) --hash-style=both %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/linux.h gcc-4.4.0/gcc/config/ia64/linux.h
+--- gcc-4.4.0.orig/gcc/config/ia64/linux.h	2009-02-12 08:30:53.000000000 -0800
++++ gcc-4.4.0/gcc/config/ia64/linux.h	2009-07-14 10:22:11.000000000 -0700
+@@ -40,7 +40,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
+ 
+ #undef LINK_SPEC
+-#define LINK_SPEC "\
++#define LINK_SPEC "--hash-style=both \
+   %{shared:-shared} \
+   %{!shared: \
+     %{!static: \
+diff -Naur gcc-4.4.0.orig/gcc/config/rs6000/linux64.h gcc-4.4.0/gcc/config/rs6000/linux64.h
+--- gcc-4.4.0.orig/gcc/config/rs6000/linux64.h	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/rs6000/linux64.h	2009-07-14 10:22:11.000000000 -0700
+@@ -357,11 +357,11 @@
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
+ 
+ 
+-#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC32 "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+   %{rdynamic:-export-dynamic} \
+   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER32 "}}}"
+ 
+-#define LINK_OS_LINUX_SPEC64 "-m elf64ppc %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC64 "-m elf64ppc --hash-style=both %{!shared: %{!static: \
+   %{rdynamic:-export-dynamic} \
+   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER64 "}}}"
+ 
+diff -Naur gcc-4.4.0.orig/gcc/config/rs6000/sysv4.h gcc-4.4.0/gcc/config/rs6000/sysv4.h
+--- gcc-4.4.0.orig/gcc/config/rs6000/sysv4.h	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/rs6000/sysv4.h	2009-07-14 10:22:11.000000000 -0700
+@@ -911,7 +911,7 @@
+ #define LINUX_DYNAMIC_LINKER \
+   CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
+ 
+-#define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++#define LINK_OS_LINUX_SPEC "-m elf32ppclinux --hash-style=both %{!shared: %{!static: \
+   %{rdynamic:-export-dynamic} \
+   %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "}}}"
+ 
+diff -Naur gcc-4.4.0.orig/gcc/config/s390/linux.h gcc-4.4.0/gcc/config/s390/linux.h
+--- gcc-4.4.0.orig/gcc/config/s390/linux.h	2007-08-02 03:49:31.000000000 -0700
++++ gcc-4.4.0/gcc/config/s390/linux.h	2009-07-14 10:22:11.000000000 -0700
+@@ -77,7 +77,7 @@
+ 
+ #undef  LINK_SPEC
+ #define LINK_SPEC \
+-  "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
++  "%{m31:-m elf_s390}%{m64:-m elf64_s390} --hash-style=both \
+    %{shared:-shared} \
+    %{!shared: \
+       %{static:-static} \
+diff -Naur gcc-4.4.0.orig/gcc/config/sparc/linux64.h gcc-4.4.0/gcc/config/sparc/linux64.h
+--- gcc-4.4.0.orig/gcc/config/sparc/linux64.h	2009-02-20 07:20:38.000000000 -0800
++++ gcc-4.4.0/gcc/config/sparc/linux64.h	2009-07-14 10:22:11.000000000 -0700
+@@ -121,7 +121,7 @@
+   { "link_arch_default", LINK_ARCH_DEFAULT_SPEC },	  \
+   { "link_arch",	 LINK_ARCH_SPEC },
+ 
+-#define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,%R/usr/lib %{shared:-shared} \
++#define LINK_ARCH32_SPEC "-m elf32_sparc --hash-style=both -Y P,%R/usr/lib %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+@@ -130,7 +130,7 @@
+         %{static:-static}}} \
+ "
+ 
+-#define LINK_ARCH64_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_ARCH64_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+@@ -211,7 +211,7 @@
+ #else /* !SPARC_BI_ARCH */
+ 
+ #undef LINK_SPEC
+-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
++#define LINK_SPEC "-m elf64_sparc --hash-style=both -Y P,%R/usr/lib64 %{shared:-shared} \
+   %{!shared: \
+     %{!ibcs: \
+       %{!static: \
+diff -Naur gcc-4.4.0.orig/gcc/config/sparc/linux.h gcc-4.4.0/gcc/config/sparc/linux.h
+--- gcc-4.4.0.orig/gcc/config/sparc/linux.h	2009-02-20 07:20:38.000000000 -0800
++++ gcc-4.4.0/gcc/config/sparc/linux.h	2009-07-14 10:22:11.000000000 -0700
+@@ -86,7 +86,7 @@
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+ 
+ #undef  LINK_SPEC
+-#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
++#define LINK_SPEC "-m elf32_sparc --hash-style=both -Y P,/usr/lib %{shared:-shared} \
+   %{!mno-relax:%{!r:-relax}} \
+   %{!shared: \
+     %{!ibcs: \
Index: scripts/patch/gcc/4.4.0/30-note-gnu-stack.patch
===================================================================
--- scripts/patch/gcc/4.4.0/30-note-gnu-stack.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
+++ scripts/patch/gcc/4.4.0/30-note-gnu-stack.patch	(revision 76c9fbbcbbd33e7709007edfae42730757b1088e)
@@ -0,0 +1,217 @@
+# DP: Add .note.GNU-stack sections for gcc's crt files, libffi and boehm-gc
+# DP: Taken from FC.
+
+gcc/
+
+2004-09-20  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
+	on ppc64-linux.
+
+	* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
+	ia64-linux.
+	* config/ia64/crtbegin.asm: Likewise.
+	* config/ia64/crtend.asm: Likewise.
+	* config/ia64/crti.asm: Likewise.
+	* config/ia64/crtn.asm: Likewise.
+
+2004-05-14  Jakub Jelinek  <jakub@redhat.com>
+
+	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
+
+boehm-gc/
+
+2005-02-08  Jakub Jelinek  <jakub@redhat.com>
+
+	* ia64_save_regs_in_stack.s: Moved to...
+	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
+	on Linux.
+
+libffi/
+
+2007-05-11  Daniel Jacobowitz  <dan@debian.org>
+
+	* src/arm/sysv.S: Fix ARM comment marker.
+
+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.
+
+diff -Naur gcc-4.4.0.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.4.0/boehm-gc/ia64_save_regs_in_stack.s
+--- gcc-4.4.0.orig/boehm-gc/ia64_save_regs_in_stack.s	2001-10-14 21:57:59.000000000 -0700
++++ gcc-4.4.0/boehm-gc/ia64_save_regs_in_stack.s	2009-07-14 10:45:25.000000000 -0700
+@@ -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 -Naur gcc-4.4.0.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.4.0/boehm-gc/ia64_save_regs_in_stack.S
+--- gcc-4.4.0.orig/boehm-gc/ia64_save_regs_in_stack.S	1969-12-31 16:00:00.000000000 -0800
++++ gcc-4.4.0/boehm-gc/ia64_save_regs_in_stack.S	2009-07-14 10:45:25.000000000 -0700
+@@ -0,0 +1,15 @@
++        .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
++
++#ifdef __linux__
++	.section .note.GNU-stack,"",@progbits
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/crtbegin.asm gcc-4.4.0/gcc/config/ia64/crtbegin.asm
+--- gcc-4.4.0.orig/gcc/config/ia64/crtbegin.asm	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/ia64/crtbegin.asm	2009-07-14 10:45:25.000000000 -0700
+@@ -252,3 +252,7 @@
+ .weak __cxa_finalize
+ #endif
+ .weak _Jv_RegisterClasses
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/crtend.asm gcc-4.4.0/gcc/config/ia64/crtend.asm
+--- gcc-4.4.0.orig/gcc/config/ia64/crtend.asm	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/ia64/crtend.asm	2009-07-14 10:45:25.000000000 -0700
+@@ -119,3 +119,7 @@
+ 
+ 	br.ret.sptk.many rp
+ 	.endp __do_global_ctors_aux
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/crti.asm gcc-4.4.0/gcc/config/ia64/crti.asm
+--- gcc-4.4.0.orig/gcc/config/ia64/crti.asm	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/ia64/crti.asm	2009-07-14 10:45:25.000000000 -0700
+@@ -51,3 +51,7 @@
+ 	.body
+ 
+ # end of crti.asm
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/crtn.asm gcc-4.4.0/gcc/config/ia64/crtn.asm
+--- gcc-4.4.0.orig/gcc/config/ia64/crtn.asm	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/ia64/crtn.asm	2009-07-14 10:45:25.000000000 -0700
+@@ -41,3 +41,7 @@
+ 	br.ret.sptk.many b0
+ 
+ # end of crtn.asm
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/lib1funcs.asm gcc-4.4.0/gcc/config/ia64/lib1funcs.asm
+--- gcc-4.4.0.orig/gcc/config/ia64/lib1funcs.asm	2009-04-09 16:23:07.000000000 -0700
++++ gcc-4.4.0/gcc/config/ia64/lib1funcs.asm	2009-07-14 10:45:25.000000000 -0700
+@@ -793,3 +793,7 @@
+ 	.endp __floattitf
+ #endif
+ #endif
++
++#ifdef __linux__
++.section .note.GNU-stack; .previous
++#endif
+diff -Naur gcc-4.4.0.orig/gcc/config/ia64/linux.h gcc-4.4.0/gcc/config/ia64/linux.h
+--- gcc-4.4.0.orig/gcc/config/ia64/linux.h	2009-02-12 08:30:53.000000000 -0800
++++ gcc-4.4.0/gcc/config/ia64/linux.h	2009-07-14 10:45:25.000000000 -0700
+@@ -5,6 +5,8 @@
+ 
+ #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
+ 
++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
++
+ /* This is for -profile to use -lc_p instead of -lc.  */
+ #undef CC1_SPEC
+ #define CC1_SPEC "%{profile:-p} %{G*}"
+diff -Naur gcc-4.4.0.orig/gcc/config/rs6000/ppc-asm.h gcc-4.4.0/gcc/config/rs6000/ppc-asm.h
+--- gcc-4.4.0.orig/gcc/config/rs6000/ppc-asm.h	2008-10-13 08:44:26.000000000 -0700
++++ gcc-4.4.0/gcc/config/rs6000/ppc-asm.h	2009-07-14 10:45:25.000000000 -0700
+@@ -172,7 +172,7 @@
+ 	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
+ #endif
+ 
+-#if defined __linux__ && !defined __powerpc64__
++#if defined __linux__
+ 	.section .note.GNU-stack
+ 	.previous
+ #endif
+diff -Naur gcc-4.4.0.orig/libffi/src/ia64/unix.S gcc-4.4.0/libffi/src/ia64/unix.S
+--- gcc-4.4.0.orig/libffi/src/ia64/unix.S	2005-03-30 13:49:19.000000000 -0800
++++ gcc-4.4.0/libffi/src/ia64/unix.S	2009-07-14 10:45:25.000000000 -0700
+@@ -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 -Naur gcc-4.4.0.orig/libffi/src/powerpc/linux64_closure.S gcc-4.4.0/libffi/src/powerpc/linux64_closure.S
+--- gcc-4.4.0.orig/libffi/src/powerpc/linux64_closure.S	2005-08-11 14:18:24.000000000 -0700
++++ gcc-4.4.0/libffi/src/powerpc/linux64_closure.S	2009-07-14 10:45:25.000000000 -0700
+@@ -204,3 +204,7 @@
+ 	.align 3
+ .LEFDE1:
+ #endif
++
++#if defined __ELF__ && defined __linux__
++	.section	.note.GNU-stack,"",@progbits
++#endif
+diff -Naur gcc-4.4.0.orig/libffi/src/powerpc/linux64.S gcc-4.4.0/libffi/src/powerpc/linux64.S
+--- gcc-4.4.0.orig/libffi/src/powerpc/linux64.S	2007-11-16 15:24:53.000000000 -0800
++++ gcc-4.4.0/libffi/src/powerpc/linux64.S	2009-07-14 10:45:25.000000000 -0700
+@@ -179,3 +179,7 @@
+ 	.align 3
+ .LEFDE1:
+ #endif
++
++#if defined __ELF__ && defined __linux__
++	.section	.note.GNU-stack,"",@progbits
++#endif
+diff -Naur gcc-4.4.0.orig/src/boehm-gc/ia64_save_regs_in_stack.S gcc-4.4.0/src/boehm-gc/ia64_save_regs_in_stack.S
+--- gcc-4.4.0.orig/src/boehm-gc/ia64_save_regs_in_stack.S	1969-12-31 16:00:00.000000000 -0800
++++ gcc-4.4.0/src/boehm-gc/ia64_save_regs_in_stack.S	2009-07-14 10:45:19.000000000 -0700
+@@ -0,0 +1,15 @@
++        .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
++
++#ifdef __linux__
++	.section .note.GNU-stack,"",@progbits
++#endif
