summaryrefslogtreecommitdiff
path: root/toolchain/gcc/patches/4.1.2
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/gcc/patches/4.1.2')
-rw-r--r--toolchain/gcc/patches/4.1.2/010-pr34130.patch8
-rw-r--r--toolchain/gcc/patches/4.1.2/100-uclibc-conf.patch124
-rw-r--r--toolchain/gcc/patches/4.1.2/110-arm-eabi.patch14
-rw-r--r--toolchain/gcc/patches/4.1.2/120-cris-do_not_overide_limits_h_test.patch5
-rw-r--r--toolchain/gcc/patches/4.1.2/200-uclibc-locale.patch112
-rw-r--r--toolchain/gcc/patches/4.1.2/300-libstdc++-pic.patch16
-rw-r--r--toolchain/gcc/patches/4.1.2/301-missing-execinfo_h.patch6
-rw-r--r--toolchain/gcc/patches/4.1.2/302-c99-snprintf.patch6
-rw-r--r--toolchain/gcc/patches/4.1.2/303-c99-complex-ugly-hack.patch6
-rw-r--r--toolchain/gcc/patches/4.1.2/304-index_macro.patch10
-rw-r--r--toolchain/gcc/patches/4.1.2/500-avr32.patch265
-rw-r--r--toolchain/gcc/patches/4.1.2/600-fastjar_no_info.patch9
-rw-r--r--toolchain/gcc/patches/4.1.2/740-sh-pr24836.patch12
-rw-r--r--toolchain/gcc/patches/4.1.2/800-arm-bigendian.patch28
-rw-r--r--toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch6
-rw-r--r--toolchain/gcc/patches/4.1.2/850-unbreak-armv4t.patch4
-rw-r--r--toolchain/gcc/patches/4.1.2/900-c++_fixes.patch10
-rw-r--r--toolchain/gcc/patches/4.1.2/910-mbsd_multi.patch78
-rw-r--r--toolchain/gcc/patches/4.1.2/910-soft-float.patch29
19 files changed, 339 insertions, 409 deletions
diff --git a/toolchain/gcc/patches/4.1.2/010-pr34130.patch b/toolchain/gcc/patches/4.1.2/010-pr34130.patch
index 415335f4b4..bc959cb730 100644
--- a/toolchain/gcc/patches/4.1.2/010-pr34130.patch
+++ b/toolchain/gcc/patches/4.1.2/010-pr34130.patch
@@ -1,8 +1,6 @@
-Index: gcc-4.1.2/gcc/fold-const.c
-===================================================================
---- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
-+++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
-@@ -5339,7 +5339,10 @@
+--- a/gcc/fold-const.c
++++ b/gcc/fold-const.c
+@@ -5339,7 +5339,10 @@ extract_muldiv_1 (tree t, tree c, enum t
}
break;
}
diff --git a/toolchain/gcc/patches/4.1.2/100-uclibc-conf.patch b/toolchain/gcc/patches/4.1.2/100-uclibc-conf.patch
index 49d576c7dd..48d8e36c08 100644
--- a/toolchain/gcc/patches/4.1.2/100-uclibc-conf.patch
+++ b/toolchain/gcc/patches/4.1.2/100-uclibc-conf.patch
@@ -1,14 +1,14 @@
---- gcc-4.1.0/gcc/config/t-linux-uclibc
-+++ gcc-4.1.0/gcc/config/t-linux-uclibc
+--- /dev/null
++++ b/gcc/config/t-linux-uclibc
@@ -0,0 +1,5 @@
+# Remove glibc specific files added in t-linux
+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
+
+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
---- gcc-4.1.0/gcc/config.gcc
-+++ gcc-4.1.0/gcc/config.gcc
-@@ -1887,7 +1887,7 @@ s390x-ibm-tpf*)
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -1884,7 +1884,7 @@ s390x-ibm-tpf*)
;;
sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
@@ -17,7 +17,7 @@
sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
sh64-*-netbsd* | sh64l*-*-netbsd*)
tmake_file="${tmake_file} sh/t-sh sh/t-elf"
-@@ -2341,6 +2341,12 @@ m32c-*-elf*)
+@@ -2338,6 +2338,12 @@ m32c-*-elf*)
;;
esac
@@ -30,8 +30,8 @@
case ${target} in
i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
tmake_file="${tmake_file} i386/t-gmm_malloc"
---- gcc-4.1.0/boehm-gc/configure
-+++ gcc-4.1.0/boehm-gc/configure
+--- a/boehm-gc/configure
++++ b/boehm-gc/configure
@@ -4320,6 +4320,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -44,8 +44,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/configure
-+++ gcc-4.1.0/configure
+--- a/configure
++++ b/configure
@@ -1133,7 +1133,7 @@ no)
;;
"")
@@ -55,8 +55,8 @@
# Enable libmudflap by default in GNU and friends.
;;
*-*-freebsd*)
---- gcc-4.1.0/configure.in
-+++ gcc-4.1.0/configure.in
+--- a/configure.in
++++ b/configure.in
@@ -341,7 +341,7 @@ no)
;;
"")
@@ -66,8 +66,8 @@
# Enable libmudflap by default in GNU and friends.
;;
*-*-freebsd*)
---- gcc-4.1.0/contrib/regression/objs-gcc.sh
-+++ gcc-4.1.0/contrib/regression/objs-gcc.sh
+--- a/contrib/regression/objs-gcc.sh
++++ b/contrib/regression/objs-gcc.sh
@@ -105,6 +105,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H
then
make all-gdb all-dejagnu all-ld || exit 1
@@ -79,8 +79,8 @@
elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
make bootstrap || exit 1
make install || exit 1
---- gcc-4.1.0/gcc/config/alpha/linux-elf.h
-+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h
+--- a/gcc/config/alpha/linux-elf.h
++++ b/gcc/config/alpha/linux-elf.h
@@ -27,7 +27,11 @@ Boston, MA 02110-1301, USA. */
#define SUBTARGET_EXTRA_SPECS \
{ "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
@@ -93,8 +93,8 @@
#define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
%{O*:-O3} %{!O*:-O1} \
---- gcc-4.1.0/gcc/config/arm/linux-elf.h
-+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
@@ -51,7 +51,11 @@
#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
@@ -107,8 +107,8 @@
#define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
%{b} \
---- gcc-4.1.0/gcc/config/cris/linux.h
-+++ gcc-4.1.0/gcc/config/cris/linux.h
+--- a/gcc/config/cris/linux.h
++++ b/gcc/config/cris/linux.h
@@ -73,6 +73,25 @@ Boston, MA 02110-1301, USA. */
#undef CRIS_DEFAULT_CPU_VERSION
#define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
@@ -144,8 +144,8 @@
/* Node: Run-time Target */
---- gcc-4.1.0/gcc/config/i386/linux.h
-+++ gcc-4.1.0/gcc/config/i386/linux.h
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
@@ -107,6 +107,11 @@ Boston, MA 02110-1301, USA. */
#define LINK_EMULATION "elf_i386"
#define DYNAMIC_LINKER "/lib/ld-linux.so.2"
@@ -158,8 +158,8 @@
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
{ "link_emulation", LINK_EMULATION },\
---- gcc-4.1.0/gcc/config/i386/linux64.h
-+++ gcc-4.1.0/gcc/config/i386/linux64.h
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
@@ -54,14 +54,21 @@ Boston, MA 02110-1301, USA. */
When the -shared link option is used a final link is not being
done. */
@@ -184,8 +184,8 @@
%{static:-static}}"
/* Similar to standard Linux, but adding -ffast-math support. */
---- gcc-4.1.0/gcc/config/ia64/linux.h
-+++ gcc-4.1.0/gcc/config/ia64/linux.h
+--- a/gcc/config/ia64/linux.h
++++ b/gcc/config/ia64/linux.h
@@ -37,13 +37,18 @@ do { \
/* Define this for shared library support because it isn't in the main
linux.h file. */
@@ -205,9 +205,9 @@
+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
%{static:-static}}"
-
---- gcc-4.1.0/gcc/config/m68k/linux.h
-+++ gcc-4.1.0/gcc/config/m68k/linux.h
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+--- a/gcc/config/m68k/linux.h
++++ b/gcc/config/m68k/linux.h
@@ -123,12 +123,17 @@ Boston, MA 02110-1301, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
@@ -227,8 +227,8 @@
%{static}}"
/* For compatibility with linux/a.out */
---- gcc-4.1.0/gcc/config/mips/linux.h
-+++ gcc-4.1.0/gcc/config/mips/linux.h
+--- a/gcc/config/mips/linux.h
++++ b/gcc/config/mips/linux.h
@@ -105,6 +105,11 @@ Boston, MA 02110-1301, USA. */
/* Borrowed from sparc/linux.h */
@@ -250,8 +250,8 @@
%{static:-static}}}"
#undef SUBTARGET_ASM_SPEC
---- gcc-4.1.0/gcc/config/pa/pa-linux.h
-+++ gcc-4.1.0/gcc/config/pa/pa-linux.h
+--- a/gcc/config/pa/pa-linux.h
++++ b/gcc/config/pa/pa-linux.h
@@ -49,13 +49,18 @@ Boston, MA 02110-1301, USA. */
/* Define this for shared library support because it isn't in the main
linux.h file. */
@@ -272,8 +272,8 @@
%{static:-static}}"
/* glibc's profiling functions don't need gcc to allocate counters. */
---- gcc-4.1.0/gcc/config/rs6000/linux.h
-+++ gcc-4.1.0/gcc/config/rs6000/linux.h
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
@@ -72,7 +72,11 @@
#define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
@@ -286,8 +286,8 @@
#define LINK_GCC_C_SEQUENCE_SPEC \
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
---- gcc-4.1.0/gcc/config/rs6000/sysv4.h
-+++ gcc-4.1.0/gcc/config/rs6000/sysv4.h
+--- a/gcc/config/rs6000/sysv4.h
++++ b/gcc/config/rs6000/sysv4.h
@@ -866,6 +866,7 @@ extern int fixuplabelno;
mcall-linux : %(link_os_linux) ; \
mcall-gnu : %(link_os_gnu) ; \
@@ -315,8 +315,8 @@
{ "link_os_gnu", LINK_OS_GNU_SPEC }, \
{ "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
{ "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
---- gcc-4.1.0/gcc/config/s390/linux.h
-+++ gcc-4.1.0/gcc/config/s390/linux.h
+--- a/gcc/config/s390/linux.h
++++ b/gcc/config/s390/linux.h
@@ -77,6 +77,13 @@ Software Foundation, 51 Franklin Street,
#define MULTILIB_DEFAULTS { "m31" }
#endif
@@ -340,10 +340,10 @@
+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
+ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
- #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
---- gcc-4.1.0/gcc/config/sh/linux.h
-+++ gcc-4.1.0/gcc/config/sh/linux.h
+--- a/gcc/config/sh/linux.h
++++ b/gcc/config/sh/linux.h
@@ -56,12 +56,21 @@ Boston, MA 02110-1301, USA. */
#undef SUBTARGET_LINK_EMUL_SUFFIX
#define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
@@ -366,8 +366,8 @@
/* Output assembler code to STREAM to call the profiler. */
---- gcc-4.1.0/gcc/config/sparc/linux.h
-+++ gcc-4.1.0/gcc/config/sparc/linux.h
+--- a/gcc/config/sparc/linux.h
++++ b/gcc/config/sparc/linux.h
@@ -125,6 +125,11 @@ Boston, MA 02110-1301, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
@@ -389,8 +389,8 @@
%{static:-static}}}"
/* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
---- gcc-4.1.0/gcc/config/sparc/linux64.h
-+++ gcc-4.1.0/gcc/config/sparc/linux64.h
+--- a/gcc/config/sparc/linux64.h
++++ b/gcc/config/sparc/linux64.h
@@ -162,12 +162,17 @@ Boston, MA 02110-1301, USA. */
{ "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
{ "link_arch", LINK_ARCH_SPEC },
@@ -410,8 +410,8 @@
%{static:-static}}} \
"
---- gcc-4.1.0/libffi/configure
-+++ gcc-4.1.0/libffi/configure
+--- a/libffi/configure
++++ b/libffi/configure
@@ -3457,6 +3457,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -424,8 +424,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libgfortran/configure
-+++ gcc-4.1.0/libgfortran/configure
+--- a/libgfortran/configure
++++ b/libgfortran/configure
@@ -3699,6 +3699,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -438,8 +438,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libjava/configure
-+++ gcc-4.1.0/libjava/configure
+--- a/libjava/configure
++++ b/libjava/configure
@@ -5137,6 +5137,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -452,8 +452,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libmudflap/configure
-+++ gcc-4.1.0/libmudflap/configure
+--- a/libmudflap/configure
++++ b/libmudflap/configure
@@ -5382,6 +5382,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -466,8 +466,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libobjc/configure
-+++ gcc-4.1.0/libobjc/configure
+--- a/libobjc/configure
++++ b/libobjc/configure
@@ -3312,6 +3312,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -480,8 +480,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
---- gcc-4.1.0/libtool.m4
-+++ gcc-4.1.0/libtool.m4
+--- a/libtool.m4
++++ b/libtool.m4
@@ -743,6 +743,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -494,8 +494,8 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
[lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
---- gcc-4.1.0/ltconfig
-+++ gcc-4.1.0/ltconfig
+--- a/ltconfig
++++ b/ltconfig
@@ -603,6 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
# Transform linux* to *-*-linux-gnu*, to support old configure scripts.
@@ -528,8 +528,8 @@
netbsd*)
need_lib_prefix=no
need_version=no
---- gcc-4.1.0/zlib/configure
-+++ gcc-4.1.0/zlib/configure
+--- a/zlib/configure
++++ b/zlib/configure
@@ -3426,6 +3426,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
diff --git a/toolchain/gcc/patches/4.1.2/110-arm-eabi.patch b/toolchain/gcc/patches/4.1.2/110-arm-eabi.patch
index acebe5308f..2f2d93539a 100644
--- a/toolchain/gcc/patches/4.1.2/110-arm-eabi.patch
+++ b/toolchain/gcc/patches/4.1.2/110-arm-eabi.patch
@@ -1,18 +1,16 @@
---- gcc-2005q3-1.orig/gcc/config.gcc 2005-10-31 19:02:54.000000000 +0300
-+++ gcc-2005q3-1/gcc/config.gcc 2006-01-27 01:09:09.000000000 +0300
-@@ -674,7 +674,7 @@
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -674,7 +674,7 @@ arm*-*-linux*) # ARM GNU/Linux with EL
tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
- tmake_file="t-slibgcc-elf-ver t-linux arm/t-arm"
+ tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
- arm*-*-linux-gnueabi)
+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
# The BPABI long long divmod functions return a 128-bit value in
-
-diff -urN gcc-2005q3-2/gcc/config/arm/linux-eabi.h gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h
---- gcc-2005q3-2/gcc/config/arm/linux-eabi.h 2005-12-07 23:14:16.000000000 +0300
-+++ gcc-2005q3-2.new/gcc/config/arm/linux-eabi.h 2006-03-29 19:02:34.000000000 +0400
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
@@ -53,7 +53,11 @@
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
diff --git a/toolchain/gcc/patches/4.1.2/120-cris-do_not_overide_limits_h_test.patch b/toolchain/gcc/patches/4.1.2/120-cris-do_not_overide_limits_h_test.patch
index d80feb55f4..81cffb4a7e 100644
--- a/toolchain/gcc/patches/4.1.2/120-cris-do_not_overide_limits_h_test.patch
+++ b/toolchain/gcc/patches/4.1.2/120-cris-do_not_overide_limits_h_test.patch
@@ -1,6 +1,5 @@
-diff -ruN gcc-4.1.2.orig/gcc/config/cris/t-linux gcc-4.1.2/gcc/config/cris/t-linux
---- gcc-4.1.2.orig/gcc/config/cris/t-linux 2005-10-12 21:40:28.000000000 +0200
-+++ gcc-4.1.2/gcc/config/cris/t-linux 2009-01-12 14:52:34.669331678 +0100
+--- a/gcc/config/cris/t-linux
++++ b/gcc/config/cris/t-linux
@@ -1,6 +1,2 @@
TARGET_LIBGCC2_CFLAGS += -fPIC
CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
diff --git a/toolchain/gcc/patches/4.1.2/200-uclibc-locale.patch b/toolchain/gcc/patches/4.1.2/200-uclibc-locale.patch
index e5d712e723..7d20a7d559 100644
--- a/toolchain/gcc/patches/4.1.2/200-uclibc-locale.patch
+++ b/toolchain/gcc/patches/4.1.2/200-uclibc-locale.patch
@@ -1,6 +1,6 @@
---- gcc-4.1.0-dist/libstdc++-v3/acinclude.m4
-+++ gcc-4.1.0/libstdc++-v3/acinclude.m4
-@@ -1071,7 +1071,7 @@
+--- a/libstdc++-v3/acinclude.m4
++++ b/libstdc++-v3/acinclude.m4
+@@ -1003,7 +1003,7 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
AC_MSG_CHECKING([for C locale to use])
GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
[use MODEL for target locale package],
@@ -9,7 +9,7 @@
# If they didn't use this option switch, or if they specified --enable
# with no specific model, we'll have to look for one. If they
-@@ -1087,6 +1087,9 @@
+@@ -1019,6 +1019,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
# Default to "generic".
if test $enable_clocale_flag = auto; then
case ${target_os} in
@@ -19,7 +19,7 @@
linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
AC_EGREP_CPP([_GLIBCXX_ok], [
#include <features.h>
-@@ -1230,6 +1233,40 @@
+@@ -1162,6 +1165,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -60,8 +60,8 @@
esac
# This is where the testsuite looks for locale catalogs, using the
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
@@ -0,0 +1,63 @@
+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
+
@@ -126,8 +126,8 @@
+#endif
+
+#endif // GLIBC 2.3 and later
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c_locale.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.cc
@@ -0,0 +1,152 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
@@ -281,8 +281,8 @@
+{
+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
+} // namespace std
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/c_locale.h
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/c_locale.h
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/c_locale.h
@@ -0,0 +1,117 @@
+// Wrapper for underlying C-language localization -*- C++ -*-
+
@@ -401,8 +401,8 @@
+}
+
+#endif
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
@@ -0,0 +1,306 @@
+// std::codecvt implementation details, GNU version -*- C++ -*-
+
@@ -710,8 +710,8 @@
+ }
+#endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/collate_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/collate_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/collate_members.cc
@@ -0,0 +1,80 @@
+// std::collate implementation details, GNU version -*- C++ -*-
+
@@ -793,8 +793,8 @@
+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
+#endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/ctype_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/ctype_members.cc
@@ -0,0 +1,314 @@
+// std::ctype implementation details, GNU version -*- C++ -*-
+
@@ -1110,8 +1110,8 @@
+ }
+#endif // _GLIBCXX_USE_WCHAR_T
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/messages_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.cc
@@ -0,0 +1,100 @@
+// std::messages implementation details, GNU version -*- C++ -*-
+
@@ -1213,8 +1213,8 @@
+ }
+#endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/messages_members.h
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/messages_members.h
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/messages_members.h
@@ -0,0 +1,121 @@
+// std::messages implementation details, GNU version -*- C++ -*-
+
@@ -1337,8 +1337,8 @@
+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
+ }
+ }
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/monetary_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/monetary_members.cc
@@ -0,0 +1,692 @@
+// std::moneypunct implementation details, GNU version -*- C++ -*-
+
@@ -2032,8 +2032,8 @@
+ }
+#endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/numeric_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/numeric_members.cc
@@ -0,0 +1,173 @@
+// std::numpunct implementation details, GNU version -*- C++ -*-
+
@@ -2208,8 +2208,8 @@
+ { delete _M_data; }
+ #endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/time_members.cc
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.cc
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/time_members.cc
@@ -0,0 +1,406 @@
+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
+
@@ -2617,8 +2617,8 @@
+ }
+#endif
+}
---- gcc-4.1.0-dist/libstdc++-v3/config/locale/uclibc/time_members.h
-+++ gcc-4.1.0/libstdc++-v3/config/locale/uclibc/time_members.h
+--- /dev/null
++++ b/libstdc++-v3/config/locale/uclibc/time_members.h
@@ -0,0 +1,76 @@
+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
+
@@ -2696,8 +2696,8 @@
+ delete _M_data;
+ _S_destroy_c_locale(_M_c_locale_timepunct);
+ }
---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_base.h
-+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_base.h
+--- /dev/null
++++ b/libstdc++-v3/config/os/uclibc/ctype_base.h
@@ -0,0 +1,64 @@
+// Locale support -*- C++ -*-
+
@@ -2763,8 +2763,8 @@
+ static const mask punct = _ISpunct;
+ static const mask alnum = _ISalpha | _ISdigit;
+ };
---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_inline.h
-+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_inline.h
+--- /dev/null
++++ b/libstdc++-v3/config/os/uclibc/ctype_inline.h
@@ -0,0 +1,69 @@
+// Locale support -*- C++ -*-
+
@@ -2835,8 +2835,8 @@
+ ++__low;
+ return __low;
+ }
---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/ctype_noninline.h
-+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/ctype_noninline.h
+--- /dev/null
++++ b/libstdc++-v3/config/os/uclibc/ctype_noninline.h
@@ -0,0 +1,92 @@
+// Locale support -*- C++ -*-
+
@@ -2930,8 +2930,8 @@
+ }
+ return __high;
+ }
---- gcc-4.1.0-dist/libstdc++-v3/config/os/uclibc/os_defines.h
-+++ gcc-4.1.0/libstdc++-v3/config/os/uclibc/os_defines.h
+--- /dev/null
++++ b/libstdc++-v3/config/os/uclibc/os_defines.h
@@ -0,0 +1,44 @@
+// Specific definitions for GNU/Linux -*- C++ -*-
+
@@ -2977,9 +2977,9 @@
+#define __NO_STRING_INLINES
+
+#endif
---- gcc-4.1.0-dist/libstdc++-v3/configure
-+++ gcc-4.1.0/libstdc++-v3/configure
-@@ -4005,6 +4005,11 @@
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -4005,6 +4005,11 @@ linux-gnu*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -2991,7 +2991,7 @@
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
-@@ -5740,7 +5745,7 @@
+@@ -5740,7 +5745,7 @@ if test "${enable_clocale+set}" = set; t
enableval="$enable_clocale"
case "$enableval" in
@@ -3000,7 +3000,7 @@
*) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
{ (exit 1); exit 1; }; } ;;
-@@ -5765,6 +5770,9 @@
+@@ -5765,6 +5770,9 @@ fi;
# Default to "generic".
if test $enable_clocale_flag = auto; then
case ${target_os} in
@@ -3010,7 +3010,7 @@
linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
-@@ -5995,6 +6003,76 @@
+@@ -5995,6 +6003,76 @@ echo "${ECHO_T}IEEE 1003.1" >&6
CTIME_CC=config/locale/generic/time_members.cc
CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
;;
@@ -3087,9 +3087,9 @@
esac
# This is where the testsuite looks for locale catalogs, using the
---- gcc-4.1.0-dist/libstdc++-v3/configure.host
-+++ gcc-4.1.0/libstdc++-v3/configure.host
-@@ -261,6 +261,12 @@
+--- a/libstdc++-v3/configure.host
++++ b/libstdc++-v3/configure.host
+@@ -270,6 +270,12 @@ case "${host_os}" in
;;
esac
@@ -3102,9 +3102,9 @@
# Set any OS-dependent and CPU-dependent bits.
# THIS TABLE IS SORTED. KEEP IT THAT WAY.
---- gcc-4.1.0-dist/libstdc++-v3/crossconfig.m4
-+++ gcc-4.1.0/libstdc++-v3/crossconfig.m4
-@@ -143,6 +143,99 @@
+--- a/libstdc++-v3/crossconfig.m4
++++ b/libstdc++-v3/crossconfig.m4
+@@ -143,6 +143,99 @@ case "${host}" in
;;
esac
;;
@@ -3204,7 +3204,7 @@
*-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu)
AC_CHECK_HEADERS([nan.h ieeefp.h endian.h sys/isa_defs.h \
machine/endian.h machine/param.h sys/machine.h sys/types.h \
-@@ -157,7 +250,7 @@
+@@ -157,7 +250,7 @@ case "${host}" in
AC_DEFINE(HAVE_INT64_T)
case "$target" in
*-uclinux*)
@@ -3213,9 +3213,9 @@
;;
*)
AC_DEFINE(_GLIBCXX_USE_LFS)
---- gcc-4.1.0-dist/libstdc++-v3/include/c_compatibility/wchar.h
-+++ gcc-4.1.0/libstdc++-v3/include/c_compatibility/wchar.h
-@@ -101,7 +101,9 @@
+--- a/libstdc++-v3/include/c_compatibility/wchar.h
++++ b/libstdc++-v3/include/c_compatibility/wchar.h
+@@ -101,7 +101,9 @@ using std::wmemcmp;
using std::wmemcpy;
using std::wmemmove;
using std::wmemset;
@@ -3225,9 +3225,9 @@
#if _GLIBCXX_USE_C99
using std::wcstold;
---- gcc-4.1.0-dist/libstdc++-v3/include/c_std/std_cwchar.h
-+++ gcc-4.1.0/libstdc++-v3/include/c_std/std_cwchar.h
-@@ -180,7 +180,9 @@
+--- a/libstdc++-v3/include/c_std/std_cwchar.h
++++ b/libstdc++-v3/include/c_std/std_cwchar.h
+@@ -180,7 +180,9 @@ namespace std
using ::wcscoll;
using ::wcscpy;
using ::wcscspn;
diff --git a/toolchain/gcc/patches/4.1.2/300-libstdc++-pic.patch b/toolchain/gcc/patches/4.1.2/300-libstdc++-pic.patch
index 560bcb237b..f61ec0afb8 100644
--- a/toolchain/gcc/patches/4.1.2/300-libstdc++-pic.patch
+++ b/toolchain/gcc/patches/4.1.2/300-libstdc++-pic.patch
@@ -1,8 +1,8 @@
# DP: Build and install libstdc++_pic.a library.
---- gcc/libstdc++-v3/src/Makefile.am
-+++ gcc/libstdc++-v3/src/Makefile.am
-@@ -214,6 +214,12 @@
+--- a/libstdc++-v3/src/Makefile.am
++++ b/libstdc++-v3/src/Makefile.am
+@@ -234,6 +234,12 @@ CXXLINK = $(LIBTOOL) --tag CXX --mode=li
$(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LDFLAGS) -o $@
@@ -15,9 +15,9 @@
# Added bits to build debug library.
if GLIBCXX_BUILD_DEBUG
all-local: build_debug
---- gcc/libstdc++-v3/src/Makefile.in
-+++ gcc/libstdc++-v3/src/Makefile.in
-@@ -627,7 +627,7 @@
+--- a/libstdc++-v3/src/Makefile.in
++++ b/libstdc++-v3/src/Makefile.in
+@@ -627,7 +627,7 @@ info-am:
install-data-am: install-data-local
@@ -26,7 +26,7 @@
install-info: install-info-am
-@@ -660,6 +660,7 @@
+@@ -660,6 +660,7 @@ uninstall-am: uninstall-info-am uninstal
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-data-local install-exec \
@@ -34,7 +34,7 @@
install-exec-am install-info install-info-am install-man \
install-strip install-toolexeclibLTLIBRARIES installcheck \
installcheck-am installdirs maintainer-clean \
-@@ -743,6 +743,13 @@
+@@ -760,6 +761,13 @@ build_debug: stamp-debug
install_debug:
(cd ${debugdir} && $(MAKE) \
toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
diff --git a/toolchain/gcc/patches/4.1.2/301-missing-execinfo_h.patch b/toolchain/gcc/patches/4.1.2/301-missing-execinfo_h.patch
index 0e2092f3fb..35e0244641 100644
--- a/toolchain/gcc/patches/4.1.2/301-missing-execinfo_h.patch
+++ b/toolchain/gcc/patches/4.1.2/301-missing-execinfo_h.patch
@@ -1,6 +1,6 @@
---- gcc-4.0.0/boehm-gc/include/gc.h-orig 2005-04-28 22:28:57.000000000 -0500
-+++ gcc-4.0.0/boehm-gc/include/gc.h 2005-04-28 22:30:38.000000000 -0500
-@@ -500,7 +500,7 @@
+--- a/boehm-gc/include/gc.h
++++ b/boehm-gc/include/gc.h
+@@ -500,7 +500,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of
#ifdef __linux__
# include <features.h>
# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
diff --git a/toolchain/gcc/patches/4.1.2/302-c99-snprintf.patch b/toolchain/gcc/patches/4.1.2/302-c99-snprintf.patch
index dfb22d681b..aed7941d56 100644
--- a/toolchain/gcc/patches/4.1.2/302-c99-snprintf.patch
+++ b/toolchain/gcc/patches/4.1.2/302-c99-snprintf.patch
@@ -1,6 +1,6 @@
---- gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h-orig 2005-04-29 00:08:41.000000000 -0500
-+++ gcc-4.0.0/libstdc++-v3/include/c_std/std_cstdio.h 2005-04-29 00:08:45.000000000 -0500
-@@ -142,7 +142,7 @@
+--- a/libstdc++-v3/include/c_std/std_cstdio.h
++++ b/libstdc++-v3/include/c_std/std_cstdio.h
+@@ -143,7 +143,7 @@ namespace std
using ::vsprintf;
}
diff --git a/toolchain/gcc/patches/4.1.2/303-c99-complex-ugly-hack.patch b/toolchain/gcc/patches/4.1.2/303-c99-complex-ugly-hack.patch
index 2ccc80d9bb..4654f0c0f5 100644
--- a/toolchain/gcc/patches/4.1.2/303-c99-complex-ugly-hack.patch
+++ b/toolchain/gcc/patches/4.1.2/303-c99-complex-ugly-hack.patch
@@ -1,6 +1,6 @@
---- gcc-4.0.0/libstdc++-v3/configure-old 2005-04-30 22:04:48.061603912 -0500
-+++ gcc-4.0.0/libstdc++-v3/configure 2005-04-30 22:06:13.678588152 -0500
-@@ -7194,6 +7194,9 @@
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -7324,6 +7324,9 @@ cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <complex.h>
diff --git a/toolchain/gcc/patches/4.1.2/304-index_macro.patch b/toolchain/gcc/patches/4.1.2/304-index_macro.patch
index 1fac112fa9..f9e97c10eb 100644
--- a/toolchain/gcc/patches/4.1.2/304-index_macro.patch
+++ b/toolchain/gcc/patches/4.1.2/304-index_macro.patch
@@ -1,6 +1,6 @@
---- gcc-4.1.0/libstdc++-v3/include/ext/rope.mps 2006-03-24 01:49:51 +0100
-+++ gcc-4.1.0/libstdc++-v3/include/ext/rope 2006-03-24 01:49:37 +0100
-@@ -59,6 +59,9 @@
+--- a/libstdc++-v3/include/ext/rope
++++ b/libstdc++-v3/include/ext/rope
+@@ -57,6 +57,9 @@
#include <bits/allocator.h>
#include <ext/hash_fun.h>
@@ -10,8 +10,8 @@
# ifdef __GC
# define __GC_CONST const
# else
---- gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h.mps 2006-03-24 01:50:04 +0100
-+++ gcc-4.1.0/libstdc++-v3/include/ext/ropeimpl.h 2006-03-24 01:50:28 +0100
+--- a/libstdc++-v3/include/ext/ropeimpl.h
++++ b/libstdc++-v3/include/ext/ropeimpl.h
@@ -53,6 +53,9 @@
#include <ext/memory> // For uninitialized_copy_n
#include <ext/numeric> // For power
diff --git a/toolchain/gcc/patches/4.1.2/500-avr32.patch b/toolchain/gcc/patches/4.1.2/500-avr32.patch
index 11e24eef22..40c5f75fab 100644
--- a/toolchain/gcc/patches/4.1.2/500-avr32.patch
+++ b/toolchain/gcc/patches/4.1.2/500-avr32.patch
@@ -1,7 +1,6 @@
-diff -Nur gcc-4.1.2/config.sub gcc-4.1.2-owrt/config.sub
---- gcc-4.1.2/config.sub 2005-12-16 13:57:40.000000000 +0100
-+++ gcc-4.1.2-owrt/config.sub 2007-05-24 12:03:28.000000000 +0200
-@@ -239,7 +239,7 @@
+--- a/config.sub
++++ b/config.sub
+@@ -239,7 +239,7 @@ case $basic_machine in
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
@@ -10,7 +9,7 @@ diff -Nur gcc-4.1.2/config.sub gcc-4.1.2-owrt/config.sub
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
-@@ -316,7 +316,7 @@
+@@ -316,7 +316,7 @@ case $basic_machine in
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
@@ -19,10 +18,9 @@ diff -Nur gcc-4.1.2/config.sub gcc-4.1.2-owrt/config.sub
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
-diff -Nur gcc-4.1.2/configure.in gcc-4.1.2-owrt/configure.in
---- gcc-4.1.2/configure.in 2006-11-21 18:48:36.000000000 +0100
-+++ gcc-4.1.2-owrt/configure.in 2007-05-24 12:03:28.000000000 +0200
-@@ -497,6 +497,9 @@
+--- a/configure.in
++++ b/configure.in
+@@ -497,6 +497,9 @@ case "${target}" in
arm-*-riscix*)
noconfigdirs="$noconfigdirs ld target-libgloss ${libgcj}"
;;
@@ -32,10 +30,9 @@ diff -Nur gcc-4.1.2/configure.in gcc-4.1.2-owrt/configure.in
avr-*-*)
noconfigdirs="$noconfigdirs target-libiberty target-libstdc++-v3 ${libgcj}"
;;
-diff -Nur gcc-4.1.2/gcc/builtins.c gcc-4.1.2-owrt/gcc/builtins.c
---- gcc-4.1.2/gcc/builtins.c 2006-10-06 19:06:52.000000000 +0200
-+++ gcc-4.1.2-owrt/gcc/builtins.c 2007-05-24 12:03:28.000000000 +0200
-@@ -9228,7 +9228,7 @@
+--- a/gcc/builtins.c
++++ b/gcc/builtins.c
+@@ -9228,7 +9228,7 @@ validate_arglist (tree arglist, ...)
do
{
@@ -44,10 +41,9 @@ diff -Nur gcc-4.1.2/gcc/builtins.c gcc-4.1.2-owrt/gcc/builtins.c
switch (code)
{
case 0:
-diff -Nur gcc-4.1.2/gcc/calls.c gcc-4.1.2-owrt/gcc/calls.c
---- gcc-4.1.2/gcc/calls.c 2007-01-29 18:08:31.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/calls.c 2007-05-24 12:03:28.000000000 +0200
-@@ -3434,7 +3434,7 @@
+--- a/gcc/calls.c
++++ b/gcc/calls.c
+@@ -3434,7 +3434,7 @@ emit_library_call_value_1 (int retval, r
for (; count < nargs; count++)
{
rtx val = va_arg (p, rtx);
@@ -56,9 +52,8 @@ diff -Nur gcc-4.1.2/gcc/calls.c gcc-4.1.2-owrt/gcc/calls.c
/* We cannot convert the arg value to the mode the library wants here;
must do it earlier where we know the signedness of the arg. */
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.c gcc-4.1.2-owrt/gcc/config/avr32/avr32.c
---- gcc-4.1.2/gcc/config/avr32/avr32.c 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32.c 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32.c
@@ -0,0 +1,7273 @@
+/*
+ Target hooks and helper functions for AVR32.
@@ -7333,9 +7328,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.c gcc-4.1.2-owrt/gcc/config/avr32/avr
+ set_optab_libfunc (lshr_optab, DImode, "__avr32_lsr64");
+ set_optab_libfunc (ashr_optab, DImode, "__avr32_asr64");
+}
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32-elf.h gcc-4.1.2-owrt/gcc/config/avr32/avr32-elf.h
---- gcc-4.1.2/gcc/config/avr32/avr32-elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32-elf.h 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32-elf.h
@@ -0,0 +1,82 @@
+/*
+ Elf specific definitions.
@@ -7419,9 +7413,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32-elf.h gcc-4.1.2-owrt/gcc/config/avr32
+ builtin_define ("__AVR32_HAS_BRANCH_PRED__"); \
+ } \
+ while (0)
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.h gcc-4.1.2-owrt/gcc/config/avr32/avr32.h
---- gcc-4.1.2/gcc/config/avr32/avr32.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32.h 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32.h
@@ -0,0 +1,3322 @@
+/*
+ Definitions of target machine for AVR32.
@@ -10745,9 +10738,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.h gcc-4.1.2-owrt/gcc/config/avr32/avr
+#endif
+
+#endif
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.md gcc-4.1.2-owrt/gcc/config/avr32/avr32.md
---- gcc-4.1.2/gcc/config/avr32/avr32.md 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32.md 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32.md
@@ -0,0 +1,4694 @@
+;; AVR32 machine description file.
+;; Copyright 2003-2006 Atmel Corporation.
@@ -15443,14 +15435,12 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.md gcc-4.1.2-owrt/gcc/config/avr32/av
+
+;; Load the FP coprocessor patterns
+(include "fpcp.md")
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32-modes.def gcc-4.1.2-owrt/gcc/config/avr32/avr32-modes.def
---- gcc-4.1.2/gcc/config/avr32/avr32-modes.def 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32-modes.def 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32-modes.def
@@ -0,0 +1 @@
+VECTOR_MODES (INT, 4); /* V4QI V2HI */
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.opt gcc-4.1.2-owrt/gcc/config/avr32/avr32.opt
---- gcc-4.1.2/gcc/config/avr32/avr32.opt 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32.opt 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32.opt
@@ -0,0 +1,78 @@
+; Options for the ATMEL AVR32 port of the compiler.
+
@@ -15530,9 +15520,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32.opt gcc-4.1.2-owrt/gcc/config/avr32/a
+Specify the AVR32 architecture name
+
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/avr32-protos.h gcc-4.1.2-owrt/gcc/config/avr32/avr32-protos.h
---- gcc-4.1.2/gcc/config/avr32/avr32-protos.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/avr32-protos.h 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/avr32-protos.h
@@ -0,0 +1,175 @@
+/*
+ Prototypes for exported functions defined in avr32.c
@@ -15709,9 +15698,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/avr32-protos.h gcc-4.1.2-owrt/gcc/config/av
+void avr32_override_options (void);
+
+#endif /* AVR32_PROTOS_H */
-diff -Nur gcc-4.1.2/gcc/config/avr32/crti.asm gcc-4.1.2-owrt/gcc/config/avr32/crti.asm
---- gcc-4.1.2/gcc/config/avr32/crti.asm 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/crti.asm 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/crti.asm
@@ -0,0 +1,64 @@
+/*
+ Init/fini stuff for AVR32.
@@ -15777,9 +15765,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/crti.asm gcc-4.1.2-owrt/gcc/config/avr32/cr
+1: .long 0b - _GLOBAL_OFFSET_TABLE_
+2:
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/crtn.asm gcc-4.1.2-owrt/gcc/config/avr32/crtn.asm
---- gcc-4.1.2/gcc/config/avr32/crtn.asm 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/crtn.asm 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/crtn.asm
@@ -0,0 +1,44 @@
+/* Copyright (C) 2001 Free Software Foundation, Inc.
+ Written By Nick Clifton
@@ -15825,9 +15812,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/crtn.asm gcc-4.1.2-owrt/gcc/config/avr32/cr
+ .section ".fini"
+ ldm sp++, r6, pc
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/fpcp.md gcc-4.1.2-owrt/gcc/config/avr32/fpcp.md
---- gcc-4.1.2/gcc/config/avr32/fpcp.md 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/fpcp.md 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/fpcp.md
@@ -0,0 +1,551 @@
+;; AVR32 machine description file for Floating-Point instructions.
+;; Copyright 2003-2006 Atmel Corporation.
@@ -16380,9 +16366,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/fpcp.md gcc-4.1.2-owrt/gcc/config/avr32/fpc
+ [(set_attr "type" "fstm")
+ (set_attr "length" "4")
+ (set_attr "cc" "none")])
-diff -Nur gcc-4.1.2/gcc/config/avr32/lib1funcs.S gcc-4.1.2-owrt/gcc/config/avr32/lib1funcs.S
---- gcc-4.1.2/gcc/config/avr32/lib1funcs.S 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/lib1funcs.S 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/lib1funcs.S
@@ -0,0 +1,1678 @@
+/*#define __IEEE_LARGE_FLOATS__*/
+
@@ -18062,9 +18047,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/lib1funcs.S gcc-4.1.2-owrt/gcc/config/avr32
+.Linf_sf:
+ .long 0xff000000
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/lib2funcs.S gcc-4.1.2-owrt/gcc/config/avr32/lib2funcs.S
---- gcc-4.1.2/gcc/config/avr32/lib2funcs.S 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/lib2funcs.S 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/lib2funcs.S
@@ -0,0 +1,21 @@
+ .align 4
+ .global __nonlocal_goto
@@ -18087,9 +18071,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/lib2funcs.S gcc-4.1.2-owrt/gcc/config/avr32
+
+
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/linux-elf.h gcc-4.1.2-owrt/gcc/config/avr32/linux-elf.h
---- gcc-4.1.2/gcc/config/avr32/linux-elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/linux-elf.h 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/linux-elf.h
@@ -0,0 +1,154 @@
+/*
+ Linux/Elf specific definitions.
@@ -18245,9 +18228,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/linux-elf.h gcc-4.1.2-owrt/gcc/config/avr32
+
+#define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
-diff -Nur gcc-4.1.2/gcc/config/avr32/predicates.md gcc-4.1.2-owrt/gcc/config/avr32/predicates.md
---- gcc-4.1.2/gcc/config/avr32/predicates.md 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/predicates.md 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/predicates.md
@@ -0,0 +1,303 @@
+;; AVR32 predicates file.
+;; Copyright 2003-2006 Atmel Corporation.
@@ -18552,9 +18534,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/predicates.md gcc-4.1.2-owrt/gcc/config/avr
+ (and (match_operand 0 "immediate_operand")
+ (match_test "CONST_OK_FOR_CONSTRAINT_P(INTVAL(op), 'K', \"Ku02\")")))
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/simd.md gcc-4.1.2-owrt/gcc/config/avr32/simd.md
---- gcc-4.1.2/gcc/config/avr32/simd.md 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/simd.md 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/simd.md
@@ -0,0 +1,145 @@
+;; AVR32 machine description file for SIMD instructions.
+;; Copyright 2003-2006 Atmel Corporation.
@@ -18701,9 +18682,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/simd.md gcc-4.1.2-owrt/gcc/config/avr32/sim
+ "psubadd.h\t%0, %1:b, %2:b"
+ [(set_attr "length" "4")
+ (set_attr "type" "alu")])
-diff -Nur gcc-4.1.2/gcc/config/avr32/t-avr32 gcc-4.1.2-owrt/gcc/config/avr32/t-avr32
---- gcc-4.1.2/gcc/config/avr32/t-avr32 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/t-avr32 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/t-avr32
@@ -0,0 +1,63 @@
+
+MD_INCLUDES= $(srcdir)/config/avr32/avr32.md \
@@ -18768,9 +18748,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/t-avr32 gcc-4.1.2-owrt/gcc/config/avr32/t-a
+
+
+
-diff -Nur gcc-4.1.2/gcc/config/avr32/t-elf gcc-4.1.2-owrt/gcc/config/avr32/t-elf
---- gcc-4.1.2/gcc/config/avr32/t-elf 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/t-elf 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/t-elf
@@ -0,0 +1,16 @@
+
+# Assemble startup files.
@@ -18788,9 +18767,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/t-elf gcc-4.1.2-owrt/gcc/config/avr32/t-elf
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
-diff -Nur gcc-4.1.2/gcc/config/avr32/uclinux-elf.h gcc-4.1.2-owrt/gcc/config/avr32/uclinux-elf.h
---- gcc-4.1.2/gcc/config/avr32/uclinux-elf.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/config/avr32/uclinux-elf.h 2007-05-24 12:03:28.000000000 +0200
+--- /dev/null
++++ b/gcc/config/avr32/uclinux-elf.h
@@ -0,0 +1,20 @@
+
+/* Run-time Target Specification. */
@@ -18812,9 +18790,8 @@ diff -Nur gcc-4.1.2/gcc/config/avr32/uclinux-elf.h gcc-4.1.2-owrt/gcc/config/avr
+
+#undef TARGET_DEFAULT
+#define TARGET_DEFAULT (AVR32_FLAG_NO_INIT_GOT)
-diff -Nur gcc-4.1.2/gcc/config/host-linux.c gcc-4.1.2-owrt/gcc/config/host-linux.c
---- gcc-4.1.2/gcc/config/host-linux.c 2005-08-01 19:43:33.000000000 +0200
-+++ gcc-4.1.2-owrt/gcc/config/host-linux.c 2007-05-24 12:03:28.000000000 +0200
+--- a/gcc/config/host-linux.c
++++ b/gcc/config/host-linux.c
@@ -26,6 +26,9 @@
#include "hosthooks.h"
#include "hosthooks-def.h"
@@ -18825,10 +18802,9 @@ diff -Nur gcc-4.1.2/gcc/config/host-linux.c gcc-4.1.2-owrt/gcc/config/host-linux
/* Linux has a feature called exec-shield-randomize that perturbs the
address of non-fixed mapped segments by a (relatively) small amount.
-diff -Nur gcc-4.1.2/gcc/config.gcc gcc-4.1.2-owrt/gcc/config.gcc
---- gcc-4.1.2/gcc/config.gcc 2006-10-16 01:12:23.000000000 +0200
-+++ gcc-4.1.2-owrt/gcc/config.gcc 2007-05-24 12:03:28.000000000 +0200
-@@ -751,6 +751,24 @@
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
+@@ -751,6 +751,24 @@ avr-*-*)
tm_file="avr/avr.h dbxelf.h"
use_fixproto=yes
;;
@@ -18853,7 +18829,7 @@ diff -Nur gcc-4.1.2/gcc/config.gcc gcc-4.1.2-owrt/gcc/config.gcc
bfin*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h bfin/elf.h"
tmake_file=bfin/t-bfin-elf
-@@ -1614,6 +1632,9 @@
+@@ -1614,6 +1632,9 @@ pdp11-*-bsd)
pdp11-*-*)
use_fixproto=yes
;;
@@ -18863,7 +18839,7 @@ diff -Nur gcc-4.1.2/gcc/config.gcc gcc-4.1.2-owrt/gcc/config.gcc
# port not yet contributed
#powerpc-*-openbsd*)
# tmake_file="${tmake_file} rs6000/t-fprules "
-@@ -2575,6 +2596,21 @@
+@@ -2581,6 +2602,21 @@ case "${target}" in
fi
;;
@@ -18885,10 +18861,9 @@ diff -Nur gcc-4.1.2/gcc/config.gcc gcc-4.1.2-owrt/gcc/config.gcc
fr*-*-*linux*)
supported_defaults=cpu
case "$with_cpu" in
-diff -Nur gcc-4.1.2/gcc/doc/extend.texi gcc-4.1.2-owrt/gcc/doc/extend.texi
---- gcc-4.1.2/gcc/doc/extend.texi 2007-01-28 20:26:29.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/doc/extend.texi 2007-05-24 12:03:28.000000000 +0200
-@@ -1887,7 +1887,7 @@
+--- a/gcc/doc/extend.texi
++++ b/gcc/doc/extend.texi
+@@ -1887,7 +1887,7 @@ this attribute to work correctly.
@item interrupt
@cindex interrupt handler functions
@@ -18897,7 +18872,7 @@ diff -Nur gcc-4.1.2/gcc/doc/extend.texi gcc-4.1.2-owrt/gcc/doc/extend.texi
ports to indicate that the specified function is an interrupt handler.
The compiler will generate function entry and exit sequences suitable
for use in an interrupt handler when this attribute is present.
-@@ -1906,6 +1906,15 @@
+@@ -1906,6 +1906,15 @@ void f () __attribute__ ((interrupt ("IR
Permissible values for this parameter are: IRQ, FIQ, SWI, ABORT and UNDEF@.
@@ -18913,7 +18888,7 @@ diff -Nur gcc-4.1.2/gcc/doc/extend.texi gcc-4.1.2-owrt/gcc/doc/extend.texi
@item interrupt_handler
@cindex interrupt handler functions on the Blackfin, m68k, H8/300 and SH processors
Use this attribute on the Blackfin, m68k, H8/300, H8/300H, H8S, and SH to
-@@ -5807,6 +5816,7 @@
+@@ -5807,6 +5816,7 @@ instructions, but allow the compiler to
@menu
* Alpha Built-in Functions::
* ARM Built-in Functions::
@@ -18921,7 +18896,7 @@ diff -Nur gcc-4.1.2/gcc/doc/extend.texi gcc-4.1.2-owrt/gcc/doc/extend.texi
* Blackfin Built-in Functions::
* FR-V Built-in Functions::
* X86 Built-in Functions::
-@@ -6045,6 +6055,54 @@
+@@ -6045,6 +6055,54 @@ long long __builtin_arm_wxor (long long,
long long __builtin_arm_wzero ()
@end smallexample
@@ -18976,10 +18951,9 @@ diff -Nur gcc-4.1.2/gcc/doc/extend.texi gcc-4.1.2-owrt/gcc/doc/extend.texi
@node Blackfin Built-in Functions
@subsection Blackfin Built-in Functions
-diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
---- gcc-4.1.2/gcc/doc/invoke.texi 2006-09-25 23:21:58.000000000 +0200
-+++ gcc-4.1.2-owrt/gcc/doc/invoke.texi 2007-05-24 12:03:28.000000000 +0200
-@@ -185,7 +185,7 @@
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -185,7 +185,7 @@ in the following sections.
-fno-default-inline -fvisibility-inlines-hidden @gol
-Wabi -Wctor-dtor-privacy @gol
-Wnon-virtual-dtor -Wreorder @gol
@@ -18988,7 +18962,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
-Wno-non-template-friend -Wold-style-cast @gol
-Woverloaded-virtual -Wno-pmf-conversions @gol
-Wsign-promo}
-@@ -569,6 +569,10 @@
+@@ -569,6 +569,10 @@ Objective-C and Objective-C++ Dialects}.
-mauto-incdec -minmax -mlong-calls -mshort @gol
-msoft-reg-count=@var{count}}
@@ -18999,7 +18973,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
@emph{MCore Options}
@gccoptlist{-mhardlit -mno-hardlit -mdiv -mno-div -mrelax-immediates @gol
-mno-relax-immediates -mwide-bitfields -mno-wide-bitfields @gol
-@@ -1797,14 +1801,6 @@
+@@ -1797,14 +1801,6 @@ to filter out those warnings.
@opindex Wno-deprecated
Do not warn about usage of deprecated features. @xref{Deprecated Features}.
@@ -19014,7 +18988,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
@item -Wno-non-template-friend @r{(C++ only)}
@opindex Wno-non-template-friend
Disable warnings when non-templatized friend functions are declared
-@@ -2662,13 +2658,11 @@
+@@ -2662,13 +2658,11 @@ get these warnings.
If you want to warn about code which uses the uninitialized value of the
variable in its own initializer, use the @option{-Winit-self} option.
@@ -19033,7 +19007,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
Note that there may be no warning about a variable that is used only
to compute a value that itself is never used, because such
-@@ -5935,10 +5929,6 @@
+@@ -5935,10 +5929,6 @@ If number of candidates in the set is sm
we always try to remove unnecessary ivs from the set during its
optimization when a new iv is added to the set.
@@ -19044,7 +19018,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
@item vect-max-version-checks
The maximum number of runtime checks that can be performed when doing
loop versioning in the vectorizer. See option ftree-vect-loop-version
-@@ -7115,7 +7105,7 @@
+@@ -7115,7 +7105,7 @@ platform.
* ARC Options::
* ARM Options::
* AVR Options::
@@ -19053,7 +19027,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
* CRIS Options::
* CRX Options::
* Darwin Options::
-@@ -7578,81 +7568,55 @@
+@@ -7578,81 +7568,55 @@ comply to the C standards, but it will p
size.
@end table
@@ -19177,7 +19151,7 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
@end table
@node CRIS Options
-@@ -11341,6 +11305,7 @@
+@@ -11341,6 +11305,7 @@ conventions that adheres to the March 19
Application Binary Interface, PowerPC processor supplement. This is the
default unless you configured GCC using @samp{powerpc-*-eabiaix}.
@@ -19185,10 +19159,9 @@ diff -Nur gcc-4.1.2/gcc/doc/invoke.texi gcc-4.1.2-owrt/gcc/doc/invoke.texi
@item -mcall-sysv-eabi
@opindex mcall-sysv-eabi
Specify both @option{-mcall-sysv} and @option{-meabi} options.
-diff -Nur gcc-4.1.2/gcc/doc/md.texi gcc-4.1.2-owrt/gcc/doc/md.texi
---- gcc-4.1.2/gcc/doc/md.texi 2005-12-16 14:11:58.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/doc/md.texi 2007-05-24 12:03:28.000000000 +0200
-@@ -1686,6 +1686,59 @@
+--- a/gcc/doc/md.texi
++++ b/gcc/doc/md.texi
+@@ -1686,6 +1686,59 @@ A memory reference suitable for iWMMXt l
A memory reference suitable for the ARMv4 ldrsb instruction.
@end table
@@ -19248,7 +19221,7 @@ diff -Nur gcc-4.1.2/gcc/doc/md.texi gcc-4.1.2-owrt/gcc/doc/md.texi
@item AVR family---@file{avr.h}
@table @code
@item l
-@@ -2132,102 +2185,6 @@
+@@ -2132,102 +2185,6 @@ range of 1 to 2047.
@end table
@@ -19351,10 +19324,9 @@ diff -Nur gcc-4.1.2/gcc/doc/md.texi gcc-4.1.2-owrt/gcc/doc/md.texi
@item M32C---@file{m32c.c}
@item Rsp
-diff -Nur gcc-4.1.2/gcc/expr.c gcc-4.1.2-owrt/gcc/expr.c
---- gcc-4.1.2/gcc/expr.c 2006-11-02 18:18:52.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/expr.c 2007-05-24 12:03:28.000000000 +0200
-@@ -3401,18 +3401,19 @@
+--- a/gcc/expr.c
++++ b/gcc/expr.c
+@@ -3401,18 +3401,19 @@ emit_single_push_insn (enum machine_mode
}
else
{
@@ -19382,10 +19354,9 @@ diff -Nur gcc-4.1.2/gcc/expr.c gcc-4.1.2-owrt/gcc/expr.c
dest = gen_rtx_MEM (mode, dest_addr);
if (type != 0)
-diff -Nur gcc-4.1.2/gcc/genoutput.c gcc-4.1.2-owrt/gcc/genoutput.c
---- gcc-4.1.2/gcc/genoutput.c 2005-06-25 04:02:01.000000000 +0200
-+++ gcc-4.1.2-owrt/gcc/genoutput.c 2007-05-24 12:03:28.000000000 +0200
-@@ -383,7 +383,7 @@
+--- a/gcc/genoutput.c
++++ b/gcc/genoutput.c
+@@ -383,7 +383,7 @@ output_insn_data (void)
}
if (d->name && d->name[0] != '*')
@@ -19394,10 +19365,9 @@ diff -Nur gcc-4.1.2/gcc/genoutput.c gcc-4.1.2-owrt/gcc/genoutput.c
else
printf (" 0,\n");
-diff -Nur gcc-4.1.2/gcc/longlong.h gcc-4.1.2-owrt/gcc/longlong.h
---- gcc-4.1.2/gcc/longlong.h 2005-12-06 11:02:57.000000000 +0100
-+++ gcc-4.1.2-owrt/gcc/longlong.h 2007-05-24 12:03:28.000000000 +0200
-@@ -227,6 +227,39 @@
+--- a/gcc/longlong.h
++++ b/gcc/longlong.h
+@@ -227,6 +227,39 @@ UDItype __umulsidi3 (USItype, USItype);
#define UDIV_TIME 100
#endif /* __arm__ */
@@ -19437,10 +19407,9 @@ diff -Nur gcc-4.1.2/gcc/longlong.h gcc-4.1.2-owrt/gcc/longlong.h
#if defined (__hppa) && W_TYPE_SIZE == 32
#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
__asm__ ("add %4,%5,%1\n\taddc %2,%3,%0" \
-diff -Nur gcc-4.1.2/libstdc++-v3/acinclude.m4 gcc-4.1.2-owrt/libstdc++-v3/acinclude.m4
---- gcc-4.1.2/libstdc++-v3/acinclude.m4 2007-01-29 11:51:01.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/acinclude.m4 2007-05-24 12:03:28.000000000 +0200
-@@ -125,6 +125,15 @@
+--- a/libstdc++-v3/acinclude.m4
++++ b/libstdc++-v3/acinclude.m4
+@@ -125,6 +125,15 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [
## other macros from doing the same. This should be automated.) -pme
need_libmath=no
@@ -19456,7 +19425,7 @@ diff -Nur gcc-4.1.2/libstdc++-v3/acinclude.m4 gcc-4.1.2-owrt/libstdc++-v3/acincl
# Find platform-specific directories containing configuration info.
# Also possibly modify flags used elsewhere, as needed by the platform.
GLIBCXX_CHECK_HOST
-@@ -1040,8 +1049,8 @@
+@@ -1043,8 +1052,8 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
#endif
int main()
{
@@ -19467,7 +19436,7 @@ diff -Nur gcc-4.1.2/libstdc++-v3/acinclude.m4 gcc-4.1.2-owrt/libstdc++-v3/acincl
int i;
int j;
__locale_t loc;
-@@ -1916,6 +1925,14 @@
+@@ -1953,6 +1962,14 @@ AC_DEFUN([AC_LC_MESSAGES], [
])
])
@@ -19482,9 +19451,8 @@ diff -Nur gcc-4.1.2/libstdc++-v3/acinclude.m4 gcc-4.1.2-owrt/libstdc++-v3/acincl
# Macros from the top-level gcc directory.
m4_include([../config/tls.m4])
-diff -Nur gcc-4.1.2/libstdc++-v3/config/os/gnu-linux/ctype_base.h gcc-4.1.2-owrt/libstdc++-v3/config/os/gnu-linux/ctype_base.h
---- gcc-4.1.2/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2005-08-17 04:28:44.000000000 +0200
-+++ gcc-4.1.2-owrt/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2007-05-24 12:03:28.000000000 +0200
+--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h
++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h
@@ -43,8 +43,8 @@
struct ctype_base
{
@@ -19496,10 +19464,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/config/os/gnu-linux/ctype_base.h gcc-4.1.2-owrt
// NB: Offsets into ctype<char>::_M_table force a particular size
// on the mask type. Because of this, we don't use an enum.
typedef unsigned short mask;
-diff -Nur gcc-4.1.2/libstdc++-v3/configure.host gcc-4.1.2-owrt/libstdc++-v3/configure.host
---- gcc-4.1.2/libstdc++-v3/configure.host 2007-01-28 21:12:40.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/configure.host 2007-05-24 12:03:28.000000000 +0200
-@@ -214,8 +214,15 @@
+--- a/libstdc++-v3/configure.host
++++ b/libstdc++-v3/configure.host
+@@ -214,8 +214,15 @@ case "${host_os}" in
freebsd*)
os_include_dir="os/bsd/freebsd"
;;
@@ -19516,10 +19483,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/configure.host gcc-4.1.2-owrt/libstdc++-v3/conf
;;
hpux*)
os_include_dir="os/hpux"
-diff -Nur gcc-4.1.2/libstdc++-v3/include/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/include/Makefile.in
---- gcc-4.1.2/libstdc++-v3/include/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/include/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -36,6 +36,7 @@
+--- a/libstdc++-v3/include/Makefile.in
++++ b/libstdc++-v3/include/Makefile.in
+@@ -36,6 +36,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@@ -19527,10 +19493,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/include/Makefile.in gcc-4.1.2-owrt/libstdc++-v3
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = include
-diff -Nur gcc-4.1.2/libstdc++-v3/libmath/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/libmath/Makefile.in
---- gcc-4.1.2/libstdc++-v3/libmath/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/libmath/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -37,6 +37,7 @@
+--- a/libstdc++-v3/libmath/Makefile.in
++++ b/libstdc++-v3/libmath/Makefile.in
+@@ -37,6 +37,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@@ -19538,10 +19503,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/libmath/Makefile.in gcc-4.1.2-owrt/libstdc++-v3
subdir = libmath
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-diff -Nur gcc-4.1.2/libstdc++-v3/libsupc++/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/libsupc++/Makefile.in
---- gcc-4.1.2/libstdc++-v3/libsupc++/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/libsupc++/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -38,6 +38,7 @@
+--- a/libstdc++-v3/libsupc++/Makefile.in
++++ b/libstdc++-v3/libsupc++/Makefile.in
+@@ -38,6 +38,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@@ -19549,10 +19513,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/libsupc++/Makefile.in gcc-4.1.2-owrt/libstdc++-
DIST_COMMON = $(glibcxxinstall_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(top_srcdir)/fragment.am
subdir = libsupc++
-diff -Nur gcc-4.1.2/libstdc++-v3/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/Makefile.in
---- gcc-4.1.2/libstdc++-v3/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -36,6 +36,7 @@
+--- a/libstdc++-v3/Makefile.in
++++ b/libstdc++-v3/Makefile.in
+@@ -36,6 +36,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@@ -19560,10 +19523,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/Makefil
DIST_COMMON = README $(am__configure_deps) $(srcdir)/../config.guess \
$(srcdir)/../config.sub $(srcdir)/../install-sh \
$(srcdir)/../ltmain.sh $(srcdir)/../missing \
-diff -Nur gcc-4.1.2/libstdc++-v3/po/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/po/Makefile.in
---- gcc-4.1.2/libstdc++-v3/po/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/po/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -36,6 +36,7 @@
+--- a/libstdc++-v3/po/Makefile.in
++++ b/libstdc++-v3/po/Makefile.in
+@@ -36,6 +36,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
@@ -19571,10 +19533,9 @@ diff -Nur gcc-4.1.2/libstdc++-v3/po/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/po/M
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/fragment.am
subdir = po
-diff -Nur gcc-4.1.2/libstdc++-v3/src/Makefile.in gcc-4.1.2-owrt/libstdc++-v3/src/Makefile.in
---- gcc-4.1.2/libstdc++-v3/src/Makefile.in 2006-01-10 18:14:00.000000000 +0100
-+++ gcc-4.1.2-owrt/libstdc++-v3/src/Makefile.in 2007-05-24 12:03:28.000000000 +0200
-@@ -36,6 +36,7 @@
+--- a/libstdc++-v3/src/Makefile.in
++++ b/libstdc++-v3/src/Makefile.in
+@@ -36,6 +36,7 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
diff --git a/toolchain/gcc/patches/4.1.2/600-fastjar_no_info.patch b/toolchain/gcc/patches/4.1.2/600-fastjar_no_info.patch
index ef576b3f57..52605d4a39 100644
--- a/toolchain/gcc/patches/4.1.2/600-fastjar_no_info.patch
+++ b/toolchain/gcc/patches/4.1.2/600-fastjar_no_info.patch
@@ -1,7 +1,6 @@
-diff -urN gcc-4.1.2/fastjar/Makefile.in gcc-4.1.2.new/fastjar/Makefile.in
---- gcc-4.1.2/fastjar/Makefile.in 2005-05-18 03:38:46.000000000 +0200
-+++ gcc-4.1.2.new/fastjar/Makefile.in 2009-02-01 19:51:31.000000000 +0100
-@@ -79,7 +79,7 @@
+--- a/fastjar/Makefile.in
++++ b/fastjar/Makefile.in
+@@ -79,7 +79,7 @@ CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(fastjar_SOURCES) $(grepjar_SOURCES)
DIST_SOURCES = $(fastjar_SOURCES) $(grepjar_SOURCES)
@@ -10,7 +9,7 @@ diff -urN gcc-4.1.2/fastjar/Makefile.in gcc-4.1.2.new/fastjar/Makefile.in
am__TEXINFO_TEX_DIR = $(srcdir)/../gcc/doc/include
DVIS = fastjar.dvi
PDFS = fastjar.pdf
-@@ -773,7 +773,7 @@
+@@ -773,7 +773,7 @@ distcleancheck: distclean
exit 1; } >&2
check-am: all-am
check: check-am
diff --git a/toolchain/gcc/patches/4.1.2/740-sh-pr24836.patch b/toolchain/gcc/patches/4.1.2/740-sh-pr24836.patch
index 7992282cff..38c5b5c52e 100644
--- a/toolchain/gcc/patches/4.1.2/740-sh-pr24836.patch
+++ b/toolchain/gcc/patches/4.1.2/740-sh-pr24836.patch
@@ -1,9 +1,9 @@
http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
---- gcc/gcc/configure.ac (revision 106699)
-+++ gcc/gcc/configure.ac (working copy)
-@@ -2446,7 +2446,7 @@
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -2435,7 +2435,7 @@ foo: .long 25
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
@@ -12,9 +12,9 @@ http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24836
conftest_s='
.section ".tdata","awT",@progbits
foo: .long 25
---- gcc/gcc/configure
-+++ gcc/gcc/configure
-@@ -14846,7 +14846,7 @@
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -14762,7 +14762,7 @@ foo: .long 25
tls_first_minor=14
tls_as_opt="-m64 -Aesame --fatal-warnings"
;;
diff --git a/toolchain/gcc/patches/4.1.2/800-arm-bigendian.patch b/toolchain/gcc/patches/4.1.2/800-arm-bigendian.patch
index 0a9417419e..214241c757 100644
--- a/toolchain/gcc/patches/4.1.2/800-arm-bigendian.patch
+++ b/toolchain/gcc/patches/4.1.2/800-arm-bigendian.patch
@@ -3,10 +3,8 @@ Adds support for arm*b-linux* big-endian ARM targets
See http://gcc.gnu.org/PR16350
-Index: gcc-4.1.1/gcc/config/arm/linux-elf.h
-===================================================================
---- gcc-4.1.1.orig/gcc/config/arm/linux-elf.h
-+++ gcc-4.1.1/gcc/config/arm/linux-elf.h
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
@@ -28,19 +28,33 @@
#undef TARGET_VERSION
#define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
@@ -44,7 +42,7 @@ Index: gcc-4.1.1/gcc/config/arm/linux-elf.h
/* Now we define the strings used to build the spec file. */
#undef LIB_SPEC
-@@ -61,7 +75,7 @@
+@@ -65,7 +79,7 @@
%{rdynamic:-export-dynamic} \
%{!dynamic-linker:-dynamic-linker " LINUX_TARGET_INTERPRETER "} \
-X \
@@ -53,10 +51,8 @@ Index: gcc-4.1.1/gcc/config/arm/linux-elf.h
SUBTARGET_EXTRA_LINK_SPEC
#undef LINK_SPEC
-Index: gcc-4.1.1/gcc/config.gcc
-===================================================================
---- gcc-4.1.1.orig/gcc/config.gcc
-+++ gcc-4.1.1/gcc/config.gcc
+--- a/gcc/config.gcc
++++ b/gcc/config.gcc
@@ -672,6 +672,11 @@ arm*-*-netbsd*)
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
@@ -68,11 +64,9 @@ Index: gcc-4.1.1/gcc/config.gcc
+ esac
tmake_file="${tmake_file} t-linux arm/t-arm"
case ${target} in
- arm*-*-linux-gnueabi)
-Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
-===================================================================
---- gcc-4.1.1.orig/gcc/config/arm/linux-eabi.h
-+++ gcc-4.1.1/gcc/config/arm/linux-eabi.h
+ arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+--- a/gcc/config/arm/linux-eabi.h
++++ b/gcc/config/arm/linux-eabi.h
@@ -20,6 +20,17 @@
the Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
@@ -100,10 +94,8 @@ Index: gcc-4.1.1/gcc/config/arm/linux-eabi.h
/* Use ld-linux.so.3 so that it will be possible to run "classic"
GNU/Linux binaries on an EABI system. */
-Index: gcc-4.1.1/gcc/config/arm/bpabi.h
-===================================================================
---- gcc-4.1.1.orig/gcc/config/arm/bpabi.h
-+++ gcc-4.1.1/gcc/config/arm/bpabi.h
+--- a/gcc/config/arm/bpabi.h
++++ b/gcc/config/arm/bpabi.h
@@ -33,9 +33,19 @@
#undef FPUTYPE_DEFAULT
#define FPUTYPE_DEFAULT FPUTYPE_VFP
diff --git a/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch b/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch
index 568e15abff..1a3e66ed1f 100644
--- a/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch
+++ b/toolchain/gcc/patches/4.1.2/802-fix-ICE-in-arm_unwind_emit_set.patch
@@ -1,6 +1,6 @@
---- trunk/gcc/config/arm/arm.c 2006/09/19 13:18:27 117055
-+++ trunk/gcc/config/arm/arm.c 2006/09/19 13:19:24 117056
-@@ -15415,6 +15415,15 @@
+--- a/gcc/config/arm/arm.c
++++ b/gcc/config/arm/arm.c
+@@ -15371,6 +15371,15 @@ arm_unwind_emit_set (FILE * asm_out_file
/* Move from sp to reg. */
asm_fprintf (asm_out_file, "\t.movsp %r\n", REGNO (e0));
}
diff --git a/toolchain/gcc/patches/4.1.2/850-unbreak-armv4t.patch b/toolchain/gcc/patches/4.1.2/850-unbreak-armv4t.patch
index b291a70ee2..8e3d18ae54 100644
--- a/toolchain/gcc/patches/4.1.2/850-unbreak-armv4t.patch
+++ b/toolchain/gcc/patches/4.1.2/850-unbreak-armv4t.patch
@@ -1,6 +1,6 @@
--- a/gcc/config/arm/linux-eabi.h
+++ b/gcc/config/arm/linux-eabi.h
-@@ -45,7 +45,7 @@
+@@ -56,7 +56,7 @@
The ARM10TDMI core is the default for armv5t, so set
SUBTARGET_CPU_DEFAULT to achieve this. */
#undef SUBTARGET_CPU_DEFAULT
@@ -8,4 +8,4 @@
+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
#undef SUBTARGET_EXTRA_LINK_SPEC
- #define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
+ #define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION
diff --git a/toolchain/gcc/patches/4.1.2/900-c++_fixes.patch b/toolchain/gcc/patches/4.1.2/900-c++_fixes.patch
index 173c6e2fa5..c333ab36d5 100644
--- a/toolchain/gcc/patches/4.1.2/900-c++_fixes.patch
+++ b/toolchain/gcc/patches/4.1.2/900-c++_fixes.patch
@@ -1,7 +1,6 @@
-diff -ur gcc.old/libstdc++-v3/configure gcc.dev/libstdc++-v3/configure
---- gcc.old/libstdc++-v3/configure 2006-06-29 23:26:47.000000000 +0200
-+++ gcc.dev/libstdc++-v3/configure 2006-06-05 15:48:03.000000000 +0200
-@@ -5745,7 +5745,7 @@
+--- a/libstdc++-v3/configure
++++ b/libstdc++-v3/configure
+@@ -5745,7 +5745,7 @@ if test "${enable_clocale+set}" = set; t
enableval="$enable_clocale"
case "$enableval" in
@@ -10,7 +9,7 @@ diff -ur gcc.old/libstdc++-v3/configure gcc.dev/libstdc++-v3/configure
*) { { echo "$as_me:$LINENO: error: Unknown argument to enable/disable clocale" >&5
echo "$as_me: error: Unknown argument to enable/disable clocale" >&2;}
{ (exit 1); exit 1; }; } ;;
-@@ -6524,23 +6525,6 @@
+@@ -6524,23 +6524,6 @@ echo $ECHO_N "checking for enabled long
echo "${ECHO_T}$enable_long_long" >&6
@@ -34,4 +33,3 @@ diff -ur gcc.old/libstdc++-v3/configure gcc.dev/libstdc++-v3/configure
# Test wchar.h for mbstate_t, which is needed for char_traits and fpos.
for ac_header in wchar.h
-
diff --git a/toolchain/gcc/patches/4.1.2/910-mbsd_multi.patch b/toolchain/gcc/patches/4.1.2/910-mbsd_multi.patch
index 7d21842e48..4b1c328b5d 100644
--- a/toolchain/gcc/patches/4.1.2/910-mbsd_multi.patch
+++ b/toolchain/gcc/patches/4.1.2/910-mbsd_multi.patch
@@ -17,11 +17,9 @@
This patch was authored by Thorsten Glaser <tg@mirbsd.de>
with copyright assignment to the FSF in effect.
-Index: gcc-4.1.2/gcc/c-opts.c
-===================================================================
---- gcc-4.1.2.orig/gcc/c-opts.c 2007-07-31 01:14:52.799979303 +0200
-+++ gcc-4.1.2/gcc/c-opts.c 2007-07-31 01:17:10.535828420 +0200
-@@ -103,6 +103,9 @@
+--- a/gcc/c-opts.c
++++ b/gcc/c-opts.c
+@@ -103,6 +103,9 @@ static size_t deferred_count;
/* Number of deferred options scanned for -include. */
static size_t include_cursor;
@@ -31,7 +29,7 @@ Index: gcc-4.1.2/gcc/c-opts.c
static void set_Wimplicit (int);
static void handle_OPT_d (const char *);
static void set_std_cxx98 (int);
-@@ -448,6 +451,14 @@
+@@ -448,6 +451,14 @@ c_common_handle_option (size_t scode, co
mesg_implicit_function_declaration = 2;
break;
@@ -46,7 +44,7 @@ Index: gcc-4.1.2/gcc/c-opts.c
case OPT_Wformat:
set_Wformat (value);
break;
-@@ -691,6 +702,12 @@
+@@ -691,6 +702,12 @@ c_common_handle_option (size_t scode, co
flag_exceptions = value;
break;
@@ -59,7 +57,7 @@ Index: gcc-4.1.2/gcc/c-opts.c
case OPT_fimplement_inlines:
flag_implement_inlines = value;
break;
-@@ -1121,6 +1138,47 @@
+@@ -1121,6 +1138,47 @@ c_common_init (void)
/* Has to wait until now so that cpplib has its hash table. */
init_pragma ();
@@ -107,11 +105,9 @@ Index: gcc-4.1.2/gcc/c-opts.c
return true;
}
-Index: gcc-4.1.2/gcc/c.opt
-===================================================================
---- gcc-4.1.2.orig/gcc/c.opt 2007-07-31 01:14:52.807979755 +0200
-+++ gcc-4.1.2/gcc/c.opt 2007-07-31 01:15:32.270228583 +0200
-@@ -185,6 +185,10 @@
+--- a/gcc/c.opt
++++ b/gcc/c.opt
+@@ -185,6 +185,10 @@ Werror-implicit-function-declaration
C ObjC RejectNegative
Make implicit function declarations an error
@@ -122,7 +118,7 @@ Index: gcc-4.1.2/gcc/c.opt
Wfloat-equal
C ObjC C++ ObjC++ Var(warn_float_equal)
Warn if testing floating point numbers for equality
-@@ -541,6 +545,9 @@
+@@ -541,6 +545,9 @@ C++ ObjC++
fhonor-std
C++ ObjC++
@@ -132,11 +128,9 @@ Index: gcc-4.1.2/gcc/c.opt
fhosted
C ObjC
Assume normal C execution environment
-Index: gcc-4.1.2/gcc/common.opt
-===================================================================
---- gcc-4.1.2.orig/gcc/common.opt 2007-07-31 01:14:52.815980213 +0200
-+++ gcc-4.1.2/gcc/common.opt 2007-07-31 01:17:41.997621326 +0200
-@@ -77,6 +77,10 @@
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -77,6 +77,10 @@ Werror
Common Var(warnings_are_errors)
Treat all warnings as errors
@@ -147,7 +141,7 @@ Index: gcc-4.1.2/gcc/common.opt
Wextra
Common
Print extra (possibly unwanted) warnings
-@@ -451,6 +455,9 @@
+@@ -451,6 +455,9 @@ fguess-branch-probability
Common Report Var(flag_guess_branch_prob)
Enable guessing of branch probabilities
@@ -157,11 +151,9 @@ Index: gcc-4.1.2/gcc/common.opt
; Nonzero means ignore `#ident' directives. 0 means handle them.
; Generate position-independent code for executables if possible
; On SVR4 targets, it also controls whether or not to emit a
-Index: gcc-4.1.2/gcc/opts.c
-===================================================================
---- gcc-4.1.2.orig/gcc/opts.c 2007-07-31 01:14:52.823980670 +0200
-+++ gcc-4.1.2/gcc/opts.c 2007-07-31 01:18:38.152821428 +0200
-@@ -569,8 +569,6 @@
+--- a/gcc/opts.c
++++ b/gcc/opts.c
+@@ -569,8 +569,6 @@ decode_options (unsigned int argc, const
flag_schedule_insns_after_reload = 1;
#endif
flag_regmove = 1;
@@ -170,7 +162,7 @@ Index: gcc-4.1.2/gcc/opts.c
flag_reorder_blocks = 1;
flag_reorder_functions = 1;
flag_tree_store_ccp = 1;
-@@ -586,6 +584,9 @@
+@@ -586,6 +584,9 @@ decode_options (unsigned int argc, const
if (optimize >= 3)
{
@@ -180,7 +172,7 @@ Index: gcc-4.1.2/gcc/opts.c
flag_inline_functions = 1;
flag_unswitch_loops = 1;
flag_gcse_after_reload = 1;
-@@ -759,6 +760,17 @@
+@@ -759,6 +760,17 @@ common_handle_option (size_t scode, cons
set_Wextra (value);
break;
@@ -198,11 +190,9 @@ Index: gcc-4.1.2/gcc/opts.c
case OPT_Wextra:
set_Wextra (value);
break;
-Index: gcc-4.1.2/gcc/doc/cppopts.texi
-===================================================================
---- gcc-4.1.2.orig/gcc/doc/cppopts.texi 2007-07-31 01:14:52.827980895 +0200
-+++ gcc-4.1.2/gcc/doc/cppopts.texi 2007-07-31 01:15:32.362233824 +0200
-@@ -166,6 +166,11 @@
+--- a/gcc/doc/cppopts.texi
++++ b/gcc/doc/cppopts.texi
+@@ -166,6 +166,11 @@ in older programs. This warning is on b
Make all warnings into hard errors. Source code which triggers warnings
will be rejected.
@@ -214,11 +204,9 @@ Index: gcc-4.1.2/gcc/doc/cppopts.texi
@item -Wsystem-headers
@opindex Wsystem-headers
Issue warnings for code in system headers. These are normally unhelpful
-Index: gcc-4.1.2/gcc/doc/invoke.texi
-===================================================================
---- gcc-4.1.2.orig/gcc/doc/invoke.texi 2007-07-31 01:14:59.592366375 +0200
-+++ gcc-4.1.2/gcc/doc/invoke.texi 2007-07-31 01:16:22.569094954 +0200
-@@ -222,7 +222,7 @@
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -222,7 +222,7 @@ Objective-C and Objective-C++ Dialects}.
-Wc++-compat -Wcast-align -Wcast-qual -Wchar-subscripts -Wcomment @gol
-Wconversion -Wno-deprecated-declarations @gol
-Wdisabled-optimization -Wno-div-by-zero -Wno-endif-labels @gol
@@ -227,7 +215,7 @@ Index: gcc-4.1.2/gcc/doc/invoke.texi
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
-Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol
-@@ -3390,6 +3390,22 @@
+@@ -3390,6 +3390,22 @@ This option is only supported for C and
@opindex Werror
Make all warnings into errors.
@@ -250,7 +238,7 @@ Index: gcc-4.1.2/gcc/doc/invoke.texi
@item -Wstack-protector
This option is only active when @option{-fstack-protector} is active. It
warns about functions that will not be protected against stack smashing.
-@@ -4679,7 +4695,7 @@
+@@ -4679,7 +4695,7 @@ erroneously read data to propagate withi
Perform the optimizations of loop strength reduction and
elimination of iteration variables.
@@ -259,7 +247,7 @@ Index: gcc-4.1.2/gcc/doc/invoke.texi
@item -fthread-jumps
@opindex fthread-jumps
-@@ -4826,7 +4842,7 @@
+@@ -4826,7 +4842,7 @@ safely dereference null pointers. Use
@option{-fno-delete-null-pointer-checks} to disable this optimization
for programs which depend on that behavior.
@@ -268,7 +256,7 @@ Index: gcc-4.1.2/gcc/doc/invoke.texi
@item -fexpensive-optimizations
@opindex fexpensive-optimizations
-@@ -5234,7 +5250,7 @@
+@@ -5234,7 +5250,7 @@ node, an alias set for the node. Nodes
allowed to alias. For an example, see the C front-end function
@code{c_get_alias_set}.
@@ -277,11 +265,9 @@ Index: gcc-4.1.2/gcc/doc/invoke.texi
@item -falign-functions
@itemx -falign-functions=@var{n}
-Index: gcc-4.1.2/gcc/java/jvspec.c
-===================================================================
---- gcc-4.1.2.orig/gcc/java/jvspec.c 2007-07-31 01:14:52.847982035 +0200
-+++ gcc-4.1.2/gcc/java/jvspec.c 2007-07-31 01:15:32.454239068 +0200
-@@ -620,6 +620,7 @@
+--- a/gcc/java/jvspec.c
++++ b/gcc/java/jvspec.c
+@@ -620,6 +620,7 @@ lang_specific_pre_link (void)
class name. Append dummy `.c' that can be stripped by set_input so %b
is correct. */
set_input (concat (main_class_name, "main.c", NULL));
diff --git a/toolchain/gcc/patches/4.1.2/910-soft-float.patch b/toolchain/gcc/patches/4.1.2/910-soft-float.patch
index 3f886acbf5..66cb3992aa 100644
--- a/toolchain/gcc/patches/4.1.2/910-soft-float.patch
+++ b/toolchain/gcc/patches/4.1.2/910-soft-float.patch
@@ -1,6 +1,17 @@
---- gcc-4.2-20061205/gcc/config/arm/t-linux 2006-12-08 15:18:33.000000000 -0800
-+++ gcc-4.2-20061205/gcc/config/arm/t-linux 2006-12-08 15:18:33.000000000 -0800
-@@ -4,7 +4,10 @@
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -63,7 +63,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ #ifdef USE_UCLIBC
+ #define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
+--- a/gcc/config/arm/t-linux
++++ b/gcc/config/arm/t-linux
+@@ -4,7 +4,10 @@ TARGET_LIBGCC2_CFLAGS = -fomit-frame-poi
LIBGCC2_DEBUG_CFLAGS = -g0
LIB1ASMSRC = arm/lib1funcs.asm
@@ -12,15 +23,3 @@
# MULTILIB_OPTIONS = mhard-float/msoft-float
# MULTILIB_DIRNAMES = hard-float soft-float
-
---- gcc-4.2-20061205/gcc/config/arm/linux-elf.h 2006-12-08 15:18:33.000000000 -0800
-+++ gcc-4.2-20061205/gcc/config/arm/linux-elf.h 2006-12-08 15:18:33.000000000 -0800
-@@ -63,7 +63,7 @@
- %{shared:-lc} \
- %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
-
--#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-