1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/patches/gcc/4.3.6/100-alpha-mieee-default.patch Fri Sep 02 13:45:05 2011 +0200
1.3 @@ -0,0 +1,39 @@
1.4 +Original patch from: ../4.3.2/100-alpha-mieee-default.patch
1.5 +
1.6 +-= BEGIN original header =-
1.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
1.8 +Set the default behavior on alpha to use -mieee since the large majority of
1.9 +time we want this (bad/weird things can happen with packages built without
1.10 +-mieee).
1.11 +
1.12 +To satisfy those people who may not want -mieee forced on them all the time,
1.13 +we also provide -mno-ieee.
1.14 +
1.15 +Patch by Mike Frysinger <vapier@gentoo.org>
1.16 +
1.17 +-= END original header =-
1.18 +
1.19 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.h gcc-4.3.3/gcc/config/alpha/alpha.h
1.20 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.h 2007-12-06 14:25:37.000000000 +0100
1.21 ++++ gcc-4.3.3/gcc/config/alpha/alpha.h 2009-01-27 22:19:02.000000000 +0100
1.22 +@@ -95,6 +95,8 @@
1.23 + while (0)
1.24 + #endif
1.25 +
1.26 ++#define CPP_SPEC "%{!no-ieee:-mieee}"
1.27 ++
1.28 + #define WORD_SWITCH_TAKES_ARG(STR) \
1.29 + (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
1.30 +
1.31 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.opt gcc-4.3.3/gcc/config/alpha/alpha.opt
1.32 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.opt 2007-08-02 12:49:31.000000000 +0200
1.33 ++++ gcc-4.3.3/gcc/config/alpha/alpha.opt 2009-01-27 22:19:02.000000000 +0100
1.34 +@@ -39,7 +39,7 @@
1.35 + Request IEEE-conformant math library routines (OSF/1)
1.36 +
1.37 + mieee
1.38 +-Target Report RejectNegative Mask(IEEE)
1.39 ++Target Report Mask(IEEE)
1.40 + Emit IEEE-conformant code, without inexact exceptions
1.41 +
1.42 + mieee-with-inexact
2.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
2.2 +++ b/patches/gcc/4.3.6/110-trampolinewarn.patch Fri Sep 02 13:45:05 2011 +0200
2.3 @@ -0,0 +1,40 @@
2.4 +Original patch from: ../4.3.2/110-trampolinewarn.patch
2.5 +
2.6 +-= BEGIN original header =-
2.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
2.8 + This trivial patch causes gcc to emit a warning whenever
2.9 + it generates a trampoline. These are otherwise hard to
2.10 + locate. It is rigged to default ON - to have it default
2.11 + to OFF remove the text 'Init(1)' from the common.opt
2.12 + patch, leaving just 'Common Var(warn_trampolines)'.
2.13 + Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
2.14 +
2.15 +-= END original header =-
2.16 +
2.17 +diff -durN gcc-4.3.3.orig/gcc/builtins.c gcc-4.3.3/gcc/builtins.c
2.18 +--- gcc-4.3.3.orig/gcc/builtins.c 2008-08-19 18:37:13.000000000 +0200
2.19 ++++ gcc-4.3.3/gcc/builtins.c 2009-01-27 22:19:12.000000000 +0100
2.20 +@@ -5662,6 +5662,9 @@
2.21 + trampolines_created = 1;
2.22 + INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
2.23 +
2.24 ++ if (warn_trampolines)
2.25 ++ warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
2.26 ++
2.27 + return const0_rtx;
2.28 + }
2.29 +
2.30 +diff -durN gcc-4.3.3.orig/gcc/common.opt gcc-4.3.3/gcc/common.opt
2.31 +--- gcc-4.3.3.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
2.32 ++++ gcc-4.3.3/gcc/common.opt 2009-01-27 22:19:12.000000000 +0100
2.33 +@@ -182,6 +182,10 @@
2.34 + Common Var(warn_system_headers) Warning
2.35 + Do not suppress warnings from system headers
2.36 +
2.37 ++Wtrampolines
2.38 ++Common Var(warn_trampolines) Init(1)
2.39 ++Warn whenever a trampoline is generated
2.40 ++
2.41 + Wuninitialized
2.42 + Common Var(warn_uninitialized) Warning
2.43 + Warn about uninitialized automatic variables
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/patches/gcc/4.3.6/120-java-nomulti.patch Fri Sep 02 13:45:05 2011 +0200
3.3 @@ -0,0 +1,52 @@
3.4 +Original patch from: ../4.3.2/120-java-nomulti.patch
3.5 +
3.6 +-= BEGIN original header =-
3.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/03_all_gcc43-java-nomulti.patch
3.8 +-= END original header =-
3.9 +
3.10 +diff -durN gcc-4.3.3.orig/libjava/configure gcc-4.3.3/libjava/configure
3.11 +--- gcc-4.3.3.orig/libjava/configure 2009-01-24 11:32:29.000000000 +0100
3.12 ++++ gcc-4.3.3/libjava/configure 2009-01-27 22:19:14.000000000 +0100
3.13 +@@ -1018,6 +1018,8 @@
3.14 + --enable-gconf-peer compile GConf native peers for util.preferences
3.15 + --enable-java-maintainer-mode
3.16 + allow rebuilding of .class and .h files
3.17 ++ --enable-libjava-multilib
3.18 ++ build libjava as multilib
3.19 + --disable-dependency-tracking speeds up one-time build
3.20 + --enable-dependency-tracking do not reject slow dependency extractors
3.21 + --enable-maintainer-mode enable make rules and dependencies not useful
3.22 +@@ -1850,6 +1852,16 @@
3.23 + fi
3.24 +
3.25 +
3.26 ++# Check whether --enable-libjava-multilib was given.
3.27 ++if test "${enable_libjava_multilib+set}" = set; then
3.28 ++ enableval=$enable_libjava_multilib;
3.29 ++fi
3.30 ++
3.31 ++if test "$enable_libjava_multilib" = no; then
3.32 ++ multilib=no
3.33 ++ ac_configure_args="$ac_configure_args --disable-multilib"
3.34 ++fi
3.35 ++
3.36 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
3.37 +
3.38 +
3.39 +diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
3.40 +--- gcc-4.3.3.orig/libjava/configure.ac 2008-07-02 23:23:43.000000000 +0200
3.41 ++++ gcc-4.3.3/libjava/configure.ac 2009-01-27 22:19:14.000000000 +0100
3.42 +@@ -82,6 +82,13 @@
3.43 + [allow rebuilding of .class and .h files]))
3.44 + AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
3.45 +
3.46 ++AC_ARG_ENABLE(libjava-multilib,
3.47 ++ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
3.48 ++if test "$enable_libjava_multilib" = no; then
3.49 ++ multilib=no
3.50 ++ ac_configure_args="$ac_configure_args --disable-multilib"
3.51 ++fi
3.52 ++
3.53 + # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
3.54 + GCC_NO_EXECUTABLES
3.55 +
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
4.2 +++ b/patches/gcc/4.3.6/130-cross-compile.patch Fri Sep 02 13:45:05 2011 +0200
4.3 @@ -0,0 +1,49 @@
4.4 +Original patch from: ../4.3.2/130-cross-compile.patch
4.5 +
4.6 +-= BEGIN original header =-
4.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
4.8 +Some notes on the 'bootstrap with or without libc headers' debate:
4.9 +http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
4.10 +http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
4.11 +
4.12 +-= END original header =-
4.13 +
4.14 +diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
4.15 +--- gcc-4.3.3.orig/gcc/configure 2008-08-01 11:51:03.000000000 +0200
4.16 ++++ gcc-4.3.3/gcc/configure 2009-01-27 22:19:16.000000000 +0100
4.17 +@@ -13442,7 +13442,7 @@
4.18 + | powerpc*-*-*,powerpc64*-*-*)
4.19 + CROSS="$CROSS -DNATIVE_CROSS" ;;
4.20 + esac
4.21 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
4.22 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
4.23 + SYSTEM_HEADER_DIR=$build_system_header_dir
4.24 + fi
4.25 +
4.26 +diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
4.27 +--- gcc-4.3.3.orig/gcc/configure.ac 2008-08-01 11:51:03.000000000 +0200
4.28 ++++ gcc-4.3.3/gcc/configure.ac 2009-01-27 22:19:16.000000000 +0100
4.29 +@@ -1749,7 +1749,7 @@
4.30 + | powerpc*-*-*,powerpc64*-*-*)
4.31 + CROSS="$CROSS -DNATIVE_CROSS" ;;
4.32 + esac
4.33 +-elif test "x$TARGET_SYSTEM_ROOT" != x; then
4.34 ++elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
4.35 + SYSTEM_HEADER_DIR=$build_system_header_dir
4.36 + fi
4.37 +
4.38 +diff -durN gcc-4.3.3.orig/gcc/unwind-dw2.c gcc-4.3.3/gcc/unwind-dw2.c
4.39 +--- gcc-4.3.3.orig/gcc/unwind-dw2.c 2008-09-25 00:44:28.000000000 +0200
4.40 ++++ gcc-4.3.3/gcc/unwind-dw2.c 2009-01-27 22:19:16.000000000 +0100
4.41 +@@ -334,9 +334,11 @@
4.42 + }
4.43 + #endif
4.44 +
4.45 ++#ifndef inhibit_libc
4.46 + #ifdef MD_UNWIND_SUPPORT
4.47 + #include MD_UNWIND_SUPPORT
4.48 + #endif
4.49 ++#endif
4.50 +
4.51 + /* Extract any interesting information from the CIE for the translation
4.52 + unit F belongs to. Return a pointer to the byte after the augmentation,
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/patches/gcc/4.3.6/140-netbsd-symbolic.patch Fri Sep 02 13:45:05 2011 +0200
5.3 @@ -0,0 +1,19 @@
5.4 +Original patch from: ../4.3.2/140-netbsd-symbolic.patch
5.5 +
5.6 +-= BEGIN original header =-
5.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/11_all_gcc-netbsd-symbolic.patch
5.8 +http://bugs.gentoo.org/122698
5.9 +
5.10 +-= END original header =-
5.11 +
5.12 +diff -durN gcc-4.3.3.orig/gcc/config/netbsd-elf.h gcc-4.3.3/gcc/config/netbsd-elf.h
5.13 +--- gcc-4.3.3.orig/gcc/config/netbsd-elf.h 2007-09-03 18:14:04.000000000 +0200
5.14 ++++ gcc-4.3.3/gcc/config/netbsd-elf.h 2009-01-27 22:19:18.000000000 +0100
5.15 +@@ -82,6 +82,7 @@
5.16 + #define NETBSD_LINK_SPEC_ELF \
5.17 + "%{assert*} %{R*} %{rpath*} \
5.18 + %{shared:-shared} \
5.19 ++ %{symbolic:-Bsymbolic} \
5.20 + %{!shared: \
5.21 + -dc -dp \
5.22 + %{!nostdlib: \
6.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6.2 +++ b/patches/gcc/4.3.6/150-sparc64-bsd.patch Fri Sep 02 13:45:05 2011 +0200
6.3 @@ -0,0 +1,35 @@
6.4 +Original patch from: ../4.3.2/150-sparc64-bsd.patch
6.5 +
6.6 +-= BEGIN original header =-
6.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/14_all_gcc-sparc64-bsd.patch
6.8 +-= END original header =-
6.9 +
6.10 +diff -durN gcc-4.3.3.orig/gcc/config/sparc/freebsd.h gcc-4.3.3/gcc/config/sparc/freebsd.h
6.11 +--- gcc-4.3.3.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
6.12 ++++ gcc-4.3.3/gcc/config/sparc/freebsd.h 2009-01-27 22:19:20.000000000 +0100
6.13 +@@ -25,9 +25,22 @@
6.14 + /* FreeBSD needs the platform name (sparc64) defined.
6.15 + Emacs needs to know if the arch is 64 or 32-bits. */
6.16 +
6.17 +-#undef CPP_CPU64_DEFAULT_SPEC
6.18 +-#define CPP_CPU64_DEFAULT_SPEC \
6.19 +- "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
6.20 ++#undef FBSD_TARGET_CPU_CPP_BUILTINS
6.21 ++#define FBSD_TARGET_CPU_CPP_BUILTINS() \
6.22 ++ do \
6.23 ++ { \
6.24 ++ if (TARGET_ARCH64) \
6.25 ++ { \
6.26 ++ builtin_define ("__sparc64__"); \
6.27 ++ builtin_define ("__sparc_v9__"); \
6.28 ++ builtin_define ("__sparcv9"); \
6.29 ++ } \
6.30 ++ else \
6.31 ++ builtin_define ("__sparc"); \
6.32 ++ builtin_define ("__sparc__"); \
6.33 ++ } \
6.34 ++ while (0)
6.35 ++
6.36 +
6.37 + #define LINK_SPEC "%(link_arch) \
6.38 + %{!mno-relax:%{!r:-relax}} \
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/patches/gcc/4.3.6/160-flatten-switch-stmt-00.patch Fri Sep 02 13:45:05 2011 +0200
7.3 @@ -0,0 +1,81 @@
7.4 +Original patch from: ../4.3.2/160-flatten-switch-stmt-00.patch
7.5 +
7.6 +-= BEGIN original header =-
7.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/18_all_904-flatten-switch-stmt-00.patch
7.8 +http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00927.html
7.9 +
7.10 +Hi,
7.11 +
7.12 +The attached patch makes sure that we create smaller object code for
7.13 +simple switch statements. We just make sure to flatten the switch
7.14 +statement into an if-else chain, basically.
7.15 +
7.16 +This fixes a size-regression as compared to gcc-3.4, as can be seen
7.17 +below.
7.18 +
7.19 +2007-04-15 Bernhard Fischer <..>
7.20 +
7.21 + * stmt.c (expand_case): Do not create a complex binary tree when
7.22 + optimizing for size but rather use the simple ordered list.
7.23 + (emit_case_nodes): do not emit jumps to the default_label when
7.24 + optimizing for size.
7.25 +
7.26 +Not regtested so far.
7.27 +Comments?
7.28 +
7.29 +Attached is the test switch.c mentioned below.
7.30 +
7.31 +$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
7.32 +gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
7.33 +$ for i in 2.95 3.3 3.4 4.0 4.1 4.2.orig-HEAD 4.3.orig-HEAD 4.3-HEAD;do
7.34 +gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done
7.35 +
7.36 +$ size switch-*.o
7.37 + text data bss dec hex filename
7.38 + 169 0 0 169 a9 switch-2.95.o
7.39 + 115 0 0 115 73 switch-3.3.o
7.40 + 103 0 0 103 67 switch-3.4.o
7.41 + 124 0 0 124 7c switch-4.0.o
7.42 + 124 0 0 124 7c switch-4.1.o
7.43 + 124 0 0 124 7c switch-4.2.orig-HEAD.o
7.44 + 95 0 0 95 5f switch-4.3-HEAD.o
7.45 + 124 0 0 124 7c switch-4.3.orig-HEAD.o
7.46 + 166 0 0 166 a6 switch-CHAIN-2.95.o
7.47 + 111 0 0 111 6f switch-CHAIN-3.3.o
7.48 + 95 0 0 95 5f switch-CHAIN-3.4.o
7.49 + 95 0 0 95 5f switch-CHAIN-4.0.o
7.50 + 95 0 0 95 5f switch-CHAIN-4.1.o
7.51 + 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o
7.52 + 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o
7.53 + 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o
7.54 +
7.55 +
7.56 +Content-Type: text/x-diff; charset=us-ascii
7.57 +Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
7.58 +
7.59 +-= END original header =-
7.60 +
7.61 +diff -durN gcc-4.3.3.orig/gcc/stmt.c gcc-4.3.3/gcc/stmt.c
7.62 +--- gcc-4.3.3.orig/gcc/stmt.c 2008-05-09 20:12:13.000000000 +0200
7.63 ++++ gcc-4.3.3/gcc/stmt.c 2009-01-27 22:19:28.000000000 +0100
7.64 +@@ -2509,7 +2509,11 @@
7.65 + use_cost_table
7.66 + = (TREE_CODE (orig_type) != ENUMERAL_TYPE
7.67 + && estimate_case_costs (case_list));
7.68 +- balance_case_nodes (&case_list, NULL);
7.69 ++ /* When optimizing for size, we want a straight list to avoid
7.70 ++ jumps as much as possible. This basically creates an if-else
7.71 ++ chain. */
7.72 ++ if (!optimize_size)
7.73 ++ balance_case_nodes (&case_list, NULL);
7.74 + emit_case_nodes (index, case_list, default_label, index_type);
7.75 + emit_jump (default_label);
7.76 + }
7.77 +@@ -3067,6 +3071,7 @@
7.78 + {
7.79 + if (!node_has_low_bound (node, index_type))
7.80 + {
7.81 ++ if (!optimize_size) /* don't jl to the .default_label. */
7.82 + emit_cmp_and_jump_insns (index,
7.83 + convert_modes
7.84 + (mode, imode,
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/patches/gcc/4.3.6/170-libiberty-pic.patch Fri Sep 02 13:45:05 2011 +0200
8.3 @@ -0,0 +1,17 @@
8.4 +Original patch from: ../4.3.2/170-libiberty-pic.patch
8.5 +
8.6 +-= BEGIN original header =-
8.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/51_all_gcc-3.4-libiberty-pic.patch
8.8 +-= END original header =-
8.9 +
8.10 +diff -durN gcc-4.3.3.orig/libiberty/Makefile.in gcc-4.3.3/libiberty/Makefile.in
8.11 +--- gcc-4.3.3.orig/libiberty/Makefile.in 2007-07-25 08:26:45.000000000 +0200
8.12 ++++ gcc-4.3.3/libiberty/Makefile.in 2009-01-27 22:19:30.000000000 +0100
8.13 +@@ -225,6 +225,7 @@
8.14 + $(AR) $(AR_FLAGS) $(TARGETLIB) \
8.15 + $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
8.16 + $(RANLIB) $(TARGETLIB); \
8.17 ++ cp $(TARGETLIB) ../ ; \
8.18 + cd ..; \
8.19 + else true; fi
8.20 +
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/patches/gcc/4.3.6/180-superh-default-multilib.patch Fri Sep 02 13:45:05 2011 +0200
9.3 @@ -0,0 +1,30 @@
9.4 +Original patch from: ../4.3.2/180-superh-default-multilib.patch
9.5 +
9.6 +-= BEGIN original header =-
9.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
9.8 +The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
9.9 +you have to actually list out the multilibs you want or you will end up with
9.10 +just one when using targets like 'sh4-linux-gnu'.
9.11 +
9.12 +The resulting toolchain can't even build a kernel as the kernel needs to build
9.13 +with the nofpu flag to be sure that no fpu ops are generated.
9.14 +
9.15 +Here we restore the gcc-3.x behavior; the additional overhead of building all
9.16 +of these multilibs by default is negligible.
9.17 +
9.18 +http://bugs.gentoo.org/140205
9.19 +
9.20 +-= END original header =-
9.21 +
9.22 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
9.23 +--- gcc-4.3.3.orig/gcc/config.gcc 2008-11-20 18:09:53.000000000 +0100
9.24 ++++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:19:32.000000000 +0100
9.25 +@@ -2275,7 +2275,7 @@
9.26 + if test x${sh_multilibs} = x ; then
9.27 + case ${target} in
9.28 + sh64-superh-linux* | \
9.29 +- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
9.30 ++ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
9.31 + sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
9.32 + sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
9.33 + sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/patches/gcc/4.3.6/190-libstdc++-pic.patch Fri Sep 02 13:45:05 2011 +0200
10.3 @@ -0,0 +1,61 @@
10.4 +Original patch from: ../4.3.2/190-libstdc++-pic.patch
10.5 +
10.6 +-= BEGIN original header =-
10.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
10.8 +install libstdc++_pic.a if we have pic objs
10.9 +
10.10 +-= END original header =-
10.11 +
10.12 +diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am gcc-4.3.5/libstdc++-v3/src/Makefile.am
10.13 +--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am 2008-02-29 19:26:50.000000000 +0100
10.14 ++++ gcc-4.3.5/libstdc++-v3/src/Makefile.am 2010-09-19 18:58:40.000000000 +0200
10.15 +@@ -289,6 +289,13 @@
10.16 + $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
10.17 +
10.18 +
10.19 ++install-exec-local:
10.20 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
10.21 ++ if [ x"$$pic_objs" != x ]; then \
10.22 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
10.23 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
10.24 ++ fi
10.25 ++
10.26 + # Added bits to build debug library.
10.27 + if GLIBCXX_BUILD_DEBUG
10.28 + all-local: build_debug
10.29 +diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in gcc-4.3.5/libstdc++-v3/src/Makefile.in
10.30 +--- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in 2010-05-06 19:19:46.000000000 +0200
10.31 ++++ gcc-4.3.5/libstdc++-v3/src/Makefile.in 2010-09-19 19:01:43.000000000 +0200
10.32 +@@ -646,7 +646,7 @@
10.33 +
10.34 + install-data-am: install-data-local
10.35 +
10.36 +-install-exec-am: install-toolexeclibLTLIBRARIES
10.37 ++install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
10.38 +
10.39 + install-info: install-info-am
10.40 +
10.41 +@@ -685,7 +685,7 @@
10.42 + mostlyclean mostlyclean-compile mostlyclean-generic \
10.43 + mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
10.44 + uninstall-am uninstall-info-am \
10.45 +- uninstall-toolexeclibLTLIBRARIES
10.46 ++ uninstall-toolexeclibLTLIBRARIES install-exec-local
10.47 +
10.48 +
10.49 + # Symbol versioning for shared libraries.
10.50 +@@ -811,6 +811,14 @@
10.51 + install_debug:
10.52 + (cd ${debugdir} && $(MAKE) \
10.53 + toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
10.54 ++
10.55 ++install-exec-local:
10.56 ++ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
10.57 ++ if [ x"$$pic_objs" != x ]; then \
10.58 ++ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
10.59 ++ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
10.60 ++ fi
10.61 ++
10.62 + # Tell versions [3.59,3.63) of GNU make to not export all variables.
10.63 + # Otherwise a system limit (for SysV at least) may be exceeded.
10.64 + .NOEXPORT:
11.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
11.2 +++ b/patches/gcc/4.3.6/200-pr24170.patch Fri Sep 02 13:45:05 2011 +0200
11.3 @@ -0,0 +1,66 @@
11.4 +Original patch from: ../4.3.2/200-pr24170.patch
11.5 +
11.6 +-= BEGIN original header =-
11.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc43-pr24170.patch
11.8 +http://gcc.gnu.org/PR24170
11.9 +
11.10 +2008-02-20 Tom Tromey <tromey@redhat.com>
11.11 +
11.12 + PR libgcj/24170:
11.13 + * java/io/natFilePosix.cc (File::performList): Don't use
11.14 + readdir_r.
11.15 + * configure, include/config.h.in: Rebuilt.
11.16 + * configure.ac: Don't check for readdir_r.
11.17 +
11.18 +-= END original header =-
11.19 +
11.20 +diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
11.21 +--- gcc-4.3.3.orig/libjava/configure.ac 2009-01-27 22:19:16.000000000 +0100
11.22 ++++ gcc-4.3.3/libjava/configure.ac 2009-01-27 22:19:36.000000000 +0100
11.23 +@@ -1030,7 +1030,7 @@
11.24 + PLATFORMNET=NoNet
11.25 + else
11.26 + AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
11.27 +- localtime_r readdir_r getpwuid_r getcwd \
11.28 ++ localtime_r getpwuid_r getcwd \
11.29 + access stat lstat mkdir rename rmdir unlink utime chmod readlink \
11.30 + nl_langinfo setlocale \
11.31 + inet_pton uname inet_ntoa \
11.32 +diff -durN gcc-4.3.3.orig/libjava/include/config.h.in gcc-4.3.3/libjava/include/config.h.in
11.33 +--- gcc-4.3.3.orig/libjava/include/config.h.in 2007-07-31 18:17:21.000000000 +0200
11.34 ++++ gcc-4.3.3/libjava/include/config.h.in 2009-01-27 22:19:36.000000000 +0100
11.35 +@@ -214,9 +214,6 @@
11.36 + /* Define to 1 if you have the <pwd.h> header file. */
11.37 + #undef HAVE_PWD_H
11.38 +
11.39 +-/* Define to 1 if you have the `readdir_r' function. */
11.40 +-#undef HAVE_READDIR_R
11.41 +-
11.42 + /* Define to 1 if you have the `readlink' function. */
11.43 + #undef HAVE_READLINK
11.44 +
11.45 +diff -durN gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc gcc-4.3.3/libjava/java/io/natFilePosix.cc
11.46 +--- gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc 2007-08-04 23:50:01.000000000 +0200
11.47 ++++ gcc-4.3.3/libjava/java/io/natFilePosix.cc 2009-01-27 22:19:36.000000000 +0100
11.48 +@@ -1,6 +1,6 @@
11.49 + // natFile.cc - Native part of File class for POSIX.
11.50 +
11.51 +-/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
11.52 ++/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
11.53 + Free Software Foundation
11.54 +
11.55 + This file is part of libgcj.
11.56 +@@ -292,13 +292,7 @@
11.57 +
11.58 + java::util::ArrayList *list = new java::util::ArrayList ();
11.59 + struct dirent *d;
11.60 +-#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
11.61 +- int name_max = pathconf (buf, _PC_NAME_MAX);
11.62 +- char dbuf[sizeof (struct dirent) + name_max + 1];
11.63 +- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
11.64 +-#else /* HAVE_READDIR_R */
11.65 + while ((d = readdir (dir)) != NULL)
11.66 +-#endif /* HAVE_READDIR_R */
11.67 + {
11.68 + // Omit "." and "..".
11.69 + if (d->d_name[0] == '.'
12.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
12.2 +++ b/patches/gcc/4.3.6/210-noteGNUstack-00.patch Fri Sep 02 13:45:05 2011 +0200
12.3 @@ -0,0 +1,101 @@
12.4 +Original patch from: ../4.3.2/210-noteGNUstack-00.patch
12.5 +
12.6 +-= BEGIN original header =-
12.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
12.8 +2004-09-20 Jakub Jelinek <jakub@redhat.com>
12.9 +
12.10 + * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
12.11 + on ppc64-linux.
12.12 +
12.13 + * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
12.14 + ia64-linux.
12.15 + * config/ia64/crtbegin.asm: Likewise.
12.16 + * config/ia64/crtend.asm: Likewise.
12.17 + * config/ia64/crti.asm: Likewise.
12.18 + * config/ia64/crtn.asm: Likewise.
12.19 +
12.20 +2004-05-14 Jakub Jelinek <jakub@redhat.com>
12.21 +
12.22 + * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
12.23 +
12.24 +-= END original header =-
12.25 +
12.26 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.3/gcc/config/ia64/crtbegin.asm
12.27 +--- gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm 2005-09-27 02:52:24.000000000 +0200
12.28 ++++ gcc-4.3.3/gcc/config/ia64/crtbegin.asm 2009-01-27 22:19:39.000000000 +0100
12.29 +@@ -255,3 +255,7 @@
12.30 + .weak __cxa_finalize
12.31 + #endif
12.32 + .weak _Jv_RegisterClasses
12.33 ++
12.34 ++#ifdef __linux__
12.35 ++.section .note.GNU-stack; .previous
12.36 ++#endif
12.37 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtend.asm gcc-4.3.3/gcc/config/ia64/crtend.asm
12.38 +--- gcc-4.3.3.orig/gcc/config/ia64/crtend.asm 2005-09-27 02:52:24.000000000 +0200
12.39 ++++ gcc-4.3.3/gcc/config/ia64/crtend.asm 2009-01-27 22:19:39.000000000 +0100
12.40 +@@ -122,3 +122,7 @@
12.41 +
12.42 + br.ret.sptk.many rp
12.43 + .endp __do_global_ctors_aux
12.44 ++
12.45 ++#ifdef __linux__
12.46 ++.section .note.GNU-stack; .previous
12.47 ++#endif
12.48 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crti.asm gcc-4.3.3/gcc/config/ia64/crti.asm
12.49 +--- gcc-4.3.3.orig/gcc/config/ia64/crti.asm 2005-06-25 03:22:41.000000000 +0200
12.50 ++++ gcc-4.3.3/gcc/config/ia64/crti.asm 2009-01-27 22:19:39.000000000 +0100
12.51 +@@ -64,3 +64,7 @@
12.52 + .body
12.53 +
12.54 + # end of crti.asm
12.55 ++
12.56 ++#ifdef __linux__
12.57 ++.section .note.GNU-stack; .previous
12.58 ++#endif
12.59 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtn.asm gcc-4.3.3/gcc/config/ia64/crtn.asm
12.60 +--- gcc-4.3.3.orig/gcc/config/ia64/crtn.asm 2005-06-25 03:22:41.000000000 +0200
12.61 ++++ gcc-4.3.3/gcc/config/ia64/crtn.asm 2009-01-27 22:19:39.000000000 +0100
12.62 +@@ -54,3 +54,7 @@
12.63 + br.ret.sptk.many b0
12.64 +
12.65 + # end of crtn.asm
12.66 ++
12.67 ++#ifdef __linux__
12.68 ++.section .note.GNU-stack; .previous
12.69 ++#endif
12.70 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.3/gcc/config/ia64/lib1funcs.asm
12.71 +--- gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm 2005-09-27 02:52:24.000000000 +0200
12.72 ++++ gcc-4.3.3/gcc/config/ia64/lib1funcs.asm 2009-01-27 22:19:39.000000000 +0100
12.73 +@@ -792,3 +792,7 @@
12.74 + }
12.75 + .endp __floattitf
12.76 + #endif
12.77 ++
12.78 ++#ifdef __linux__
12.79 ++.section .note.GNU-stack; .previous
12.80 ++#endif
12.81 +diff -durN gcc-4.3.3.orig/gcc/config/ia64/linux.h gcc-4.3.3/gcc/config/ia64/linux.h
12.82 +--- gcc-4.3.3.orig/gcc/config/ia64/linux.h 2006-12-12 16:15:19.000000000 +0100
12.83 ++++ gcc-4.3.3/gcc/config/ia64/linux.h 2009-01-27 22:19:39.000000000 +0100
12.84 +@@ -5,6 +5,8 @@
12.85 +
12.86 + #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
12.87 +
12.88 ++#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
12.89 ++
12.90 + /* This is for -profile to use -lc_p instead of -lc. */
12.91 + #undef CC1_SPEC
12.92 + #define CC1_SPEC "%{profile:-p} %{G*}"
12.93 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.3/gcc/config/rs6000/ppc-asm.h
12.94 +--- gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h 2003-06-04 18:44:51.000000000 +0200
12.95 ++++ gcc-4.3.3/gcc/config/rs6000/ppc-asm.h 2009-01-27 22:19:39.000000000 +0100
12.96 +@@ -158,7 +158,7 @@
12.97 + .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
12.98 + #endif
12.99 +
12.100 +-#if defined __linux__ && !defined __powerpc64__
12.101 ++#if defined __linux__
12.102 + .section .note.GNU-stack
12.103 + .previous
12.104 + #endif
13.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
13.2 +++ b/patches/gcc/4.3.6/220-noteGNUstack-01.patch Fri Sep 02 13:45:05 2011 +0200
13.3 @@ -0,0 +1,203 @@
13.4 +Original patch from: ../4.3.2/220-noteGNUstack-01.patch
13.5 +
13.6 +-= BEGIN original header =-
13.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch
13.8 +2005-02-08 Jakub Jelinek <jakub@redhat.com>
13.9 +
13.10 + * src/alpha/osf.S: Add .note.GNU-stack on Linux.
13.11 + * src/s390/sysv.S: Likewise.
13.12 + * src/powerpc/linux64.S: Likewise.
13.13 + * src/powerpc/linux64_closure.S: Likewise.
13.14 + * src/powerpc/ppc_closure.S: Likewise.
13.15 + * src/powerpc/sysv.S: Likewise.
13.16 + * src/x86/unix64.S: Likewise.
13.17 + * src/x86/sysv.S: Likewise.
13.18 + * src/sparc/v8.S: Likewise.
13.19 + * src/sparc/v9.S: Likewise.
13.20 + * src/m68k/sysv.S: Likewise.
13.21 + * src/ia64/unix.S: Likewise.
13.22 + * src/arm/sysv.S: Likewise.
13.23 +
13.24 + * ia64_save_regs_in_stack.s: Moved to...
13.25 + * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack
13.26 + on Linux.
13.27 +
13.28 +-= END original header =-
13.29 +
13.30 +diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S
13.31 +--- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S 1970-01-01 01:00:00.000000000 +0100
13.32 ++++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S 2009-01-27 22:25:27.000000000 +0100
13.33 +@@ -0,0 +1,15 @@
13.34 ++ .text
13.35 ++ .align 16
13.36 ++ .global GC_save_regs_in_stack
13.37 ++ .proc GC_save_regs_in_stack
13.38 ++GC_save_regs_in_stack:
13.39 ++ .bodyfoo.mpg
13.40 ++ flushrs
13.41 ++ ;;
13.42 ++ mov r8=ar.bsp
13.43 ++ br.ret.sptk.few rp
13.44 ++ .endp GC_save_regs_in_stack
13.45 ++
13.46 ++#ifdef __linux__
13.47 ++ .section .note.GNU-stack,"",@progbits
13.48 ++#endif
13.49 +diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s
13.50 +--- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s 2001-10-15 06:57:59.000000000 +0200
13.51 ++++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s 1970-01-01 01:00:00.000000000 +0100
13.52 +@@ -1,12 +0,0 @@
13.53 +- .text
13.54 +- .align 16
13.55 +- .global GC_save_regs_in_stack
13.56 +- .proc GC_save_regs_in_stack
13.57 +-GC_save_regs_in_stack:
13.58 +- .body
13.59 +- flushrs
13.60 +- ;;
13.61 +- mov r8=ar.bsp
13.62 +- br.ret.sptk.few rp
13.63 +- .endp GC_save_regs_in_stack
13.64 +-
13.65 +diff -durN gcc-4.3.3.orig/libffi/src/alpha/osf.S gcc-4.3.3/libffi/src/alpha/osf.S
13.66 +--- gcc-4.3.3.orig/libffi/src/alpha/osf.S 2007-04-06 18:24:16.000000000 +0200
13.67 ++++ gcc-4.3.3/libffi/src/alpha/osf.S 2009-01-27 22:25:27.000000000 +0100
13.68 +@@ -358,4 +358,8 @@
13.69 + .byte 16 # uleb128 offset 16*-8
13.70 + .align 3
13.71 + $LEFDE3:
13.72 ++
13.73 ++#ifdef __linux__
13.74 ++ .section .note.GNU-stack,"",@progbits
13.75 ++#endif
13.76 + #endif
13.77 +diff -durN gcc-4.3.3.orig/libffi/src/arm/sysv.S gcc-4.3.3/libffi/src/arm/sysv.S
13.78 +--- gcc-4.3.3.orig/libffi/src/arm/sysv.S 2007-09-04 19:52:45.000000000 +0200
13.79 ++++ gcc-4.3.3/libffi/src/arm/sysv.S 2009-01-27 22:25:27.000000000 +0100
13.80 +@@ -293,3 +293,6 @@
13.81 + UNWIND .fnend
13.82 + .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
13.83 +
13.84 ++#if defined __ELF__ && defined __linux__
13.85 ++ .section .note.GNU-stack,"",%progbits
13.86 ++#endif
13.87 +diff -durN gcc-4.3.3.orig/libffi/src/ia64/unix.S gcc-4.3.3/libffi/src/ia64/unix.S
13.88 +--- gcc-4.3.3.orig/libffi/src/ia64/unix.S 2005-03-30 23:49:19.000000000 +0200
13.89 ++++ gcc-4.3.3/libffi/src/ia64/unix.S 2009-01-27 22:25:27.000000000 +0100
13.90 +@@ -553,3 +553,7 @@
13.91 + data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
13.92 + data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
13.93 + data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE
13.94 ++
13.95 ++#if defined __ELF__ && defined __linux__
13.96 ++ .section .note.GNU-stack,"",@progbits
13.97 ++#endif
13.98 +diff -durN gcc-4.3.3.orig/libffi/src/m68k/sysv.S gcc-4.3.3/libffi/src/m68k/sysv.S
13.99 +--- gcc-4.3.3.orig/libffi/src/m68k/sysv.S 2007-05-10 23:29:04.000000000 +0200
13.100 ++++ gcc-4.3.3/libffi/src/m68k/sysv.S 2009-01-27 22:25:27.000000000 +0100
13.101 +@@ -207,3 +207,7 @@
13.102 + rts
13.103 + CFI_ENDPROC()
13.104 + .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
13.105 ++
13.106 ++#if defined __ELF__ && defined __linux__
13.107 ++ .section .note.GNU-stack,"",@progbits
13.108 ++#endif
13.109 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64.S gcc-4.3.3/libffi/src/powerpc/linux64.S
13.110 +--- gcc-4.3.3.orig/libffi/src/powerpc/linux64.S 2007-11-17 00:24:53.000000000 +0100
13.111 ++++ gcc-4.3.3/libffi/src/powerpc/linux64.S 2009-01-27 22:25:27.000000000 +0100
13.112 +@@ -179,3 +179,7 @@
13.113 + .align 3
13.114 + .LEFDE1:
13.115 + #endif
13.116 ++
13.117 ++#if defined __ELF__ && defined __linux__
13.118 ++ .section .note.GNU-stack,"",@progbits
13.119 ++#endif
13.120 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.3/libffi/src/powerpc/linux64_closure.S
13.121 +--- gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S 2005-08-11 23:18:24.000000000 +0200
13.122 ++++ gcc-4.3.3/libffi/src/powerpc/linux64_closure.S 2009-01-27 22:25:27.000000000 +0100
13.123 +@@ -204,3 +204,7 @@
13.124 + .align 3
13.125 + .LEFDE1:
13.126 + #endif
13.127 ++
13.128 ++#if defined __ELF__ && defined __linux__
13.129 ++ .section .note.GNU-stack,"",@progbits
13.130 ++#endif
13.131 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.3/libffi/src/powerpc/ppc_closure.S
13.132 +--- gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S 2007-12-01 22:00:04.000000000 +0100
13.133 ++++ gcc-4.3.3/libffi/src/powerpc/ppc_closure.S 2009-01-27 22:25:27.000000000 +0100
13.134 +@@ -295,3 +295,7 @@
13.135 + .LEFDE1:
13.136 +
13.137 + #endif
13.138 ++
13.139 ++#if defined __ELF__ && defined __linux__
13.140 ++ .section .note.GNU-stack,"",@progbits
13.141 ++#endif
13.142 +diff -durN gcc-4.3.3.orig/libffi/src/powerpc/sysv.S gcc-4.3.3/libffi/src/powerpc/sysv.S
13.143 +--- gcc-4.3.3.orig/libffi/src/powerpc/sysv.S 2007-12-01 22:00:04.000000000 +0100
13.144 ++++ gcc-4.3.3/libffi/src/powerpc/sysv.S 2009-01-27 22:25:27.000000000 +0100
13.145 +@@ -223,3 +223,7 @@
13.146 + .align 2
13.147 + .LEFDE1:
13.148 + #endif
13.149 ++
13.150 ++#if defined __ELF__ && defined __linux__
13.151 ++ .section .note.GNU-stack,"",@progbits
13.152 ++#endif
13.153 +diff -durN gcc-4.3.3.orig/libffi/src/s390/sysv.S gcc-4.3.3/libffi/src/s390/sysv.S
13.154 +--- gcc-4.3.3.orig/libffi/src/s390/sysv.S 2003-10-21 21:01:58.000000000 +0200
13.155 ++++ gcc-4.3.3/libffi/src/s390/sysv.S 2009-01-27 22:25:27.000000000 +0100
13.156 +@@ -427,3 +427,6 @@
13.157 +
13.158 + #endif
13.159 +
13.160 ++#if defined __ELF__ && defined __linux__
13.161 ++ .section .note.GNU-stack,"",@progbits
13.162 ++#endif
13.163 +diff -durN gcc-4.3.3.orig/libffi/src/sparc/v8.S gcc-4.3.3/libffi/src/sparc/v8.S
13.164 +--- gcc-4.3.3.orig/libffi/src/sparc/v8.S 2008-11-21 23:13:13.000000000 +0100
13.165 ++++ gcc-4.3.3/libffi/src/sparc/v8.S 2009-01-27 22:25:27.000000000 +0100
13.166 +@@ -306,3 +306,7 @@
13.167 + .byte 0x1f ! uleb128 0x1f
13.168 + .align WS
13.169 + .LLEFDE2:
13.170 ++
13.171 ++#if defined __ELF__ && defined __linux__
13.172 ++ .section .note.GNU-stack,"",@progbits
13.173 ++#endif
13.174 +diff -durN gcc-4.3.3.orig/libffi/src/sparc/v9.S gcc-4.3.3/libffi/src/sparc/v9.S
13.175 +--- gcc-4.3.3.orig/libffi/src/sparc/v9.S 2004-01-25 07:58:33.000000000 +0100
13.176 ++++ gcc-4.3.3/libffi/src/sparc/v9.S 2009-01-27 22:25:27.000000000 +0100
13.177 +@@ -300,3 +300,7 @@
13.178 + .align 8
13.179 + .LLEFDE2:
13.180 + #endif
13.181 ++
13.182 ++#ifdef __linux__
13.183 ++ .section .note.GNU-stack,"",@progbits
13.184 ++#endif
13.185 +diff -durN gcc-4.3.3.orig/libffi/src/x86/sysv.S gcc-4.3.3/libffi/src/x86/sysv.S
13.186 +--- gcc-4.3.3.orig/libffi/src/x86/sysv.S 2008-01-30 15:36:58.000000000 +0100
13.187 ++++ gcc-4.3.3/libffi/src/x86/sysv.S 2009-01-27 22:25:27.000000000 +0100
13.188 +@@ -430,3 +430,7 @@
13.189 + #endif
13.190 +
13.191 + #endif /* ifndef __x86_64__ */
13.192 ++
13.193 ++#if defined __ELF__ && defined __linux__
13.194 ++ .section .note.GNU-stack,"",@progbits
13.195 ++#endif
13.196 +diff -durN gcc-4.3.3.orig/libffi/src/x86/unix64.S gcc-4.3.3/libffi/src/x86/unix64.S
13.197 +--- gcc-4.3.3.orig/libffi/src/x86/unix64.S 2005-05-05 06:06:38.000000000 +0200
13.198 ++++ gcc-4.3.3/libffi/src/x86/unix64.S 2009-01-27 22:25:27.000000000 +0100
13.199 +@@ -410,3 +410,7 @@
13.200 + .LEFDE3:
13.201 +
13.202 + #endif /* __x86_64__ */
13.203 ++
13.204 ++#if defined __ELF__ && defined __linux__
13.205 ++ .section .note.GNU-stack,"",@progbits
13.206 ++#endif
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
14.2 +++ b/patches/gcc/4.3.6/230-pr34571.patch Fri Sep 02 13:45:05 2011 +0200
14.3 @@ -0,0 +1,28 @@
14.4 +Original patch from: ../4.3.2/230-pr34571.patch
14.5 +
14.6 +-= BEGIN original header =-
14.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/64_all_gcc43-pr34571.patch
14.8 +http://gcc.gnu.org/PR34571
14.9 +
14.10 +2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk>
14.11 +
14.12 + PR target/34571
14.13 + * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
14.14 + symbolic_operand.
14.15 + * varasm.c (output_constant_pool_1): Fix typo.
14.16 +
14.17 +-= END original header =-
14.18 +
14.19 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.c gcc-4.3.3/gcc/config/alpha/alpha.c
14.20 +--- gcc-4.3.3.orig/gcc/config/alpha/alpha.c 2008-09-09 01:16:55.000000000 +0200
14.21 ++++ gcc-4.3.3/gcc/config/alpha/alpha.c 2009-01-27 22:25:29.000000000 +0100
14.22 +@@ -1113,8 +1113,7 @@
14.23 + static bool
14.24 + alpha_cannot_force_const_mem (rtx x)
14.25 + {
14.26 +- enum rtx_code code = GET_CODE (x);
14.27 +- return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
14.28 ++ return symbolic_operand (x, GET_MODE (x));
14.29 + }
14.30 +
14.31 + /* We do not allow indirect calls to be optimized into sibling calls, nor
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
15.2 +++ b/patches/gcc/4.3.6/240-pr25343.patch Fri Sep 02 13:45:05 2011 +0200
15.3 @@ -0,0 +1,26 @@
15.4 +Original patch from: ../4.3.2/240-pr25343.patch
15.5 +
15.6 +-= BEGIN original header =-
15.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/66_all_gcc43-pr25343.patch
15.8 +http://gcc.gnu.org/PR25343
15.9 +
15.10 +sniped from Debian
15.11 +
15.12 +2008-04-27 Roman Zippel <zippel@linux-m68k.org>
15.13 +
15.14 + * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
15.15 +
15.16 +-= END original header =-
15.17 +
15.18 +diff -durN gcc-4.3.3.orig/gcc/config/host-linux.c gcc-4.3.3/gcc/config/host-linux.c
15.19 +--- gcc-4.3.3.orig/gcc/config/host-linux.c 2007-08-02 12:49:31.000000000 +0200
15.20 ++++ gcc-4.3.3/gcc/config/host-linux.c 2009-01-27 22:25:31.000000000 +0100
15.21 +@@ -84,6 +84,8 @@
15.22 + # define TRY_EMPTY_VM_SPACE 0x8000000000
15.23 + #elif defined(__sparc__)
15.24 + # define TRY_EMPTY_VM_SPACE 0x60000000
15.25 ++#elif defined(__mc68000__)
15.26 ++# define TRY_EMPTY_VM_SPACE 0x40000000
15.27 + #else
15.28 + # define TRY_EMPTY_VM_SPACE 0
15.29 + #endif
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/patches/gcc/4.3.6/250-sh-pr24836.patch Fri Sep 02 13:45:05 2011 +0200
16.3 @@ -0,0 +1,33 @@
16.4 +Original patch from: ../4.3.2/250-sh-pr24836.patch
16.5 +
16.6 +-= BEGIN original header =-
16.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/74_all_sh-pr24836.patch
16.8 +http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
16.9 +http://gcc.gnu.org/PR24836
16.10 +
16.11 +-= END original header =-
16.12 +
16.13 +diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
16.14 +--- gcc-4.3.3.orig/gcc/configure 2009-01-27 22:19:18.000000000 +0100
16.15 ++++ gcc-4.3.3/gcc/configure 2009-01-27 22:25:33.000000000 +0100
16.16 +@@ -20689,7 +20689,7 @@
16.17 + tls_first_minor=14
16.18 + tls_as_opt="-m64 -Aesame --fatal-warnings"
16.19 + ;;
16.20 +- sh-*-* | sh[34]-*-*)
16.21 ++ sh-*-* | sh[34]*-*-*)
16.22 + conftest_s='
16.23 + .section ".tdata","awT",@progbits
16.24 + foo: .long 25
16.25 +diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
16.26 +--- gcc-4.3.3.orig/gcc/configure.ac 2009-01-27 22:19:18.000000000 +0100
16.27 ++++ gcc-4.3.3/gcc/configure.ac 2009-01-27 22:25:33.000000000 +0100
16.28 +@@ -2552,7 +2552,7 @@
16.29 + tls_first_minor=14
16.30 + tls_as_opt="-m64 -Aesame --fatal-warnings"
16.31 + ;;
16.32 +- sh-*-* | sh[34]-*-*)
16.33 ++ sh-*-* | sh[34]*-*-*)
16.34 + conftest_s='
16.35 + .section ".tdata","awT",@progbits
16.36 + foo: .long 25
17.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
17.2 +++ b/patches/gcc/4.3.6/260-uclibc-conf-noupstream.patch Fri Sep 02 13:45:05 2011 +0200
17.3 @@ -0,0 +1,18 @@
17.4 +Original patch from: ../4.3.2/260-uclibc-conf-noupstream.patch
17.5 +
17.6 +-= BEGIN original header =-
17.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_103-uclibc-conf-noupstream.patch
17.8 +-= END original header =-
17.9 +
17.10 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
17.11 +--- gcc-4.3.3.orig/gcc/config.gcc 2009-01-27 22:19:34.000000000 +0100
17.12 ++++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:25:35.000000000 +0100
17.13 +@@ -2146,7 +2146,7 @@
17.14 + ;;
17.15 + sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
17.16 + sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
17.17 +- sh-*-linux* | sh[346lbe]*-*-linux* | \
17.18 ++ sh*-*-linux* | sh[346lbe]*-*-linux* | \
17.19 + sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
17.20 + sh64-*-netbsd* | sh64l*-*-netbsd*)
17.21 + tmake_file="${tmake_file} sh/t-sh sh/t-elf"
18.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
18.2 +++ b/patches/gcc/4.3.6/270-missing-execinfo_h.patch Fri Sep 02 13:45:05 2011 +0200
18.3 @@ -0,0 +1,18 @@
18.4 +Original patch from: ../4.3.2/270-missing-execinfo_h.patch
18.5 +
18.6 +-= BEGIN original header =-
18.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_301-missing-execinfo_h.patch
18.8 +-= END original header =-
18.9 +
18.10 +diff -durN gcc-4.3.3.orig/boehm-gc/include/gc.h gcc-4.3.3/boehm-gc/include/gc.h
18.11 +--- gcc-4.3.3.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
18.12 ++++ gcc-4.3.3/boehm-gc/include/gc.h 2009-01-27 22:25:37.000000000 +0100
18.13 +@@ -503,7 +503,7 @@
18.14 + #if defined(__linux__) || defined(__GLIBC__)
18.15 + # include <features.h>
18.16 + # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
18.17 +- && !defined(__ia64__)
18.18 ++ && !defined(__ia64__) && !defined(__UCLIBC__)
18.19 + # ifndef GC_HAVE_BUILTIN_BACKTRACE
18.20 + # define GC_HAVE_BUILTIN_BACKTRACE
18.21 + # endif
19.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
19.2 +++ b/patches/gcc/4.3.6/280-c99-complex-ugly-hack.patch Fri Sep 02 13:45:05 2011 +0200
19.3 @@ -0,0 +1,19 @@
19.4 +Original patch from: ../4.3.2/280-c99-complex-ugly-hack.patch
19.5 +
19.6 +-= BEGIN original header =-
19.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_303-c99-complex-ugly-hack.patch
19.8 +-= END original header =-
19.9 +
19.10 +diff -durN gcc-4.3.3.orig/libstdc++-v3/configure gcc-4.3.3/libstdc++-v3/configure
19.11 +--- gcc-4.3.3.orig/libstdc++-v3/configure 2008-07-07 21:49:54.000000000 +0200
19.12 ++++ gcc-4.3.3/libstdc++-v3/configure 2009-01-27 22:25:39.000000000 +0100
19.13 +@@ -38935,6 +38935,9 @@
19.14 + cat >>conftest.$ac_ext <<_ACEOF
19.15 + /* end confdefs.h. */
19.16 + #include <complex.h>
19.17 ++#ifdef __UCLIBC__
19.18 ++#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
19.19 ++#endif
19.20 + int
19.21 + main ()
19.22 + {
20.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
20.2 +++ b/patches/gcc/4.3.6/290-index_macro.patch Fri Sep 02 13:45:05 2011 +0200
20.3 @@ -0,0 +1,32 @@
20.4 +Original patch from: ../4.3.2/290-index_macro.patch
20.5 +
20.6 +-= BEGIN original header =-
20.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
20.8 +-= END original header =-
20.9 +
20.10 +diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/rope gcc-4.3.3/libstdc++-v3/include/ext/rope
20.11 +--- gcc-4.3.3.orig/libstdc++-v3/include/ext/rope 2008-07-15 12:14:51.000000000 +0200
20.12 ++++ gcc-4.3.3/libstdc++-v3/include/ext/rope 2009-01-27 22:25:41.000000000 +0100
20.13 +@@ -59,6 +59,9 @@
20.14 + #include <bits/gthr.h>
20.15 + #include <tr1/functional>
20.16 +
20.17 ++/* cope w/ index defined as macro, SuSv3 proposal */
20.18 ++#undef index
20.19 ++
20.20 + # ifdef __GC
20.21 + # define __GC_CONST const
20.22 + # else
20.23 +diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h
20.24 +--- gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h 2007-05-04 17:06:46.000000000 +0200
20.25 ++++ gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h 2009-01-27 22:25:41.000000000 +0100
20.26 +@@ -54,6 +54,9 @@
20.27 + #include <ext/memory> // For uninitialized_copy_n
20.28 + #include <ext/numeric> // For power
20.29 +
20.30 ++/* cope w/ index defined as macro, SuSv3 proposal */
20.31 ++#undef index
20.32 ++
20.33 + _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
20.34 +
20.35 + using std::size_t;
21.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
21.2 +++ b/patches/gcc/4.3.6/300-libmudflap-susv3-legacy.patch Fri Sep 02 13:45:05 2011 +0200
21.3 @@ -0,0 +1,54 @@
21.4 +Original patch from: ../4.3.2/300-libmudflap-susv3-legacy.patch
21.5 +
21.6 +-= BEGIN original header =-
21.7 +Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
21.8 +-= END original header =-
21.9 +
21.10 +diff -durN gcc-4.3.3.orig/libmudflap/mf-hooks2.c gcc-4.3.3/libmudflap/mf-hooks2.c
21.11 +--- gcc-4.3.3.orig/libmudflap/mf-hooks2.c 2005-09-23 23:58:39.000000000 +0200
21.12 ++++ gcc-4.3.3/libmudflap/mf-hooks2.c 2009-01-27 22:25:45.000000000 +0100
21.13 +@@ -427,7 +427,7 @@
21.14 + {
21.15 + TRACE ("%s\n", __PRETTY_FUNCTION__);
21.16 + MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
21.17 +- bzero (s, n);
21.18 ++ memset (s, 0, n);
21.19 + }
21.20 +
21.21 +
21.22 +@@ -437,7 +437,7 @@
21.23 + TRACE ("%s\n", __PRETTY_FUNCTION__);
21.24 + MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
21.25 + MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
21.26 +- bcopy (src, dest, n);
21.27 ++ memmove (dest, src, n);
21.28 + }
21.29 +
21.30 +
21.31 +@@ -447,7 +447,7 @@
21.32 + TRACE ("%s\n", __PRETTY_FUNCTION__);
21.33 + MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
21.34 + MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
21.35 +- return bcmp (s1, s2, n);
21.36 ++ return memcmp (s1, s2, n);
21.37 + }
21.38 +
21.39 +
21.40 +@@ -456,7 +456,7 @@
21.41 + size_t n = strlen (s);
21.42 + TRACE ("%s\n", __PRETTY_FUNCTION__);
21.43 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
21.44 +- return index (s, c);
21.45 ++ return strchr (s, c);
21.46 + }
21.47 +
21.48 +
21.49 +@@ -465,7 +465,7 @@
21.50 + size_t n = strlen (s);
21.51 + TRACE ("%s\n", __PRETTY_FUNCTION__);
21.52 + MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
21.53 +- return rindex (s, c);
21.54 ++ return strrchr (s, c);
21.55 + }
21.56 +
21.57 + /* XXX: stpcpy, memccpy */
22.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
22.2 +++ b/patches/gcc/4.3.6/310-arm-softfloat.patch Fri Sep 02 13:45:05 2011 +0200
22.3 @@ -0,0 +1,34 @@
22.4 +Original patch from: ../4.3.2/310-arm-softfloat.patch
22.5 +
22.6 +-= BEGIN original header =-
22.7 +-= END original header =-
22.8 +
22.9 +diff -durN gcc-4.3.3.orig/gcc/config/arm/linux-elf.h gcc-4.3.3/gcc/config/arm/linux-elf.h
22.10 +--- gcc-4.3.3.orig/gcc/config/arm/linux-elf.h 2007-11-08 14:44:09.000000000 +0100
22.11 ++++ gcc-4.3.3/gcc/config/arm/linux-elf.h 2009-01-27 22:25:47.000000000 +0100
22.12 +@@ -60,7 +60,7 @@
22.13 + %{shared:-lc} \
22.14 + %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
22.15 +
22.16 +-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
22.17 ++#define LIBGCC_SPEC "-lgcc"
22.18 +
22.19 + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
22.20 +
22.21 +diff -durN gcc-4.3.3.orig/gcc/config/arm/t-linux gcc-4.3.3/gcc/config/arm/t-linux
22.22 +--- gcc-4.3.3.orig/gcc/config/arm/t-linux 2006-11-09 23:14:27.000000000 +0100
22.23 ++++ gcc-4.3.3/gcc/config/arm/t-linux 2009-01-27 22:25:47.000000000 +0100
22.24 +@@ -3,7 +3,12 @@
22.25 + TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
22.26 +
22.27 + LIB1ASMSRC = arm/lib1funcs.asm
22.28 +-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
22.29 ++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
22.30 ++ _call_via_rX _interwork_call_via_rX \
22.31 ++ _lshrdi3 _ashrdi3 _ashldi3 \
22.32 ++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
22.33 ++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
22.34 ++ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
22.35 +
22.36 + # MULTILIB_OPTIONS = mhard-float/msoft-float
22.37 + # MULTILIB_DIRNAMES = hard-float soft-float
23.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
23.2 +++ b/patches/gcc/4.3.6/320-alpha-signal_h.patch Fri Sep 02 13:45:05 2011 +0200
23.3 @@ -0,0 +1,23 @@
23.4 +Original patch from: ../4.3.2/320-alpha-signal_h.patch
23.5 +
23.6 +-= BEGIN original header =-
23.7 +-= END original header =-
23.8 +
23.9 +diff -durN gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h gcc-4.3.3/gcc/config/alpha/linux-unwind.h
23.10 +--- gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h 2006-10-26 21:31:09.000000000 +0200
23.11 ++++ gcc-4.3.3/gcc/config/alpha/linux-unwind.h 2009-01-27 22:25:49.000000000 +0100
23.12 +@@ -29,6 +29,9 @@
23.13 + /* Do code reading to identify a signal frame, and set the frame
23.14 + state data appropriately. See unwind-dw2.c for the structs. */
23.15 +
23.16 ++/* Don't use this if inhibit_libc is set
23.17 ++ The build for this target will fail trying to include missing headers */
23.18 ++#ifndef inhibit_libc
23.19 + #include <signal.h>
23.20 + #include <sys/ucontext.h>
23.21 +
23.22 +@@ -80,3 +83,4 @@
23.23 + fs->retaddr_column = 64;
23.24 + return _URC_NO_REASON;
23.25 + }
23.26 ++#endif /* inhibit_libc */
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
24.2 +++ b/patches/gcc/4.3.6/330-unwind-for-uClibc.patch Fri Sep 02 13:45:05 2011 +0200
24.3 @@ -0,0 +1,30 @@
24.4 +Original patch from: ../4.3.2/330-unwind-for-uClibc.patch
24.5 +
24.6 +-= BEGIN original header =-
24.7 +-= END original header =-
24.8 +
24.9 +diff -durN gcc-4.3.3.orig/gcc/config/t-linux-uclibc gcc-4.3.3/gcc/config/t-linux-uclibc
24.10 +--- gcc-4.3.3.orig/gcc/config/t-linux-uclibc 1970-01-01 01:00:00.000000000 +0100
24.11 ++++ gcc-4.3.3/gcc/config/t-linux-uclibc 2009-01-27 22:28:53.000000000 +0100
24.12 +@@ -0,0 +1,5 @@
24.13 ++# Remove glibc specific files added in t-linux
24.14 ++SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
24.15 ++
24.16 ++# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
24.17 ++LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
24.18 +diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
24.19 +--- gcc-4.3.3.orig/gcc/config.gcc 2009-01-27 22:25:37.000000000 +0100
24.20 ++++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:28:53.000000000 +0100
24.21 +@@ -2648,6 +2648,12 @@
24.22 + ;;
24.23 + esac
24.24 +
24.25 ++# Rather than hook into each target, just do it after all the linux
24.26 ++# targets have been processed
24.27 ++case ${target} in
24.28 ++ *-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc";;
24.29 ++esac
24.30 ++
24.31 + case ${target} in
24.32 + i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
24.33 + tmake_file="${tmake_file} i386/t-gmm_malloc"
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
25.2 +++ b/patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch Fri Sep 02 13:45:05 2011 +0200
25.3 @@ -0,0 +1,90 @@
25.4 +Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
25.5 +
25.6 +-= BEGIN original header =-
25.7 +2008-04-03 Nathan Froyd <froydnj@codesourcery.com>
25.8 + Nathan Sidwell <nathan@codesourcery.com>
25.9 +
25.10 + * config/rs6000/rs6000.opt (mspe): Remove Var property.
25.11 + (misel): Likewise.
25.12 + * config/rs6000/rs6000.h (rs6000_spe): Declare.
25.13 + (rs6000_isel): Likewise.
25.14 + * config/rs6000/rs6000.c (rs6000_spe): New variable.
25.15 + (rs6000_isel): New variable.
25.16 + (rs6000_handle_option): Handle OPT_mspe and OPT_misel.
25.17 +
25.18 +-= END original header =-
25.19 +
25.20 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c gcc-4.3.3/gcc/config/rs6000/rs6000.c
25.21 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c 2008-11-18 23:07:58.000000000 +0100
25.22 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.c 2009-01-27 22:28:55.000000000 +0100
25.23 +@@ -174,9 +174,15 @@
25.24 + /* Nonzero to use AltiVec ABI. */
25.25 + int rs6000_altivec_abi;
25.26 +
25.27 ++/* Nonzero if we want SPE SIMD instructions. */
25.28 ++int rs6000_spe;
25.29 ++
25.30 + /* Nonzero if we want SPE ABI extensions. */
25.31 + int rs6000_spe_abi;
25.32 +
25.33 ++/* Nonzero to use isel instructions. */
25.34 ++int rs6000_isel;
25.35 ++
25.36 + /* Nonzero if floating point operations are done in the GPRs. */
25.37 + int rs6000_float_gprs = 0;
25.38 +
25.39 +@@ -2144,11 +2150,21 @@
25.40 + rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
25.41 + break;
25.42 +
25.43 ++ case OPT_misel:
25.44 ++ rs6000_explicit_options.isel = true;
25.45 ++ rs6000_isel = value;
25.46 ++ break;
25.47 ++
25.48 + case OPT_misel_:
25.49 + rs6000_explicit_options.isel = true;
25.50 + rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
25.51 + break;
25.52 +
25.53 ++ case OPT_mspe:
25.54 ++ rs6000_explicit_options.spe = true;
25.55 ++ rs6000_spe = value;
25.56 ++ break;
25.57 ++
25.58 + case OPT_mspe_:
25.59 + rs6000_explicit_options.spe = true;
25.60 + rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
25.61 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h gcc-4.3.3/gcc/config/rs6000/rs6000.h
25.62 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h 2008-01-26 18:18:35.000000000 +0100
25.63 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.h 2009-01-27 22:28:55.000000000 +0100
25.64 +@@ -349,6 +349,8 @@
25.65 + extern int rs6000_ieeequad;
25.66 + extern int rs6000_altivec_abi;
25.67 + extern int rs6000_spe_abi;
25.68 ++extern int rs6000_spe;
25.69 ++extern int rs6000_isel;
25.70 + extern int rs6000_float_gprs;
25.71 + extern int rs6000_alignment_flags;
25.72 + extern const char *rs6000_sched_insert_nops_str;
25.73 +diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.3/gcc/config/rs6000/rs6000.opt
25.74 +--- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt 2007-10-31 08:56:01.000000000 +0100
25.75 ++++ gcc-4.3.3/gcc/config/rs6000/rs6000.opt 2009-01-27 22:28:55.000000000 +0100
25.76 +@@ -190,7 +190,7 @@
25.77 + -mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
25.78 +
25.79 + misel
25.80 +-Target Var(rs6000_isel)
25.81 ++Target
25.82 + Generate isel instructions
25.83 +
25.84 + misel=
25.85 +@@ -198,7 +198,7 @@
25.86 + -misel=yes/no Deprecated option. Use -misel/-mno-isel instead
25.87 +
25.88 + mspe
25.89 +-Target Var(rs6000_spe)
25.90 ++Target
25.91 + Generate SPE SIMD instructions on E500
25.92 +
25.93 + mpaired
26.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
26.2 +++ b/patches/gcc/4.3.6/350-sh-without-headers.patch Fri Sep 02 13:45:05 2011 +0200
26.3 @@ -0,0 +1,29 @@
26.4 +Original patch from: ../4.3.2/350-sh-without-headers.patch
26.5 +
26.6 +-= BEGIN original header =-
26.7 +On 20081011, Khem RAJ writes:
26.8 + You have to bar gcc trying to build unwinding at stage 1. Try the
26.9 + attached patch and see if it helps.
26.10 +
26.11 + gcc/config/sh/linux-unwind.h | 3 +++
26.12 + 1 file changed, 3 insertions(+)
26.13 +
26.14 +-= END original header =-
26.15 +
26.16 +diff -durN gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h gcc-4.3.3/gcc/config/sh/linux-unwind.h
26.17 +--- gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h 2007-09-12 08:59:06.000000000 +0200
26.18 ++++ gcc-4.3.3/gcc/config/sh/linux-unwind.h 2009-01-27 22:28:57.000000000 +0100
26.19 +@@ -26,6 +26,8 @@
26.20 + the Free Software Foundation, 51 Franklin Street, Fifth Floor,
26.21 + Boston, MA 02110-1301, USA. */
26.22 +
26.23 ++#ifndef inhibit_libc
26.24 ++
26.25 + /* Do code reading to identify a signal frame, and set the frame
26.26 + state data appropriately. See unwind-dw2.c for the structs. */
26.27 +
26.28 +@@ -251,3 +253,4 @@
26.29 + return _URC_NO_REASON;
26.30 + }
26.31 + #endif /* defined (__SH5__) */
26.32 ++#endif /* ifndef inhibit_libc */
27.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
27.2 +++ b/patches/gcc/4.3.6/380-pr37436.patch Fri Sep 02 13:45:05 2011 +0200
27.3 @@ -0,0 +1,86 @@
27.4 +gcc svn 142778:
27.5 +
27.6 +PR target/37436
27.7 +* arm.c (arm_legitimate_index): Only accept addresses that are in
27.8 +canonical form.
27.9 +* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
27.10 +* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
27.11 +for operand1.
27.12 +(extendqisi2): Likewise.
27.13 +(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
27.14 +predicate for operand1.
27.15 +
27.16 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.c gcc-4.3.3/gcc/config/arm/arm.c
27.17 +--- gcc-4.3.3.orig/gcc/config/arm/arm.c 2008-06-11 07:52:55.000000000 -0300
27.18 ++++ gcc-4.3.3/gcc/config/arm/arm.c 2009-05-21 16:06:45.000000000 -0300
27.19 +@@ -3769,6 +3769,7 @@
27.20 + rtx xop1 = XEXP (x, 1);
27.21 +
27.22 + return ((arm_address_register_rtx_p (xop0, strict_p)
27.23 ++ && GET_CODE(xop1) == CONST_INT
27.24 + && arm_legitimate_index_p (mode, xop1, outer, strict_p))
27.25 + || (arm_address_register_rtx_p (xop1, strict_p)
27.26 + && arm_legitimate_index_p (mode, xop0, outer, strict_p)));
27.27 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.md gcc-4.3.3/gcc/config/arm/arm.md
27.28 +--- gcc-4.3.3.orig/gcc/config/arm/arm.md 2007-09-04 01:44:47.000000000 -0300
27.29 ++++ gcc-4.3.3/gcc/config/arm/arm.md 2009-05-21 16:06:45.000000000 -0300
27.30 +@@ -4199,7 +4199,7 @@
27.31 +
27.32 + (define_expand "extendqihi2"
27.33 + [(set (match_dup 2)
27.34 +- (ashift:SI (match_operand:QI 1 "general_operand" "")
27.35 ++ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
27.36 + (const_int 24)))
27.37 + (set (match_operand:HI 0 "s_register_operand" "")
27.38 + (ashiftrt:SI (match_dup 2)
27.39 +@@ -4224,7 +4224,7 @@
27.40 +
27.41 + (define_insn "*arm_extendqihi_insn"
27.42 + [(set (match_operand:HI 0 "s_register_operand" "=r")
27.43 +- (sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))]
27.44 ++ (sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
27.45 + "TARGET_ARM && arm_arch4"
27.46 + "ldr%(sb%)\\t%0, %1"
27.47 + [(set_attr "type" "load_byte")
27.48 +@@ -4235,7 +4235,7 @@
27.49 +
27.50 + (define_expand "extendqisi2"
27.51 + [(set (match_dup 2)
27.52 +- (ashift:SI (match_operand:QI 1 "general_operand" "")
27.53 ++ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
27.54 + (const_int 24)))
27.55 + (set (match_operand:SI 0 "s_register_operand" "")
27.56 + (ashiftrt:SI (match_dup 2)
27.57 +@@ -4267,7 +4267,7 @@
27.58 +
27.59 + (define_insn "*arm_extendqisi"
27.60 + [(set (match_operand:SI 0 "s_register_operand" "=r")
27.61 +- (sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))]
27.62 ++ (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
27.63 + "TARGET_ARM && arm_arch4 && !arm_arch6"
27.64 + "ldr%(sb%)\\t%0, %1"
27.65 + [(set_attr "type" "load_byte")
27.66 +@@ -4278,7 +4278,8 @@
27.67 +
27.68 + (define_insn "*arm_extendqisi_v6"
27.69 + [(set (match_operand:SI 0 "s_register_operand" "=r,r")
27.70 +- (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))]
27.71 ++ (sign_extend:SI
27.72 ++ (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))]
27.73 + "TARGET_ARM && arm_arch6"
27.74 + "@
27.75 + sxtb%?\\t%0, %1
27.76 +diff -Nura gcc-4.3.3.orig/gcc/config/arm/predicates.md gcc-4.3.3/gcc/config/arm/predicates.md
27.77 +--- gcc-4.3.3.orig/gcc/config/arm/predicates.md 2007-08-02 07:49:31.000000000 -0300
27.78 ++++ gcc-4.3.3/gcc/config/arm/predicates.md 2009-05-21 16:06:45.000000000 -0300
27.79 +@@ -234,6 +234,10 @@
27.80 + (match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND,
27.81 + 0)")))
27.82 +
27.83 ++(define_special_predicate "arm_reg_or_extendqisi_mem_op"
27.84 ++ (ior (match_operand 0 "arm_extendqisi_mem_op")
27.85 ++ (match_operand 0 "s_register_operand")))
27.86 ++
27.87 + (define_predicate "power_of_two_operand"
27.88 + (match_code "const_int")
27.89 + {
28.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
28.2 +++ b/patches/gcc/4.3.6/390-unbreak-armv4t.patch Fri Sep 02 13:45:05 2011 +0200
28.3 @@ -0,0 +1,11 @@
28.4 +--- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h 2009-09-08 23:46:44.000000000 +0200
28.5 ++++ gcc-4.3.2/gcc/config/arm/linux-eabi.h 2009-09-08 23:46:51.000000000 +0200
28.6 +@@ -44,7 +44,7 @@
28.7 + The ARM10TDMI core is the default for armv5t, so set
28.8 + SUBTARGET_CPU_DEFAULT to achieve this. */
28.9 + #undef SUBTARGET_CPU_DEFAULT
28.10 +-#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
28.11 ++#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
28.12 +
28.13 + /* TARGET_BIG_ENDIAN_DEFAULT is set in
28.14 + config.gcc for big endian configurations. */
29.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
29.2 +++ b/patches/gcc/4.3.6/400-ecjx-host-cc.patch Fri Sep 02 13:45:05 2011 +0200
29.3 @@ -0,0 +1,13 @@
29.4 +diff -ur gcc-4.3.4-orig/libjava/Makefile.in gcc-4.3.4/libjava/Makefile.in
29.5 +--- gcc-4.3.4-orig/libjava/Makefile.in 2009-08-04 04:12:27.000000000 -0700
29.6 ++++ gcc-4.3.4/libjava/Makefile.in 2009-09-23 22:03:15.750951483 -0700
29.7 +@@ -8874,6 +8874,9 @@
29.8 + ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES)
29.9 + @rm -f ecjx$(EXEEXT)
29.10 + $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
29.11 ++ecjx.$(OBJEXT): $(ecjx_SOURCES)
29.12 ++ @rm -f ecjx.$(OBJEXT)
29.13 ++ $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
29.14 + gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES)
29.15 + @rm -f gappletviewer$(EXEEXT)
29.16 + $(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)
30.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
30.2 +++ b/patches/gcc/4.3.6/410-pr42289-fix-libffi-build-on-arm-oabi.patch Fri Sep 02 13:45:05 2011 +0200
30.3 @@ -0,0 +1,11 @@
30.4 +--- gcc-4.3.4/libffi/src/arm/sysv.S
30.5 ++++ gcc-4.3.4/libffi/src/arm/sysv.S
30.6 +@@ -235,7 +235,7 @@ ARM_FUNC_START ffi_closure_SYSV
30.7 + stmfd sp!, {ip, lr}
30.8 + UNWIND .save {r0, lr}
30.9 + add r2, sp, #8
30.10 +- .pad #16
30.11 ++ UNWIND .pad #16
30.12 + sub sp, sp, #16
30.13 + str sp, [sp, #8]
30.14 + add r1, sp, #8