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