Add latest gcc-4.3.2 as EXPERIMENTAL, using the 4.3.1 re-based patchset.
/trunk/config/cc/gcc.in | 7 7 0 0 ++
/trunk/patches/gcc/4.3.2/280-c99-complex-ugly-hack.patch | 8 4 4 0 +-
/trunk/patches/gcc/4.3.2/250-sh-pr24836.patch | 16 8 8 0 ++--
/trunk/patches/gcc/4.3.2/340-make-mno-spe-work-as-expected.patch | 43 19 24 0 ++++++--------
/trunk/patches/gcc/4.3.2/130-cross-compile.patch | 20 10 10 0 +++---
5 files changed, 48 insertions(+), 46 deletions(-)
1.1 --- a/config/cc/gcc.in Tue Sep 23 17:37:12 2008 +0000
1.2 +++ b/config/cc/gcc.in Thu Sep 25 16:06:19 2008 +0000
1.3 @@ -93,6 +93,12 @@
1.4 prompt "4.3.1"
1.5 select CC_GCC_4_3_or_later
1.6
1.7 +config CC_V_4_3_2
1.8 + bool
1.9 + prompt "4.3.2 (EXPERIMENTAL)"
1.10 + depends on EXPERIMENTAL
1.11 + select CC_GCC_4_3_or_later
1.12 +
1.13 # CT_INSERT_VERSION_ABOVE
1.14 # Don't remove above line!
1.15 endchoice
1.16 @@ -118,6 +124,7 @@
1.17 default "4.2.4" if CC_V_4_2_4
1.18 default "4.3.0" if CC_V_4_3_0
1.19 default "4.3.1" if CC_V_4_3_1
1.20 + default "4.3.2" if CC_V_4_3_2
1.21 # CT_INSERT_VERSION_STRING_ABOVE
1.22 # Don't remove above line!
1.23
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/patches/gcc/4.3.2/100-alpha-mieee-default.patch Thu Sep 25 16:06:19 2008 +0000
2.3 @@ -0,0 +1,34 @@
2.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/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.1.orig/gcc/config/alpha/alpha.h gcc-4.3.1/gcc/config/alpha/alpha.h
2.15 +--- gcc-4.3.1.orig/gcc/config/alpha/alpha.h 2007-12-06 14:25:37.000000000 +0100
2.16 ++++ gcc-4.3.1/gcc/config/alpha/alpha.h 2008-06-10 14:56:36.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.1.orig/gcc/config/alpha/alpha.opt gcc-4.3.1/gcc/config/alpha/alpha.opt
2.27 +--- gcc-4.3.1.orig/gcc/config/alpha/alpha.opt 2007-08-02 12:49:31.000000000 +0200
2.28 ++++ gcc-4.3.1/gcc/config/alpha/alpha.opt 2008-06-10 14:56:36.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/patches/gcc/4.3.2/110-trampolinewarn.patch Thu Sep 25 16:06:19 2008 +0000
3.3 @@ -0,0 +1,35 @@
3.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/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.1.orig/gcc/builtins.c gcc-4.3.1/gcc/builtins.c
3.13 +--- gcc-4.3.1.orig/gcc/builtins.c 2008-04-23 00:36:27.000000000 +0200
3.14 ++++ gcc-4.3.1/gcc/builtins.c 2008-06-10 14:56:54.000000000 +0200
3.15 +@@ -5662,6 +5662,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.1.orig/gcc/common.opt gcc-4.3.1/gcc/common.opt
3.26 +--- gcc-4.3.1.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
3.27 ++++ gcc-4.3.1/gcc/common.opt 2008-06-10 14:56:54.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/patches/gcc/4.3.2/120-java-nomulti.patch Thu Sep 25 16:06:19 2008 +0000
4.3 @@ -0,0 +1,47 @@
4.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/03_all_gcc43-java-nomulti.patch
4.5 +diff -durN gcc-4.3.1.orig/libjava/configure gcc-4.3.1/libjava/configure
4.6 +--- gcc-4.3.1.orig/libjava/configure 2008-06-06 16:49:11.000000000 +0200
4.7 ++++ gcc-4.3.1/libjava/configure 2008-06-10 14:57:38.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.1.orig/libjava/configure.ac gcc-4.3.1/libjava/configure.ac
4.35 +--- gcc-4.3.1.orig/libjava/configure.ac 2007-12-22 16:48:46.000000000 +0100
4.36 ++++ gcc-4.3.1/libjava/configure.ac 2008-06-10 14:57:38.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/patches/gcc/4.3.2/130-cross-compile.patch Thu Sep 25 16:06:19 2008 +0000
5.3 @@ -0,0 +1,44 @@
5.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/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.2.orig/gcc/configure gcc-4.3.2/gcc/configure
5.10 +--- gcc-4.3.2.orig/gcc/configure 2008-08-01 11:51:03.000000000 +0200
5.11 ++++ gcc-4.3.2/gcc/configure 2008-09-23 19:39:43.000000000 +0200
5.12 +@@ -13442,7 +13442,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.2.orig/gcc/configure.ac gcc-4.3.2/gcc/configure.ac
5.22 +--- gcc-4.3.2.orig/gcc/configure.ac 2008-08-01 11:51:03.000000000 +0200
5.23 ++++ gcc-4.3.2/gcc/configure.ac 2008-09-23 19:39:43.000000000 +0200
5.24 +@@ -1749,7 +1749,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.2.orig/gcc/unwind-dw2.c gcc-4.3.2/gcc/unwind-dw2.c
5.34 +--- gcc-4.3.2.orig/gcc/unwind-dw2.c 2007-07-25 20:14:57.000000000 +0200
5.35 ++++ gcc-4.3.2/gcc/unwind-dw2.c 2008-09-23 19:39:43.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/patches/gcc/4.3.2/140-netbsd-symbolic.patch Thu Sep 25 16:06:19 2008 +0000
6.3 @@ -0,0 +1,14 @@
6.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/11_all_gcc-netbsd-symbolic.patch
6.5 +http://bugs.gentoo.org/122698
6.6 +
6.7 +diff -durN gcc-4.3.1.orig/gcc/config/netbsd-elf.h gcc-4.3.1/gcc/config/netbsd-elf.h
6.8 +--- gcc-4.3.1.orig/gcc/config/netbsd-elf.h 2007-09-03 18:14:04.000000000 +0200
6.9 ++++ gcc-4.3.1/gcc/config/netbsd-elf.h 2008-06-10 14:57:48.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/patches/gcc/4.3.2/150-sparc64-bsd.patch Thu Sep 25 16:06:19 2008 +0000
7.3 @@ -0,0 +1,30 @@
7.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/14_all_gcc-sparc64-bsd.patch
7.5 +diff -durN gcc-4.3.1.orig/gcc/config/sparc/freebsd.h gcc-4.3.1/gcc/config/sparc/freebsd.h
7.6 +--- gcc-4.3.1.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
7.7 ++++ gcc-4.3.1/gcc/config/sparc/freebsd.h 2008-06-10 14:57:54.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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/patches/gcc/4.3.2/160-flatten-switch-stmt-00.patch Thu Sep 25 16:06:19 2008 +0000
8.3 @@ -0,0 +1,76 @@
8.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/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.1.orig/gcc/stmt.c gcc-4.3.1/gcc/stmt.c
8.57 +--- gcc-4.3.1.orig/gcc/stmt.c 2008-05-09 20:12:13.000000000 +0200
8.58 ++++ gcc-4.3.1/gcc/stmt.c 2008-06-10 14:57:58.000000000 +0200
8.59 +@@ -2509,7 +2509,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 +@@ -3067,6 +3071,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 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/patches/gcc/4.3.2/170-libiberty-pic.patch Thu Sep 25 16:06:19 2008 +0000
9.3 @@ -0,0 +1,12 @@
9.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/51_all_gcc-3.4-libiberty-pic.patch
9.5 +diff -durN gcc-4.3.1.orig/libiberty/Makefile.in gcc-4.3.1/libiberty/Makefile.in
9.6 +--- gcc-4.3.1.orig/libiberty/Makefile.in 2007-07-25 08:26:45.000000000 +0200
9.7 ++++ gcc-4.3.1/libiberty/Makefile.in 2008-06-10 14:58:02.000000000 +0200
9.8 +@@ -225,6 +225,7 @@
9.9 + $(AR) $(AR_FLAGS) $(TARGETLIB) \
9.10 + $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
9.11 + $(RANLIB) $(TARGETLIB); \
9.12 ++ cp $(TARGETLIB) ../ ; \
9.13 + cd ..; \
9.14 + else true; fi
9.15 +
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/patches/gcc/4.3.2/180-superh-default-multilib.patch Thu Sep 25 16:06:19 2008 +0000
10.3 @@ -0,0 +1,25 @@
10.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
10.5 +The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
10.6 +you have to actually list out the multilibs you want or you will end up with
10.7 +just one when using targets like 'sh4-linux-gnu'.
10.8 +
10.9 +The resulting toolchain can't even build a kernel as the kernel needs to build
10.10 +with the nofpu flag to be sure that no fpu ops are generated.
10.11 +
10.12 +Here we restore the gcc-3.x behavior; the additional overhead of building all
10.13 +of these multilibs by default is negligible.
10.14 +
10.15 +http://bugs.gentoo.org/140205
10.16 +
10.17 +diff -durN gcc-4.3.1.orig/gcc/config.gcc gcc-4.3.1/gcc/config.gcc
10.18 +--- gcc-4.3.1.orig/gcc/config.gcc 2008-05-21 10:54:15.000000000 +0200
10.19 ++++ gcc-4.3.1/gcc/config.gcc 2008-06-10 14:58:06.000000000 +0200
10.20 +@@ -2278,7 +2278,7 @@
10.21 + if test x${sh_multilibs} = x ; then
10.22 + case ${target} in
10.23 + sh64-superh-linux* | \
10.24 +- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
10.25 ++ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
10.26 + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
10.27 + sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
10.28 + 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.2/190-libstdc++-pic.patch Thu Sep 25 16:06:19 2008 +0000
11.3 @@ -0,0 +1,56 @@
11.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
11.5 +install libstdc++_pic.a if we have pic objs
11.6 +
11.7 +diff -durN gcc-4.3.1.orig/libstdc++-v3/src/Makefile.am gcc-4.3.1/libstdc++-v3/src/Makefile.am
11.8 +--- gcc-4.3.1.orig/libstdc++-v3/src/Makefile.am 2008-02-29 19:26:50.000000000 +0100
11.9 ++++ gcc-4.3.1/libstdc++-v3/src/Makefile.am 2008-06-10 14:58:09.000000000 +0200
11.10 +@@ -289,6 +289,13 @@
11.11 + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
11.12 +
11.13 +
11.14 ++install-exec-local:
11.15 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
11.16 ++ if [ x"$$pic_objs" != x ]; then \
11.17 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
11.18 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
11.19 ++ fi
11.20 ++
11.21 + # Added bits to build debug library.
11.22 + if GLIBCXX_BUILD_DEBUG
11.23 + all-local: build_debug
11.24 +diff -durN gcc-4.3.1.orig/libstdc++-v3/src/Makefile.in gcc-4.3.1/libstdc++-v3/src/Makefile.in
11.25 +--- gcc-4.3.1.orig/libstdc++-v3/src/Makefile.in 2008-02-29 19:26:50.000000000 +0100
11.26 ++++ gcc-4.3.1/libstdc++-v3/src/Makefile.in 2008-06-10 14:58:09.000000000 +0200
11.27 +@@ -693,7 +693,7 @@
11.28 +
11.29 + install-data-am: install-data-local
11.30 +
11.31 +-install-exec-am: install-toolexeclibLTLIBRARIES
11.32 ++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
11.33 +
11.34 + install-info: install-info-am
11.35 +
11.36 +@@ -732,7 +732,7 @@
11.37 + maintainer-clean-generic mostlyclean mostlyclean-compile \
11.38 + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
11.39 + tags uninstall uninstall-am uninstall-info-am \
11.40 +- uninstall-toolexeclibLTLIBRARIES
11.41 ++ uninstall-toolexeclibLTLIBRARIES install-exec-local
11.42 +
11.43 +
11.44 + # Symbol versioning for shared libraries.
11.45 +@@ -858,6 +858,14 @@
11.46 + install_debug:
11.47 + (cd ${debugdir} && $(MAKE) \
11.48 + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
11.49 ++
11.50 ++install-exec-local:
11.51 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
11.52 ++ if [ x"$$pic_objs" != x ]; then \
11.53 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
11.54 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
11.55 ++ fi
11.56 ++
11.57 + # Tell versions [3.59,3.63) of GNU make to not export all variables.
11.58 + # Otherwise a system limit (for SysV at least) may be exceeded.
11.59 + .NOEXPORT:
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/patches/gcc/4.3.2/200-pr24170.patch Thu Sep 25 16:06:19 2008 +0000
12.3 @@ -0,0 +1,61 @@
12.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc43-pr24170.patch
12.5 +http://gcc.gnu.org/PR24170
12.6 +
12.7 +2008-02-20 Tom Tromey <tromey@redhat.com>
12.8 +
12.9 + PR libgcj/24170:
12.10 + * java/io/natFilePosix.cc (File::performList): Don't use
12.11 + readdir_r.
12.12 + * configure, include/config.h.in: Rebuilt.
12.13 + * configure.ac: Don't check for readdir_r.
12.14 +
12.15 +diff -durN gcc-4.3.1.orig/libjava/configure.ac gcc-4.3.1/libjava/configure.ac
12.16 +--- gcc-4.3.1.orig/libjava/configure.ac 2008-06-10 14:57:42.000000000 +0200
12.17 ++++ gcc-4.3.1/libjava/configure.ac 2008-06-10 14:58:13.000000000 +0200
12.18 +@@ -1030,7 +1030,7 @@
12.19 + PLATFORMNET=NoNet
12.20 + else
12.21 + AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
12.22 +- localtime_r readdir_r getpwuid_r getcwd \
12.23 ++ localtime_r getpwuid_r getcwd \
12.24 + access stat lstat mkdir rename rmdir unlink utime chmod readlink \
12.25 + nl_langinfo setlocale \
12.26 + inet_pton uname inet_ntoa \
12.27 +diff -durN gcc-4.3.1.orig/libjava/include/config.h.in gcc-4.3.1/libjava/include/config.h.in
12.28 +--- gcc-4.3.1.orig/libjava/include/config.h.in 2007-07-31 18:17:21.000000000 +0200
12.29 ++++ gcc-4.3.1/libjava/include/config.h.in 2008-06-10 14:58:13.000000000 +0200
12.30 +@@ -214,9 +214,6 @@
12.31 + /* Define to 1 if you have the <pwd.h> header file. */
12.32 + #undef HAVE_PWD_H
12.33 +
12.34 +-/* Define to 1 if you have the `readdir_r' function. */
12.35 +-#undef HAVE_READDIR_R
12.36 +-
12.37 + /* Define to 1 if you have the `readlink' function. */
12.38 + #undef HAVE_READLINK
12.39 +
12.40 +diff -durN gcc-4.3.1.orig/libjava/java/io/natFilePosix.cc gcc-4.3.1/libjava/java/io/natFilePosix.cc
12.41 +--- gcc-4.3.1.orig/libjava/java/io/natFilePosix.cc 2007-08-04 23:50:01.000000000 +0200
12.42 ++++ gcc-4.3.1/libjava/java/io/natFilePosix.cc 2008-06-10 14:58:13.000000000 +0200
12.43 +@@ -1,6 +1,6 @@
12.44 + // natFile.cc - Native part of File class for POSIX.
12.45 +
12.46 +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
12.47 ++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
12.48 + Free Software Foundation
12.49 +
12.50 + This file is part of libgcj.
12.51 +@@ -292,13 +292,7 @@
12.52 +
12.53 + java::util::ArrayList *list = new java::util::ArrayList ();
12.54 + struct dirent *d;
12.55 +-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
12.56 +- int name_max = pathconf (buf, _PC_NAME_MAX);
12.57 +- char dbuf[sizeof (struct dirent) + name_max + 1];
12.58 +- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
12.59 +-#else /* HAVE_READDIR_R */
12.60 + while ((d = readdir (dir)) != NULL)
12.61 +-#endif /* HAVE_READDIR_R */
12.62 + {
12.63 + // Omit "." and "..".
12.64 + if (d->d_name[0] == '.'
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/patches/gcc/4.3.2/210-noteGNUstack-00.patch Thu Sep 25 16:06:19 2008 +0000
13.3 @@ -0,0 +1,96 @@
13.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
13.5 +2004-09-20 Jakub Jelinek <jakub@redhat.com>
13.6 +
13.7 + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
13.8 + on ppc64-linux.
13.9 +
13.10 + * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
13.11 + ia64-linux.
13.12 + * config/ia64/crtbegin.asm: Likewise.
13.13 + * config/ia64/crtend.asm: Likewise.
13.14 + * config/ia64/crti.asm: Likewise.
13.15 + * config/ia64/crtn.asm: Likewise.
13.16 +
13.17 +2004-05-14 Jakub Jelinek <jakub@redhat.com>
13.18 +
13.19 + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
13.20 +
13.21 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.1/gcc/config/ia64/crtbegin.asm
13.22 +--- gcc-4.3.1.orig/gcc/config/ia64/crtbegin.asm 2005-09-27 02:52:24.000000000 +0200
13.23 ++++ gcc-4.3.1/gcc/config/ia64/crtbegin.asm 2008-06-10 14:58:17.000000000 +0200
13.24 +@@ -255,3 +255,7 @@
13.25 + .weak __cxa_finalize
13.26 + #endif
13.27 + .weak _Jv_RegisterClasses
13.28 ++
13.29 ++#ifdef __linux__
13.30 ++.section .note.GNU-stack; .previous
13.31 ++#endif
13.32 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/crtend.asm gcc-4.3.1/gcc/config/ia64/crtend.asm
13.33 +--- gcc-4.3.1.orig/gcc/config/ia64/crtend.asm 2005-09-27 02:52:24.000000000 +0200
13.34 ++++ gcc-4.3.1/gcc/config/ia64/crtend.asm 2008-06-10 14:58:17.000000000 +0200
13.35 +@@ -122,3 +122,7 @@
13.36 +
13.37 + br.ret.sptk.many rp
13.38 + .endp __do_global_ctors_aux
13.39 ++
13.40 ++#ifdef __linux__
13.41 ++.section .note.GNU-stack; .previous
13.42 ++#endif
13.43 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/crti.asm gcc-4.3.1/gcc/config/ia64/crti.asm
13.44 +--- gcc-4.3.1.orig/gcc/config/ia64/crti.asm 2005-06-25 03:22:41.000000000 +0200
13.45 ++++ gcc-4.3.1/gcc/config/ia64/crti.asm 2008-06-10 14:58:17.000000000 +0200
13.46 +@@ -64,3 +64,7 @@
13.47 + .body
13.48 +
13.49 + # end of crti.asm
13.50 ++
13.51 ++#ifdef __linux__
13.52 ++.section .note.GNU-stack; .previous
13.53 ++#endif
13.54 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/crtn.asm gcc-4.3.1/gcc/config/ia64/crtn.asm
13.55 +--- gcc-4.3.1.orig/gcc/config/ia64/crtn.asm 2005-06-25 03:22:41.000000000 +0200
13.56 ++++ gcc-4.3.1/gcc/config/ia64/crtn.asm 2008-06-10 14:58:17.000000000 +0200
13.57 +@@ -54,3 +54,7 @@
13.58 + br.ret.sptk.many b0
13.59 +
13.60 + # end of crtn.asm
13.61 ++
13.62 ++#ifdef __linux__
13.63 ++.section .note.GNU-stack; .previous
13.64 ++#endif
13.65 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.1/gcc/config/ia64/lib1funcs.asm
13.66 +--- gcc-4.3.1.orig/gcc/config/ia64/lib1funcs.asm 2005-09-27 02:52:24.000000000 +0200
13.67 ++++ gcc-4.3.1/gcc/config/ia64/lib1funcs.asm 2008-06-10 14:58:17.000000000 +0200
13.68 +@@ -792,3 +792,7 @@
13.69 + }
13.70 + .endp __floattitf
13.71 + #endif
13.72 ++
13.73 ++#ifdef __linux__
13.74 ++.section .note.GNU-stack; .previous
13.75 ++#endif
13.76 +diff -durN gcc-4.3.1.orig/gcc/config/ia64/linux.h gcc-4.3.1/gcc/config/ia64/linux.h
13.77 +--- gcc-4.3.1.orig/gcc/config/ia64/linux.h 2006-12-12 16:15:19.000000000 +0100
13.78 ++++ gcc-4.3.1/gcc/config/ia64/linux.h 2008-06-10 14:58:17.000000000 +0200
13.79 +@@ -5,6 +5,8 @@
13.80 +
13.81 + #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
13.82 +
13.83 ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
13.84 ++
13.85 + /* This is for -profile to use -lc_p instead of -lc. */
13.86 + #undef CC1_SPEC
13.87 + #define CC1_SPEC "%{profile:-p} %{G*}"
13.88 +diff -durN gcc-4.3.1.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.1/gcc/config/rs6000/ppc-asm.h
13.89 +--- gcc-4.3.1.orig/gcc/config/rs6000/ppc-asm.h 2003-06-04 18:44:51.000000000 +0200
13.90 ++++ gcc-4.3.1/gcc/config/rs6000/ppc-asm.h 2008-06-10 14:58:17.000000000 +0200
13.91 +@@ -158,7 +158,7 @@
13.92 + .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
13.93 + #endif
13.94 +
13.95 +-#if defined __linux__ && !defined __powerpc64__
13.96 ++#if defined __linux__
13.97 + .section .note.GNU-stack
13.98 + .previous
13.99 + #endif
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/patches/gcc/4.3.2/220-noteGNUstack-01.patch Thu Sep 25 16:06:19 2008 +0000
14.3 @@ -0,0 +1,198 @@
14.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch
14.5 +2005-02-08 Jakub Jelinek <jakub@redhat.com>
14.6 +
14.7 + * src/alpha/osf.S: Add .note.GNU-stack on Linux.
14.8 + * src/s390/sysv.S: Likewise.
14.9 + * src/powerpc/linux64.S: Likewise.
14.10 + * src/powerpc/linux64_closure.S: Likewise.
14.11 + * src/powerpc/ppc_closure.S: Likewise.
14.12 + * src/powerpc/sysv.S: Likewise.
14.13 + * src/x86/unix64.S: Likewise.
14.14 + * src/x86/sysv.S: Likewise.
14.15 + * src/sparc/v8.S: Likewise.
14.16 + * src/sparc/v9.S: Likewise.
14.17 + * src/m68k/sysv.S: Likewise.
14.18 + * src/ia64/unix.S: Likewise.
14.19 + * src/arm/sysv.S: Likewise.
14.20 +
14.21 + * ia64_save_regs_in_stack.s: Moved to...
14.22 + * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack
14.23 + on Linux.
14.24 +
14.25 +diff -durN gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.S
14.26 +--- gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.S 1970-01-01 01:00:00.000000000 +0100
14.27 ++++ gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.S 2008-06-10 14:58:21.000000000 +0200
14.28 +@@ -0,0 +1,15 @@
14.29 ++ .text
14.30 ++ .align 16
14.31 ++ .global GC_save_regs_in_stack
14.32 ++ .proc GC_save_regs_in_stack
14.33 ++GC_save_regs_in_stack:
14.34 ++ .bodyfoo.mpg
14.35 ++ flushrs
14.36 ++ ;;
14.37 ++ mov r8=ar.bsp
14.38 ++ br.ret.sptk.few rp
14.39 ++ .endp GC_save_regs_in_stack
14.40 ++
14.41 ++#ifdef __linux__
14.42 ++ .section .note.GNU-stack,"",@progbits
14.43 ++#endif
14.44 +diff -durN gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.s
14.45 +--- gcc-4.3.1.orig/boehm-gc/ia64_save_regs_in_stack.s 2001-10-15 06:57:59.000000000 +0200
14.46 ++++ gcc-4.3.1/boehm-gc/ia64_save_regs_in_stack.s 2008-06-10 14:58:21.000000000 +0200
14.47 +@@ -1,12 +0,0 @@
14.48 +- .text
14.49 +- .align 16
14.50 +- .global GC_save_regs_in_stack
14.51 +- .proc GC_save_regs_in_stack
14.52 +-GC_save_regs_in_stack:
14.53 +- .body
14.54 +- flushrs
14.55 +- ;;
14.56 +- mov r8=ar.bsp
14.57 +- br.ret.sptk.few rp
14.58 +- .endp GC_save_regs_in_stack
14.59 +-
14.60 +diff -durN gcc-4.3.1.orig/libffi/src/alpha/osf.S gcc-4.3.1/libffi/src/alpha/osf.S
14.61 +--- gcc-4.3.1.orig/libffi/src/alpha/osf.S 2007-04-06 18:24:16.000000000 +0200
14.62 ++++ gcc-4.3.1/libffi/src/alpha/osf.S 2008-06-10 14:58:21.000000000 +0200
14.63 +@@ -358,4 +358,8 @@
14.64 + .byte 16 # uleb128 offset 16*-8
14.65 + .align 3
14.66 + $LEFDE3:
14.67 ++
14.68 ++#ifdef __linux__
14.69 ++ .section .note.GNU-stack,"",@progbits
14.70 ++#endif
14.71 + #endif
14.72 +diff -durN gcc-4.3.1.orig/libffi/src/arm/sysv.S gcc-4.3.1/libffi/src/arm/sysv.S
14.73 +--- gcc-4.3.1.orig/libffi/src/arm/sysv.S 2007-09-04 19:52:45.000000000 +0200
14.74 ++++ gcc-4.3.1/libffi/src/arm/sysv.S 2008-06-10 14:58:21.000000000 +0200
14.75 +@@ -293,3 +293,6 @@
14.76 + UNWIND .fnend
14.77 + .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
14.78 +
14.79 ++#if defined __ELF__ && defined __linux__
14.80 ++ .section .note.GNU-stack,"",%progbits
14.81 ++#endif
14.82 +diff -durN gcc-4.3.1.orig/libffi/src/ia64/unix.S gcc-4.3.1/libffi/src/ia64/unix.S
14.83 +--- gcc-4.3.1.orig/libffi/src/ia64/unix.S 2005-03-30 23:49:19.000000000 +0200
14.84 ++++ gcc-4.3.1/libffi/src/ia64/unix.S 2008-06-10 14:58:21.000000000 +0200
14.85 +@@ -553,3 +553,7 @@
14.86 + data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
14.87 + data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
14.88 + data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE
14.89 ++
14.90 ++#if defined __ELF__ && defined __linux__
14.91 ++ .section .note.GNU-stack,"",@progbits
14.92 ++#endif
14.93 +diff -durN gcc-4.3.1.orig/libffi/src/m68k/sysv.S gcc-4.3.1/libffi/src/m68k/sysv.S
14.94 +--- gcc-4.3.1.orig/libffi/src/m68k/sysv.S 2007-05-10 23:29:04.000000000 +0200
14.95 ++++ gcc-4.3.1/libffi/src/m68k/sysv.S 2008-06-10 14:58:21.000000000 +0200
14.96 +@@ -207,3 +207,7 @@
14.97 + rts
14.98 + CFI_ENDPROC()
14.99 + .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
14.100 ++
14.101 ++#if defined __ELF__ && defined __linux__
14.102 ++ .section .note.GNU-stack,"",@progbits
14.103 ++#endif
14.104 +diff -durN gcc-4.3.1.orig/libffi/src/powerpc/linux64.S gcc-4.3.1/libffi/src/powerpc/linux64.S
14.105 +--- gcc-4.3.1.orig/libffi/src/powerpc/linux64.S 2007-11-17 00:24:53.000000000 +0100
14.106 ++++ gcc-4.3.1/libffi/src/powerpc/linux64.S 2008-06-10 14:58:21.000000000 +0200
14.107 +@@ -179,3 +179,7 @@
14.108 + .align 3
14.109 + .LEFDE1:
14.110 + #endif
14.111 ++
14.112 ++#if defined __ELF__ && defined __linux__
14.113 ++ .section .note.GNU-stack,"",@progbits
14.114 ++#endif
14.115 +diff -durN gcc-4.3.1.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.1/libffi/src/powerpc/linux64_closure.S
14.116 +--- gcc-4.3.1.orig/libffi/src/powerpc/linux64_closure.S 2005-08-11 23:18:24.000000000 +0200
14.117 ++++ gcc-4.3.1/libffi/src/powerpc/linux64_closure.S 2008-06-10 14:58:21.000000000 +0200
14.118 +@@ -204,3 +204,7 @@
14.119 + .align 3
14.120 + .LEFDE1:
14.121 + #endif
14.122 ++
14.123 ++#if defined __ELF__ && defined __linux__
14.124 ++ .section .note.GNU-stack,"",@progbits
14.125 ++#endif
14.126 +diff -durN gcc-4.3.1.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.1/libffi/src/powerpc/ppc_closure.S
14.127 +--- gcc-4.3.1.orig/libffi/src/powerpc/ppc_closure.S 2007-12-01 22:00:04.000000000 +0100
14.128 ++++ gcc-4.3.1/libffi/src/powerpc/ppc_closure.S 2008-06-10 14:58:21.000000000 +0200
14.129 +@@ -295,3 +295,7 @@
14.130 + .LEFDE1:
14.131 +
14.132 + #endif
14.133 ++
14.134 ++#if defined __ELF__ && defined __linux__
14.135 ++ .section .note.GNU-stack,"",@progbits
14.136 ++#endif
14.137 +diff -durN gcc-4.3.1.orig/libffi/src/powerpc/sysv.S gcc-4.3.1/libffi/src/powerpc/sysv.S
14.138 +--- gcc-4.3.1.orig/libffi/src/powerpc/sysv.S 2007-12-01 22:00:04.000000000 +0100
14.139 ++++ gcc-4.3.1/libffi/src/powerpc/sysv.S 2008-06-10 14:58:21.000000000 +0200
14.140 +@@ -223,3 +223,7 @@
14.141 + .align 2
14.142 + .LEFDE1:
14.143 + #endif
14.144 ++
14.145 ++#if defined __ELF__ && defined __linux__
14.146 ++ .section .note.GNU-stack,"",@progbits
14.147 ++#endif
14.148 +diff -durN gcc-4.3.1.orig/libffi/src/s390/sysv.S gcc-4.3.1/libffi/src/s390/sysv.S
14.149 +--- gcc-4.3.1.orig/libffi/src/s390/sysv.S 2003-10-21 21:01:58.000000000 +0200
14.150 ++++ gcc-4.3.1/libffi/src/s390/sysv.S 2008-06-10 14:58:21.000000000 +0200
14.151 +@@ -427,3 +427,6 @@
14.152 +
14.153 + #endif
14.154 +
14.155 ++#if defined __ELF__ && defined __linux__
14.156 ++ .section .note.GNU-stack,"",@progbits
14.157 ++#endif
14.158 +diff -durN gcc-4.3.1.orig/libffi/src/sparc/v8.S gcc-4.3.1/libffi/src/sparc/v8.S
14.159 +--- gcc-4.3.1.orig/libffi/src/sparc/v8.S 2004-11-22 19:35:16.000000000 +0100
14.160 ++++ gcc-4.3.1/libffi/src/sparc/v8.S 2008-06-10 14:58:21.000000000 +0200
14.161 +@@ -265,3 +265,7 @@
14.162 + .byte 0x1f ! uleb128 0x1f
14.163 + .align WS
14.164 + .LLEFDE2:
14.165 ++
14.166 ++#if defined __ELF__ && defined __linux__
14.167 ++ .section .note.GNU-stack,"",@progbits
14.168 ++#endif
14.169 +diff -durN gcc-4.3.1.orig/libffi/src/sparc/v9.S gcc-4.3.1/libffi/src/sparc/v9.S
14.170 +--- gcc-4.3.1.orig/libffi/src/sparc/v9.S 2004-01-25 07:58:33.000000000 +0100
14.171 ++++ gcc-4.3.1/libffi/src/sparc/v9.S 2008-06-10 14:58:21.000000000 +0200
14.172 +@@ -300,3 +300,7 @@
14.173 + .align 8
14.174 + .LLEFDE2:
14.175 + #endif
14.176 ++
14.177 ++#ifdef __linux__
14.178 ++ .section .note.GNU-stack,"",@progbits
14.179 ++#endif
14.180 +diff -durN gcc-4.3.1.orig/libffi/src/x86/sysv.S gcc-4.3.1/libffi/src/x86/sysv.S
14.181 +--- gcc-4.3.1.orig/libffi/src/x86/sysv.S 2008-01-30 15:36:58.000000000 +0100
14.182 ++++ gcc-4.3.1/libffi/src/x86/sysv.S 2008-06-10 14:58:21.000000000 +0200
14.183 +@@ -430,3 +430,7 @@
14.184 + #endif
14.185 +
14.186 + #endif /* ifndef __x86_64__ */
14.187 ++
14.188 ++#if defined __ELF__ && defined __linux__
14.189 ++ .section .note.GNU-stack,"",@progbits
14.190 ++#endif
14.191 +diff -durN gcc-4.3.1.orig/libffi/src/x86/unix64.S gcc-4.3.1/libffi/src/x86/unix64.S
14.192 +--- gcc-4.3.1.orig/libffi/src/x86/unix64.S 2005-05-05 06:06:38.000000000 +0200
14.193 ++++ gcc-4.3.1/libffi/src/x86/unix64.S 2008-06-10 14:58:21.000000000 +0200
14.194 +@@ -410,3 +410,7 @@
14.195 + .LEFDE3:
14.196 +
14.197 + #endif /* __x86_64__ */
14.198 ++
14.199 ++#if defined __ELF__ && defined __linux__
14.200 ++ .section .note.GNU-stack,"",@progbits
14.201 ++#endif
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/patches/gcc/4.3.2/230-pr34571.patch Thu Sep 25 16:06:19 2008 +0000
15.3 @@ -0,0 +1,35 @@
15.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/64_all_gcc43-pr34571.patch
15.5 +http://gcc.gnu.org/PR34571
15.6 +
15.7 +2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk>
15.8 +
15.9 + PR target/34571
15.10 + * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
15.11 + symbolic_operand.
15.12 + * varasm.c (output_constant_pool_1): Fix typo.
15.13 +
15.14 +diff -durN gcc-4.3.1.orig/gcc/config/alpha/alpha.c gcc-4.3.1/gcc/config/alpha/alpha.c
15.15 +--- gcc-4.3.1.orig/gcc/config/alpha/alpha.c 2008-02-07 18:45:24.000000000 +0100
15.16 ++++ gcc-4.3.1/gcc/config/alpha/alpha.c 2008-06-10 14:58:24.000000000 +0200
15.17 +@@ -1113,8 +1113,7 @@
15.18 + static bool
15.19 + alpha_cannot_force_const_mem (rtx x)
15.20 + {
15.21 +- enum rtx_code code = GET_CODE (x);
15.22 +- return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
15.23 ++ return symbolic_operand (x, GET_MODE (x));
15.24 + }
15.25 +
15.26 + /* We do not allow indirect calls to be optimized into sibling calls, nor
15.27 +diff -durN gcc-4.3.1.orig/gcc/varasm.c gcc-4.3.1/gcc/varasm.c
15.28 +--- gcc-4.3.1.orig/gcc/varasm.c 2007-12-05 22:55:10.000000000 +0100
15.29 ++++ gcc-4.3.1/gcc/varasm.c 2008-06-10 14:58:24.000000000 +0200
15.30 +@@ -3710,7 +3710,7 @@
15.31 + /* FALLTHRU */
15.32 +
15.33 + case LABEL_REF:
15.34 +- tmp = XEXP (x, 0);
15.35 ++ tmp = XEXP (tmp, 0);
15.36 + gcc_assert (!INSN_DELETED_P (tmp));
15.37 + gcc_assert (!NOTE_P (tmp)
15.38 + || NOTE_KIND (tmp) != NOTE_INSN_DELETED);
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/patches/gcc/4.3.2/240-pr25343.patch Thu Sep 25 16:06:19 2008 +0000
16.3 @@ -0,0 +1,21 @@
16.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/66_all_gcc43-pr25343.patch
16.5 +http://gcc.gnu.org/PR25343
16.6 +
16.7 +sniped from Debian
16.8 +
16.9 +2008-04-27 Roman Zippel <zippel@linux-m68k.org>
16.10 +
16.11 + * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
16.12 +
16.13 +diff -durN gcc-4.3.1.orig/gcc/config/host-linux.c gcc-4.3.1/gcc/config/host-linux.c
16.14 +--- gcc-4.3.1.orig/gcc/config/host-linux.c 2007-08-02 12:49:31.000000000 +0200
16.15 ++++ gcc-4.3.1/gcc/config/host-linux.c 2008-06-10 14:58:28.000000000 +0200
16.16 +@@ -84,6 +84,8 @@
16.17 + # define TRY_EMPTY_VM_SPACE 0x8000000000
16.18 + #elif defined(__sparc__)
16.19 + # define TRY_EMPTY_VM_SPACE 0x60000000
16.20 ++#elif defined(__mc68000__)
16.21 ++# define TRY_EMPTY_VM_SPACE 0x40000000
16.22 + #else
16.23 + # define TRY_EMPTY_VM_SPACE 0
16.24 + #endif
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/patches/gcc/4.3.2/250-sh-pr24836.patch Thu Sep 25 16:06:19 2008 +0000
17.3 @@ -0,0 +1,28 @@
17.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/74_all_sh-pr24836.patch
17.5 +http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
17.6 +http://gcc.gnu.org/PR24836
17.7 +
17.8 +diff -durN gcc-4.3.2.orig/gcc/configure gcc-4.3.2/gcc/configure
17.9 +--- gcc-4.3.2.orig/gcc/configure 2008-09-23 19:41:45.000000000 +0200
17.10 ++++ gcc-4.3.2/gcc/configure 2008-09-23 19:43:11.000000000 +0200
17.11 +@@ -20689,7 +20689,7 @@
17.12 + tls_first_minor=14
17.13 + tls_as_opt="-m64 -Aesame --fatal-warnings"
17.14 + ;;
17.15 +- sh-*-* | sh[34]-*-*)
17.16 ++ sh-*-* | sh[34]*-*-*)
17.17 + conftest_s='
17.18 + .section ".tdata","awT",@progbits
17.19 + foo: .long 25
17.20 +diff -durN gcc-4.3.2.orig/gcc/configure.ac gcc-4.3.2/gcc/configure.ac
17.21 +--- gcc-4.3.2.orig/gcc/configure.ac 2008-09-23 19:41:45.000000000 +0200
17.22 ++++ gcc-4.3.2/gcc/configure.ac 2008-09-23 19:43:11.000000000 +0200
17.23 +@@ -2552,7 +2552,7 @@
17.24 + tls_first_minor=14
17.25 + tls_as_opt="-m64 -Aesame --fatal-warnings"
17.26 + ;;
17.27 +- sh-*-* | sh[34]-*-*)
17.28 ++ sh-*-* | sh[34]*-*-*)
17.29 + conftest_s='
17.30 + .section ".tdata","awT",@progbits
17.31 + foo: .long 25
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/patches/gcc/4.3.2/260-uclibc-conf-noupstream.patch Thu Sep 25 16:06:19 2008 +0000
18.3 @@ -0,0 +1,13 @@
18.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_103-uclibc-conf-noupstream.patch
18.5 +diff -durN gcc-4.3.1.orig/gcc/config.gcc gcc-4.3.1/gcc/config.gcc
18.6 +--- gcc-4.3.1.orig/gcc/config.gcc 2008-06-10 14:58:09.000000000 +0200
18.7 ++++ gcc-4.3.1/gcc/config.gcc 2008-06-10 14:58:36.000000000 +0200
18.8 +@@ -2149,7 +2149,7 @@
18.9 + ;;
18.10 + sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
18.11 + sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
18.12 +- sh-*-linux* | sh[346lbe]*-*-linux* | \
18.13 ++ sh*-*-linux* | sh[346lbe]*-*-linux* | \
18.14 + sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
18.15 + sh64-*-netbsd* | sh64l*-*-netbsd*)
18.16 + 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.2/270-missing-execinfo_h.patch Thu Sep 25 16:06:19 2008 +0000
19.3 @@ -0,0 +1,13 @@
19.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_301-missing-execinfo_h.patch
19.5 +diff -durN gcc-4.3.1.orig/boehm-gc/include/gc.h gcc-4.3.1/boehm-gc/include/gc.h
19.6 +--- gcc-4.3.1.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
19.7 ++++ gcc-4.3.1/boehm-gc/include/gc.h 2008-06-10 14:58:54.000000000 +0200
19.8 +@@ -503,7 +503,7 @@
19.9 + #if defined(__linux__) || defined(__GLIBC__)
19.10 + # include <features.h>
19.11 + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
19.12 +- && !defined(__ia64__)
19.13 ++ && !defined(__ia64__) && !defined(__UCLIBC__)
19.14 + # ifndef GC_HAVE_BUILTIN_BACKTRACE
19.15 + # define GC_HAVE_BUILTIN_BACKTRACE
19.16 + # endif
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/patches/gcc/4.3.2/280-c99-complex-ugly-hack.patch Thu Sep 25 16:06:19 2008 +0000
20.3 @@ -0,0 +1,14 @@
20.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_303-c99-complex-ugly-hack.patch
20.5 +diff -durN gcc-4.3.2.orig/libstdc++-v3/configure gcc-4.3.2/libstdc++-v3/configure
20.6 +--- gcc-4.3.2.orig/libstdc++-v3/configure 2008-07-07 21:49:54.000000000 +0200
20.7 ++++ gcc-4.3.2/libstdc++-v3/configure 2008-09-23 19:45:27.000000000 +0200
20.8 +@@ -38935,6 +38935,9 @@
20.9 + cat >>conftest.$ac_ext <<_ACEOF
20.10 + /* end confdefs.h. */
20.11 + #include <complex.h>
20.12 ++#ifdef __UCLIBC__
20.13 ++#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
20.14 ++#endif
20.15 + int
20.16 + main ()
20.17 + {
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/patches/gcc/4.3.2/290-index_macro.patch Thu Sep 25 16:06:19 2008 +0000
21.3 @@ -0,0 +1,27 @@
21.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
21.5 +diff -durN gcc-4.3.1.orig/libstdc++-v3/include/ext/rope gcc-4.3.1/libstdc++-v3/include/ext/rope
21.6 +--- gcc-4.3.1.orig/libstdc++-v3/include/ext/rope 2008-01-31 19:44:55.000000000 +0100
21.7 ++++ gcc-4.3.1/libstdc++-v3/include/ext/rope 2008-06-10 14:59:02.000000000 +0200
21.8 +@@ -59,6 +59,9 @@
21.9 + #include <bits/gthr.h>
21.10 + #include <tr1/functional>
21.11 +
21.12 ++/* cope w/ index defined as macro, SuSv3 proposal */
21.13 ++#undef index
21.14 ++
21.15 + # ifdef __GC
21.16 + # define __GC_CONST const
21.17 + # else
21.18 +diff -durN gcc-4.3.1.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.1/libstdc++-v3/include/ext/ropeimpl.h
21.19 +--- gcc-4.3.1.orig/libstdc++-v3/include/ext/ropeimpl.h 2007-05-04 17:06:46.000000000 +0200
21.20 ++++ gcc-4.3.1/libstdc++-v3/include/ext/ropeimpl.h 2008-06-10 14:59:02.000000000 +0200
21.21 +@@ -54,6 +54,9 @@
21.22 + #include <ext/memory> // For uninitialized_copy_n
21.23 + #include <ext/numeric> // For power
21.24 +
21.25 ++/* cope w/ index defined as macro, SuSv3 proposal */
21.26 ++#undef index
21.27 ++
21.28 + _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
21.29 +
21.30 + using std::size_t;
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/patches/gcc/4.3.2/300-libmudflap-susv3-legacy.patch Thu Sep 25 16:06:19 2008 +0000
22.3 @@ -0,0 +1,49 @@
22.4 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
22.5 +diff -durN gcc-4.3.1.orig/libmudflap/mf-hooks2.c gcc-4.3.1/libmudflap/mf-hooks2.c
22.6 +--- gcc-4.3.1.orig/libmudflap/mf-hooks2.c 2005-09-23 23:58:39.000000000 +0200
22.7 ++++ gcc-4.3.1/libmudflap/mf-hooks2.c 2008-06-10 14:59:05.000000000 +0200
22.8 +@@ -427,7 +427,7 @@
22.9 + {
22.10 + TRACE ("%s\n", __PRETTY_FUNCTION__);
22.11 + MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
22.12 +- bzero (s, n);
22.13 ++ memset (s, 0, n);
22.14 + }
22.15 +
22.16 +
22.17 +@@ -437,7 +437,7 @@
22.18 + TRACE ("%s\n", __PRETTY_FUNCTION__);
22.19 + MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
22.20 + MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
22.21 +- bcopy (src, dest, n);
22.22 ++ memmove (dest, src, n);
22.23 + }
22.24 +
22.25 +
22.26 +@@ -447,7 +447,7 @@
22.27 + TRACE ("%s\n", __PRETTY_FUNCTION__);
22.28 + MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
22.29 + MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
22.30 +- return bcmp (s1, s2, n);
22.31 ++ return memcmp (s1, s2, n);
22.32 + }
22.33 +
22.34 +
22.35 +@@ -456,7 +456,7 @@
22.36 + size_t n = strlen (s);
22.37 + TRACE ("%s\n", __PRETTY_FUNCTION__);
22.38 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
22.39 +- return index (s, c);
22.40 ++ return strchr (s, c);
22.41 + }
22.42 +
22.43 +
22.44 +@@ -465,7 +465,7 @@
22.45 + size_t n = strlen (s);
22.46 + TRACE ("%s\n", __PRETTY_FUNCTION__);
22.47 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
22.48 +- return rindex (s, c);
22.49 ++ return strrchr (s, c);
22.50 + }
22.51 +
22.52 + /* XXX: stpcpy, memccpy */
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
23.2 +++ b/patches/gcc/4.3.2/310-arm-softfloat.patch Thu Sep 25 16:06:19 2008 +0000
23.3 @@ -0,0 +1,29 @@
23.4 +diff -durN gcc-4.3.1.orig/gcc/config/arm/linux-elf.h gcc-4.3.1/gcc/config/arm/linux-elf.h
23.5 +--- gcc-4.3.1.orig/gcc/config/arm/linux-elf.h 2007-11-08 14:44:09.000000000 +0100
23.6 ++++ gcc-4.3.1/gcc/config/arm/linux-elf.h 2008-07-23 15:30:57.000000000 +0200
23.7 +@@ -60,7 +60,7 @@
23.8 + %{shared:-lc} \
23.9 + %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
23.10 +
23.11 +-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
23.12 ++#define LIBGCC_SPEC "-lgcc"
23.13 +
23.14 + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
23.15 +
23.16 +diff -durN gcc-4.3.1.orig/gcc/config/arm/t-linux gcc-4.3.1/gcc/config/arm/t-linux
23.17 +--- gcc-4.3.1.orig/gcc/config/arm/t-linux 2006-11-09 23:14:27.000000000 +0100
23.18 ++++ gcc-4.3.1/gcc/config/arm/t-linux 2008-07-23 19:15:25.000000000 +0200
23.19 +@@ -3,7 +3,12 @@
23.20 + TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
23.21 +
23.22 + LIB1ASMSRC = arm/lib1funcs.asm
23.23 +-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
23.24 ++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
23.25 ++ _call_via_rX _interwork_call_via_rX \
23.26 ++ _lshrdi3 _ashrdi3 _ashldi3 \
23.27 ++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
23.28 ++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
23.29 ++ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
23.30 +
23.31 + # MULTILIB_OPTIONS = mhard-float/msoft-float
23.32 + # 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.2/320-alpha-signal_h.patch Thu Sep 25 16:06:19 2008 +0000
24.3 @@ -0,0 +1,17 @@
24.4 +--- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
24.5 ++++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
24.6 +@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
24.7 + /* Do code reading to identify a signal frame, and set the frame
24.8 + state data appropriately. See unwind-dw2.c for the structs. */
24.9 +
24.10 ++/* Don't use this if inhibit_libc is set
24.11 ++ The build for this target will fail trying to include missing headers */
24.12 ++#ifndef inhibit_libc
24.13 + #include <signal.h>
24.14 + #include <sys/ucontext.h>
24.15 +
24.16 +@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
24.17 + fs->retaddr_column = 64;
24.18 + return _URC_NO_REASON;
24.19 + }
24.20 ++#endif /* inhibit_libc */
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
25.2 +++ b/patches/gcc/4.3.2/330-unwind-for-uClibc.patch Thu Sep 25 16:06:19 2008 +0000
25.3 @@ -0,0 +1,25 @@
25.4 +diff -durN gcc-4.3.1.orig/gcc/config/t-linux-uclibc gcc-4.3.1/gcc/config/t-linux-uclibc
25.5 +--- gcc-4.3.1.orig/gcc/config/t-linux-uclibc 1970-01-01 01:00:00.000000000 +0100
25.6 ++++ gcc-4.3.1/gcc/config/t-linux-uclibc 2008-07-29 13:07:15.000000000 +0200
25.7 +@@ -0,0 +1,5 @@
25.8 ++# Remove glibc specific files added in t-linux
25.9 ++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
25.10 ++
25.11 ++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
25.12 ++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
25.13 +diff -durN gcc-4.3.1.orig/gcc/config.gcc gcc-4.3.1/gcc/config.gcc
25.14 +--- gcc-4.3.1.orig/gcc/config.gcc 2008-07-29 13:11:02.000000000 +0200
25.15 ++++ gcc-4.3.1/gcc/config.gcc 2008-07-29 13:10:05.000000000 +0200
25.16 +@@ -2651,6 +2651,12 @@
25.17 + ;;
25.18 + esac
25.19 +
25.20 ++# Rather than hook into each target, just do it after all the linux
25.21 ++# targets have been processed
25.22 ++case ${target} in
25.23 ++ *-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc";;
25.24 ++esac
25.25 ++
25.26 + case ${target} in
25.27 + i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
25.28 + 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.2/340-make-mno-spe-work-as-expected.patch Thu Sep 25 16:06:19 2008 +0000
26.3 @@ -0,0 +1,85 @@
26.4 +2008-04-03 Nathan Froyd <froydnj@codesourcery.com>
26.5 + Nathan Sidwell <nathan@codesourcery.com>
26.6 +
26.7 + * config/rs6000/rs6000.opt (mspe): Remove Var property.
26.8 + (misel): Likewise.
26.9 + * config/rs6000/rs6000.h (rs6000_spe): Declare.
26.10 + (rs6000_isel): Likewise.
26.11 + * config/rs6000/rs6000.c (rs6000_spe): New variable.
26.12 + (rs6000_isel): New variable.
26.13 + (rs6000_handle_option): Handle OPT_mspe and OPT_misel.
26.14 +
26.15 +diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c gcc-4.3.2/gcc/config/rs6000/rs6000.c
26.16 +--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.c 2008-06-10 19:13:57.000000000 +0200
26.17 ++++ gcc-4.3.2/gcc/config/rs6000/rs6000.c 2008-09-23 19:46:45.000000000 +0200
26.18 +@@ -174,9 +174,15 @@
26.19 + /* Nonzero to use AltiVec ABI. */
26.20 + int rs6000_altivec_abi;
26.21 +
26.22 ++/* Nonzero if we want SPE SIMD instructions. */
26.23 ++int rs6000_spe;
26.24 ++
26.25 + /* Nonzero if we want SPE ABI extensions. */
26.26 + int rs6000_spe_abi;
26.27 +
26.28 ++/* Nonzero to use isel instructions. */
26.29 ++int rs6000_isel;
26.30 ++
26.31 + /* Nonzero if floating point operations are done in the GPRs. */
26.32 + int rs6000_float_gprs = 0;
26.33 +
26.34 +@@ -2144,11 +2150,21 @@
26.35 + rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
26.36 + break;
26.37 +
26.38 ++ case OPT_misel:
26.39 ++ rs6000_explicit_options.isel = true;
26.40 ++ rs6000_isel = value;
26.41 ++ break;
26.42 ++
26.43 + case OPT_misel_:
26.44 + rs6000_explicit_options.isel = true;
26.45 + rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
26.46 + break;
26.47 +
26.48 ++ case OPT_mspe:
26.49 ++ rs6000_explicit_options.spe = true;
26.50 ++ rs6000_spe = value;
26.51 ++ break;
26.52 ++
26.53 + case OPT_mspe_:
26.54 + rs6000_explicit_options.spe = true;
26.55 + rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
26.56 +diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.2/gcc/config/rs6000/rs6000.opt
26.57 +--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.opt 2007-10-31 08:56:01.000000000 +0100
26.58 ++++ gcc-4.3.2/gcc/config/rs6000/rs6000.opt 2008-09-23 19:46:45.000000000 +0200
26.59 +@@ -190,7 +190,7 @@
26.60 + -mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
26.61 +
26.62 + misel
26.63 +-Target Var(rs6000_isel)
26.64 ++Target
26.65 + Generate isel instructions
26.66 +
26.67 + misel=
26.68 +@@ -198,7 +198,7 @@
26.69 + -misel=yes/no Deprecated option. Use -misel/-mno-isel instead
26.70 +
26.71 + mspe
26.72 +-Target Var(rs6000_spe)
26.73 ++Target
26.74 + Generate SPE SIMD instructions on E500
26.75 +
26.76 + mpaired
26.77 +diff -durN gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h gcc-4.3.2/gcc/config/rs6000/rs6000.h
26.78 +--- gcc-4.3.2.orig/gcc/config/rs6000/rs6000.h 2008-01-26 18:18:35.000000000 +0100
26.79 ++++ gcc-4.3.2/gcc/config/rs6000/rs6000.h 2008-09-23 19:46:45.000000000 +0200
26.80 +@@ -349,6 +349,8 @@
26.81 + extern int rs6000_ieeequad;
26.82 + extern int rs6000_altivec_abi;
26.83 + extern int rs6000_spe_abi;
26.84 ++extern int rs6000_spe;
26.85 ++extern int rs6000_isel;
26.86 + extern int rs6000_float_gprs;
26.87 + extern int rs6000_alignment_flags;
26.88 + extern const char *rs6000_sched_insert_nops_str;