cc/gcc: remove 4.3.0
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 31 12:43:49 2010 +0100 (2010-01-31)
changeset 1779708c0b301c7b
parent 1778 9d1c1b6af205
child 1780 9c03c1a508d8
cc/gcc: remove 4.3.0

gcc-4.3.0 never got !EXPERIMENTAL, and no one either confirmed nor complained.
config/cc/gcc.in
patches/gcc/4.3.0/100-alpha-mieee-default.patch
patches/gcc/4.3.0/110-trampolinewarn.patch
patches/gcc/4.3.0/120-java-nomulti.patch
patches/gcc/4.3.0/130-cross-compile.patch
patches/gcc/4.3.0/140-netbsd-symbolic.patch
patches/gcc/4.3.0/150-sparc64-bsd.patch
patches/gcc/4.3.0/160-flatten-switch-stmt-00.patch
patches/gcc/4.3.0/170-x86-emit-cld.patch
patches/gcc/4.3.0/180-libiberty-pic.patch
patches/gcc/4.3.0/190-superh-default-multilib.patch
patches/gcc/4.3.0/200-libstdc++-pic.patch
patches/gcc/4.3.0/210-pr35440.patch
patches/gcc/4.3.0/220-pr24170.patch
patches/gcc/4.3.0/230-noteGNUstack-00.patch
patches/gcc/4.3.0/240-noteGNUstack-01.patch
patches/gcc/4.3.0/250-pr35705.patch
patches/gcc/4.3.0/260-pr34571.patch
patches/gcc/4.3.0/270-pr35982.patch
patches/gcc/4.3.0/280-pr25343.patch
patches/gcc/4.3.0/290-sh-pr24836.patch
patches/gcc/4.3.0/300-ca-translation-typo.patch
patches/gcc/4.3.0/310-uclibc-conf-noupstream.patch
patches/gcc/4.3.0/320-missing-execinfo_h.patch
patches/gcc/4.3.0/330-c99-complex-ugly-hack.patch
patches/gcc/4.3.0/340-index_macro.patch
patches/gcc/4.3.0/350-libmudflap-susv3-legacy.patch
patches/gcc/4.3.0/360-arm-softfloat.patch
patches/gcc/4.3.0/370-alpha-signal_h.patch
patches/gcc/4.3.0/380-unbreak-armv4t.patch
     1.1 --- a/config/cc/gcc.in	Sun Jan 31 12:22:54 2010 +0100
     1.2 +++ b/config/cc/gcc.in	Sun Jan 31 12:43:49 2010 +0100
     1.3 @@ -63,12 +63,6 @@
     1.4      prompt "4.3.1"
     1.5      select CC_GCC_4_3_or_later
     1.6  
     1.7 -config CC_V_4_3_0
     1.8 -    bool
     1.9 -    prompt "4.3.0 (EXPERIMENTAL)"
    1.10 -    depends on EXPERIMENTAL
    1.11 -    select CC_GCC_4_3_or_later
    1.12 -
    1.13  config CC_V_4_2_4
    1.14      bool
    1.15      prompt "4.2.4"
     2.1 --- a/patches/gcc/4.3.0/100-alpha-mieee-default.patch	Sun Jan 31 12:22:54 2010 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,34 +0,0 @@
     2.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
     2.5 -Set the default behavior on alpha to use -mieee since the large majority of
     2.6 -time we want this (bad/weird things can happen with packages built without
     2.7 --mieee).
     2.8 -
     2.9 -To satisfy those people who may not want -mieee forced on them all the time,
    2.10 -we also provide -mno-ieee.
    2.11 -
    2.12 -Patch by Mike Frysinger <vapier@gentoo.org>
    2.13 -
    2.14 -diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.h gcc-4.3.0/gcc/config/alpha/alpha.h
    2.15 ---- gcc-4.3.0.orig/gcc/config/alpha/alpha.h	2007-12-06 14:25:37.000000000 +0100
    2.16 -+++ gcc-4.3.0/gcc/config/alpha/alpha.h	2008-06-10 14:44:06.000000000 +0200
    2.17 -@@ -95,6 +95,8 @@
    2.18 -   while (0)
    2.19 - #endif
    2.20 - 
    2.21 -+#define CPP_SPEC "%{!no-ieee:-mieee}"
    2.22 -+
    2.23 - #define WORD_SWITCH_TAKES_ARG(STR)		\
    2.24 -  (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
    2.25 - 
    2.26 -diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.opt gcc-4.3.0/gcc/config/alpha/alpha.opt
    2.27 ---- gcc-4.3.0.orig/gcc/config/alpha/alpha.opt	2007-08-02 12:49:31.000000000 +0200
    2.28 -+++ gcc-4.3.0/gcc/config/alpha/alpha.opt	2008-06-10 14:44:06.000000000 +0200
    2.29 -@@ -39,7 +39,7 @@
    2.30 - Request IEEE-conformant math library routines (OSF/1)
    2.31 - 
    2.32 - mieee
    2.33 --Target Report RejectNegative Mask(IEEE)
    2.34 -+Target Report Mask(IEEE)
    2.35 - Emit IEEE-conformant code, without inexact exceptions
    2.36 - 
    2.37 - mieee-with-inexact
     3.1 --- a/patches/gcc/4.3.0/110-trampolinewarn.patch	Sun Jan 31 12:22:54 2010 +0100
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,35 +0,0 @@
     3.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/00_all_gcc-trampolinewarn.patch
     3.5 -	This trivial patch causes gcc to emit a warning whenever
     3.6 -	it generates a trampoline.  These are otherwise hard to
     3.7 -	locate.  It is rigged to default ON - to have it default
     3.8 -	to OFF remove the text 'Init(1)' from the common.opt
     3.9 -	patch, leaving just 'Common Var(warn_trampolines)'.
    3.10 -	Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
    3.11 -
    3.12 -diff -durN gcc-4.3.0.orig/gcc/builtins.c gcc-4.3.0/gcc/builtins.c
    3.13 ---- gcc-4.3.0.orig/gcc/builtins.c	2008-02-20 18:27:21.000000000 +0100
    3.14 -+++ gcc-4.3.0/gcc/builtins.c	2008-06-10 14:44:10.000000000 +0200
    3.15 -@@ -5659,6 +5659,9 @@
    3.16 -   trampolines_created = 1;
    3.17 -   INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
    3.18 - 
    3.19 -+  if (warn_trampolines)
    3.20 -+    warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
    3.21 -+
    3.22 -   return const0_rtx;
    3.23 - }
    3.24 - 
    3.25 -diff -durN gcc-4.3.0.orig/gcc/common.opt gcc-4.3.0/gcc/common.opt
    3.26 ---- gcc-4.3.0.orig/gcc/common.opt	2008-01-22 15:11:44.000000000 +0100
    3.27 -+++ gcc-4.3.0/gcc/common.opt	2008-06-10 14:44:10.000000000 +0200
    3.28 -@@ -182,6 +182,10 @@
    3.29 - Common Var(warn_system_headers) Warning
    3.30 - Do not suppress warnings from system headers
    3.31 - 
    3.32 -+Wtrampolines
    3.33 -+Common Var(warn_trampolines) Init(1)
    3.34 -+Warn whenever a trampoline is generated
    3.35 -+
    3.36 - Wuninitialized
    3.37 - Common Var(warn_uninitialized) Warning
    3.38 - Warn about uninitialized automatic variables
     4.1 --- a/patches/gcc/4.3.0/120-java-nomulti.patch	Sun Jan 31 12:22:54 2010 +0100
     4.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.3 @@ -1,47 +0,0 @@
     4.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/03_all_gcc43-java-nomulti.patch
     4.5 -diff -durN gcc-4.3.0.orig/libjava/configure gcc-4.3.0/libjava/configure
     4.6 ---- gcc-4.3.0.orig/libjava/configure	2008-03-05 19:44:25.000000000 +0100
     4.7 -+++ gcc-4.3.0/libjava/configure	2008-06-10 14:44:13.000000000 +0200
     4.8 -@@ -1018,6 +1018,8 @@
     4.9 -   --enable-gconf-peer     compile GConf native peers for util.preferences
    4.10 -   --enable-java-maintainer-mode
    4.11 -                           allow rebuilding of .class and .h files
    4.12 -+  --enable-libjava-multilib
    4.13 -+                          build libjava as multilib
    4.14 -   --disable-dependency-tracking  speeds up one-time build
    4.15 -   --enable-dependency-tracking   do not reject slow dependency extractors
    4.16 -   --enable-maintainer-mode  enable make rules and dependencies not useful
    4.17 -@@ -1850,6 +1852,16 @@
    4.18 - fi
    4.19 - 
    4.20 - 
    4.21 -+# Check whether --enable-libjava-multilib was given.
    4.22 -+if test "${enable_libjava_multilib+set}" = set; then
    4.23 -+  enableval=$enable_libjava_multilib;
    4.24 -+fi
    4.25 -+
    4.26 -+if test "$enable_libjava_multilib" = no; then
    4.27 -+  multilib=no
    4.28 -+  ac_configure_args="$ac_configure_args --disable-multilib"
    4.29 -+fi
    4.30 -+
    4.31 - # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
    4.32 - 
    4.33 - 
    4.34 -diff -durN gcc-4.3.0.orig/libjava/configure.ac gcc-4.3.0/libjava/configure.ac
    4.35 ---- gcc-4.3.0.orig/libjava/configure.ac	2007-12-22 16:48:46.000000000 +0100
    4.36 -+++ gcc-4.3.0/libjava/configure.ac	2008-06-10 14:44:13.000000000 +0200
    4.37 -@@ -82,6 +82,13 @@
    4.38 - 	[allow rebuilding of .class and .h files]))
    4.39 - AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
    4.40 - 
    4.41 -+AC_ARG_ENABLE(libjava-multilib,
    4.42 -+	AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
    4.43 -+if test "$enable_libjava_multilib" = no; then
    4.44 -+  multilib=no
    4.45 -+  ac_configure_args="$ac_configure_args --disable-multilib"
    4.46 -+fi
    4.47 -+
    4.48 - # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
    4.49 - GCC_NO_EXECUTABLES
    4.50 - 
     5.1 --- a/patches/gcc/4.3.0/130-cross-compile.patch	Sun Jan 31 12:22:54 2010 +0100
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,44 +0,0 @@
     5.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/08_all_gcc-4.1-cross-compile.patch
     5.5 -Some notes on the 'bootstrap with or without libc headers' debate:
     5.6 -http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
     5.7 -http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
     5.8 -
     5.9 -diff -durN gcc-4.3.0.orig/gcc/configure gcc-4.3.0/gcc/configure
    5.10 ---- gcc-4.3.0.orig/gcc/configure	2008-03-05 00:39:11.000000000 +0100
    5.11 -+++ gcc-4.3.0/gcc/configure	2008-06-10 14:44:17.000000000 +0200
    5.12 -@@ -13274,7 +13274,7 @@
    5.13 - 	    | powerpc*-*-*,powerpc64*-*-*)
    5.14 - 		CROSS="$CROSS -DNATIVE_CROSS" ;;
    5.15 - 	esac
    5.16 --elif test "x$TARGET_SYSTEM_ROOT" != x; then
    5.17 -+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    5.18 -         SYSTEM_HEADER_DIR=$build_system_header_dir
    5.19 - fi
    5.20 - 
    5.21 -diff -durN gcc-4.3.0.orig/gcc/configure.ac gcc-4.3.0/gcc/configure.ac
    5.22 ---- gcc-4.3.0.orig/gcc/configure.ac	2008-03-05 00:39:11.000000000 +0100
    5.23 -+++ gcc-4.3.0/gcc/configure.ac	2008-06-10 14:44:17.000000000 +0200
    5.24 -@@ -1745,7 +1745,7 @@
    5.25 - 	    | powerpc*-*-*,powerpc64*-*-*)
    5.26 - 		CROSS="$CROSS -DNATIVE_CROSS" ;;
    5.27 - 	esac
    5.28 --elif test "x$TARGET_SYSTEM_ROOT" != x; then
    5.29 -+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
    5.30 -         SYSTEM_HEADER_DIR=$build_system_header_dir 
    5.31 - fi
    5.32 - 
    5.33 -diff -durN gcc-4.3.0.orig/gcc/unwind-dw2.c gcc-4.3.0/gcc/unwind-dw2.c
    5.34 ---- gcc-4.3.0.orig/gcc/unwind-dw2.c	2007-07-25 20:14:57.000000000 +0200
    5.35 -+++ gcc-4.3.0/gcc/unwind-dw2.c	2008-06-10 14:44:17.000000000 +0200
    5.36 -@@ -334,9 +334,11 @@
    5.37 - }
    5.38 - #endif
    5.39 - 
    5.40 -+#ifndef inhibit_libc
    5.41 - #ifdef MD_UNWIND_SUPPORT
    5.42 - #include MD_UNWIND_SUPPORT
    5.43 - #endif
    5.44 -+#endif
    5.45 - 
    5.46 - /* Extract any interesting information from the CIE for the translation
    5.47 -    unit F belongs to.  Return a pointer to the byte after the augmentation,
     6.1 --- a/patches/gcc/4.3.0/140-netbsd-symbolic.patch	Sun Jan 31 12:22:54 2010 +0100
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,14 +0,0 @@
     6.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/11_all_gcc-netbsd-symbolic.patch
     6.5 -http://bugs.gentoo.org/122698
     6.6 -
     6.7 -diff -durN gcc-4.3.0.orig/gcc/config/netbsd-elf.h gcc-4.3.0/gcc/config/netbsd-elf.h
     6.8 ---- gcc-4.3.0.orig/gcc/config/netbsd-elf.h	2007-09-03 18:14:04.000000000 +0200
     6.9 -+++ gcc-4.3.0/gcc/config/netbsd-elf.h	2008-06-10 14:44:21.000000000 +0200
    6.10 -@@ -82,6 +82,7 @@
    6.11 - #define NETBSD_LINK_SPEC_ELF \
    6.12 -   "%{assert*} %{R*} %{rpath*} \
    6.13 -    %{shared:-shared} \
    6.14 -+   %{symbolic:-Bsymbolic} \
    6.15 -    %{!shared: \
    6.16 -      -dc -dp \
    6.17 -      %{!nostdlib: \
     7.1 --- a/patches/gcc/4.3.0/150-sparc64-bsd.patch	Sun Jan 31 12:22:54 2010 +0100
     7.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.3 @@ -1,30 +0,0 @@
     7.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/14_all_gcc-sparc64-bsd.patch
     7.5 -diff -durN gcc-4.3.0.orig/gcc/config/sparc/freebsd.h gcc-4.3.0/gcc/config/sparc/freebsd.h
     7.6 ---- gcc-4.3.0.orig/gcc/config/sparc/freebsd.h	2007-08-02 12:49:31.000000000 +0200
     7.7 -+++ gcc-4.3.0/gcc/config/sparc/freebsd.h	2008-06-10 14:44:26.000000000 +0200
     7.8 -@@ -25,9 +25,22 @@
     7.9 - /* FreeBSD needs the platform name (sparc64) defined.
    7.10 -    Emacs needs to know if the arch is 64 or 32-bits.  */
    7.11 - 
    7.12 --#undef  CPP_CPU64_DEFAULT_SPEC
    7.13 --#define CPP_CPU64_DEFAULT_SPEC \
    7.14 --  "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
    7.15 -+#undef  FBSD_TARGET_CPU_CPP_BUILTINS
    7.16 -+#define FBSD_TARGET_CPU_CPP_BUILTINS()                  \
    7.17 -+  do                                                    \
    7.18 -+    {                                                   \
    7.19 -+      if (TARGET_ARCH64)                                \
    7.20 -+        {                                               \
    7.21 -+          builtin_define ("__sparc64__");               \
    7.22 -+          builtin_define ("__sparc_v9__");              \
    7.23 -+          builtin_define ("__sparcv9");                 \
    7.24 -+        }                                               \
    7.25 -+      else                                              \
    7.26 -+        builtin_define ("__sparc");                     \
    7.27 -+      builtin_define ("__sparc__");                     \
    7.28 -+    }                                                   \
    7.29 -+  while (0)
    7.30 -+
    7.31 - 
    7.32 - #define LINK_SPEC "%(link_arch)						\
    7.33 -   %{!mno-relax:%{!r:-relax}}						\
     8.1 --- a/patches/gcc/4.3.0/160-flatten-switch-stmt-00.patch	Sun Jan 31 12:22:54 2010 +0100
     8.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.3 @@ -1,76 +0,0 @@
     8.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/18_all_904-flatten-switch-stmt-00.patch
     8.5 -http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00927.html
     8.6 -
     8.7 -Hi,
     8.8 -
     8.9 -The attached patch makes sure that we create smaller object code for
    8.10 -simple switch statements. We just make sure to flatten the switch
    8.11 -statement into an if-else chain, basically.
    8.12 -
    8.13 -This fixes a size-regression as compared to gcc-3.4, as can be seen
    8.14 -below.
    8.15 -
    8.16 -2007-04-15  Bernhard Fischer  <..>
    8.17 -
    8.18 -	* stmt.c (expand_case): Do not create a complex binary tree when
    8.19 -	optimizing for size but rather use the simple ordered list.
    8.20 -	(emit_case_nodes): do not emit jumps to the default_label when
    8.21 -	optimizing for size.
    8.22 -
    8.23 -Not regtested so far.
    8.24 -Comments?
    8.25 -
    8.26 -Attached is the test switch.c mentioned below.
    8.27 -
    8.28 -$ 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.29 -gcc-$i  -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
    8.30 -$ 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.31 -gcc-$i  -UCHAIN -Os -o switch-$i.o -c switch.c ;done
    8.32 -
    8.33 -$ size switch-*.o
    8.34 -   text	   data	    bss	    dec	    hex	filename
    8.35 -    169	      0	      0	    169	     a9	switch-2.95.o
    8.36 -    115	      0	      0	    115	     73	switch-3.3.o
    8.37 -    103	      0	      0	    103	     67	switch-3.4.o
    8.38 -    124	      0	      0	    124	     7c	switch-4.0.o
    8.39 -    124	      0	      0	    124	     7c	switch-4.1.o
    8.40 -    124	      0	      0	    124	     7c	switch-4.2.orig-HEAD.o
    8.41 -     95	      0	      0	     95	     5f	switch-4.3-HEAD.o
    8.42 -    124	      0	      0	    124	     7c	switch-4.3.orig-HEAD.o
    8.43 -    166	      0	      0	    166	     a6	switch-CHAIN-2.95.o
    8.44 -    111	      0	      0	    111	     6f	switch-CHAIN-3.3.o
    8.45 -     95	      0	      0	     95	     5f	switch-CHAIN-3.4.o
    8.46 -     95	      0	      0	     95	     5f	switch-CHAIN-4.0.o
    8.47 -     95	      0	      0	     95	     5f	switch-CHAIN-4.1.o
    8.48 -     95	      0	      0	     95	     5f	switch-CHAIN-4.2.orig-HEAD.o
    8.49 -     95	      0	      0	     95	     5f	switch-CHAIN-4.3-HEAD.o
    8.50 -     95	      0	      0	     95	     5f	switch-CHAIN-4.3.orig-HEAD.o
    8.51 -
    8.52 -
    8.53 -Content-Type: text/x-diff; charset=us-ascii
    8.54 -Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
    8.55 -
    8.56 -diff -durN gcc-4.3.0.orig/gcc/stmt.c gcc-4.3.0/gcc/stmt.c
    8.57 ---- gcc-4.3.0.orig/gcc/stmt.c	2007-12-04 22:55:32.000000000 +0100
    8.58 -+++ gcc-4.3.0/gcc/stmt.c	2008-06-10 14:44:33.000000000 +0200
    8.59 -@@ -2508,7 +2508,11 @@
    8.60 - 	  use_cost_table
    8.61 - 	    = (TREE_CODE (orig_type) != ENUMERAL_TYPE
    8.62 - 	       && estimate_case_costs (case_list));
    8.63 --	  balance_case_nodes (&case_list, NULL);
    8.64 -+	  /* When optimizing for size, we want a straight list to avoid
    8.65 -+	     jumps as much as possible. This basically creates an if-else
    8.66 -+	     chain.  */
    8.67 -+	  if (!optimize_size)
    8.68 -+	    balance_case_nodes (&case_list, NULL);
    8.69 - 	  emit_case_nodes (index, case_list, default_label, index_type);
    8.70 - 	  emit_jump (default_label);
    8.71 - 	}
    8.72 -@@ -3066,6 +3070,7 @@
    8.73 - 	    {
    8.74 - 	      if (!node_has_low_bound (node, index_type))
    8.75 - 		{
    8.76 -+		  if (!optimize_size) /* don't jl to the .default_label. */
    8.77 - 		  emit_cmp_and_jump_insns (index,
    8.78 - 					   convert_modes
    8.79 - 					   (mode, imode,
     9.1 --- a/patches/gcc/4.3.0/170-x86-emit-cld.patch	Sun Jan 31 12:22:54 2010 +0100
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,156 +0,0 @@
     9.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/20_all_gcc-x86-emit-cld.patch
     9.5 -bandaid for the cld issue.  to be dropped when gcc-4.3 goes stable.
     9.6 -
     9.7 -http://gcc.gnu.org/ml/gcc-patches/2008-03/msg00417.html
     9.8 -
     9.9 -2008-03-06  Uros Bizjak  <ubizjak@gmail.com>
    9.10 -
    9.11 -	* config/i386/i386.h (TARGET_CLD): New define.
    9.12 -	(struct machine_function): Add needs_cld field.
    9.13 -	(ix86_current_function_needs_cld): New define.
    9.14 -	* config/i386/i386.md (UNSPEC_CLD): New unspec volatile constant.
    9.15 -	("cld"): New isns pattern.
    9.16 -	("strmov_singleop"): Set ix86_current_function_needs_cld flag.
    9.17 -	("rep_mov"): Ditto.
    9.18 -	("strset_singleop"): Ditto.
    9.19 -	("rep_stos"): Ditto.
    9.20 -	("cmpstrnqi_nz_1"): Ditto.
    9.21 -	("cmpstrnqi_1"): Ditto.
    9.22 -	("strlenqi_1"): Ditto.
    9.23 -	* config/i386/i386.c (ix86_expand_prologue): Emit cld insn for
    9.24 -	TARGET_CLD when ix86_current_function_needs_cld is set.
    9.25 -
    9.26 -diff -durN gcc-4.3.0.orig/gcc/config/i386/i386.c gcc-4.3.0/gcc/config/i386/i386.c
    9.27 ---- gcc-4.3.0.orig/gcc/config/i386/i386.c	2008-02-21 13:30:00.000000000 +0100
    9.28 -+++ gcc-4.3.0/gcc/config/i386/i386.c	2008-06-10 14:44:37.000000000 +0200
    9.29 -@@ -6448,6 +6448,10 @@
    9.30 - 	emit_insn (gen_prologue_use (pic_offset_table_rtx));
    9.31 -       emit_insn (gen_blockage ());
    9.32 -     }
    9.33 -+
    9.34 -+  /* Emit cld instruction if stringops are used in the function.  */
    9.35 -+  if (TARGET_CLD && ix86_current_function_needs_cld)
    9.36 -+    emit_insn (gen_cld ());
    9.37 - }
    9.38 - 
    9.39 - /* Emit code to restore saved registers using MOV insns.  First register
    9.40 -diff -durN gcc-4.3.0.orig/gcc/config/i386/i386.h gcc-4.3.0/gcc/config/i386/i386.h
    9.41 ---- gcc-4.3.0.orig/gcc/config/i386/i386.h	2008-02-15 09:12:02.000000000 +0100
    9.42 -+++ gcc-4.3.0/gcc/config/i386/i386.h	2008-06-10 14:44:37.000000000 +0200
    9.43 -@@ -388,6 +388,7 @@
    9.44 - 
    9.45 - extern int x86_prefetch_sse;
    9.46 - 
    9.47 -+#define TARGET_CLD		1
    9.48 - #define TARGET_ABM		x86_abm
    9.49 - #define TARGET_CMPXCHG16B	x86_cmpxchg16b
    9.50 - #define TARGET_POPCNT		x86_popcnt
    9.51 -@@ -2443,8 +2444,9 @@
    9.52 -   int save_varrargs_registers;
    9.53 -   int accesses_prev_frame;
    9.54 -   int optimize_mode_switching[MAX_386_ENTITIES];
    9.55 --  /* Set by ix86_compute_frame_layout and used by prologue/epilogue expander to
    9.56 --     determine the style used.  */
    9.57 -+  int needs_cld;
    9.58 -+  /* Set by ix86_compute_frame_layout and used by prologue/epilogue
    9.59 -+     expander to determine the style used.  */
    9.60 -   int use_fast_prologue_epilogue;
    9.61 -   /* Number of saved registers USE_FAST_PROLOGUE_EPILOGUE has been computed
    9.62 -      for.  */
    9.63 -@@ -2464,6 +2466,7 @@
    9.64 - #define ix86_stack_locals (cfun->machine->stack_locals)
    9.65 - #define ix86_save_varrargs_registers (cfun->machine->save_varrargs_registers)
    9.66 - #define ix86_optimize_mode_switching (cfun->machine->optimize_mode_switching)
    9.67 -+#define ix86_current_function_needs_cld (cfun->machine->needs_cld)
    9.68 - #define ix86_tls_descriptor_calls_expanded_in_cfun \
    9.69 -   (cfun->machine->tls_descriptor_call_expanded_p)
    9.70 - /* Since tls_descriptor_call_expanded is not cleared, even if all TLS
    9.71 -diff -durN gcc-4.3.0.orig/gcc/config/i386/i386.md gcc-4.3.0/gcc/config/i386/i386.md
    9.72 ---- gcc-4.3.0.orig/gcc/config/i386/i386.md	2008-02-06 12:34:00.000000000 +0100
    9.73 -+++ gcc-4.3.0/gcc/config/i386/i386.md	2008-06-10 14:44:37.000000000 +0200
    9.74 -@@ -205,6 +205,7 @@
    9.75 -    (UNSPECV_XCHG		12)
    9.76 -    (UNSPECV_LOCK		13)
    9.77 -    (UNSPECV_PROLOGUE_USE	14)
    9.78 -+   (UNSPECV_CLD			15)
    9.79 -   ])
    9.80 - 
    9.81 - ;; Constants to represent pcomtrue/pcomfalse variants
    9.82 -@@ -18529,6 +18530,14 @@
    9.83 - 
    9.84 - ;; Block operation instructions
    9.85 - 
    9.86 -+(define_insn "cld"
    9.87 -+  [(unspec_volatile [(const_int 0)] UNSPECV_CLD)]
    9.88 -+  ""
    9.89 -+  "cld"
    9.90 -+  [(set_attr "length" "1")
    9.91 -+   (set_attr "length_immediate" "0")
    9.92 -+   (set_attr "modrm" "0")])
    9.93 -+
    9.94 - (define_expand "movmemsi"
    9.95 -   [(use (match_operand:BLK 0 "memory_operand" ""))
    9.96 -    (use (match_operand:BLK 1 "memory_operand" ""))
    9.97 -@@ -18601,7 +18610,7 @@
    9.98 - 	      (set (match_operand 2 "register_operand" "")
    9.99 - 		   (match_operand 5 "" ""))])]
   9.100 -   "TARGET_SINGLE_STRINGOP || optimize_size"
   9.101 --  "")
   9.102 -+  "ix86_current_function_needs_cld = 1;")
   9.103 - 
   9.104 - (define_insn "*strmovdi_rex_1"
   9.105 -   [(set (mem:DI (match_operand:DI 2 "register_operand" "0"))
   9.106 -@@ -18718,7 +18727,7 @@
   9.107 - 		   (match_operand 3 "memory_operand" ""))
   9.108 - 	      (use (match_dup 4))])]
   9.109 -   ""
   9.110 --  "")
   9.111 -+  "ix86_current_function_needs_cld = 1;")
   9.112 - 
   9.113 - (define_insn "*rep_movdi_rex64"
   9.114 -   [(set (match_operand:DI 2 "register_operand" "=c") (const_int 0))
   9.115 -@@ -18878,7 +18887,7 @@
   9.116 - 	      (set (match_operand 0 "register_operand" "")
   9.117 - 		   (match_operand 3 "" ""))])]
   9.118 -   "TARGET_SINGLE_STRINGOP || optimize_size"
   9.119 --  "")
   9.120 -+  "ix86_current_function_needs_cld = 1;")
   9.121 - 
   9.122 - (define_insn "*strsetdi_rex_1"
   9.123 -   [(set (mem:DI (match_operand:DI 1 "register_operand" "0"))
   9.124 -@@ -18972,7 +18981,7 @@
   9.125 - 	      (use (match_operand 3 "register_operand" ""))
   9.126 - 	      (use (match_dup 1))])]
   9.127 -   ""
   9.128 --  "")
   9.129 -+  "ix86_current_function_needs_cld = 1;")
   9.130 - 
   9.131 - (define_insn "*rep_stosdi_rex64"
   9.132 -   [(set (match_operand:DI 1 "register_operand" "=c") (const_int 0))
   9.133 -@@ -19148,7 +19157,7 @@
   9.134 - 	      (clobber (match_operand 1 "register_operand" ""))
   9.135 - 	      (clobber (match_dup 2))])]
   9.136 -   ""
   9.137 --  "")
   9.138 -+  "ix86_current_function_needs_cld = 1;")
   9.139 - 
   9.140 - (define_insn "*cmpstrnqi_nz_1"
   9.141 -   [(set (reg:CC FLAGS_REG)
   9.142 -@@ -19195,7 +19204,7 @@
   9.143 - 	      (clobber (match_operand 1 "register_operand" ""))
   9.144 - 	      (clobber (match_dup 2))])]
   9.145 -   ""
   9.146 --  "")
   9.147 -+  "ix86_current_function_needs_cld = 1;")
   9.148 - 
   9.149 - (define_insn "*cmpstrnqi_1"
   9.150 -   [(set (reg:CC FLAGS_REG)
   9.151 -@@ -19264,7 +19273,7 @@
   9.152 - 	      (clobber (match_operand 1 "register_operand" ""))
   9.153 - 	      (clobber (reg:CC FLAGS_REG))])]
   9.154 -   ""
   9.155 --  "")
   9.156 -+  "ix86_current_function_needs_cld = 1;")
   9.157 - 
   9.158 - (define_insn "*strlenqi_1"
   9.159 -   [(set (match_operand:SI 0 "register_operand" "=&c")
    10.1 --- a/patches/gcc/4.3.0/180-libiberty-pic.patch	Sun Jan 31 12:22:54 2010 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,12 +0,0 @@
    10.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/51_all_gcc-3.4-libiberty-pic.patch
    10.5 -diff -durN gcc-4.3.0.orig/libiberty/Makefile.in gcc-4.3.0/libiberty/Makefile.in
    10.6 ---- gcc-4.3.0.orig/libiberty/Makefile.in	2007-07-25 08:26:45.000000000 +0200
    10.7 -+++ gcc-4.3.0/libiberty/Makefile.in	2008-06-10 14:44:43.000000000 +0200
    10.8 -@@ -225,6 +225,7 @@
    10.9 - 	  $(AR) $(AR_FLAGS) $(TARGETLIB) \
   10.10 - 	    $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
   10.11 - 	  $(RANLIB) $(TARGETLIB); \
   10.12 -+	  cp $(TARGETLIB) ../ ; \
   10.13 - 	  cd ..; \
   10.14 - 	else true; fi
   10.15 - 
    11.1 --- a/patches/gcc/4.3.0/190-superh-default-multilib.patch	Sun Jan 31 12:22:54 2010 +0100
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,25 +0,0 @@
    11.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/53_all_gcc4-superh-default-multilib.patch
    11.5 -The gcc-3.x toolchains would contain all the targets by default.  With gcc-4,
    11.6 -you have to actually list out the multilibs you want or you will end up with
    11.7 -just one when using targets like 'sh4-linux-gnu'.
    11.8 -
    11.9 -The resulting toolchain can't even build a kernel as the kernel needs to build
   11.10 -with the nofpu flag to be sure that no fpu ops are generated.
   11.11 -
   11.12 -Here we restore the gcc-3.x behavior; the additional overhead of building all
   11.13 -of these multilibs by default is negligible.
   11.14 -
   11.15 -http://bugs.gentoo.org/140205
   11.16 -
   11.17 -diff -durN gcc-4.3.0.orig/gcc/config.gcc gcc-4.3.0/gcc/config.gcc
   11.18 ---- gcc-4.3.0.orig/gcc/config.gcc	2008-01-29 17:28:10.000000000 +0100
   11.19 -+++ gcc-4.3.0/gcc/config.gcc	2008-06-10 14:44:47.000000000 +0200
   11.20 -@@ -2271,7 +2271,7 @@
   11.21 - 	if test x${sh_multilibs} = x ; then
   11.22 - 		case ${target} in
   11.23 - 		sh64-superh-linux* | \
   11.24 --		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
   11.25 -+		sh[1234]*)	sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
   11.26 - 		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
   11.27 - 		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
   11.28 - 		sh*-*-linux*)	sh_multilibs=m1,m3e,m4 ;;
    12.1 --- a/patches/gcc/4.3.0/200-libstdc++-pic.patch	Sun Jan 31 12:22:54 2010 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,56 +0,0 @@
    12.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/54_all_300-libstdc++-pic.patch
    12.5 -install libstdc++_pic.a if we have pic objs
    12.6 -
    12.7 -diff -durN gcc-4.3.0.orig/libstdc++-v3/src/Makefile.am gcc-4.3.0/libstdc++-v3/src/Makefile.am
    12.8 ---- gcc-4.3.0.orig/libstdc++-v3/src/Makefile.am	2008-02-29 19:26:50.000000000 +0100
    12.9 -+++ gcc-4.3.0/libstdc++-v3/src/Makefile.am	2008-06-10 14:44:51.000000000 +0200
   12.10 -@@ -289,6 +289,13 @@
   12.11 - 	  $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
   12.12 - 
   12.13 - 
   12.14 -+install-exec-local:
   12.15 -+	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
   12.16 -+	if [ x"$$pic_objs" != x ]; then \
   12.17 -+		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
   12.18 -+		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
   12.19 -+	fi
   12.20 -+
   12.21 - # Added bits to build debug library.
   12.22 - if GLIBCXX_BUILD_DEBUG
   12.23 - all-local: build_debug
   12.24 -diff -durN gcc-4.3.0.orig/libstdc++-v3/src/Makefile.in gcc-4.3.0/libstdc++-v3/src/Makefile.in
   12.25 ---- gcc-4.3.0.orig/libstdc++-v3/src/Makefile.in	2008-02-29 19:26:50.000000000 +0100
   12.26 -+++ gcc-4.3.0/libstdc++-v3/src/Makefile.in	2008-06-10 14:44:51.000000000 +0200
   12.27 -@@ -693,7 +693,7 @@
   12.28 - 
   12.29 - install-data-am: install-data-local
   12.30 - 
   12.31 --install-exec-am: install-toolexeclibLTLIBRARIES
   12.32 -+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
   12.33 - 
   12.34 - install-info: install-info-am
   12.35 - 
   12.36 -@@ -732,7 +732,7 @@
   12.37 - 	maintainer-clean-generic mostlyclean mostlyclean-compile \
   12.38 - 	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
   12.39 - 	tags uninstall uninstall-am uninstall-info-am \
   12.40 --	uninstall-toolexeclibLTLIBRARIES
   12.41 -+	uninstall-toolexeclibLTLIBRARIES install-exec-local
   12.42 - 
   12.43 - 
   12.44 - # Symbol versioning for shared libraries.
   12.45 -@@ -858,6 +858,14 @@
   12.46 - install_debug:
   12.47 - 	(cd ${debugdir} && $(MAKE) \
   12.48 - 	toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
   12.49 -+
   12.50 -+install-exec-local:
   12.51 -+	pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
   12.52 -+	if [ x"$$pic_objs" != x ]; then \
   12.53 -+		$(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
   12.54 -+		$(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
   12.55 -+	fi
   12.56 -+
   12.57 - # Tell versions [3.59,3.63) of GNU make to not export all variables.
   12.58 - # Otherwise a system limit (for SysV at least) may be exceeded.
   12.59 - .NOEXPORT:
    13.1 --- a/patches/gcc/4.3.0/210-pr35440.patch	Sun Jan 31 12:22:54 2010 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,59 +0,0 @@
    13.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/60_all_gcc43-pr35440.patch
    13.5 -2008-03-19  Jakub Jelinek  <jakub@redhat.com>
    13.6 -
    13.7 -	PR c/35440
    13.8 -	* c-pretty-print.c (pp_c_initializer_list): Handle CONSTRUCTOR
    13.9 -	for all types.
   13.10 -
   13.11 -	* gcc.dg/pr35440.c: New test.
   13.12 -
   13.13 -diff -durN gcc-4.3.0.orig/gcc/c-pretty-print.c gcc-4.3.0/gcc/c-pretty-print.c
   13.14 ---- gcc-4.3.0.orig/gcc/c-pretty-print.c	2008-01-29 14:59:59.000000000 +0100
   13.15 -+++ gcc-4.3.0/gcc/c-pretty-print.c	2008-06-10 14:44:54.000000000 +0200
   13.16 -@@ -1173,6 +1173,12 @@
   13.17 -   tree type = TREE_TYPE (e);
   13.18 -   const enum tree_code code = TREE_CODE (type);
   13.19 - 
   13.20 -+  if (TREE_CODE (e) == CONSTRUCTOR)
   13.21 -+    {
   13.22 -+      pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
   13.23 -+      return;
   13.24 -+    }
   13.25 -+
   13.26 -   switch (code)
   13.27 -     {
   13.28 -     case RECORD_TYPE:
   13.29 -@@ -1207,16 +1213,12 @@
   13.30 -     case VECTOR_TYPE:
   13.31 -       if (TREE_CODE (e) == VECTOR_CST)
   13.32 - 	pp_c_expression_list (pp, TREE_VECTOR_CST_ELTS (e));
   13.33 --      else if (TREE_CODE (e) == CONSTRUCTOR)
   13.34 --	pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
   13.35 -       else
   13.36 - 	break;
   13.37 -       return;
   13.38 - 
   13.39 -     case COMPLEX_TYPE:
   13.40 --      if (TREE_CODE (e) == CONSTRUCTOR)
   13.41 --	pp_c_constructor_elts (pp, CONSTRUCTOR_ELTS (e));
   13.42 --      else if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR)
   13.43 -+      if (TREE_CODE (e) == COMPLEX_CST || TREE_CODE (e) == COMPLEX_EXPR)
   13.44 - 	{
   13.45 - 	  const bool cst = TREE_CODE (e) == COMPLEX_CST;
   13.46 - 	  pp_expression (pp, cst ? TREE_REALPART (e) : TREE_OPERAND (e, 0));
   13.47 -diff -durN gcc-4.3.0.orig/gcc/testsuite/gcc.dg/pr35440.c gcc-4.3.0/gcc/testsuite/gcc.dg/pr35440.c
   13.48 ---- gcc-4.3.0.orig/gcc/testsuite/gcc.dg/pr35440.c	1970-01-01 01:00:00.000000000 +0100
   13.49 -+++ gcc-4.3.0/gcc/testsuite/gcc.dg/pr35440.c	2008-06-10 14:44:54.000000000 +0200
   13.50 -@@ -0,0 +1,12 @@
   13.51 -+/* PR c/35440 */
   13.52 -+/* { dg-do compile } */
   13.53 -+/* { dg-options "-std=gnu99" } */
   13.54 -+
   13.55 -+struct A {};
   13.56 -+struct B { int i; char j[2]; };
   13.57 -+
   13.58 -+void foo (void)
   13.59 -+{
   13.60 -+  (struct A){}();			/* { dg-error "called object" } */
   13.61 -+  (struct B){ .i = 2, .j[1] = 1 }();	/* { dg-error "called object" } */
   13.62 -+}
    14.1 --- a/patches/gcc/4.3.0/220-pr24170.patch	Sun Jan 31 12:22:54 2010 +0100
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,61 +0,0 @@
    14.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc43-pr24170.patch
    14.5 -http://gcc.gnu.org/PR24170
    14.6 -
    14.7 -2008-02-20  Tom Tromey  <tromey@redhat.com>
    14.8 -
    14.9 -	PR libgcj/24170:
   14.10 -	* java/io/natFilePosix.cc (File::performList): Don't use
   14.11 -	readdir_r.
   14.12 -	* configure, include/config.h.in: Rebuilt.
   14.13 -	* configure.ac: Don't check for readdir_r.
   14.14 -
   14.15 -diff -durN gcc-4.3.0.orig/libjava/configure.ac gcc-4.3.0/libjava/configure.ac
   14.16 ---- gcc-4.3.0.orig/libjava/configure.ac	2008-06-10 14:44:17.000000000 +0200
   14.17 -+++ gcc-4.3.0/libjava/configure.ac	2008-06-10 14:44:58.000000000 +0200
   14.18 -@@ -1030,7 +1030,7 @@
   14.19 -    PLATFORMNET=NoNet
   14.20 - else
   14.21 -    AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
   14.22 --                   localtime_r readdir_r getpwuid_r getcwd \
   14.23 -+                   localtime_r getpwuid_r getcwd \
   14.24 - 		   access stat lstat mkdir rename rmdir unlink utime chmod readlink \
   14.25 - 		   nl_langinfo setlocale \
   14.26 - 		   inet_pton uname inet_ntoa \
   14.27 -diff -durN gcc-4.3.0.orig/libjava/include/config.h.in gcc-4.3.0/libjava/include/config.h.in
   14.28 ---- gcc-4.3.0.orig/libjava/include/config.h.in	2007-07-31 18:17:21.000000000 +0200
   14.29 -+++ gcc-4.3.0/libjava/include/config.h.in	2008-06-10 14:44:58.000000000 +0200
   14.30 -@@ -214,9 +214,6 @@
   14.31 - /* Define to 1 if you have the <pwd.h> header file. */
   14.32 - #undef HAVE_PWD_H
   14.33 - 
   14.34 --/* Define to 1 if you have the `readdir_r' function. */
   14.35 --#undef HAVE_READDIR_R
   14.36 --
   14.37 - /* Define to 1 if you have the `readlink' function. */
   14.38 - #undef HAVE_READLINK
   14.39 - 
   14.40 -diff -durN gcc-4.3.0.orig/libjava/java/io/natFilePosix.cc gcc-4.3.0/libjava/java/io/natFilePosix.cc
   14.41 ---- gcc-4.3.0.orig/libjava/java/io/natFilePosix.cc	2007-08-04 23:50:01.000000000 +0200
   14.42 -+++ gcc-4.3.0/libjava/java/io/natFilePosix.cc	2008-06-10 14:44:58.000000000 +0200
   14.43 -@@ -1,6 +1,6 @@
   14.44 - // natFile.cc - Native part of File class for POSIX.
   14.45 - 
   14.46 --/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
   14.47 -+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
   14.48 -    Free Software Foundation
   14.49 - 
   14.50 -    This file is part of libgcj.
   14.51 -@@ -292,13 +292,7 @@
   14.52 - 
   14.53 -   java::util::ArrayList *list = new java::util::ArrayList ();
   14.54 -   struct dirent *d;
   14.55 --#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
   14.56 --  int name_max = pathconf (buf, _PC_NAME_MAX);
   14.57 --  char dbuf[sizeof (struct dirent) + name_max + 1];
   14.58 --  while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
   14.59 --#else /* HAVE_READDIR_R */
   14.60 -   while ((d = readdir (dir)) != NULL)
   14.61 --#endif /* HAVE_READDIR_R */
   14.62 -     {
   14.63 -       // Omit "." and "..".
   14.64 -       if (d->d_name[0] == '.'
    15.1 --- a/patches/gcc/4.3.0/230-noteGNUstack-00.patch	Sun Jan 31 12:22:54 2010 +0100
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,96 +0,0 @@
    15.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
    15.5 -2004-09-20  Jakub Jelinek  <jakub@redhat.com>
    15.6 -
    15.7 -	* config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
    15.8 -	on ppc64-linux.
    15.9 -
   15.10 -	* config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
   15.11 -	ia64-linux.
   15.12 -	* config/ia64/crtbegin.asm: Likewise.
   15.13 -	* config/ia64/crtend.asm: Likewise.
   15.14 -	* config/ia64/crti.asm: Likewise.
   15.15 -	* config/ia64/crtn.asm: Likewise.
   15.16 -
   15.17 -2004-05-14  Jakub Jelinek  <jakub@redhat.com>
   15.18 -
   15.19 -	* config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
   15.20 -
   15.21 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.0/gcc/config/ia64/crtbegin.asm
   15.22 ---- gcc-4.3.0.orig/gcc/config/ia64/crtbegin.asm	2005-09-27 02:52:24.000000000 +0200
   15.23 -+++ gcc-4.3.0/gcc/config/ia64/crtbegin.asm	2008-06-10 14:45:02.000000000 +0200
   15.24 -@@ -255,3 +255,7 @@
   15.25 - .weak __cxa_finalize
   15.26 - #endif
   15.27 - .weak _Jv_RegisterClasses
   15.28 -+
   15.29 -+#ifdef __linux__
   15.30 -+.section .note.GNU-stack; .previous
   15.31 -+#endif
   15.32 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtend.asm gcc-4.3.0/gcc/config/ia64/crtend.asm
   15.33 ---- gcc-4.3.0.orig/gcc/config/ia64/crtend.asm	2005-09-27 02:52:24.000000000 +0200
   15.34 -+++ gcc-4.3.0/gcc/config/ia64/crtend.asm	2008-06-10 14:45:02.000000000 +0200
   15.35 -@@ -122,3 +122,7 @@
   15.36 - 
   15.37 - 	br.ret.sptk.many rp
   15.38 - 	.endp __do_global_ctors_aux
   15.39 -+
   15.40 -+#ifdef __linux__
   15.41 -+.section .note.GNU-stack; .previous
   15.42 -+#endif
   15.43 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/crti.asm gcc-4.3.0/gcc/config/ia64/crti.asm
   15.44 ---- gcc-4.3.0.orig/gcc/config/ia64/crti.asm	2005-06-25 03:22:41.000000000 +0200
   15.45 -+++ gcc-4.3.0/gcc/config/ia64/crti.asm	2008-06-10 14:45:02.000000000 +0200
   15.46 -@@ -64,3 +64,7 @@
   15.47 - 	.body
   15.48 - 
   15.49 - # end of crti.asm
   15.50 -+
   15.51 -+#ifdef __linux__
   15.52 -+.section .note.GNU-stack; .previous
   15.53 -+#endif
   15.54 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/crtn.asm gcc-4.3.0/gcc/config/ia64/crtn.asm
   15.55 ---- gcc-4.3.0.orig/gcc/config/ia64/crtn.asm	2005-06-25 03:22:41.000000000 +0200
   15.56 -+++ gcc-4.3.0/gcc/config/ia64/crtn.asm	2008-06-10 14:45:02.000000000 +0200
   15.57 -@@ -54,3 +54,7 @@
   15.58 - 	br.ret.sptk.many b0
   15.59 - 
   15.60 - # end of crtn.asm
   15.61 -+
   15.62 -+#ifdef __linux__
   15.63 -+.section .note.GNU-stack; .previous
   15.64 -+#endif
   15.65 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.0/gcc/config/ia64/lib1funcs.asm
   15.66 ---- gcc-4.3.0.orig/gcc/config/ia64/lib1funcs.asm	2005-09-27 02:52:24.000000000 +0200
   15.67 -+++ gcc-4.3.0/gcc/config/ia64/lib1funcs.asm	2008-06-10 14:45:02.000000000 +0200
   15.68 -@@ -792,3 +792,7 @@
   15.69 - 	}
   15.70 - 	.endp __floattitf
   15.71 - #endif
   15.72 -+
   15.73 -+#ifdef __linux__
   15.74 -+.section .note.GNU-stack; .previous
   15.75 -+#endif
   15.76 -diff -durN gcc-4.3.0.orig/gcc/config/ia64/linux.h gcc-4.3.0/gcc/config/ia64/linux.h
   15.77 ---- gcc-4.3.0.orig/gcc/config/ia64/linux.h	2006-12-12 16:15:19.000000000 +0100
   15.78 -+++ gcc-4.3.0/gcc/config/ia64/linux.h	2008-06-10 14:45:02.000000000 +0200
   15.79 -@@ -5,6 +5,8 @@
   15.80 - 
   15.81 - #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
   15.82 - 
   15.83 -+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
   15.84 -+
   15.85 - /* This is for -profile to use -lc_p instead of -lc.  */
   15.86 - #undef CC1_SPEC
   15.87 - #define CC1_SPEC "%{profile:-p} %{G*}"
   15.88 -diff -durN gcc-4.3.0.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.0/gcc/config/rs6000/ppc-asm.h
   15.89 ---- gcc-4.3.0.orig/gcc/config/rs6000/ppc-asm.h	2003-06-04 18:44:51.000000000 +0200
   15.90 -+++ gcc-4.3.0/gcc/config/rs6000/ppc-asm.h	2008-06-10 14:45:02.000000000 +0200
   15.91 -@@ -158,7 +158,7 @@
   15.92 - 	.size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
   15.93 - #endif
   15.94 - 
   15.95 --#if defined __linux__ && !defined __powerpc64__
   15.96 -+#if defined __linux__
   15.97 - 	.section .note.GNU-stack
   15.98 - 	.previous
   15.99 - #endif
    16.1 --- a/patches/gcc/4.3.0/240-noteGNUstack-01.patch	Sun Jan 31 12:22:54 2010 +0100
    16.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.3 @@ -1,198 +0,0 @@
    16.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/62_all_gcc4-noteGNUstack.patch
    16.5 -2005-02-08  Jakub Jelinek  <jakub@redhat.com>
    16.6 -
    16.7 -	* src/alpha/osf.S: Add .note.GNU-stack on Linux.
    16.8 -	* src/s390/sysv.S: Likewise.
    16.9 -	* src/powerpc/linux64.S: Likewise.
   16.10 -	* src/powerpc/linux64_closure.S: Likewise.
   16.11 -	* src/powerpc/ppc_closure.S: Likewise.
   16.12 -	* src/powerpc/sysv.S: Likewise.
   16.13 -	* src/x86/unix64.S: Likewise.
   16.14 -	* src/x86/sysv.S: Likewise.
   16.15 -	* src/sparc/v8.S: Likewise.
   16.16 -	* src/sparc/v9.S: Likewise.
   16.17 -	* src/m68k/sysv.S: Likewise.
   16.18 -	* src/ia64/unix.S: Likewise.
   16.19 -	* src/arm/sysv.S: Likewise.
   16.20 -
   16.21 -	* ia64_save_regs_in_stack.s: Moved to...
   16.22 -	* ia64_save_regs_in_stack.S: ... this.  Add .note.GNU-stack
   16.23 -	on Linux.
   16.24 -
   16.25 -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
   16.26 ---- gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.S	1970-01-01 01:00:00.000000000 +0100
   16.27 -+++ gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.S	2008-06-10 14:45:05.000000000 +0200
   16.28 -@@ -0,0 +1,15 @@
   16.29 -+        .text
   16.30 -+        .align 16
   16.31 -+        .global GC_save_regs_in_stack
   16.32 -+        .proc GC_save_regs_in_stack
   16.33 -+GC_save_regs_in_stack:
   16.34 -+        .bodyfoo.mpg
   16.35 -+        flushrs
   16.36 -+        ;;
   16.37 -+        mov r8=ar.bsp
   16.38 -+        br.ret.sptk.few rp
   16.39 -+        .endp GC_save_regs_in_stack
   16.40 -+
   16.41 -+#ifdef __linux__
   16.42 -+	.section .note.GNU-stack,"",@progbits
   16.43 -+#endif
   16.44 -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
   16.45 ---- gcc-4.3.0.orig/boehm-gc/ia64_save_regs_in_stack.s	2001-10-15 06:57:59.000000000 +0200
   16.46 -+++ gcc-4.3.0/boehm-gc/ia64_save_regs_in_stack.s	2008-06-10 14:45:05.000000000 +0200
   16.47 -@@ -1,12 +0,0 @@
   16.48 --        .text
   16.49 --        .align 16
   16.50 --        .global GC_save_regs_in_stack
   16.51 --        .proc GC_save_regs_in_stack
   16.52 --GC_save_regs_in_stack:
   16.53 --        .body
   16.54 --        flushrs
   16.55 --        ;;
   16.56 --        mov r8=ar.bsp
   16.57 --        br.ret.sptk.few rp
   16.58 --        .endp GC_save_regs_in_stack
   16.59 --
   16.60 -diff -durN gcc-4.3.0.orig/libffi/src/alpha/osf.S gcc-4.3.0/libffi/src/alpha/osf.S
   16.61 ---- gcc-4.3.0.orig/libffi/src/alpha/osf.S	2007-04-06 18:24:16.000000000 +0200
   16.62 -+++ gcc-4.3.0/libffi/src/alpha/osf.S	2008-06-10 14:45:05.000000000 +0200
   16.63 -@@ -358,4 +358,8 @@
   16.64 - 	.byte	16		# uleb128 offset 16*-8
   16.65 - 	.align 3
   16.66 - $LEFDE3:
   16.67 -+
   16.68 -+#ifdef __linux__
   16.69 -+	.section	.note.GNU-stack,"",@progbits
   16.70 -+#endif
   16.71 - #endif
   16.72 -diff -durN gcc-4.3.0.orig/libffi/src/arm/sysv.S gcc-4.3.0/libffi/src/arm/sysv.S
   16.73 ---- gcc-4.3.0.orig/libffi/src/arm/sysv.S	2007-09-04 19:52:45.000000000 +0200
   16.74 -+++ gcc-4.3.0/libffi/src/arm/sysv.S	2008-06-10 14:45:05.000000000 +0200
   16.75 -@@ -293,3 +293,6 @@
   16.76 - 	UNWIND .fnend
   16.77 -         .size    CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
   16.78 - 
   16.79 -+#if defined __ELF__ && defined __linux__
   16.80 -+	.section	.note.GNU-stack,"",%progbits
   16.81 -+#endif
   16.82 -diff -durN gcc-4.3.0.orig/libffi/src/ia64/unix.S gcc-4.3.0/libffi/src/ia64/unix.S
   16.83 ---- gcc-4.3.0.orig/libffi/src/ia64/unix.S	2005-03-30 23:49:19.000000000 +0200
   16.84 -+++ gcc-4.3.0/libffi/src/ia64/unix.S	2008-06-10 14:45:05.000000000 +0200
   16.85 -@@ -553,3 +553,7 @@
   16.86 - 	data8	@pcrel(.Lld_hfa_float)		// FFI_IA64_TYPE_HFA_FLOAT
   16.87 - 	data8	@pcrel(.Lld_hfa_double)		// FFI_IA64_TYPE_HFA_DOUBLE
   16.88 - 	data8	@pcrel(.Lld_hfa_ldouble)	// FFI_IA64_TYPE_HFA_LDOUBLE
   16.89 -+
   16.90 -+#if defined __ELF__ && defined __linux__
   16.91 -+	.section	.note.GNU-stack,"",@progbits
   16.92 -+#endif
   16.93 -diff -durN gcc-4.3.0.orig/libffi/src/m68k/sysv.S gcc-4.3.0/libffi/src/m68k/sysv.S
   16.94 ---- gcc-4.3.0.orig/libffi/src/m68k/sysv.S	2007-05-10 23:29:04.000000000 +0200
   16.95 -+++ gcc-4.3.0/libffi/src/m68k/sysv.S	2008-06-10 14:45:05.000000000 +0200
   16.96 -@@ -207,3 +207,7 @@
   16.97 - 	rts
   16.98 - 	CFI_ENDPROC()
   16.99 - 	.size	ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
  16.100 -+
  16.101 -+#if defined __ELF__ && defined __linux__
  16.102 -+	.section	.note.GNU-stack,"",@progbits
  16.103 -+#endif
  16.104 -diff -durN gcc-4.3.0.orig/libffi/src/powerpc/linux64.S gcc-4.3.0/libffi/src/powerpc/linux64.S
  16.105 ---- gcc-4.3.0.orig/libffi/src/powerpc/linux64.S	2007-11-17 00:24:53.000000000 +0100
  16.106 -+++ gcc-4.3.0/libffi/src/powerpc/linux64.S	2008-06-10 14:45:05.000000000 +0200
  16.107 -@@ -179,3 +179,7 @@
  16.108 - 	.align 3
  16.109 - .LEFDE1:
  16.110 - #endif
  16.111 -+
  16.112 -+#if defined __ELF__ && defined __linux__
  16.113 -+	.section	.note.GNU-stack,"",@progbits
  16.114 -+#endif
  16.115 -diff -durN gcc-4.3.0.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.0/libffi/src/powerpc/linux64_closure.S
  16.116 ---- gcc-4.3.0.orig/libffi/src/powerpc/linux64_closure.S	2005-08-11 23:18:24.000000000 +0200
  16.117 -+++ gcc-4.3.0/libffi/src/powerpc/linux64_closure.S	2008-06-10 14:45:05.000000000 +0200
  16.118 -@@ -204,3 +204,7 @@
  16.119 - 	.align 3
  16.120 - .LEFDE1:
  16.121 - #endif
  16.122 -+
  16.123 -+#if defined __ELF__ && defined __linux__
  16.124 -+	.section	.note.GNU-stack,"",@progbits
  16.125 -+#endif
  16.126 -diff -durN gcc-4.3.0.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.0/libffi/src/powerpc/ppc_closure.S
  16.127 ---- gcc-4.3.0.orig/libffi/src/powerpc/ppc_closure.S	2007-12-01 22:00:04.000000000 +0100
  16.128 -+++ gcc-4.3.0/libffi/src/powerpc/ppc_closure.S	2008-06-10 14:45:05.000000000 +0200
  16.129 -@@ -295,3 +295,7 @@
  16.130 - .LEFDE1:
  16.131 - 
  16.132 - #endif
  16.133 -+
  16.134 -+#if defined __ELF__ && defined __linux__
  16.135 -+	.section	.note.GNU-stack,"",@progbits
  16.136 -+#endif
  16.137 -diff -durN gcc-4.3.0.orig/libffi/src/powerpc/sysv.S gcc-4.3.0/libffi/src/powerpc/sysv.S
  16.138 ---- gcc-4.3.0.orig/libffi/src/powerpc/sysv.S	2007-12-01 22:00:04.000000000 +0100
  16.139 -+++ gcc-4.3.0/libffi/src/powerpc/sysv.S	2008-06-10 14:45:05.000000000 +0200
  16.140 -@@ -223,3 +223,7 @@
  16.141 -       .align 2
  16.142 - .LEFDE1:
  16.143 - #endif
  16.144 -+
  16.145 -+#if defined __ELF__ && defined __linux__
  16.146 -+	.section	.note.GNU-stack,"",@progbits
  16.147 -+#endif
  16.148 -diff -durN gcc-4.3.0.orig/libffi/src/s390/sysv.S gcc-4.3.0/libffi/src/s390/sysv.S
  16.149 ---- gcc-4.3.0.orig/libffi/src/s390/sysv.S	2003-10-21 21:01:58.000000000 +0200
  16.150 -+++ gcc-4.3.0/libffi/src/s390/sysv.S	2008-06-10 14:45:05.000000000 +0200
  16.151 -@@ -427,3 +427,6 @@
  16.152 - 
  16.153 - #endif
  16.154 - 
  16.155 -+#if defined __ELF__ && defined __linux__
  16.156 -+	.section	.note.GNU-stack,"",@progbits
  16.157 -+#endif
  16.158 -diff -durN gcc-4.3.0.orig/libffi/src/sparc/v8.S gcc-4.3.0/libffi/src/sparc/v8.S
  16.159 ---- gcc-4.3.0.orig/libffi/src/sparc/v8.S	2004-11-22 19:35:16.000000000 +0100
  16.160 -+++ gcc-4.3.0/libffi/src/sparc/v8.S	2008-06-10 14:45:05.000000000 +0200
  16.161 -@@ -265,3 +265,7 @@
  16.162 - 	.byte	0x1f	! uleb128 0x1f
  16.163 - 	.align	WS
  16.164 - .LLEFDE2:
  16.165 -+
  16.166 -+#if defined __ELF__ && defined __linux__
  16.167 -+	.section	.note.GNU-stack,"",@progbits
  16.168 -+#endif
  16.169 -diff -durN gcc-4.3.0.orig/libffi/src/sparc/v9.S gcc-4.3.0/libffi/src/sparc/v9.S
  16.170 ---- gcc-4.3.0.orig/libffi/src/sparc/v9.S	2004-01-25 07:58:33.000000000 +0100
  16.171 -+++ gcc-4.3.0/libffi/src/sparc/v9.S	2008-06-10 14:45:05.000000000 +0200
  16.172 -@@ -300,3 +300,7 @@
  16.173 - 	.align 8
  16.174 - .LLEFDE2:
  16.175 - #endif
  16.176 -+
  16.177 -+#ifdef __linux__
  16.178 -+	.section	.note.GNU-stack,"",@progbits
  16.179 -+#endif
  16.180 -diff -durN gcc-4.3.0.orig/libffi/src/x86/sysv.S gcc-4.3.0/libffi/src/x86/sysv.S
  16.181 ---- gcc-4.3.0.orig/libffi/src/x86/sysv.S	2008-01-30 15:36:58.000000000 +0100
  16.182 -+++ gcc-4.3.0/libffi/src/x86/sysv.S	2008-06-10 14:45:05.000000000 +0200
  16.183 -@@ -430,3 +430,7 @@
  16.184 - #endif
  16.185 - 
  16.186 - #endif /* ifndef __x86_64__ */
  16.187 -+
  16.188 -+#if defined __ELF__ && defined __linux__
  16.189 -+	.section	.note.GNU-stack,"",@progbits
  16.190 -+#endif
  16.191 -diff -durN gcc-4.3.0.orig/libffi/src/x86/unix64.S gcc-4.3.0/libffi/src/x86/unix64.S
  16.192 ---- gcc-4.3.0.orig/libffi/src/x86/unix64.S	2005-05-05 06:06:38.000000000 +0200
  16.193 -+++ gcc-4.3.0/libffi/src/x86/unix64.S	2008-06-10 14:45:05.000000000 +0200
  16.194 -@@ -410,3 +410,7 @@
  16.195 - .LEFDE3:
  16.196 - 
  16.197 - #endif /* __x86_64__ */
  16.198 -+
  16.199 -+#if defined __ELF__ && defined __linux__
  16.200 -+	.section	.note.GNU-stack,"",@progbits
  16.201 -+#endif
    17.1 --- a/patches/gcc/4.3.0/250-pr35705.patch	Sun Jan 31 12:22:54 2010 +0100
    17.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.3 @@ -1,21 +0,0 @@
    17.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/63_all_gcc43-pr35705.patch
    17.5 -http://gcc.gnu.org/PR35705
    17.6 -
    17.7 -2008-04-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
    17.8 -
    17.9 -	PR middle-end/35705
   17.10 -	* fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
   17.11 -	the expression is a function address.
   17.12 -
   17.13 -diff -durN gcc-4.3.0.orig/gcc/fold-const.c gcc-4.3.0/gcc/fold-const.c
   17.14 ---- gcc-4.3.0.orig/gcc/fold-const.c	2008-02-27 15:12:33.000000000 +0100
   17.15 -+++ gcc-4.3.0/gcc/fold-const.c	2008-06-10 14:45:09.000000000 +0200
   17.16 -@@ -9357,7 +9357,7 @@
   17.17 - 	    }
   17.18 - 	}
   17.19 - 
   17.20 --      if (DECL_P (expr))
   17.21 -+      if (DECL_P (expr) && TREE_CODE (expr) != FUNCTION_DECL)
   17.22 - 	return DECL_ALIGN_UNIT (expr);
   17.23 -     }
   17.24 -   else if (code == POINTER_PLUS_EXPR)
    18.1 --- a/patches/gcc/4.3.0/260-pr34571.patch	Sun Jan 31 12:22:54 2010 +0100
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,35 +0,0 @@
    18.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/64_all_gcc43-pr34571.patch
    18.5 -http://gcc.gnu.org/PR34571
    18.6 -
    18.7 -2007-12-26  Rask Ingemann Lambertsen  <rask@sygehus.dk>
    18.8 -
    18.9 -	PR target/34571
   18.10 -	* config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
   18.11 -	symbolic_operand.
   18.12 -	* varasm.c (output_constant_pool_1): Fix typo.
   18.13 -
   18.14 -diff -durN gcc-4.3.0.orig/gcc/config/alpha/alpha.c gcc-4.3.0/gcc/config/alpha/alpha.c
   18.15 ---- gcc-4.3.0.orig/gcc/config/alpha/alpha.c	2008-02-07 18:45:24.000000000 +0100
   18.16 -+++ gcc-4.3.0/gcc/config/alpha/alpha.c	2008-06-10 14:45:13.000000000 +0200
   18.17 -@@ -1113,8 +1113,7 @@
   18.18 - static bool
   18.19 - alpha_cannot_force_const_mem (rtx x)
   18.20 - {
   18.21 --  enum rtx_code code = GET_CODE (x);
   18.22 --  return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
   18.23 -+  return symbolic_operand (x, GET_MODE (x));
   18.24 - }
   18.25 - 
   18.26 - /* We do not allow indirect calls to be optimized into sibling calls, nor
   18.27 -diff -durN gcc-4.3.0.orig/gcc/varasm.c gcc-4.3.0/gcc/varasm.c
   18.28 ---- gcc-4.3.0.orig/gcc/varasm.c	2007-12-05 22:55:10.000000000 +0100
   18.29 -+++ gcc-4.3.0/gcc/varasm.c	2008-06-10 14:45:13.000000000 +0200
   18.30 -@@ -3710,7 +3710,7 @@
   18.31 -       /* FALLTHRU  */
   18.32 - 
   18.33 -     case LABEL_REF:
   18.34 --      tmp = XEXP (x, 0);
   18.35 -+      tmp = XEXP (tmp, 0);
   18.36 -       gcc_assert (!INSN_DELETED_P (tmp));
   18.37 -       gcc_assert (!NOTE_P (tmp)
   18.38 - 		  || NOTE_KIND (tmp) != NOTE_INSN_DELETED);
    19.1 --- a/patches/gcc/4.3.0/270-pr35982.patch	Sun Jan 31 12:22:54 2010 +0100
    19.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.3 @@ -1,23 +0,0 @@
    19.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/65_all_gcc43-pr35982.patch
    19.5 -http://gcc.gnu.org/PR35982
    19.6 -
    19.7 -2008-04-23  Ira Rosen  <irar@il.ibm.com>
    19.8 -
    19.9 -	PR tree-optimization/35982
   19.10 -	* tree-vect-analyze.c (vect_check_interleaving): Check that the
   19.11 -	interleaved data-refs are of the same type.
   19.12 -
   19.13 -diff -durN gcc-4.3.0.orig/gcc/tree-vect-analyze.c gcc-4.3.0/gcc/tree-vect-analyze.c
   19.14 ---- gcc-4.3.0.orig/gcc/tree-vect-analyze.c	2007-12-06 17:18:55.000000000 +0100
   19.15 -+++ gcc-4.3.0/gcc/tree-vect-analyze.c	2008-06-10 14:45:17.000000000 +0200
   19.16 -@@ -1081,7 +1081,9 @@
   19.17 -   type_size_b = TREE_INT_CST_LOW (TYPE_SIZE_UNIT (TREE_TYPE (DR_REF (drb))));
   19.18 - 
   19.19 -   if (type_size_a != type_size_b
   19.20 --      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb)))
   19.21 -+      || tree_int_cst_compare (DR_STEP (dra), DR_STEP (drb))
   19.22 -+      || !types_compatible_p (TREE_TYPE (DR_REF (dra)), 
   19.23 -+                              TREE_TYPE (DR_REF (drb))))
   19.24 -     return;
   19.25 - 
   19.26 -   init_a = TREE_INT_CST_LOW (DR_INIT (dra));
    20.1 --- a/patches/gcc/4.3.0/280-pr25343.patch	Sun Jan 31 12:22:54 2010 +0100
    20.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.3 @@ -1,21 +0,0 @@
    20.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/66_all_gcc43-pr25343.patch
    20.5 -http://gcc.gnu.org/PR25343
    20.6 -
    20.7 -sniped from Debian
    20.8 -
    20.9 -2008-04-27  Roman Zippel <zippel@linux-m68k.org>
   20.10 -
   20.11 -	* config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
   20.12 -
   20.13 -diff -durN gcc-4.3.0.orig/gcc/config/host-linux.c gcc-4.3.0/gcc/config/host-linux.c
   20.14 ---- gcc-4.3.0.orig/gcc/config/host-linux.c	2007-08-02 12:49:31.000000000 +0200
   20.15 -+++ gcc-4.3.0/gcc/config/host-linux.c	2008-06-10 14:45:20.000000000 +0200
   20.16 -@@ -84,6 +84,8 @@
   20.17 - # define TRY_EMPTY_VM_SPACE	0x8000000000
   20.18 - #elif defined(__sparc__)
   20.19 - # define TRY_EMPTY_VM_SPACE	0x60000000
   20.20 -+#elif defined(__mc68000__)
   20.21 -+# define TRY_EMPTY_VM_SPACE	0x40000000
   20.22 - #else
   20.23 - # define TRY_EMPTY_VM_SPACE	0
   20.24 - #endif
    21.1 --- a/patches/gcc/4.3.0/290-sh-pr24836.patch	Sun Jan 31 12:22:54 2010 +0100
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,28 +0,0 @@
    21.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/74_all_sh-pr24836.patch
    21.5 -http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
    21.6 -http://gcc.gnu.org/PR24836
    21.7 -
    21.8 -diff -durN gcc-4.3.0.orig/gcc/configure gcc-4.3.0/gcc/configure
    21.9 ---- gcc-4.3.0.orig/gcc/configure	2008-06-10 14:44:21.000000000 +0200
   21.10 -+++ gcc-4.3.0/gcc/configure	2008-06-10 14:45:24.000000000 +0200
   21.11 -@@ -14700,7 +14700,7 @@
   21.12 - 	tls_first_minor=14
   21.13 - 	tls_as_opt="-m64 -Aesame --fatal-warnings"
   21.14 - 	;;
   21.15 --  sh-*-* | sh[34]-*-*)
   21.16 -+  sh-*-* | sh[34]*-*-*)
   21.17 -     conftest_s='
   21.18 - 	.section ".tdata","awT",@progbits
   21.19 - foo:	.long	25
   21.20 -diff -durN gcc-4.3.0.orig/gcc/configure.ac gcc-4.3.0/gcc/configure.ac
   21.21 ---- gcc-4.3.0.orig/gcc/configure.ac	2008-06-10 14:44:21.000000000 +0200
   21.22 -+++ gcc-4.3.0/gcc/configure.ac	2008-06-10 14:45:24.000000000 +0200
   21.23 -@@ -2533,7 +2533,7 @@
   21.24 - 	tls_first_minor=14
   21.25 - 	tls_as_opt="-m64 -Aesame --fatal-warnings"
   21.26 - 	;;
   21.27 --  sh-*-* | sh[34]-*-*)
   21.28 -+  sh-*-* | sh[34]*-*-*)
   21.29 -     conftest_s='
   21.30 - 	.section ".tdata","awT",@progbits
   21.31 - foo:	.long	25
    22.1 --- a/patches/gcc/4.3.0/300-ca-translation-typo.patch	Sun Jan 31 12:22:54 2010 +0100
    22.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.3 @@ -1,19 +0,0 @@
    22.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/85_all_gcc-ca-translation-typo.patch
    22.5 -http://bugs.gentoo.org/127190
    22.6 -
    22.7 -2006-03-28  Harald van Dijk  <truedfx@gentoo.org>
    22.8 -
    22.9 -	* ca.po: Fix printf flag typo in negative value translation.
   22.10 -
   22.11 -diff -durN gcc-4.3.0.orig/gcc/po/ca.po gcc-4.3.0/gcc/po/ca.po
   22.12 ---- gcc-4.3.0.orig/gcc/po/ca.po	2007-11-10 19:36:27.000000000 +0100
   22.13 -+++ gcc-4.3.0/gcc/po/ca.po	2008-06-10 14:45:27.000000000 +0200
   22.14 -@@ -36028,7 +36028,7 @@
   22.15 - #~ msgstr "passant el valor negatiu `%E' per a %s %P de \"%D\""
   22.16 - 
   22.17 - #~ msgid "%s of negative value `%E' to `%T'"
   22.18 --#~ msgstr "%s de valor negatiu `%I' a \"%T\""
   22.19 -+#~ msgstr "%s de valor negatiu `%E' a \"%T\""
   22.20 - 
   22.21 - #~ msgid "initializing array with parameter list"
   22.22 - #~ msgstr "inicialitzant una matriu amb una llista de paràmetres"
    23.1 --- a/patches/gcc/4.3.0/310-uclibc-conf-noupstream.patch	Sun Jan 31 12:22:54 2010 +0100
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,13 +0,0 @@
    23.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/uclibc/90_all_103-uclibc-conf-noupstream.patch
    23.5 -diff -durN gcc-4.3.0.orig/gcc/config.gcc gcc-4.3.0/gcc/config.gcc
    23.6 ---- gcc-4.3.0.orig/gcc/config.gcc	2008-06-10 14:44:51.000000000 +0200
    23.7 -+++ gcc-4.3.0/gcc/config.gcc	2008-06-10 14:45:31.000000000 +0200
    23.8 -@@ -2142,7 +2142,7 @@
    23.9 -         ;;
   23.10 - sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
   23.11 - sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
   23.12 --  sh-*-linux* | sh[346lbe]*-*-linux* | \
   23.13 -+  sh*-*-linux* | sh[346lbe]*-*-linux* | \
   23.14 -   sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
   23.15 -    sh64-*-netbsd* | sh64l*-*-netbsd*)
   23.16 - 	tmake_file="${tmake_file} sh/t-sh sh/t-elf"
    24.1 --- a/patches/gcc/4.3.0/320-missing-execinfo_h.patch	Sun Jan 31 12:22:54 2010 +0100
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,13 +0,0 @@
    24.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/uclibc/90_all_301-missing-execinfo_h.patch
    24.5 -diff -durN gcc-4.3.0.orig/boehm-gc/include/gc.h gcc-4.3.0/boehm-gc/include/gc.h
    24.6 ---- gcc-4.3.0.orig/boehm-gc/include/gc.h	2007-04-23 23:10:09.000000000 +0200
    24.7 -+++ gcc-4.3.0/boehm-gc/include/gc.h	2008-06-10 14:45:50.000000000 +0200
    24.8 -@@ -503,7 +503,7 @@
    24.9 - #if defined(__linux__) || defined(__GLIBC__)
   24.10 - # include <features.h>
   24.11 - # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
   24.12 --     && !defined(__ia64__)
   24.13 -+     && !defined(__ia64__) && !defined(__UCLIBC__)
   24.14 - #   ifndef GC_HAVE_BUILTIN_BACKTRACE
   24.15 - #     define GC_HAVE_BUILTIN_BACKTRACE
   24.16 - #   endif
    25.1 --- a/patches/gcc/4.3.0/330-c99-complex-ugly-hack.patch	Sun Jan 31 12:22:54 2010 +0100
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,14 +0,0 @@
    25.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/uclibc/90_all_303-c99-complex-ugly-hack.patch
    25.5 -diff -durN gcc-4.3.0.orig/libstdc++-v3/configure gcc-4.3.0/libstdc++-v3/configure
    25.6 ---- gcc-4.3.0.orig/libstdc++-v3/configure	2008-06-10 14:45:39.000000000 +0200
    25.7 -+++ gcc-4.3.0/libstdc++-v3/configure	2008-06-10 14:45:54.000000000 +0200
    25.8 -@@ -39006,6 +39006,9 @@
    25.9 - cat >>conftest.$ac_ext <<_ACEOF
   25.10 - /* end confdefs.h.  */
   25.11 - #include <complex.h>
   25.12 -+#ifdef __UCLIBC__
   25.13 -+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
   25.14 -+#endif
   25.15 - int
   25.16 - main ()
   25.17 - {
    26.1 --- a/patches/gcc/4.3.0/340-index_macro.patch	Sun Jan 31 12:22:54 2010 +0100
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,27 +0,0 @@
    26.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/uclibc/90_all_304-index_macro.patch
    26.5 -diff -durN gcc-4.3.0.orig/libstdc++-v3/include/ext/rope gcc-4.3.0/libstdc++-v3/include/ext/rope
    26.6 ---- gcc-4.3.0.orig/libstdc++-v3/include/ext/rope	2008-01-31 19:44:55.000000000 +0100
    26.7 -+++ gcc-4.3.0/libstdc++-v3/include/ext/rope	2008-06-10 14:45:58.000000000 +0200
    26.8 -@@ -59,6 +59,9 @@
    26.9 - #include <bits/gthr.h>
   26.10 - #include <tr1/functional>
   26.11 - 
   26.12 -+/* cope w/ index defined as macro, SuSv3 proposal */
   26.13 -+#undef index
   26.14 -+
   26.15 - # ifdef __GC
   26.16 - #   define __GC_CONST const
   26.17 - # else
   26.18 -diff -durN gcc-4.3.0.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.0/libstdc++-v3/include/ext/ropeimpl.h
   26.19 ---- gcc-4.3.0.orig/libstdc++-v3/include/ext/ropeimpl.h	2007-05-04 17:06:46.000000000 +0200
   26.20 -+++ gcc-4.3.0/libstdc++-v3/include/ext/ropeimpl.h	2008-06-10 14:45:58.000000000 +0200
   26.21 -@@ -54,6 +54,9 @@
   26.22 - #include <ext/memory> // For uninitialized_copy_n
   26.23 - #include <ext/numeric> // For power
   26.24 - 
   26.25 -+/* cope w/ index defined as macro, SuSv3 proposal */
   26.26 -+#undef index
   26.27 -+
   26.28 - _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
   26.29 - 
   26.30 -   using std::size_t;
    27.1 --- a/patches/gcc/4.3.0/350-libmudflap-susv3-legacy.patch	Sun Jan 31 12:22:54 2010 +0100
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,49 +0,0 @@
    27.4 -Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/uclibc/90_all_305-libmudflap-susv3-legacy.patch
    27.5 -diff -durN gcc-4.3.0.orig/libmudflap/mf-hooks2.c gcc-4.3.0/libmudflap/mf-hooks2.c
    27.6 ---- gcc-4.3.0.orig/libmudflap/mf-hooks2.c	2005-09-23 23:58:39.000000000 +0200
    27.7 -+++ gcc-4.3.0/libmudflap/mf-hooks2.c	2008-06-10 14:46:02.000000000 +0200
    27.8 -@@ -427,7 +427,7 @@
    27.9 - {
   27.10 -   TRACE ("%s\n", __PRETTY_FUNCTION__);
   27.11 -   MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
   27.12 --  bzero (s, n);
   27.13 -+  memset (s, 0, n);
   27.14 - }
   27.15 - 
   27.16 - 
   27.17 -@@ -437,7 +437,7 @@
   27.18 -   TRACE ("%s\n", __PRETTY_FUNCTION__);
   27.19 -   MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
   27.20 -   MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
   27.21 --  bcopy (src, dest, n);
   27.22 -+  memmove (dest, src, n);
   27.23 - }
   27.24 - 
   27.25 - 
   27.26 -@@ -447,7 +447,7 @@
   27.27 -   TRACE ("%s\n", __PRETTY_FUNCTION__);
   27.28 -   MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
   27.29 -   MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
   27.30 --  return bcmp (s1, s2, n);
   27.31 -+  return memcmp (s1, s2, n);
   27.32 - }
   27.33 - 
   27.34 - 
   27.35 -@@ -456,7 +456,7 @@
   27.36 -   size_t n = strlen (s);
   27.37 -   TRACE ("%s\n", __PRETTY_FUNCTION__);
   27.38 -   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
   27.39 --  return index (s, c);
   27.40 -+  return strchr (s, c);
   27.41 - }
   27.42 - 
   27.43 - 
   27.44 -@@ -465,7 +465,7 @@
   27.45 -   size_t n = strlen (s);
   27.46 -   TRACE ("%s\n", __PRETTY_FUNCTION__);
   27.47 -   MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
   27.48 --  return rindex (s, c);
   27.49 -+  return strrchr (s, c);
   27.50 - }
   27.51 - 
   27.52 - /* XXX:  stpcpy, memccpy */
    28.1 --- a/patches/gcc/4.3.0/360-arm-softfloat.patch	Sun Jan 31 12:22:54 2010 +0100
    28.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.3 @@ -1,29 +0,0 @@
    28.4 -diff -durN gcc-4.3.1.orig/gcc/config/arm/linux-elf.h gcc-4.3.1/gcc/config/arm/linux-elf.h
    28.5 ---- gcc-4.3.1.orig/gcc/config/arm/linux-elf.h	2007-11-08 14:44:09.000000000 +0100
    28.6 -+++ gcc-4.3.1/gcc/config/arm/linux-elf.h	2008-07-23 15:30:57.000000000 +0200
    28.7 -@@ -60,7 +60,7 @@
    28.8 -    %{shared:-lc} \
    28.9 -    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
   28.10 - 
   28.11 --#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
   28.12 -+#define LIBGCC_SPEC "-lgcc"
   28.13 - 
   28.14 - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
   28.15 - 
   28.16 -diff -durN gcc-4.3.1.orig/gcc/config/arm/t-linux gcc-4.3.1/gcc/config/arm/t-linux
   28.17 ---- gcc-4.3.1.orig/gcc/config/arm/t-linux	2006-11-09 23:14:27.000000000 +0100
   28.18 -+++ gcc-4.3.1/gcc/config/arm/t-linux	2008-07-23 19:15:25.000000000 +0200
   28.19 -@@ -3,7 +3,12 @@
   28.20 - TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
   28.21 - 
   28.22 - LIB1ASMSRC = arm/lib1funcs.asm
   28.23 --LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
   28.24 -+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
   28.25 -+	_call_via_rX _interwork_call_via_rX \
   28.26 -+	_lshrdi3 _ashrdi3 _ashldi3 \
   28.27 -+	_negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
   28.28 -+	_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
   28.29 -+	_fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
   28.30 - 
   28.31 - # MULTILIB_OPTIONS = mhard-float/msoft-float
   28.32 - # MULTILIB_DIRNAMES = hard-float soft-float
    29.1 --- a/patches/gcc/4.3.0/370-alpha-signal_h.patch	Sun Jan 31 12:22:54 2010 +0100
    29.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.3 @@ -1,17 +0,0 @@
    29.4 ---- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h	2005-06-24 20:22:41.000000000 -0500
    29.5 -+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h	2007-09-01 20:21:34.000000000 -0500
    29.6 -@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA.  */
    29.7 - /* Do code reading to identify a signal frame, and set the frame
    29.8 -    state data appropriately.  See unwind-dw2.c for the structs.  */
    29.9 - 
   29.10 -+/* Don't use this if inhibit_libc is set
   29.11 -+   The build for this target will fail trying to include missing headers */
   29.12 -+#ifndef inhibit_libc
   29.13 - #include <signal.h>
   29.14 - #include <sys/ucontext.h>
   29.15 - 
   29.16 -@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
   29.17 -   fs->retaddr_column = 64;
   29.18 -   return _URC_NO_REASON;
   29.19 - }
   29.20 -+#endif /* inhibit_libc */
    30.1 --- a/patches/gcc/4.3.0/380-unbreak-armv4t.patch	Sun Jan 31 12:22:54 2010 +0100
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,11 +0,0 @@
    30.4 ---- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:44.000000000 +0200
    30.5 -+++ gcc-4.3.2/gcc/config/arm/linux-eabi.h	2009-09-08 23:46:51.000000000 +0200
    30.6 -@@ -44,7 +44,7 @@
    30.7 -    The ARM10TDMI core is the default for armv5t, so set
    30.8 -    SUBTARGET_CPU_DEFAULT to achieve this.  */
    30.9 - #undef  SUBTARGET_CPU_DEFAULT
   30.10 --#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
   30.11 -+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
   30.12 - 
   30.13 - /* TARGET_BIG_ENDIAN_DEFAULT is set in
   30.14 -    config.gcc for big endian configurations.  */