cc/gcc: add 4.3.5
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 19 18:37:18 2010 +0200 (2010-09-19)
changeset 21245dd0b83ae528
parent 2123 ff2181adbd28
child 2125 4009fc9c47d5
cc/gcc: add 4.3.5

4.3.5 is the latest 4.3 version, and probably the last one.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
config/cc/gcc.in
patches/gcc/4.3.5/100-alpha-mieee-default.patch
patches/gcc/4.3.5/110-trampolinewarn.patch
patches/gcc/4.3.5/120-java-nomulti.patch
patches/gcc/4.3.5/130-cross-compile.patch
patches/gcc/4.3.5/140-netbsd-symbolic.patch
patches/gcc/4.3.5/150-sparc64-bsd.patch
patches/gcc/4.3.5/160-flatten-switch-stmt-00.patch
patches/gcc/4.3.5/170-libiberty-pic.patch
patches/gcc/4.3.5/180-superh-default-multilib.patch
patches/gcc/4.3.5/190-libstdc++-pic.patch
patches/gcc/4.3.5/200-pr24170.patch
patches/gcc/4.3.5/210-noteGNUstack-00.patch
patches/gcc/4.3.5/220-noteGNUstack-01.patch
patches/gcc/4.3.5/230-pr34571.patch
patches/gcc/4.3.5/240-pr25343.patch
patches/gcc/4.3.5/250-sh-pr24836.patch
patches/gcc/4.3.5/260-uclibc-conf-noupstream.patch
patches/gcc/4.3.5/270-missing-execinfo_h.patch
patches/gcc/4.3.5/280-c99-complex-ugly-hack.patch
patches/gcc/4.3.5/290-index_macro.patch
patches/gcc/4.3.5/300-libmudflap-susv3-legacy.patch
patches/gcc/4.3.5/310-arm-softfloat.patch
patches/gcc/4.3.5/320-alpha-signal_h.patch
patches/gcc/4.3.5/330-unwind-for-uClibc.patch
patches/gcc/4.3.5/340-make-mno-spe-work-as-expected.patch
patches/gcc/4.3.5/350-sh-without-headers.patch
patches/gcc/4.3.5/380-pr37436.patch
patches/gcc/4.3.5/390-unbreak-armv4t.patch
patches/gcc/4.3.5/400-ecjx-host-cc.patch
     1.1 --- a/config/cc/gcc.in	Sun Sep 12 23:51:25 2010 +0200
     1.2 +++ b/config/cc/gcc.in	Sun Sep 19 18:37:18 2010 +0200
     1.3 @@ -57,6 +57,11 @@
     1.4      prompt "4.4.0"
     1.5      select CC_GCC_4_4_or_later
     1.6  
     1.7 +config CC_V_4_3_5
     1.8 +    bool
     1.9 +    prompt "4.3.5"
    1.10 +    select CC_GCC_4_3_or_later
    1.11 +
    1.12  config CC_V_4_3_4
    1.13      bool
    1.14      prompt "4.3.4"
    1.15 @@ -186,6 +191,7 @@
    1.16      default "4.4.2" if CC_V_4_4_2
    1.17      default "4.4.1" if CC_V_4_4_1
    1.18      default "4.4.0" if CC_V_4_4_0
    1.19 +    default "4.3.5" if CC_V_4_3_5
    1.20      default "4.3.4" if CC_V_4_3_4
    1.21      default "4.3.3" if CC_V_4_3_3
    1.22      default "4.3.2" if CC_V_4_3_2
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/gcc/4.3.5/100-alpha-mieee-default.patch	Sun Sep 19 18:37:18 2010 +0200
     2.3 @@ -0,0 +1,39 @@
     2.4 +Original patch from: ../4.3.2/100-alpha-mieee-default.patch
     2.5 +
     2.6 +-= BEGIN original header =-
     2.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
     2.8 +Set the default behavior on alpha to use -mieee since the large majority of
     2.9 +time we want this (bad/weird things can happen with packages built without
    2.10 +-mieee).
    2.11 +
    2.12 +To satisfy those people who may not want -mieee forced on them all the time,
    2.13 +we also provide -mno-ieee.
    2.14 +
    2.15 +Patch by Mike Frysinger <vapier@gentoo.org>
    2.16 +
    2.17 +-= END original header =-
    2.18 +
    2.19 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.h gcc-4.3.3/gcc/config/alpha/alpha.h
    2.20 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.h	2007-12-06 14:25:37.000000000 +0100
    2.21 ++++ gcc-4.3.3/gcc/config/alpha/alpha.h	2009-01-27 22:19:02.000000000 +0100
    2.22 +@@ -95,6 +95,8 @@
    2.23 +   while (0)
    2.24 + #endif
    2.25 + 
    2.26 ++#define CPP_SPEC "%{!no-ieee:-mieee}"
    2.27 ++
    2.28 + #define WORD_SWITCH_TAKES_ARG(STR)		\
    2.29 +  (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
    2.30 + 
    2.31 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.opt gcc-4.3.3/gcc/config/alpha/alpha.opt
    2.32 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.opt	2007-08-02 12:49:31.000000000 +0200
    2.33 ++++ gcc-4.3.3/gcc/config/alpha/alpha.opt	2009-01-27 22:19:02.000000000 +0100
    2.34 +@@ -39,7 +39,7 @@
    2.35 + Request IEEE-conformant math library routines (OSF/1)
    2.36 + 
    2.37 + mieee
    2.38 +-Target Report RejectNegative Mask(IEEE)
    2.39 ++Target Report Mask(IEEE)
    2.40 + Emit IEEE-conformant code, without inexact exceptions
    2.41 + 
    2.42 + mieee-with-inexact
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/patches/gcc/4.3.5/110-trampolinewarn.patch	Sun Sep 19 18:37:18 2010 +0200
     3.3 @@ -0,0 +1,40 @@
     3.4 +Original patch from: ../4.3.2/110-trampolinewarn.patch
     3.5 +
     3.6 +-= BEGIN original header =-
     3.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
     3.8 +	This trivial patch causes gcc to emit a warning whenever
     3.9 +	it generates a trampoline.  These are otherwise hard to
    3.10 +	locate.  It is rigged to default ON - to have it default
    3.11 +	to OFF remove the text 'Init(1)' from the common.opt
    3.12 +	patch, leaving just 'Common Var(warn_trampolines)'.
    3.13 +	Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
    3.14 +
    3.15 +-= END original header =-
    3.16 +
    3.17 +diff -durN gcc-4.3.3.orig/gcc/builtins.c gcc-4.3.3/gcc/builtins.c
    3.18 +--- gcc-4.3.3.orig/gcc/builtins.c	2008-08-19 18:37:13.000000000 +0200
    3.19 ++++ gcc-4.3.3/gcc/builtins.c	2009-01-27 22:19:12.000000000 +0100
    3.20 +@@ -5662,6 +5662,9 @@
    3.21 +   trampolines_created = 1;
    3.22 +   INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
    3.23 + 
    3.24 ++  if (warn_trampolines)
    3.25 ++    warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
    3.26 ++
    3.27 +   return const0_rtx;
    3.28 + }
    3.29 + 
    3.30 +diff -durN gcc-4.3.3.orig/gcc/common.opt gcc-4.3.3/gcc/common.opt
    3.31 +--- gcc-4.3.3.orig/gcc/common.opt	2008-01-22 15:11:44.000000000 +0100
    3.32 ++++ gcc-4.3.3/gcc/common.opt	2009-01-27 22:19:12.000000000 +0100
    3.33 +@@ -182,6 +182,10 @@
    3.34 + Common Var(warn_system_headers) Warning
    3.35 + Do not suppress warnings from system headers
    3.36 + 
    3.37 ++Wtrampolines
    3.38 ++Common Var(warn_trampolines) Init(1)
    3.39 ++Warn whenever a trampoline is generated
    3.40 ++
    3.41 + Wuninitialized
    3.42 + Common Var(warn_uninitialized) Warning
    3.43 + Warn about uninitialized automatic variables
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/patches/gcc/4.3.5/120-java-nomulti.patch	Sun Sep 19 18:37:18 2010 +0200
     4.3 @@ -0,0 +1,52 @@
     4.4 +Original patch from: ../4.3.2/120-java-nomulti.patch
     4.5 +
     4.6 +-= BEGIN original header =-
     4.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/03_all_gcc43-java-nomulti.patch
     4.8 +-= END original header =-
     4.9 +
    4.10 +diff -durN gcc-4.3.3.orig/libjava/configure gcc-4.3.3/libjava/configure
    4.11 +--- gcc-4.3.3.orig/libjava/configure	2009-01-24 11:32:29.000000000 +0100
    4.12 ++++ gcc-4.3.3/libjava/configure	2009-01-27 22:19:14.000000000 +0100
    4.13 +@@ -1018,6 +1018,8 @@
    4.14 +   --enable-gconf-peer     compile GConf native peers for util.preferences
    4.15 +   --enable-java-maintainer-mode
    4.16 +                           allow rebuilding of .class and .h files
    4.17 ++  --enable-libjava-multilib
    4.18 ++                          build libjava as multilib
    4.19 +   --disable-dependency-tracking  speeds up one-time build
    4.20 +   --enable-dependency-tracking   do not reject slow dependency extractors
    4.21 +   --enable-maintainer-mode  enable make rules and dependencies not useful
    4.22 +@@ -1850,6 +1852,16 @@
    4.23 + fi
    4.24 + 
    4.25 + 
    4.26 ++# Check whether --enable-libjava-multilib was given.
    4.27 ++if test "${enable_libjava_multilib+set}" = set; then
    4.28 ++  enableval=$enable_libjava_multilib;
    4.29 ++fi
    4.30 ++
    4.31 ++if test "$enable_libjava_multilib" = no; then
    4.32 ++  multilib=no
    4.33 ++  ac_configure_args="$ac_configure_args --disable-multilib"
    4.34 ++fi
    4.35 ++
    4.36 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
    4.37 + 
    4.38 + 
    4.39 +diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
    4.40 +--- gcc-4.3.3.orig/libjava/configure.ac	2008-07-02 23:23:43.000000000 +0200
    4.41 ++++ gcc-4.3.3/libjava/configure.ac	2009-01-27 22:19:14.000000000 +0100
    4.42 +@@ -82,6 +82,13 @@
    4.43 + 	[allow rebuilding of .class and .h files]))
    4.44 + AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
    4.45 + 
    4.46 ++AC_ARG_ENABLE(libjava-multilib,
    4.47 ++	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
    4.48 ++if test "$enable_libjava_multilib" = no; then
    4.49 ++  multilib=no
    4.50 ++  ac_configure_args="$ac_configure_args --disable-multilib"
    4.51 ++fi
    4.52 ++
    4.53 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
    4.54 + GCC_NO_EXECUTABLES
    4.55 + 
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/patches/gcc/4.3.5/130-cross-compile.patch	Sun Sep 19 18:37:18 2010 +0200
     5.3 @@ -0,0 +1,49 @@
     5.4 +Original patch from: ../4.3.2/130-cross-compile.patch
     5.5 +
     5.6 +-= BEGIN original header =-
     5.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
     5.8 +Some notes on the 'bootstrap with or without libc headers' debate:
     5.9 +http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
    5.10 +http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
    5.11 +
    5.12 +-= END original header =-
    5.13 +
    5.14 +diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
    5.15 +--- gcc-4.3.3.orig/gcc/configure	2008-08-01 11:51:03.000000000 +0200
    5.16 ++++ gcc-4.3.3/gcc/configure	2009-01-27 22:19:16.000000000 +0100
    5.17 +@@ -13442,7 +13442,7 @@
    5.18 + 	    | powerpc*-*-*,powerpc64*-*-*)
    5.19 + 		CROSS="$CROSS -DNATIVE_CROSS" ;;
    5.20 + 	esac
    5.21 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
    5.22 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    5.23 +         SYSTEM_HEADER_DIR=$build_system_header_dir
    5.24 + fi
    5.25 + 
    5.26 +diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
    5.27 +--- gcc-4.3.3.orig/gcc/configure.ac	2008-08-01 11:51:03.000000000 +0200
    5.28 ++++ gcc-4.3.3/gcc/configure.ac	2009-01-27 22:19:16.000000000 +0100
    5.29 +@@ -1749,7 +1749,7 @@
    5.30 + 	    | powerpc*-*-*,powerpc64*-*-*)
    5.31 + 		CROSS="$CROSS -DNATIVE_CROSS" ;;
    5.32 + 	esac
    5.33 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
    5.34 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    5.35 +         SYSTEM_HEADER_DIR=$build_system_header_dir 
    5.36 + fi
    5.37 + 
    5.38 +diff -durN gcc-4.3.3.orig/gcc/unwind-dw2.c gcc-4.3.3/gcc/unwind-dw2.c
    5.39 +--- gcc-4.3.3.orig/gcc/unwind-dw2.c	2008-09-25 00:44:28.000000000 +0200
    5.40 ++++ gcc-4.3.3/gcc/unwind-dw2.c	2009-01-27 22:19:16.000000000 +0100
    5.41 +@@ -334,9 +334,11 @@
    5.42 + }
    5.43 + #endif
    5.44 + 
    5.45 ++#ifndef inhibit_libc
    5.46 + #ifdef MD_UNWIND_SUPPORT
    5.47 + #include MD_UNWIND_SUPPORT
    5.48 + #endif
    5.49 ++#endif
    5.50 + 
    5.51 + /* Extract any interesting information from the CIE for the translation
    5.52 +    unit F belongs to.  Return a pointer to the byte after the augmentation,
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/patches/gcc/4.3.5/140-netbsd-symbolic.patch	Sun Sep 19 18:37:18 2010 +0200
     6.3 @@ -0,0 +1,19 @@
     6.4 +Original patch from: ../4.3.2/140-netbsd-symbolic.patch
     6.5 +
     6.6 +-= BEGIN original header =-
     6.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/11_all_gcc-netbsd-symbolic.patch
     6.8 +http://bugs.gentoo.org/122698
     6.9 +
    6.10 +-= END original header =-
    6.11 +
    6.12 +diff -durN gcc-4.3.3.orig/gcc/config/netbsd-elf.h gcc-4.3.3/gcc/config/netbsd-elf.h
    6.13 +--- gcc-4.3.3.orig/gcc/config/netbsd-elf.h	2007-09-03 18:14:04.000000000 +0200
    6.14 ++++ gcc-4.3.3/gcc/config/netbsd-elf.h	2009-01-27 22:19:18.000000000 +0100
    6.15 +@@ -82,6 +82,7 @@
    6.16 + #define NETBSD_LINK_SPEC_ELF \
    6.17 +   "%{assert*} %{R*} %{rpath*} \
    6.18 +    %{shared:-shared} \
    6.19 ++   %{symbolic:-Bsymbolic} \
    6.20 +    %{!shared: \
    6.21 +      -dc -dp \
    6.22 +      %{!nostdlib: \
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/patches/gcc/4.3.5/150-sparc64-bsd.patch	Sun Sep 19 18:37:18 2010 +0200
     7.3 @@ -0,0 +1,35 @@
     7.4 +Original patch from: ../4.3.2/150-sparc64-bsd.patch
     7.5 +
     7.6 +-= BEGIN original header =-
     7.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/14_all_gcc-sparc64-bsd.patch
     7.8 +-= END original header =-
     7.9 +
    7.10 +diff -durN gcc-4.3.3.orig/gcc/config/sparc/freebsd.h gcc-4.3.3/gcc/config/sparc/freebsd.h
    7.11 +--- gcc-4.3.3.orig/gcc/config/sparc/freebsd.h	2007-08-02 12:49:31.000000000 +0200
    7.12 ++++ gcc-4.3.3/gcc/config/sparc/freebsd.h	2009-01-27 22:19:20.000000000 +0100
    7.13 +@@ -25,9 +25,22 @@
    7.14 + /* FreeBSD needs the platform name (sparc64) defined.
    7.15 +    Emacs needs to know if the arch is 64 or 32-bits.  */
    7.16 + 
    7.17 +-#undef  CPP_CPU64_DEFAULT_SPEC
    7.18 +-#define CPP_CPU64_DEFAULT_SPEC \
    7.19 +-  "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
    7.20 ++#undef  FBSD_TARGET_CPU_CPP_BUILTINS
    7.21 ++#define FBSD_TARGET_CPU_CPP_BUILTINS()                  \
    7.22 ++  do                                                    \
    7.23 ++    {                                                   \
    7.24 ++      if (TARGET_ARCH64)                                \
    7.25 ++        {                                               \
    7.26 ++          builtin_define ("__sparc64__");               \
    7.27 ++          builtin_define ("__sparc_v9__");              \
    7.28 ++          builtin_define ("__sparcv9");                 \
    7.29 ++        }                                               \
    7.30 ++      else                                              \
    7.31 ++        builtin_define ("__sparc");                     \
    7.32 ++      builtin_define ("__sparc__");                     \
    7.33 ++    }                                                   \
    7.34 ++  while (0)
    7.35 ++
    7.36 + 
    7.37 + #define LINK_SPEC "%(link_arch)						\
    7.38 +   %{!mno-relax:%{!r:-relax}}						\
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/patches/gcc/4.3.5/160-flatten-switch-stmt-00.patch	Sun Sep 19 18:37:18 2010 +0200
     8.3 @@ -0,0 +1,81 @@
     8.4 +Original patch from: ../4.3.2/160-flatten-switch-stmt-00.patch
     8.5 +
     8.6 +-= BEGIN original header =-
     8.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/18_all_904-flatten-switch-stmt-00.patch
     8.8 +http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00927.html
     8.9 +
    8.10 +Hi,
    8.11 +
    8.12 +The attached patch makes sure that we create smaller object code for
    8.13 +simple switch statements. We just make sure to flatten the switch
    8.14 +statement into an if-else chain, basically.
    8.15 +
    8.16 +This fixes a size-regression as compared to gcc-3.4, as can be seen
    8.17 +below.
    8.18 +
    8.19 +2007-04-15  Bernhard Fischer  <..>
    8.20 +
    8.21 +	* stmt.c (expand_case): Do not create a complex binary tree when
    8.22 +	optimizing for size but rather use the simple ordered list.
    8.23 +	(emit_case_nodes): do not emit jumps to the default_label when
    8.24 +	optimizing for size.
    8.25 +
    8.26 +Not regtested so far.
    8.27 +Comments?
    8.28 +
    8.29 +Attached is the test switch.c mentioned below.
    8.30 +
    8.31 +$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
    8.32 +gcc-$i  -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
    8.33 +$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
    8.34 +gcc-$i  -UCHAIN -Os -o switch-$i.o -c switch.c ;done
    8.35 +
    8.36 +$ size switch-*.o
    8.37 +   text	   data	    bss	    dec	    hex	filename
    8.38 +    169	      0	      0	    169	     a9	switch-2.95.o
    8.39 +    115	      0	      0	    115	     73	switch-3.3.o
    8.40 +    103	      0	      0	    103	     67	switch-3.4.o
    8.41 +    124	      0	      0	    124	     7c	switch-4.0.o
    8.42 +    124	      0	      0	    124	     7c	switch-4.1.o
    8.43 +    124	      0	      0	    124	     7c	switch-4.2.orig-HEAD.o
    8.44 +     95	      0	      0	     95	     5f	switch-4.3-HEAD.o
    8.45 +    124	      0	      0	    124	     7c	switch-4.3.orig-HEAD.o
    8.46 +    166	      0	      0	    166	     a6	switch-CHAIN-2.95.o
    8.47 +    111	      0	      0	    111	     6f	switch-CHAIN-3.3.o
    8.48 +     95	      0	      0	     95	     5f	switch-CHAIN-3.4.o
    8.49 +     95	      0	      0	     95	     5f	switch-CHAIN-4.0.o
    8.50 +     95	      0	      0	     95	     5f	switch-CHAIN-4.1.o
    8.51 +     95	      0	      0	     95	     5f	switch-CHAIN-4.2.orig-HEAD.o
    8.52 +     95	      0	      0	     95	     5f	switch-CHAIN-4.3-HEAD.o
    8.53 +     95	      0	      0	     95	     5f	switch-CHAIN-4.3.orig-HEAD.o
    8.54 +
    8.55 +
    8.56 +Content-Type: text/x-diff; charset=us-ascii
    8.57 +Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
    8.58 +
    8.59 +-= END original header =-
    8.60 +
    8.61 +diff -durN gcc-4.3.3.orig/gcc/stmt.c gcc-4.3.3/gcc/stmt.c
    8.62 +--- gcc-4.3.3.orig/gcc/stmt.c	2008-05-09 20:12:13.000000000 +0200
    8.63 ++++ gcc-4.3.3/gcc/stmt.c	2009-01-27 22:19:28.000000000 +0100
    8.64 +@@ -2509,7 +2509,11 @@
    8.65 + 	  use_cost_table
    8.66 + 	    = (TREE_CODE (orig_type) != ENUMERAL_TYPE
    8.67 + 	       && estimate_case_costs (case_list));
    8.68 +-	  balance_case_nodes (&case_list, NULL);
    8.69 ++	  /* When optimizing for size, we want a straight list to avoid
    8.70 ++	     jumps as much as possible. This basically creates an if-else
    8.71 ++	     chain.  */
    8.72 ++	  if (!optimize_size)
    8.73 ++	    balance_case_nodes (&case_list, NULL);
    8.74 + 	  emit_case_nodes (index, case_list, default_label, index_type);
    8.75 + 	  emit_jump (default_label);
    8.76 + 	}
    8.77 +@@ -3067,6 +3071,7 @@
    8.78 + 	    {
    8.79 + 	      if (!node_has_low_bound (node, index_type))
    8.80 + 		{
    8.81 ++		  if (!optimize_size) /* don't jl to the .default_label. */
    8.82 + 		  emit_cmp_and_jump_insns (index,
    8.83 + 					   convert_modes
    8.84 + 					   (mode, imode,
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/patches/gcc/4.3.5/170-libiberty-pic.patch	Sun Sep 19 18:37:18 2010 +0200
     9.3 @@ -0,0 +1,17 @@
     9.4 +Original patch from: ../4.3.2/170-libiberty-pic.patch
     9.5 +
     9.6 +-= BEGIN original header =-
     9.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/51_all_gcc-3.4-libiberty-pic.patch
     9.8 +-= END original header =-
     9.9 +
    9.10 +diff -durN gcc-4.3.3.orig/libiberty/Makefile.in gcc-4.3.3/libiberty/Makefile.in
    9.11 +--- gcc-4.3.3.orig/libiberty/Makefile.in	2007-07-25 08:26:45.000000000 +0200
    9.12 ++++ gcc-4.3.3/libiberty/Makefile.in	2009-01-27 22:19:30.000000000 +0100
    9.13 +@@ -225,6 +225,7 @@
    9.14 + 	  $(AR) $(AR_FLAGS) $(TARGETLIB) \
    9.15 + 	    $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
    9.16 + 	  $(RANLIB) $(TARGETLIB); \
    9.17 ++	  cp $(TARGETLIB) ../ ; \
    9.18 + 	  cd ..; \
    9.19 + 	else true; fi
    9.20 + 
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/patches/gcc/4.3.5/180-superh-default-multilib.patch	Sun Sep 19 18:37:18 2010 +0200
    10.3 @@ -0,0 +1,30 @@
    10.4 +Original patch from: ../4.3.2/180-superh-default-multilib.patch
    10.5 +
    10.6 +-= BEGIN original header =-
    10.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
    10.8 +The gcc-3.x toolchains would contain all the targets by default.  With gcc-4,
    10.9 +you have to actually list out the multilibs you want or you will end up with
   10.10 +just one when using targets like 'sh4-linux-gnu'.
   10.11 +
   10.12 +The resulting toolchain can't even build a kernel as the kernel needs to build
   10.13 +with the nofpu flag to be sure that no fpu ops are generated.
   10.14 +
   10.15 +Here we restore the gcc-3.x behavior; the additional overhead of building all
   10.16 +of these multilibs by default is negligible.
   10.17 +
   10.18 +http://bugs.gentoo.org/140205
   10.19 +
   10.20 +-= END original header =-
   10.21 +
   10.22 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
   10.23 +--- gcc-4.3.3.orig/gcc/config.gcc	2008-11-20 18:09:53.000000000 +0100
   10.24 ++++ gcc-4.3.3/gcc/config.gcc	2009-01-27 22:19:32.000000000 +0100
   10.25 +@@ -2275,7 +2275,7 @@
   10.26 + 	if test x${sh_multilibs} = x ; then
   10.27 + 		case ${target} in
   10.28 + 		sh64-superh-linux* | \
   10.29 +-		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
   10.30 ++		sh[1234]*)	sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
   10.31 + 		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
   10.32 + 		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
   10.33 + 		sh*-*-linux*)	sh_multilibs=m1,m3e,m4 ;;
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/patches/gcc/4.3.5/190-libstdc++-pic.patch	Sun Sep 19 18:37:18 2010 +0200
    11.3 @@ -0,0 +1,61 @@
    11.4 +Original patch from: ../4.3.2/190-libstdc++-pic.patch
    11.5 +
    11.6 +-= BEGIN original header =-
    11.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
    11.8 +install libstdc++_pic.a if we have pic objs
    11.9 +
   11.10 +-= END original header =-
   11.11 +
   11.12 +diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am gcc-4.3.5/libstdc++-v3/src/Makefile.am
   11.13 +--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am	2008-02-29 19:26:50.000000000 +0100
   11.14 ++++ gcc-4.3.5/libstdc++-v3/src/Makefile.am	2010-09-19 18:58:40.000000000 +0200
   11.15 +@@ -289,6 +289,13 @@
   11.16 + 	  $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
   11.17 + 
   11.18 + 
   11.19 ++install-exec-local:
   11.20 ++	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
   11.21 ++	if [ x"$$pic_objs" != x ]; then \
   11.22 ++		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
   11.23 ++		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
   11.24 ++	fi
   11.25 ++
   11.26 + # Added bits to build debug library.
   11.27 + if GLIBCXX_BUILD_DEBUG
   11.28 + all-local: build_debug
   11.29 +diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in gcc-4.3.5/libstdc++-v3/src/Makefile.in
   11.30 +--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in	2010-05-06 19:19:46.000000000 +0200
   11.31 ++++ gcc-4.3.5/libstdc++-v3/src/Makefile.in	2010-09-19 19:01:43.000000000 +0200
   11.32 +@@ -646,7 +646,7 @@
   11.33 + 
   11.34 + install-data-am: install-data-local
   11.35 + 
   11.36 +-install-exec-am: install-toolexeclibLTLIBRARIES
   11.37 ++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
   11.38 + 
   11.39 + install-info: install-info-am
   11.40 + 
   11.41 +@@ -685,7 +685,7 @@
   11.42 + 	mostlyclean mostlyclean-compile mostlyclean-generic \
   11.43 + 	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
   11.44 + 	uninstall-am uninstall-info-am \
   11.45 +-	uninstall-toolexeclibLTLIBRARIES
   11.46 ++	uninstall-toolexeclibLTLIBRARIES install-exec-local
   11.47 + 
   11.48 + 
   11.49 + # Symbol versioning for shared libraries.
   11.50 +@@ -811,6 +811,14 @@
   11.51 + install_debug:
   11.52 + 	(cd ${debugdir} && $(MAKE) \
   11.53 + 	toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
   11.54 ++
   11.55 ++install-exec-local:
   11.56 ++	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
   11.57 ++	if [ x"$$pic_objs" != x ]; then \
   11.58 ++		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
   11.59 ++		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
   11.60 ++	fi
   11.61 ++
   11.62 + # Tell versions [3.59,3.63) of GNU make to not export all variables.
   11.63 + # Otherwise a system limit (for SysV at least) may be exceeded.
   11.64 + .NOEXPORT:
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/patches/gcc/4.3.5/200-pr24170.patch	Sun Sep 19 18:37:18 2010 +0200
    12.3 @@ -0,0 +1,66 @@
    12.4 +Original patch from: ../4.3.2/200-pr24170.patch
    12.5 +
    12.6 +-= BEGIN original header =-
    12.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc43-pr24170.patch
    12.8 +http://gcc.gnu.org/PR24170
    12.9 +
   12.10 +2008-02-20  Tom Tromey  <tromey@redhat.com>
   12.11 +
   12.12 +	PR libgcj/24170:
   12.13 +	* java/io/natFilePosix.cc (File::performList): Don't use
   12.14 +	readdir_r.
   12.15 +	* configure, include/config.h.in: Rebuilt.
   12.16 +	* configure.ac: Don't check for readdir_r.
   12.17 +
   12.18 +-= END original header =-
   12.19 +
   12.20 +diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
   12.21 +--- gcc-4.3.3.orig/libjava/configure.ac	2009-01-27 22:19:16.000000000 +0100
   12.22 ++++ gcc-4.3.3/libjava/configure.ac	2009-01-27 22:19:36.000000000 +0100
   12.23 +@@ -1030,7 +1030,7 @@
   12.24 +    PLATFORMNET=NoNet
   12.25 + else
   12.26 +    AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
   12.27 +-                   localtime_r readdir_r getpwuid_r getcwd \
   12.28 ++                   localtime_r getpwuid_r getcwd \
   12.29 + 		   access stat lstat mkdir rename rmdir unlink utime chmod readlink \
   12.30 + 		   nl_langinfo setlocale \
   12.31 + 		   inet_pton uname inet_ntoa \
   12.32 +diff -durN gcc-4.3.3.orig/libjava/include/config.h.in gcc-4.3.3/libjava/include/config.h.in
   12.33 +--- gcc-4.3.3.orig/libjava/include/config.h.in	2007-07-31 18:17:21.000000000 +0200
   12.34 ++++ gcc-4.3.3/libjava/include/config.h.in	2009-01-27 22:19:36.000000000 +0100
   12.35 +@@ -214,9 +214,6 @@
   12.36 + /* Define to 1 if you have the <pwd.h> header file. */
   12.37 + #undef HAVE_PWD_H
   12.38 + 
   12.39 +-/* Define to 1 if you have the `readdir_r' function. */
   12.40 +-#undef HAVE_READDIR_R
   12.41 +-
   12.42 + /* Define to 1 if you have the `readlink' function. */
   12.43 + #undef HAVE_READLINK
   12.44 + 
   12.45 +diff -durN gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc gcc-4.3.3/libjava/java/io/natFilePosix.cc
   12.46 +--- gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc	2007-08-04 23:50:01.000000000 +0200
   12.47 ++++ gcc-4.3.3/libjava/java/io/natFilePosix.cc	2009-01-27 22:19:36.000000000 +0100
   12.48 +@@ -1,6 +1,6 @@
   12.49 + // natFile.cc - Native part of File class for POSIX.
   12.50 + 
   12.51 +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
   12.52 ++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
   12.53 +    Free Software Foundation
   12.54 + 
   12.55 +    This file is part of libgcj.
   12.56 +@@ -292,13 +292,7 @@
   12.57 + 
   12.58 +   java::util::ArrayList *list = new java::util::ArrayList ();
   12.59 +   struct dirent *d;
   12.60 +-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
   12.61 +-  int name_max = pathconf (buf, _PC_NAME_MAX);
   12.62 +-  char dbuf[sizeof (struct dirent) + name_max + 1];
   12.63 +-  while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
   12.64 +-#else /* HAVE_READDIR_R */
   12.65 +   while ((d = readdir (dir)) != NULL)
   12.66 +-#endif /* HAVE_READDIR_R */
   12.67 +     {
   12.68 +       // Omit "." and "..".
   12.69 +       if (d->d_name[0] == '.'
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/patches/gcc/4.3.5/210-noteGNUstack-00.patch	Sun Sep 19 18:37:18 2010 +0200
    13.3 @@ -0,0 +1,101 @@
    13.4 +Original patch from: ../4.3.2/210-noteGNUstack-00.patch
    13.5 +
    13.6 +-= BEGIN original header =-
    13.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
    13.8 +2004-09-20  Jakub Jelinek  <jakub@redhat.com>
    13.9 +
   13.10 +	* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
   13.11 +	on ppc64-linux.
   13.12 +
   13.13 +	* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
   13.14 +	ia64-linux.
   13.15 +	* config/ia64/crtbegin.asm: Likewise.
   13.16 +	* config/ia64/crtend.asm: Likewise.
   13.17 +	* config/ia64/crti.asm: Likewise.
   13.18 +	* config/ia64/crtn.asm: Likewise.
   13.19 +
   13.20 +2004-05-14  Jakub Jelinek  <jakub@redhat.com>
   13.21 +
   13.22 +	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
   13.23 +
   13.24 +-= END original header =-
   13.25 +
   13.26 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.3/gcc/config/ia64/crtbegin.asm
   13.27 +--- gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm	2005-09-27 02:52:24.000000000 +0200
   13.28 ++++ gcc-4.3.3/gcc/config/ia64/crtbegin.asm	2009-01-27 22:19:39.000000000 +0100
   13.29 +@@ -255,3 +255,7 @@
   13.30 + .weak __cxa_finalize
   13.31 + #endif
   13.32 + .weak _Jv_RegisterClasses
   13.33 ++
   13.34 ++#ifdef __linux__
   13.35 ++.section .note.GNU-stack; .previous
   13.36 ++#endif
   13.37 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtend.asm gcc-4.3.3/gcc/config/ia64/crtend.asm
   13.38 +--- gcc-4.3.3.orig/gcc/config/ia64/crtend.asm	2005-09-27 02:52:24.000000000 +0200
   13.39 ++++ gcc-4.3.3/gcc/config/ia64/crtend.asm	2009-01-27 22:19:39.000000000 +0100
   13.40 +@@ -122,3 +122,7 @@
   13.41 + 
   13.42 + 	br.ret.sptk.many rp
   13.43 + 	.endp __do_global_ctors_aux
   13.44 ++
   13.45 ++#ifdef __linux__
   13.46 ++.section .note.GNU-stack; .previous
   13.47 ++#endif
   13.48 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crti.asm gcc-4.3.3/gcc/config/ia64/crti.asm
   13.49 +--- gcc-4.3.3.orig/gcc/config/ia64/crti.asm	2005-06-25 03:22:41.000000000 +0200
   13.50 ++++ gcc-4.3.3/gcc/config/ia64/crti.asm	2009-01-27 22:19:39.000000000 +0100
   13.51 +@@ -64,3 +64,7 @@
   13.52 + 	.body
   13.53 + 
   13.54 + # end of crti.asm
   13.55 ++
   13.56 ++#ifdef __linux__
   13.57 ++.section .note.GNU-stack; .previous
   13.58 ++#endif
   13.59 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtn.asm gcc-4.3.3/gcc/config/ia64/crtn.asm
   13.60 +--- gcc-4.3.3.orig/gcc/config/ia64/crtn.asm	2005-06-25 03:22:41.000000000 +0200
   13.61 ++++ gcc-4.3.3/gcc/config/ia64/crtn.asm	2009-01-27 22:19:39.000000000 +0100
   13.62 +@@ -54,3 +54,7 @@
   13.63 + 	br.ret.sptk.many b0
   13.64 + 
   13.65 + # end of crtn.asm
   13.66 ++
   13.67 ++#ifdef __linux__
   13.68 ++.section .note.GNU-stack; .previous
   13.69 ++#endif
   13.70 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.3/gcc/config/ia64/lib1funcs.asm
   13.71 +--- gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm	2005-09-27 02:52:24.000000000 +0200
   13.72 ++++ gcc-4.3.3/gcc/config/ia64/lib1funcs.asm	2009-01-27 22:19:39.000000000 +0100
   13.73 +@@ -792,3 +792,7 @@
   13.74 + 	}
   13.75 + 	.endp __floattitf
   13.76 + #endif
   13.77 ++
   13.78 ++#ifdef __linux__
   13.79 ++.section .note.GNU-stack; .previous
   13.80 ++#endif
   13.81 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/linux.h gcc-4.3.3/gcc/config/ia64/linux.h
   13.82 +--- gcc-4.3.3.orig/gcc/config/ia64/linux.h	2006-12-12 16:15:19.000000000 +0100
   13.83 ++++ gcc-4.3.3/gcc/config/ia64/linux.h	2009-01-27 22:19:39.000000000 +0100
   13.84 +@@ -5,6 +5,8 @@
   13.85 + 
   13.86 + #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
   13.87 + 
   13.88 ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
   13.89 ++
   13.90 + /* This is for -profile to use -lc_p instead of -lc.  */
   13.91 + #undef CC1_SPEC
   13.92 + #define CC1_SPEC "%{profile:-p} %{G*}"
   13.93 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.3/gcc/config/rs6000/ppc-asm.h
   13.94 +--- gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h	2003-06-04 18:44:51.000000000 +0200
   13.95 ++++ gcc-4.3.3/gcc/config/rs6000/ppc-asm.h	2009-01-27 22:19:39.000000000 +0100
   13.96 +@@ -158,7 +158,7 @@
   13.97 + 	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
   13.98 + #endif
   13.99 + 
  13.100 +-#if defined __linux__ && !defined __powerpc64__
  13.101 ++#if defined __linux__
  13.102 + 	.section .note.GNU-stack
  13.103 + 	.previous
  13.104 + #endif
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/patches/gcc/4.3.5/220-noteGNUstack-01.patch	Sun Sep 19 18:37:18 2010 +0200
    14.3 @@ -0,0 +1,203 @@
    14.4 +Original patch from: ../4.3.2/220-noteGNUstack-01.patch
    14.5 +
    14.6 +-= BEGIN original header =-
    14.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch
    14.8 +2005-02-08  Jakub Jelinek  <jakub@redhat.com>
    14.9 +
   14.10 +	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
   14.11 +	* src/s390/sysv.S: Likewise.
   14.12 +	* src/powerpc/linux64.S: Likewise.
   14.13 +	* src/powerpc/linux64_closure.S: Likewise.
   14.14 +	* src/powerpc/ppc_closure.S: Likewise.
   14.15 +	* src/powerpc/sysv.S: Likewise.
   14.16 +	* src/x86/unix64.S: Likewise.
   14.17 +	* src/x86/sysv.S: Likewise.
   14.18 +	* src/sparc/v8.S: Likewise.
   14.19 +	* src/sparc/v9.S: Likewise.
   14.20 +	* src/m68k/sysv.S: Likewise.
   14.21 +	* src/ia64/unix.S: Likewise.
   14.22 +	* src/arm/sysv.S: Likewise.
   14.23 +
   14.24 +	* ia64_save_regs_in_stack.s: Moved to...
   14.25 +	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
   14.26 +	on Linux.
   14.27 +
   14.28 +-= END original header =-
   14.29 +
   14.30 +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
   14.31 +--- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S	1970-01-01 01:00:00.000000000 +0100
   14.32 ++++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S	2009-01-27 22:25:27.000000000 +0100
   14.33 +@@ -0,0 +1,15 @@
   14.34 ++        .text
   14.35 ++        .align 16
   14.36 ++        .global GC_save_regs_in_stack
   14.37 ++        .proc GC_save_regs_in_stack
   14.38 ++GC_save_regs_in_stack:
   14.39 ++        .bodyfoo.mpg
   14.40 ++        flushrs
   14.41 ++        ;;
   14.42 ++        mov r8=ar.bsp
   14.43 ++        br.ret.sptk.few rp
   14.44 ++        .endp GC_save_regs_in_stack
   14.45 ++
   14.46 ++#ifdef __linux__
   14.47 ++	.section .note.GNU-stack,"",@progbits
   14.48 ++#endif
   14.49 +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
   14.50 +--- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s	2001-10-15 06:57:59.000000000 +0200
   14.51 ++++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s	1970-01-01 01:00:00.000000000 +0100
   14.52 +@@ -1,12 +0,0 @@
   14.53 +-        .text
   14.54 +-        .align 16
   14.55 +-        .global GC_save_regs_in_stack
   14.56 +-        .proc GC_save_regs_in_stack
   14.57 +-GC_save_regs_in_stack:
   14.58 +-        .body
   14.59 +-        flushrs
   14.60 +-        ;;
   14.61 +-        mov r8=ar.bsp
   14.62 +-        br.ret.sptk.few rp
   14.63 +-        .endp GC_save_regs_in_stack
   14.64 +-
   14.65 +diff -durN gcc-4.3.3.orig/libffi/src/alpha/osf.S gcc-4.3.3/libffi/src/alpha/osf.S
   14.66 +--- gcc-4.3.3.orig/libffi/src/alpha/osf.S	2007-04-06 18:24:16.000000000 +0200
   14.67 ++++ gcc-4.3.3/libffi/src/alpha/osf.S	2009-01-27 22:25:27.000000000 +0100
   14.68 +@@ -358,4 +358,8 @@
   14.69 + 	.byte	16		# uleb128 offset 16*-8
   14.70 + 	.align 3
   14.71 + $LEFDE3:
   14.72 ++
   14.73 ++#ifdef __linux__
   14.74 ++	.section	.note.GNU-stack,"",@progbits
   14.75 ++#endif
   14.76 + #endif
   14.77 +diff -durN gcc-4.3.3.orig/libffi/src/arm/sysv.S gcc-4.3.3/libffi/src/arm/sysv.S
   14.78 +--- gcc-4.3.3.orig/libffi/src/arm/sysv.S	2007-09-04 19:52:45.000000000 +0200
   14.79 ++++ gcc-4.3.3/libffi/src/arm/sysv.S	2009-01-27 22:25:27.000000000 +0100
   14.80 +@@ -293,3 +293,6 @@
   14.81 + 	UNWIND .fnend
   14.82 +         .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
   14.83 + 
   14.84 ++#if defined __ELF__ && defined __linux__
   14.85 ++	.section	.note.GNU-stack,"",%progbits
   14.86 ++#endif
   14.87 +diff -durN gcc-4.3.3.orig/libffi/src/ia64/unix.S gcc-4.3.3/libffi/src/ia64/unix.S
   14.88 +--- gcc-4.3.3.orig/libffi/src/ia64/unix.S	2005-03-30 23:49:19.000000000 +0200
   14.89 ++++ gcc-4.3.3/libffi/src/ia64/unix.S	2009-01-27 22:25:27.000000000 +0100
   14.90 +@@ -553,3 +553,7 @@
   14.91 + 	data8	@pcrel(.Lld_hfa_float)		// FFI_IA64_TYPE_HFA_FLOAT
   14.92 + 	data8	@pcrel(.Lld_hfa_double)		// FFI_IA64_TYPE_HFA_DOUBLE
   14.93 + 	data8	@pcrel(.Lld_hfa_ldouble)	// FFI_IA64_TYPE_HFA_LDOUBLE
   14.94 ++
   14.95 ++#if defined __ELF__ && defined __linux__
   14.96 ++	.section	.note.GNU-stack,"",@progbits
   14.97 ++#endif
   14.98 +diff -durN gcc-4.3.3.orig/libffi/src/m68k/sysv.S gcc-4.3.3/libffi/src/m68k/sysv.S
   14.99 +--- gcc-4.3.3.orig/libffi/src/m68k/sysv.S	2007-05-10 23:29:04.000000000 +0200
  14.100 ++++ gcc-4.3.3/libffi/src/m68k/sysv.S	2009-01-27 22:25:27.000000000 +0100
  14.101 +@@ -207,3 +207,7 @@
  14.102 + 	rts
  14.103 + 	CFI_ENDPROC()
  14.104 + 	.size	ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
  14.105 ++
  14.106 ++#if defined __ELF__ && defined __linux__
  14.107 ++	.section	.note.GNU-stack,"",@progbits
  14.108 ++#endif
  14.109 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64.S gcc-4.3.3/libffi/src/powerpc/linux64.S
  14.110 +--- gcc-4.3.3.orig/libffi/src/powerpc/linux64.S	2007-11-17 00:24:53.000000000 +0100
  14.111 ++++ gcc-4.3.3/libffi/src/powerpc/linux64.S	2009-01-27 22:25:27.000000000 +0100
  14.112 +@@ -179,3 +179,7 @@
  14.113 + 	.align 3
  14.114 + .LEFDE1:
  14.115 + #endif
  14.116 ++
  14.117 ++#if defined __ELF__ && defined __linux__
  14.118 ++	.section	.note.GNU-stack,"",@progbits
  14.119 ++#endif
  14.120 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.3/libffi/src/powerpc/linux64_closure.S
  14.121 +--- gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S	2005-08-11 23:18:24.000000000 +0200
  14.122 ++++ gcc-4.3.3/libffi/src/powerpc/linux64_closure.S	2009-01-27 22:25:27.000000000 +0100
  14.123 +@@ -204,3 +204,7 @@
  14.124 + 	.align 3
  14.125 + .LEFDE1:
  14.126 + #endif
  14.127 ++
  14.128 ++#if defined __ELF__ && defined __linux__
  14.129 ++	.section	.note.GNU-stack,"",@progbits
  14.130 ++#endif
  14.131 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.3/libffi/src/powerpc/ppc_closure.S
  14.132 +--- gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S	2007-12-01 22:00:04.000000000 +0100
  14.133 ++++ gcc-4.3.3/libffi/src/powerpc/ppc_closure.S	2009-01-27 22:25:27.000000000 +0100
  14.134 +@@ -295,3 +295,7 @@
  14.135 + .LEFDE1:
  14.136 + 
  14.137 + #endif
  14.138 ++
  14.139 ++#if defined __ELF__ && defined __linux__
  14.140 ++	.section	.note.GNU-stack,"",@progbits
  14.141 ++#endif
  14.142 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/sysv.S gcc-4.3.3/libffi/src/powerpc/sysv.S
  14.143 +--- gcc-4.3.3.orig/libffi/src/powerpc/sysv.S	2007-12-01 22:00:04.000000000 +0100
  14.144 ++++ gcc-4.3.3/libffi/src/powerpc/sysv.S	2009-01-27 22:25:27.000000000 +0100
  14.145 +@@ -223,3 +223,7 @@
  14.146 +       .align 2
  14.147 + .LEFDE1:
  14.148 + #endif
  14.149 ++
  14.150 ++#if defined __ELF__ && defined __linux__
  14.151 ++	.section	.note.GNU-stack,"",@progbits
  14.152 ++#endif
  14.153 +diff -durN gcc-4.3.3.orig/libffi/src/s390/sysv.S gcc-4.3.3/libffi/src/s390/sysv.S
  14.154 +--- gcc-4.3.3.orig/libffi/src/s390/sysv.S	2003-10-21 21:01:58.000000000 +0200
  14.155 ++++ gcc-4.3.3/libffi/src/s390/sysv.S	2009-01-27 22:25:27.000000000 +0100
  14.156 +@@ -427,3 +427,6 @@
  14.157 + 
  14.158 + #endif
  14.159 + 
  14.160 ++#if defined __ELF__ && defined __linux__
  14.161 ++	.section	.note.GNU-stack,"",@progbits
  14.162 ++#endif
  14.163 +diff -durN gcc-4.3.3.orig/libffi/src/sparc/v8.S gcc-4.3.3/libffi/src/sparc/v8.S
  14.164 +--- gcc-4.3.3.orig/libffi/src/sparc/v8.S	2008-11-21 23:13:13.000000000 +0100
  14.165 ++++ gcc-4.3.3/libffi/src/sparc/v8.S	2009-01-27 22:25:27.000000000 +0100
  14.166 +@@ -306,3 +306,7 @@
  14.167 + 	.byte	0x1f	! uleb128 0x1f
  14.168 + 	.align	WS
  14.169 + .LLEFDE2:
  14.170 ++
  14.171 ++#if defined __ELF__ && defined __linux__
  14.172 ++	.section	.note.GNU-stack,"",@progbits
  14.173 ++#endif
  14.174 +diff -durN gcc-4.3.3.orig/libffi/src/sparc/v9.S gcc-4.3.3/libffi/src/sparc/v9.S
  14.175 +--- gcc-4.3.3.orig/libffi/src/sparc/v9.S	2004-01-25 07:58:33.000000000 +0100
  14.176 ++++ gcc-4.3.3/libffi/src/sparc/v9.S	2009-01-27 22:25:27.000000000 +0100
  14.177 +@@ -300,3 +300,7 @@
  14.178 + 	.align 8
  14.179 + .LLEFDE2:
  14.180 + #endif
  14.181 ++
  14.182 ++#ifdef __linux__
  14.183 ++	.section	.note.GNU-stack,"",@progbits
  14.184 ++#endif
  14.185 +diff -durN gcc-4.3.3.orig/libffi/src/x86/sysv.S gcc-4.3.3/libffi/src/x86/sysv.S
  14.186 +--- gcc-4.3.3.orig/libffi/src/x86/sysv.S	2008-01-30 15:36:58.000000000 +0100
  14.187 ++++ gcc-4.3.3/libffi/src/x86/sysv.S	2009-01-27 22:25:27.000000000 +0100
  14.188 +@@ -430,3 +430,7 @@
  14.189 + #endif
  14.190 + 
  14.191 + #endif /* ifndef __x86_64__ */
  14.192 ++
  14.193 ++#if defined __ELF__ && defined __linux__
  14.194 ++	.section	.note.GNU-stack,"",@progbits
  14.195 ++#endif
  14.196 +diff -durN gcc-4.3.3.orig/libffi/src/x86/unix64.S gcc-4.3.3/libffi/src/x86/unix64.S
  14.197 +--- gcc-4.3.3.orig/libffi/src/x86/unix64.S	2005-05-05 06:06:38.000000000 +0200
  14.198 ++++ gcc-4.3.3/libffi/src/x86/unix64.S	2009-01-27 22:25:27.000000000 +0100
  14.199 +@@ -410,3 +410,7 @@
  14.200 + .LEFDE3:
  14.201 + 
  14.202 + #endif /* __x86_64__ */
  14.203 ++
  14.204 ++#if defined __ELF__ && defined __linux__
  14.205 ++	.section	.note.GNU-stack,"",@progbits
  14.206 ++#endif
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/patches/gcc/4.3.5/230-pr34571.patch	Sun Sep 19 18:37:18 2010 +0200
    15.3 @@ -0,0 +1,28 @@
    15.4 +Original patch from: ../4.3.2/230-pr34571.patch
    15.5 +
    15.6 +-= BEGIN original header =-
    15.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/64_all_gcc43-pr34571.patch
    15.8 +http://gcc.gnu.org/PR34571
    15.9 +
   15.10 +2007-12-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
   15.11 +
   15.12 +	PR target/34571
   15.13 +	* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
   15.14 +	symbolic_operand.
   15.15 +	* varasm.c (output_constant_pool_1): Fix typo.
   15.16 +
   15.17 +-= END original header =-
   15.18 +
   15.19 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.c gcc-4.3.3/gcc/config/alpha/alpha.c
   15.20 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.c	2008-09-09 01:16:55.000000000 +0200
   15.21 ++++ gcc-4.3.3/gcc/config/alpha/alpha.c	2009-01-27 22:25:29.000000000 +0100
   15.22 +@@ -1113,8 +1113,7 @@
   15.23 + static bool
   15.24 + alpha_cannot_force_const_mem (rtx x)
   15.25 + {
   15.26 +-  enum rtx_code code = GET_CODE (x);
   15.27 +-  return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
   15.28 ++  return symbolic_operand (x, GET_MODE (x));
   15.29 + }
   15.30 + 
   15.31 + /* We do not allow indirect calls to be optimized into sibling calls, nor
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/patches/gcc/4.3.5/240-pr25343.patch	Sun Sep 19 18:37:18 2010 +0200
    16.3 @@ -0,0 +1,26 @@
    16.4 +Original patch from: ../4.3.2/240-pr25343.patch
    16.5 +
    16.6 +-= BEGIN original header =-
    16.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/66_all_gcc43-pr25343.patch
    16.8 +http://gcc.gnu.org/PR25343
    16.9 +
   16.10 +sniped from Debian
   16.11 +
   16.12 +2008-04-27  Roman Zippel <zippel@linux-m68k.org>
   16.13 +
   16.14 +	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
   16.15 +
   16.16 +-= END original header =-
   16.17 +
   16.18 +diff -durN gcc-4.3.3.orig/gcc/config/host-linux.c gcc-4.3.3/gcc/config/host-linux.c
   16.19 +--- gcc-4.3.3.orig/gcc/config/host-linux.c	2007-08-02 12:49:31.000000000 +0200
   16.20 ++++ gcc-4.3.3/gcc/config/host-linux.c	2009-01-27 22:25:31.000000000 +0100
   16.21 +@@ -84,6 +84,8 @@
   16.22 + # define TRY_EMPTY_VM_SPACE	0x8000000000
   16.23 + #elif defined(__sparc__)
   16.24 + # define TRY_EMPTY_VM_SPACE	0x60000000
   16.25 ++#elif defined(__mc68000__)
   16.26 ++# define TRY_EMPTY_VM_SPACE	0x40000000
   16.27 + #else
   16.28 + # define TRY_EMPTY_VM_SPACE	0
   16.29 + #endif
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/patches/gcc/4.3.5/250-sh-pr24836.patch	Sun Sep 19 18:37:18 2010 +0200
    17.3 @@ -0,0 +1,33 @@
    17.4 +Original patch from: ../4.3.2/250-sh-pr24836.patch
    17.5 +
    17.6 +-= BEGIN original header =-
    17.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/74_all_sh-pr24836.patch
    17.8 +http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
    17.9 +http://gcc.gnu.org/PR24836
   17.10 +
   17.11 +-= END original header =-
   17.12 +
   17.13 +diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
   17.14 +--- gcc-4.3.3.orig/gcc/configure	2009-01-27 22:19:18.000000000 +0100
   17.15 ++++ gcc-4.3.3/gcc/configure	2009-01-27 22:25:33.000000000 +0100
   17.16 +@@ -20689,7 +20689,7 @@
   17.17 + 	tls_first_minor=14
   17.18 + 	tls_as_opt="-m64 -Aesame --fatal-warnings"
   17.19 + 	;;
   17.20 +-  sh-*-* | sh[34]-*-*)
   17.21 ++  sh-*-* | sh[34]*-*-*)
   17.22 +     conftest_s='
   17.23 + 	.section ".tdata","awT",@progbits
   17.24 + foo:	.long	25
   17.25 +diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
   17.26 +--- gcc-4.3.3.orig/gcc/configure.ac	2009-01-27 22:19:18.000000000 +0100
   17.27 ++++ gcc-4.3.3/gcc/configure.ac	2009-01-27 22:25:33.000000000 +0100
   17.28 +@@ -2552,7 +2552,7 @@
   17.29 + 	tls_first_minor=14
   17.30 + 	tls_as_opt="-m64 -Aesame --fatal-warnings"
   17.31 + 	;;
   17.32 +-  sh-*-* | sh[34]-*-*)
   17.33 ++  sh-*-* | sh[34]*-*-*)
   17.34 +     conftest_s='
   17.35 + 	.section ".tdata","awT",@progbits
   17.36 + foo:	.long	25
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/patches/gcc/4.3.5/260-uclibc-conf-noupstream.patch	Sun Sep 19 18:37:18 2010 +0200
    18.3 @@ -0,0 +1,18 @@
    18.4 +Original patch from: ../4.3.2/260-uclibc-conf-noupstream.patch
    18.5 +
    18.6 +-= BEGIN original header =-
    18.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_103-uclibc-conf-noupstream.patch
    18.8 +-= END original header =-
    18.9 +
   18.10 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
   18.11 +--- gcc-4.3.3.orig/gcc/config.gcc	2009-01-27 22:19:34.000000000 +0100
   18.12 ++++ gcc-4.3.3/gcc/config.gcc	2009-01-27 22:25:35.000000000 +0100
   18.13 +@@ -2146,7 +2146,7 @@
   18.14 +         ;;
   18.15 + sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
   18.16 + sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
   18.17 +-  sh-*-linux* | sh[346lbe]*-*-linux* | \
   18.18 ++  sh*-*-linux* | sh[346lbe]*-*-linux* | \
   18.19 +   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
   18.20 +    sh64-*-netbsd* | sh64l*-*-netbsd*)
   18.21 + 	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/patches/gcc/4.3.5/270-missing-execinfo_h.patch	Sun Sep 19 18:37:18 2010 +0200
    19.3 @@ -0,0 +1,18 @@
    19.4 +Original patch from: ../4.3.2/270-missing-execinfo_h.patch
    19.5 +
    19.6 +-= BEGIN original header =-
    19.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_301-missing-execinfo_h.patch
    19.8 +-= END original header =-
    19.9 +
   19.10 +diff -durN gcc-4.3.3.orig/boehm-gc/include/gc.h gcc-4.3.3/boehm-gc/include/gc.h
   19.11 +--- gcc-4.3.3.orig/boehm-gc/include/gc.h	2007-04-23 23:10:09.000000000 +0200
   19.12 ++++ gcc-4.3.3/boehm-gc/include/gc.h	2009-01-27 22:25:37.000000000 +0100
   19.13 +@@ -503,7 +503,7 @@
   19.14 + #if defined(__linux__) || defined(__GLIBC__)
   19.15 + # include <features.h>
   19.16 + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
   19.17 +-     && !defined(__ia64__)
   19.18 ++     && !defined(__ia64__) && !defined(__UCLIBC__)
   19.19 + #   ifndef GC_HAVE_BUILTIN_BACKTRACE
   19.20 + #     define GC_HAVE_BUILTIN_BACKTRACE
   19.21 + #   endif
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/patches/gcc/4.3.5/280-c99-complex-ugly-hack.patch	Sun Sep 19 18:37:18 2010 +0200
    20.3 @@ -0,0 +1,19 @@
    20.4 +Original patch from: ../4.3.2/280-c99-complex-ugly-hack.patch
    20.5 +
    20.6 +-= BEGIN original header =-
    20.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_303-c99-complex-ugly-hack.patch
    20.8 +-= END original header =-
    20.9 +
   20.10 +diff -durN gcc-4.3.3.orig/libstdc++-v3/configure gcc-4.3.3/libstdc++-v3/configure
   20.11 +--- gcc-4.3.3.orig/libstdc++-v3/configure	2008-07-07 21:49:54.000000000 +0200
   20.12 ++++ gcc-4.3.3/libstdc++-v3/configure	2009-01-27 22:25:39.000000000 +0100
   20.13 +@@ -38935,6 +38935,9 @@
   20.14 + cat >>conftest.$ac_ext <<_ACEOF
   20.15 + /* end confdefs.h.  */
   20.16 + #include <complex.h>
   20.17 ++#ifdef __UCLIBC__
   20.18 ++#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
   20.19 ++#endif
   20.20 + int
   20.21 + main ()
   20.22 + {
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/patches/gcc/4.3.5/290-index_macro.patch	Sun Sep 19 18:37:18 2010 +0200
    21.3 @@ -0,0 +1,32 @@
    21.4 +Original patch from: ../4.3.2/290-index_macro.patch
    21.5 +
    21.6 +-= BEGIN original header =-
    21.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
    21.8 +-= END original header =-
    21.9 +
   21.10 +diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/rope gcc-4.3.3/libstdc++-v3/include/ext/rope
   21.11 +--- gcc-4.3.3.orig/libstdc++-v3/include/ext/rope	2008-07-15 12:14:51.000000000 +0200
   21.12 ++++ gcc-4.3.3/libstdc++-v3/include/ext/rope	2009-01-27 22:25:41.000000000 +0100
   21.13 +@@ -59,6 +59,9 @@
   21.14 + #include <bits/gthr.h>
   21.15 + #include <tr1/functional>
   21.16 + 
   21.17 ++/* cope w/ index defined as macro, SuSv3 proposal */
   21.18 ++#undef index
   21.19 ++
   21.20 + # ifdef __GC
   21.21 + #   define __GC_CONST const
   21.22 + # else
   21.23 +diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h
   21.24 +--- gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h	2007-05-04 17:06:46.000000000 +0200
   21.25 ++++ gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h	2009-01-27 22:25:41.000000000 +0100
   21.26 +@@ -54,6 +54,9 @@
   21.27 + #include <ext/memory> // For uninitialized_copy_n
   21.28 + #include <ext/numeric> // For power
   21.29 + 
   21.30 ++/* cope w/ index defined as macro, SuSv3 proposal */
   21.31 ++#undef index
   21.32 ++
   21.33 + _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
   21.34 + 
   21.35 +   using std::size_t;
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/patches/gcc/4.3.5/300-libmudflap-susv3-legacy.patch	Sun Sep 19 18:37:18 2010 +0200
    22.3 @@ -0,0 +1,54 @@
    22.4 +Original patch from: ../4.3.2/300-libmudflap-susv3-legacy.patch
    22.5 +
    22.6 +-= BEGIN original header =-
    22.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
    22.8 +-= END original header =-
    22.9 +
   22.10 +diff -durN gcc-4.3.3.orig/libmudflap/mf-hooks2.c gcc-4.3.3/libmudflap/mf-hooks2.c
   22.11 +--- gcc-4.3.3.orig/libmudflap/mf-hooks2.c	2005-09-23 23:58:39.000000000 +0200
   22.12 ++++ gcc-4.3.3/libmudflap/mf-hooks2.c	2009-01-27 22:25:45.000000000 +0100
   22.13 +@@ -427,7 +427,7 @@
   22.14 + {
   22.15 +   TRACE ("%s\n", __PRETTY_FUNCTION__);
   22.16 +   MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
   22.17 +-  bzero (s, n);
   22.18 ++  memset (s, 0, n);
   22.19 + }
   22.20 + 
   22.21 + 
   22.22 +@@ -437,7 +437,7 @@
   22.23 +   TRACE ("%s\n", __PRETTY_FUNCTION__);
   22.24 +   MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
   22.25 +   MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
   22.26 +-  bcopy (src, dest, n);
   22.27 ++  memmove (dest, src, n);
   22.28 + }
   22.29 + 
   22.30 + 
   22.31 +@@ -447,7 +447,7 @@
   22.32 +   TRACE ("%s\n", __PRETTY_FUNCTION__);
   22.33 +   MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
   22.34 +   MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
   22.35 +-  return bcmp (s1, s2, n);
   22.36 ++  return memcmp (s1, s2, n);
   22.37 + }
   22.38 + 
   22.39 + 
   22.40 +@@ -456,7 +456,7 @@
   22.41 +   size_t n = strlen (s);
   22.42 +   TRACE ("%s\n", __PRETTY_FUNCTION__);
   22.43 +   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
   22.44 +-  return index (s, c);
   22.45 ++  return strchr (s, c);
   22.46 + }
   22.47 + 
   22.48 + 
   22.49 +@@ -465,7 +465,7 @@
   22.50 +   size_t n = strlen (s);
   22.51 +   TRACE ("%s\n", __PRETTY_FUNCTION__);
   22.52 +   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
   22.53 +-  return rindex (s, c);
   22.54 ++  return strrchr (s, c);
   22.55 + }
   22.56 + 
   22.57 + /* XXX:  stpcpy, memccpy */
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/patches/gcc/4.3.5/310-arm-softfloat.patch	Sun Sep 19 18:37:18 2010 +0200
    23.3 @@ -0,0 +1,34 @@
    23.4 +Original patch from: ../4.3.2/310-arm-softfloat.patch
    23.5 +
    23.6 +-= BEGIN original header =-
    23.7 +-= END original header =-
    23.8 +
    23.9 +diff -durN gcc-4.3.3.orig/gcc/config/arm/linux-elf.h gcc-4.3.3/gcc/config/arm/linux-elf.h
   23.10 +--- gcc-4.3.3.orig/gcc/config/arm/linux-elf.h	2007-11-08 14:44:09.000000000 +0100
   23.11 ++++ gcc-4.3.3/gcc/config/arm/linux-elf.h	2009-01-27 22:25:47.000000000 +0100
   23.12 +@@ -60,7 +60,7 @@
   23.13 +    %{shared:-lc} \
   23.14 +    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
   23.15 + 
   23.16 +-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
   23.17 ++#define LIBGCC_SPEC "-lgcc"
   23.18 + 
   23.19 + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
   23.20 + 
   23.21 +diff -durN gcc-4.3.3.orig/gcc/config/arm/t-linux gcc-4.3.3/gcc/config/arm/t-linux
   23.22 +--- gcc-4.3.3.orig/gcc/config/arm/t-linux	2006-11-09 23:14:27.000000000 +0100
   23.23 ++++ gcc-4.3.3/gcc/config/arm/t-linux	2009-01-27 22:25:47.000000000 +0100
   23.24 +@@ -3,7 +3,12 @@
   23.25 + TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
   23.26 + 
   23.27 + LIB1ASMSRC = arm/lib1funcs.asm
   23.28 +-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
   23.29 ++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
   23.30 ++	_call_via_rX _interwork_call_via_rX \
   23.31 ++	_lshrdi3 _ashrdi3 _ashldi3 \
   23.32 ++	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
   23.33 ++	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
   23.34 ++	_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
   23.35 + 
   23.36 + # MULTILIB_OPTIONS = mhard-float/msoft-float
   23.37 + # MULTILIB_DIRNAMES = hard-float soft-float
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/patches/gcc/4.3.5/320-alpha-signal_h.patch	Sun Sep 19 18:37:18 2010 +0200
    24.3 @@ -0,0 +1,23 @@
    24.4 +Original patch from: ../4.3.2/320-alpha-signal_h.patch
    24.5 +
    24.6 +-= BEGIN original header =-
    24.7 +-= END original header =-
    24.8 +
    24.9 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h gcc-4.3.3/gcc/config/alpha/linux-unwind.h
   24.10 +--- gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h	2006-10-26 21:31:09.000000000 +0200
   24.11 ++++ gcc-4.3.3/gcc/config/alpha/linux-unwind.h	2009-01-27 22:25:49.000000000 +0100
   24.12 +@@ -29,6 +29,9 @@
   24.13 + /* Do code reading to identify a signal frame, and set the frame
   24.14 +    state data appropriately.  See unwind-dw2.c for the structs.  */
   24.15 + 
   24.16 ++/* Don't use this if inhibit_libc is set
   24.17 ++   The build for this target will fail trying to include missing headers */
   24.18 ++#ifndef inhibit_libc
   24.19 + #include <signal.h>
   24.20 + #include <sys/ucontext.h>
   24.21 + 
   24.22 +@@ -80,3 +83,4 @@
   24.23 +   fs->retaddr_column = 64;
   24.24 +   return _URC_NO_REASON;
   24.25 + }
   24.26 ++#endif /* inhibit_libc */
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/patches/gcc/4.3.5/330-unwind-for-uClibc.patch	Sun Sep 19 18:37:18 2010 +0200
    25.3 @@ -0,0 +1,30 @@
    25.4 +Original patch from: ../4.3.2/330-unwind-for-uClibc.patch
    25.5 +
    25.6 +-= BEGIN original header =-
    25.7 +-= END original header =-
    25.8 +
    25.9 +diff -durN gcc-4.3.3.orig/gcc/config/t-linux-uclibc gcc-4.3.3/gcc/config/t-linux-uclibc
   25.10 +--- gcc-4.3.3.orig/gcc/config/t-linux-uclibc	1970-01-01 01:00:00.000000000 +0100
   25.11 ++++ gcc-4.3.3/gcc/config/t-linux-uclibc	2009-01-27 22:28:53.000000000 +0100
   25.12 +@@ -0,0 +1,5 @@
   25.13 ++# Remove glibc specific files added in t-linux
   25.14 ++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
   25.15 ++
   25.16 ++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
   25.17 ++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
   25.18 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
   25.19 +--- gcc-4.3.3.orig/gcc/config.gcc	2009-01-27 22:25:37.000000000 +0100
   25.20 ++++ gcc-4.3.3/gcc/config.gcc	2009-01-27 22:28:53.000000000 +0100
   25.21 +@@ -2648,6 +2648,12 @@
   25.22 + 	;;
   25.23 + esac
   25.24 + 
   25.25 ++# Rather than hook into each target, just do it after all the linux
   25.26 ++# targets have been processed
   25.27 ++case ${target} in
   25.28 ++  *-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc";;
   25.29 ++esac
   25.30 ++
   25.31 + case ${target} in
   25.32 + i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
   25.33 + 	tmake_file="${tmake_file} i386/t-gmm_malloc"
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/patches/gcc/4.3.5/340-make-mno-spe-work-as-expected.patch	Sun Sep 19 18:37:18 2010 +0200
    26.3 @@ -0,0 +1,90 @@
    26.4 +Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
    26.5 +
    26.6 +-= BEGIN original header =-
    26.7 +2008-04-03  Nathan Froyd  <froydnj@codesourcery.com>
    26.8 +            Nathan Sidwell  <nathan@codesourcery.com>
    26.9 +
   26.10 +        * config/rs6000/rs6000.opt (mspe): Remove Var property.
   26.11 +        (misel): Likewise.
   26.12 +        * config/rs6000/rs6000.h (rs6000_spe): Declare.
   26.13 +        (rs6000_isel): Likewise.
   26.14 +        * config/rs6000/rs6000.c (rs6000_spe): New variable.
   26.15 +        (rs6000_isel): New variable.
   26.16 +        (rs6000_handle_option): Handle OPT_mspe and OPT_misel.                                                                                         
   26.17 +
   26.18 +-= END original header =-
   26.19 +
   26.20 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c gcc-4.3.3/gcc/config/rs6000/rs6000.c
   26.21 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c	2008-11-18 23:07:58.000000000 +0100
   26.22 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.c	2009-01-27 22:28:55.000000000 +0100
   26.23 +@@ -174,9 +174,15 @@
   26.24 + /* Nonzero to use AltiVec ABI.  */
   26.25 + int rs6000_altivec_abi;
   26.26 + 
   26.27 ++/* Nonzero if we want SPE SIMD instructions.  */
   26.28 ++int rs6000_spe;
   26.29 ++
   26.30 + /* Nonzero if we want SPE ABI extensions.  */
   26.31 + int rs6000_spe_abi;
   26.32 + 
   26.33 ++/* Nonzero to use isel instructions.  */
   26.34 ++int rs6000_isel;
   26.35 ++
   26.36 + /* Nonzero if floating point operations are done in the GPRs.  */
   26.37 + int rs6000_float_gprs = 0;
   26.38 + 
   26.39 +@@ -2144,11 +2150,21 @@
   26.40 +       rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
   26.41 +       break;
   26.42 + 
   26.43 ++    case OPT_misel:
   26.44 ++      rs6000_explicit_options.isel = true;
   26.45 ++      rs6000_isel = value;
   26.46 ++      break;
   26.47 ++
   26.48 +     case OPT_misel_:
   26.49 +       rs6000_explicit_options.isel = true;
   26.50 +       rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
   26.51 +       break;
   26.52 + 
   26.53 ++    case OPT_mspe:
   26.54 ++      rs6000_explicit_options.spe = true;
   26.55 ++      rs6000_spe = value;
   26.56 ++      break;
   26.57 ++
   26.58 +     case OPT_mspe_:
   26.59 +       rs6000_explicit_options.spe = true;
   26.60 +       rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
   26.61 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h gcc-4.3.3/gcc/config/rs6000/rs6000.h
   26.62 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h	2008-01-26 18:18:35.000000000 +0100
   26.63 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.h	2009-01-27 22:28:55.000000000 +0100
   26.64 +@@ -349,6 +349,8 @@
   26.65 + extern int rs6000_ieeequad;
   26.66 + extern int rs6000_altivec_abi;
   26.67 + extern int rs6000_spe_abi;
   26.68 ++extern int rs6000_spe;
   26.69 ++extern int rs6000_isel;
   26.70 + extern int rs6000_float_gprs;
   26.71 + extern int rs6000_alignment_flags;
   26.72 + extern const char *rs6000_sched_insert_nops_str;
   26.73 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.3/gcc/config/rs6000/rs6000.opt
   26.74 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt	2007-10-31 08:56:01.000000000 +0100
   26.75 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.opt	2009-01-27 22:28:55.000000000 +0100
   26.76 +@@ -190,7 +190,7 @@
   26.77 + -mvrsave=yes/no	Deprecated option.  Use -mvrsave/-mno-vrsave instead
   26.78 + 
   26.79 + misel
   26.80 +-Target Var(rs6000_isel)
   26.81 ++Target
   26.82 + Generate isel instructions
   26.83 + 
   26.84 + misel=
   26.85 +@@ -198,7 +198,7 @@
   26.86 + -misel=yes/no	Deprecated option.  Use -misel/-mno-isel instead
   26.87 + 
   26.88 + mspe
   26.89 +-Target Var(rs6000_spe)
   26.90 ++Target
   26.91 + Generate SPE SIMD instructions on E500
   26.92 + 
   26.93 + mpaired
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/patches/gcc/4.3.5/350-sh-without-headers.patch	Sun Sep 19 18:37:18 2010 +0200
    27.3 @@ -0,0 +1,29 @@
    27.4 +Original patch from: ../4.3.2/350-sh-without-headers.patch
    27.5 +
    27.6 +-= BEGIN original header =-
    27.7 +On 20081011, Khem RAJ writes:
    27.8 + You have to bar gcc trying to build unwinding at stage 1. Try the
    27.9 + attached patch and see if it helps.
   27.10 +
   27.11 + gcc/config/sh/linux-unwind.h |    3 +++
   27.12 + 1 file changed, 3 insertions(+)
   27.13 +
   27.14 +-= END original header =-
   27.15 +
   27.16 +diff -durN gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h gcc-4.3.3/gcc/config/sh/linux-unwind.h
   27.17 +--- gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h	2007-09-12 08:59:06.000000000 +0200
   27.18 ++++ gcc-4.3.3/gcc/config/sh/linux-unwind.h	2009-01-27 22:28:57.000000000 +0100
   27.19 +@@ -26,6 +26,8 @@
   27.20 + the Free Software Foundation, 51 Franklin Street, Fifth Floor,
   27.21 + Boston, MA 02110-1301, USA.  */
   27.22 + 
   27.23 ++#ifndef inhibit_libc
   27.24 ++
   27.25 + /* Do code reading to identify a signal frame, and set the frame
   27.26 +    state data appropriately.  See unwind-dw2.c for the structs.  */
   27.27 + 
   27.28 +@@ -251,3 +253,4 @@
   27.29 +   return _URC_NO_REASON;
   27.30 + }
   27.31 + #endif /* defined (__SH5__) */
   27.32 ++#endif /* ifndef inhibit_libc */
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/patches/gcc/4.3.5/380-pr37436.patch	Sun Sep 19 18:37:18 2010 +0200
    28.3 @@ -0,0 +1,86 @@
    28.4 +gcc svn 142778:
    28.5 +
    28.6 +PR target/37436
    28.7 +* arm.c (arm_legitimate_index): Only accept addresses that are in
    28.8 +canonical form.
    28.9 +* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
   28.10 +* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
   28.11 +for operand1.
   28.12 +(extendqisi2): Likewise.
   28.13 +(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
   28.14 +predicate for operand1.
   28.15 +
   28.16 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.c gcc-4.3.3/gcc/config/arm/arm.c
   28.17 +--- gcc-4.3.3.orig/gcc/config/arm/arm.c	2008-06-11 07:52:55.000000000 -0300
   28.18 ++++ gcc-4.3.3/gcc/config/arm/arm.c	2009-05-21 16:06:45.000000000 -0300
   28.19 +@@ -3769,6 +3769,7 @@
   28.20 +       rtx xop1 = XEXP (x, 1);
   28.21 + 
   28.22 +       return ((arm_address_register_rtx_p (xop0, strict_p)
   28.23 ++	       && GET_CODE(xop1) == CONST_INT
   28.24 + 	       && arm_legitimate_index_p (mode, xop1, outer, strict_p))
   28.25 + 	      || (arm_address_register_rtx_p (xop1, strict_p)
   28.26 + 		  && arm_legitimate_index_p (mode, xop0, outer, strict_p)));
   28.27 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.md gcc-4.3.3/gcc/config/arm/arm.md
   28.28 +--- gcc-4.3.3.orig/gcc/config/arm/arm.md	2007-09-04 01:44:47.000000000 -0300
   28.29 ++++ gcc-4.3.3/gcc/config/arm/arm.md	2009-05-21 16:06:45.000000000 -0300
   28.30 +@@ -4199,7 +4199,7 @@
   28.31 + 
   28.32 + (define_expand "extendqihi2"
   28.33 +   [(set (match_dup 2)
   28.34 +-	(ashift:SI (match_operand:QI 1 "general_operand" "")
   28.35 ++	(ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
   28.36 + 		   (const_int 24)))
   28.37 +    (set (match_operand:HI 0 "s_register_operand" "")
   28.38 + 	(ashiftrt:SI (match_dup 2)
   28.39 +@@ -4224,7 +4224,7 @@
   28.40 + 
   28.41 + (define_insn "*arm_extendqihi_insn"
   28.42 +   [(set (match_operand:HI 0 "s_register_operand" "=r")
   28.43 +-	(sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))]
   28.44 ++	(sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
   28.45 +   "TARGET_ARM && arm_arch4"
   28.46 +   "ldr%(sb%)\\t%0, %1"
   28.47 +   [(set_attr "type" "load_byte")
   28.48 +@@ -4235,7 +4235,7 @@
   28.49 + 
   28.50 + (define_expand "extendqisi2"
   28.51 +   [(set (match_dup 2)
   28.52 +-	(ashift:SI (match_operand:QI 1 "general_operand" "")
   28.53 ++	(ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
   28.54 + 		   (const_int 24)))
   28.55 +    (set (match_operand:SI 0 "s_register_operand" "")
   28.56 + 	(ashiftrt:SI (match_dup 2)
   28.57 +@@ -4267,7 +4267,7 @@
   28.58 + 
   28.59 + (define_insn "*arm_extendqisi"
   28.60 +   [(set (match_operand:SI 0 "s_register_operand" "=r")
   28.61 +-	(sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))]
   28.62 ++	(sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
   28.63 +   "TARGET_ARM && arm_arch4 && !arm_arch6"
   28.64 +   "ldr%(sb%)\\t%0, %1"
   28.65 +   [(set_attr "type" "load_byte")
   28.66 +@@ -4278,7 +4278,8 @@
   28.67 + 
   28.68 + (define_insn "*arm_extendqisi_v6"
   28.69 +   [(set (match_operand:SI 0 "s_register_operand" "=r,r")
   28.70 +-	(sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))]
   28.71 ++	(sign_extend:SI
   28.72 ++	 (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))]
   28.73 +   "TARGET_ARM && arm_arch6"
   28.74 +   "@
   28.75 +    sxtb%?\\t%0, %1
   28.76 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/predicates.md gcc-4.3.3/gcc/config/arm/predicates.md
   28.77 +--- gcc-4.3.3.orig/gcc/config/arm/predicates.md	2007-08-02 07:49:31.000000000 -0300
   28.78 ++++ gcc-4.3.3/gcc/config/arm/predicates.md	2009-05-21 16:06:45.000000000 -0300
   28.79 +@@ -234,6 +234,10 @@
   28.80 +        (match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND,
   28.81 + 					      0)")))
   28.82 + 
   28.83 ++(define_special_predicate "arm_reg_or_extendqisi_mem_op"
   28.84 ++  (ior (match_operand 0 "arm_extendqisi_mem_op")
   28.85 ++       (match_operand 0 "s_register_operand")))
   28.86 ++
   28.87 + (define_predicate "power_of_two_operand"
   28.88 +   (match_code "const_int")
   28.89 + {
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/patches/gcc/4.3.5/390-unbreak-armv4t.patch	Sun Sep 19 18:37:18 2010 +0200
    29.3 @@ -0,0 +1,11 @@
    29.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
    29.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
    29.6 +@@ -44,7 +44,7 @@
    29.7 +    The ARM10TDMI core is the default for armv5t, so set
    29.8 +    SUBTARGET_CPU_DEFAULT to achieve this.  */
    29.9 + #undef  SUBTARGET_CPU_DEFAULT
   29.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
   29.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
   29.12 + 
   29.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
   29.14 +    config.gcc for big endian configurations.  */
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/patches/gcc/4.3.5/400-ecjx-host-cc.patch	Sun Sep 19 18:37:18 2010 +0200
    30.3 @@ -0,0 +1,13 @@
    30.4 +diff -ur gcc-4.3.4-orig/libjava/Makefile.in gcc-4.3.4/libjava/Makefile.in
    30.5 +--- gcc-4.3.4-orig/libjava/Makefile.in	2009-08-04 04:12:27.000000000 -0700
    30.6 ++++ gcc-4.3.4/libjava/Makefile.in	2009-09-23 22:03:15.750951483 -0700
    30.7 +@@ -8874,6 +8874,9 @@
    30.8 + ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES) 
    30.9 + 	@rm -f ecjx$(EXEEXT)
   30.10 + 	$(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
   30.11 ++ecjx.$(OBJEXT): $(ecjx_SOURCES)
   30.12 ++	@rm -f ecjx.$(OBJEXT)
   30.13 ++	$(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
   30.14 + gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES) 
   30.15 + 	@rm -f gappletviewer$(EXEEXT)
   30.16 + 	$(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)