summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBryan Hundven <bryanhundven@gmail.com>2015-12-08 02:41:02 (GMT)
committerBryan Hundven <bryanhundven@gmail.com>2015-12-08 02:41:02 (GMT)
commit2d3c70dd3ddc5a569c0fa1a833fd5920029b5794 (patch)
tree22ccd44378e386a8e72f6486728513ced4f0304a
parent8a87716fbfe1743ac4fecd11d5f31e02bbdcbe77 (diff)
parentcfd2a6b69c4945808ae153552e6978afb1273ef7 (diff)
Merge pull request #282 from bhundven/less_gcc_versions_part2
Less gcc versions part2
-rw-r--r--config/cc/gcc.in151
-rw-r--r--config/cc/gcc.in.212
-rw-r--r--config/companion_libs.in17
-rw-r--r--config/companion_libs/cloog.in10
-rw-r--r--config/companion_libs/ppl.in51
-rw-r--r--config/global/paths.in1
-rw-r--r--config/libc/glibc.in10
-rw-r--r--docs/4 - Building the toolchain.txt5
-rw-r--r--docs/7 - Contributing to crosstool-NG.txt2
-rw-r--r--docs/9 - How is a toolchain constructed.txt12
-rw-r--r--patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch24
-rw-r--r--patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch24
-rw-r--r--patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch24
-rw-r--r--patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch24
-rw-r--r--patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch24
-rw-r--r--patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch24
-rw-r--r--patches/gcc/4.2.4/100-uclibc-conf.patch216
-rw-r--r--patches/gcc/4.2.4/110-uclibc-conf-noupstream.patch12
-rw-r--r--patches/gcc/4.2.4/120-uclibc-locale.patch2806
-rw-r--r--patches/gcc/4.2.4/130-uclibc-locale-no__x.patch223
-rw-r--r--patches/gcc/4.2.4/140-uclibc-locale-wchar_fix.patch50
-rw-r--r--patches/gcc/4.2.4/150-uclibc-locale-update.patch354
-rw-r--r--patches/gcc/4.2.4/160-libstdc++-pic.patch50
-rw-r--r--patches/gcc/4.2.4/170-missing-execinfo_h.patch12
-rw-r--r--patches/gcc/4.2.4/180-c99-snprintf.patch12
-rw-r--r--patches/gcc/4.2.4/190-c99-complex-ugly-hack.patch13
-rw-r--r--patches/gcc/4.2.4/200-index_macro.patch26
-rw-r--r--patches/gcc/4.2.4/210-libmudflap-susv3-legacy.patch48
-rw-r--r--patches/gcc/4.2.4/220-libstdc++-namespace.patch36
-rw-r--r--patches/gcc/4.2.4/230-libbackend_dep_gcov-iov.h.patch12
-rw-r--r--patches/gcc/4.2.4/240-arm-bigendian.patch64
-rw-r--r--patches/gcc/4.2.4/241-arm-bigendian2.patch33
-rw-r--r--patches/gcc/4.2.4/250-softfloat-fix.patch58
-rw-r--r--patches/gcc/4.2.4/260-flatten-switch-stmt-00.patch24
-rw-r--r--patches/gcc/4.2.4/270-soft-float.patch21
-rw-r--r--patches/gcc/4.2.4/280-eabi_fixes.patch13
-rw-r--r--patches/gcc/4.2.4/290-alpha-signal_h.patch17
-rw-r--r--patches/gcc/4.2.4/300-fortran-signed-TImode.patch43
-rw-r--r--patches/gcc/4.2.4/310-sh-without-headers.patch26
-rw-r--r--patches/gcc/4.2.4/320-libgcc_eh.a.patch32
-rw-r--r--patches/gcc/4.3.6/100-alpha-mieee-default.patch39
-rw-r--r--patches/gcc/4.3.6/110-trampolinewarn.patch40
-rw-r--r--patches/gcc/4.3.6/120-java-nomulti.patch52
-rw-r--r--patches/gcc/4.3.6/130-cross-compile.patch49
-rw-r--r--patches/gcc/4.3.6/140-netbsd-symbolic.patch19
-rw-r--r--patches/gcc/4.3.6/150-sparc64-bsd.patch35
-rw-r--r--patches/gcc/4.3.6/160-flatten-switch-stmt-00.patch81
-rw-r--r--patches/gcc/4.3.6/170-libiberty-pic.patch17
-rw-r--r--patches/gcc/4.3.6/180-superh-default-multilib.patch30
-rw-r--r--patches/gcc/4.3.6/190-libstdc++-pic.patch61
-rw-r--r--patches/gcc/4.3.6/200-pr24170.patch66
-rw-r--r--patches/gcc/4.3.6/210-noteGNUstack-00.patch101
-rw-r--r--patches/gcc/4.3.6/220-noteGNUstack-01.patch203
-rw-r--r--patches/gcc/4.3.6/230-pr34571.patch28
-rw-r--r--patches/gcc/4.3.6/240-pr25343.patch26
-rw-r--r--patches/gcc/4.3.6/250-sh-pr24836.patch33
-rw-r--r--patches/gcc/4.3.6/260-uclibc-conf-noupstream.patch18
-rw-r--r--patches/gcc/4.3.6/270-missing-execinfo_h.patch18
-rw-r--r--patches/gcc/4.3.6/280-c99-complex-ugly-hack.patch19
-rw-r--r--patches/gcc/4.3.6/290-index_macro.patch32
-rw-r--r--patches/gcc/4.3.6/300-libmudflap-susv3-legacy.patch54
-rw-r--r--patches/gcc/4.3.6/310-arm-softfloat.patch34
-rw-r--r--patches/gcc/4.3.6/320-alpha-signal_h.patch23
-rw-r--r--patches/gcc/4.3.6/330-unwind-for-uClibc.patch30
-rw-r--r--patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch90
-rw-r--r--patches/gcc/4.3.6/350-sh-without-headers.patch29
-rw-r--r--patches/gcc/4.3.6/380-pr37436.patch86
-rw-r--r--patches/gcc/4.3.6/390-unbreak-armv4t.patch11
-rw-r--r--patches/gcc/4.3.6/400-ecjx-host-cc.patch13
-rw-r--r--patches/gcc/4.3.6/410-pr42289-fix-libffi-build-on-arm-oabi.patch11
-rw-r--r--patches/gcc/4.3.6/420-libgcc_eh.a.patch39
-rw-r--r--patches/gcc/4.4.7/100-alpha-mieee-default.patch24
-rw-r--r--patches/gcc/4.4.7/110-trampolinewarn.patch27
-rw-r--r--patches/gcc/4.4.7/120-java-nomulti.patch46
-rw-r--r--patches/gcc/4.4.7/130-cross-compile.patch39
-rw-r--r--patches/gcc/4.4.7/140-default-format-security.patch49
-rw-r--r--patches/gcc/4.4.7/150-default-fortify-source.patch26
-rw-r--r--patches/gcc/4.4.7/160-netbsd-symbolic.patch11
-rw-r--r--patches/gcc/4.4.7/170-sparc64-bsd.patch29
-rw-r--r--patches/gcc/4.4.7/180-libgomp-no-werror.patch12
-rw-r--r--patches/gcc/4.4.7/190-flatten-switch-stmt-00.patch24
-rw-r--r--patches/gcc/4.4.7/200-libiberty.h-asprintf.patch15
-rw-r--r--patches/gcc/4.4.7/210-arm-unbreak-armv4t.patch12
-rw-r--r--patches/gcc/4.4.7/220-libiberty-pic.patch11
-rw-r--r--patches/gcc/4.4.7/230-superh-default-multilib.patch12
-rw-r--r--patches/gcc/4.4.7/240-libstdc++-pic.patch53
-rw-r--r--patches/gcc/4.4.7/250-ia64-noteGNUstack.patch79
-rw-r--r--patches/gcc/4.4.7/260-sh-libgcc-stacks.patch25
-rw-r--r--patches/gcc/4.4.7/270-sh-pr24836.patch24
-rw-r--r--patches/gcc/4.4.7/280-freebsd.patch94
-rw-r--r--patches/gcc/4.4.7/290-freebsd.patch64
-rw-r--r--patches/gcc/4.4.7/300-uclibc-conf.patch35
-rw-r--r--patches/gcc/4.4.7/310-missing-execinfo_h.patch12
-rw-r--r--patches/gcc/4.4.7/320-c99-snprintf.patch12
-rw-r--r--patches/gcc/4.4.7/330-libmudflap-susv3-legacy.patch48
-rw-r--r--patches/gcc/4.4.7/340-ecjx-host-cc.patch13
-rw-r--r--patches/gcc/4.4.7/350-index_macro.patch30
-rw-r--r--patches/gcc/4.4.7/360-arm-bigendian.patch32
-rw-r--r--patches/gcc/4.4.7/370-bootstrap-target_lib_path.patch38
-rw-r--r--patches/gcc/4.4.7/380-powerpc-libgcc_s-link-libm.patch134
-rw-r--r--patches/gcc/4.4.7/390-arm-softfloat-libgcc.patch38
-rw-r--r--patches/gcc/4.4.7/400-pr42289-fix-libffi-build-on-arm-oabi.patch11
-rw-r--r--patches/gcc/4.4.7/410-libgcc_eh.a.patch39
-rw-r--r--patches/gcc/4.5.4/100-ecjx-host.patch13
-rw-r--r--patches/gcc/4.5.4/110-libgcc_eh.a.patch39
-rw-r--r--patches/gcc/4.6.4/100-libgcc_eh.a.patch39
-rw-r--r--patches/gcc/4.7.4/000-libitm-fix-definition-of-__m64.patch27
-rw-r--r--patches/gcc/4.7.4/100-fix-PR-target-58595.patch102
-rw-r--r--patches/gcc/4.7.4/100-hardfloat-ld.patch44
-rw-r--r--patches/ppl/0.10.2/100-fix-configure-with-gmp-5_0_1.patch28
-rw-r--r--patches/ppl/0.10.2/200-fix-build-with-local-gmp.patch26
-rw-r--r--patches/ppl/0.11.1/100-fix-java-test-vs-enabled-shared.patch28
-rw-r--r--patches/ppl/0.11.1/200-fix-build-with-local-gmp.patch24
-rw-r--r--patches/ppl/0.11.1/300-fix-data-dir.patch94
-rw-r--r--patches/ppl/0.11.2/100-fix-java-test-vs-enabled-shared.patch28
-rw-r--r--patches/ppl/0.11.2/200-fix-build-with-local-gmp.patch24
-rw-r--r--patches/ppl/0.11.2/300-fix-data-dir.patch94
-rw-r--r--patches/ppl/0.11.2/400-fix-build-with-gmp-5.1.patch52
-rw-r--r--patches/ppl/0.11.2/500-ptrdiff_t.patch95
-rw-r--r--patches/ppl/0.11/100-fix-java-test-vs-enabled-shared.patch28
-rw-r--r--patches/ppl/0.11/200-fix-build-with-local-gmp.patch24
-rw-r--r--patches/ppl/0.11/300-fix-data-dir.patch94
-rwxr-xr-xscripts/addToolVersion.sh4
-rw-r--r--scripts/build/cc/100-gcc.sh52
-rw-r--r--scripts/build/companion_libs/120-ppl.sh144
-rw-r--r--scripts/build/companion_libs/130-cloog.sh75
-rwxr-xr-xscripts/showSamples.sh8
127 files changed, 66 insertions, 8241 deletions
diff --git a/config/cc/gcc.in b/config/cc/gcc.in
index e67e435..4cf4628 100644
--- a/config/cc/gcc.in
+++ b/config/cc/gcc.in
@@ -64,60 +64,6 @@ config CC_GCC_V_4_8_5
prompt "4.8.5"
select CC_GCC_4_8
-config CC_GCC_V_linaro_4_7
- bool
- prompt "linaro-4.7-2014.06"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_4_7
-
-config CC_GCC_V_4_7_4
- bool
- prompt "4.7.4"
- select CC_GCC_4_7
-
-config CC_GCC_V_linaro_4_6
- bool
- prompt "linaro-4.6-2013.05"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_4_6
-
-config CC_GCC_V_4_6_4
- bool
- prompt "4.6.4"
- select CC_GCC_4_6
-
-config CC_GCC_V_linaro_4_5
- bool
- prompt "linaro-4.5-2012.03"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_4_5
-
-config CC_GCC_V_4_5_4
- bool
- prompt "4.5.4"
- select CC_GCC_4_5
-
-config CC_GCC_V_linaro_4_4
- bool
- prompt "linaro-4.4-2011.02-0"
- depends on CC_GCC_SHOW_LINARO
- select CC_GCC_4_4
-
-config CC_GCC_V_4_4_7
- bool
- prompt "4.4.7"
- select CC_GCC_4_4
-
-config CC_GCC_V_4_3_6
- bool
- prompt "4.3.6"
- select CC_GCC_4_3
-
-config CC_GCC_V_4_2_4
- bool
- prompt "4.2.4"
- select CC_GCC_4_2
-
endchoice
config CC_GCC_CUSTOM
@@ -140,79 +86,6 @@ config CC_GCC_CUSTOM_LOCATION
endif #CC_GCC_CUSTOM
-config CC_GCC_4_2
- bool
- select CC_GCC_4_2_or_later
-
-config CC_GCC_4_2_or_later
- bool
-
-config CC_GCC_4_3
- bool
- select CC_GCC_4_3_or_later
- select CC_GCC_USE_GMP_MPFR
- select CC_GCC_HAS_PKGVERSION_BUGURL
-
-config CC_GCC_4_3_or_later
- bool
- select CC_GCC_4_2_or_later
-
-config CC_GCC_4_4
- bool
- select CC_GCC_4_4_or_later
- select CC_GCC_USE_GMP_MPFR
- select CC_GCC_HAS_GRAPHITE
- select CC_GCC_HAS_PKGVERSION_BUGURL
-
-config CC_GCC_4_4_or_later
- bool
- select CC_GCC_4_3_or_later
-
-config CC_GCC_4_5
- bool
- select CC_GCC_4_5_or_later
- select CC_GCC_USE_GMP_MPFR
- select CC_GCC_USE_MPC
- select CC_GCC_HAS_GRAPHITE
- select CC_GCC_HAS_LTO
- select CC_GCC_HAS_PKGVERSION_BUGURL
- select CC_GCC_HAS_BUILD_ID
-
-config CC_GCC_4_5_or_later
- bool
- select CC_GCC_4_4_or_later
-
-config CC_GCC_4_6
- bool
- select CC_GCC_4_6_or_later
- select CC_GCC_USE_GMP_MPFR
- select CC_GCC_USE_MPC
- select CC_GCC_HAS_GRAPHITE
- select CC_GCC_HAS_LTO
- select CC_GCC_HAS_PKGVERSION_BUGURL
- select CC_GCC_HAS_BUILD_ID
- select CC_GCC_HAS_LIBQUADMATH
-
-config CC_GCC_4_6_or_later
- bool
- select CC_GCC_4_5_or_later
-
-config CC_GCC_4_7
- bool
- select CC_GCC_4_7_or_later
- select CC_GCC_USE_GMP_MPFR
- select CC_GCC_USE_MPC
- select CC_GCC_HAS_GRAPHITE
- select CC_GCC_HAS_LTO
- select CC_GCC_HAS_PKGVERSION_BUGURL
- select CC_GCC_HAS_BUILD_ID
- select CC_GCC_HAS_LNK_HASH_STYLE
- select CC_GCC_HAS_LIBQUADMATH
-
-config CC_GCC_4_7_or_later
- bool
- select CC_GCC_4_6_or_later
-
config CC_GCC_4_8
bool
select CC_GCC_4_8_or_later
@@ -229,7 +102,6 @@ config CC_GCC_4_8
config CC_GCC_4_8_or_later
bool
- select CC_GCC_4_7_or_later
config CC_GCC_4_9
bool
@@ -284,22 +156,24 @@ config CC_GCC_latest
config CC_GCC_HAS_GRAPHITE
bool
-# For graphite: gcc 4.4..4.7 need ppl, while 4.8.. need isl
+# For graphite: gcc needs cloog and isl
+# In >= gcc-5.x, cloog is no longer needed, but isl is.
# Prompt in config/cc/gcc.in.2
config CC_GCC_USE_GRAPHITE
bool
default y
depends on CC_GCC_HAS_GRAPHITE
select CLOOG_NEEDED if !CC_GCC_5_or_later
- select PPL_NEEDED if !CC_GCC_4_8_or_later
- select ISL_NEEDED if CC_GCC_4_8_or_later
+ select ISL_NEEDED
help
Enable the GRAPHITE loop optimsations.
- On some systems (eg. Cygwin), PPL and/or CLooG (required to enable
+ On some systems (eg. Cygwin), CLooG and ISL (required to enable
GRAPHITE) may not build properly (yet), so you'll have to say 'N'
here (or help debug the issues)
+ TODO: Is this still true on Cygwin?
+
# The way LTO works is a bit twisted.
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
# Basically:
@@ -316,7 +190,7 @@ config CC_GCC_USE_LTO
bool
default y
depends on CC_GCC_HAS_LTO
- select CC_GCC_USE_LIBELF if CC_GCC_4_5
+ select CC_GCC_USE_LIBELF
help
Enable the Link Time Optimisations.
@@ -372,22 +246,11 @@ config CC_GCC_VERSION
default "4.9.3" if CC_GCC_V_4_9_3
default "linaro-4.8-2015.06" if CC_GCC_V_linaro_4_8
default "4.8.5" if CC_GCC_V_4_8_5
- default "linaro-4.7-2014.06" if CC_GCC_V_linaro_4_7
- default "4.7.4" if CC_GCC_V_4_7_4
- default "linaro-4.6-2013.05" if CC_GCC_V_linaro_4_6
- default "4.6.4" if CC_GCC_V_4_6_4
- default "linaro-4.5-2012.03" if CC_GCC_V_linaro_4_5
- default "4.5.4" if CC_GCC_V_4_5_4
- default "linaro-4.4-2011.02-0" if CC_GCC_V_linaro_4_4
- default "4.4.7" if CC_GCC_V_4_4_7
- default "4.3.6" if CC_GCC_V_4_3_6
- default "4.2.4" if CC_GCC_V_4_2_4
config CC_LANG_JAVA_USE_ECJ
bool
default y
depends on CC_LANG_JAVA
- depends on CC_GCC_4_3_or_later
# Fortran always requires GMP+MPFR, whatever the gcc version
config CC_LANG_FORTRAN
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index 577bf42..b3bfecc 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -59,16 +59,16 @@ config CC_GCC_TARGET_FINAL
tricks are not done and the compiler is build with all/install.
config STATIC_TOOLCHAIN
- select CC_GCC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later
+ bool
+ select CC_GCC_STATIC_LIBSTDCXX
config CC_GCC_STATIC_LIBSTDCXX
bool
prompt "Link libstdc++ statically into the gcc binary"
default y
- depends on CC_GCC_4_4_or_later
select WANTS_STATIC_LINK
help
- Newer gcc versions use the PPL library which is C++ code. Statically
+ Newer gcc versions require some c++ libraries. So statically
linking libstdc++ increases the likeliness that the gcc binary will
run on machines other than the one which it was built on, without
having to worry about distributing the matching version of libstdc++
@@ -137,12 +137,15 @@ config CC_GCC_LIBMUDFLAP
config CC_GCC_LIBGOMP
bool
prompt "Compile libgomp"
+ depends on !THREADS_NONE
help
libgomp is "the GNU implementation of the OpenMP Application Programming
Interface (API) for multi-platform shared-memory parallel programming in
C/C++ and Fortran". See:
http://gcc.gnu.org/onlinedocs/libgomp/
-
+
+ GNU OpenMP support requires threading.
+
The default is 'N'. Say 'Y' if you need it, and report success/failure.
config CC_GCC_LIBSSP
@@ -229,7 +232,6 @@ config CC_GCC_LDBL_128
tristate
prompt "Enable 128-bit long doubles"
default m
- depends on CC_GCC_4_2_or_later
help
Saying 'Y' will force gcc to use 128-bit wide long doubles
Saying 'N' will force gcc to use 64-bit wide long doubles
diff --git a/config/companion_libs.in b/config/companion_libs.in
index 3567512..67094cb 100644
--- a/config/companion_libs.in
+++ b/config/companion_libs.in
@@ -28,11 +28,6 @@ config MPFR_NEEDED
select MPFR
select COMPLIBS_NEEDED
-config PPL_NEEDED
- bool
- select PPL
- select COMPLIBS_NEEDED
-
config ISL_NEEDED
bool
select ISL
@@ -83,11 +78,6 @@ config MPFR
select GMP
select COMPLIBS
-config PPL
- bool
- select GMP
- select COMPLIBS
-
config ISL
bool
select GMP
@@ -137,9 +127,6 @@ endif
if MPFR
source "config/companion_libs/mpfr.in"
endif
-if PPL
-source "config/companion_libs/ppl.in"
-endif
if ISL
source "config/companion_libs/isl.in"
endif
@@ -182,9 +169,7 @@ config COMPLIBS_CHECK
If you suspect that one (or more) of your companion libraries is the
cause for incorrectly generated code, you should answer 'Y' here.
- Note however that this will take a really long time. For example,
- building PPL on my machine takes roughly 1'40", while checking it takes
- about 1h40'...
+ Note however that this will take a really long time.
endif # COMPLIBS
diff --git a/config/companion_libs/cloog.in b/config/companion_libs/cloog.in
index 6fb522a..dcac30d 100644
--- a/config/companion_libs/cloog.in
+++ b/config/companion_libs/cloog.in
@@ -26,15 +26,6 @@ config CLOOG_V_0_18_0
endif # ISL
-if PPL
-
-config CLOOG_V_0_15_11
- bool
- prompt "0.15.11"
- select CLOOG_NEEDS_AUTORECONF
-
-endif # PPL
-
endchoice
config CLOOG_VERSION
@@ -44,7 +35,6 @@ config CLOOG_VERSION
default "0.18.4" if CLOOG_V_0_18_4
default "0.18.1" if CLOOG_V_0_18_1
default "0.18.0" if CLOOG_V_0_18_0
- default "0.15.11" if CLOOG_V_0_15_11
config CLOOG_0_18_4_or_later
bool
diff --git a/config/companion_libs/ppl.in b/config/companion_libs/ppl.in
deleted file mode 100644
index 1861e7a..0000000
--- a/config/companion_libs/ppl.in
+++ /dev/null
@@ -1,51 +0,0 @@
-# PPL options
-
-choice
- bool
- prompt "PPL version"
-# Don't remove next line
-# CT_INSERT_VERSION_BELOW
-
-config PPL_V_0_11_2
- bool
- prompt "0.11.2"
- select PPL_0_11
-
-config PPL_V_0_11_1
- bool
- prompt "0.11.1"
- select PPL_0_11
-
-config PPL_V_0_11
- bool
- prompt "0.11"
- select PPL_0_11
-
-config PPL_V_0_10_2
- bool
- prompt "0.10.2"
- select PPL_NEEDS_FPERMISSIVE
-
-endchoice
-
-config PPL_VERSION
- string
-# Don't remove next line
-# CT_INSERT_VERSION_STRING_BELOW
- default "0.11.2" if PPL_V_0_11_2
- default "0.11.1" if PPL_V_0_11_1
- default "0.11" if PPL_V_0_11
- default "0.10.2" if PPL_V_0_10_2
-
-# For PPL 0.10, we need -fpermissive to build on gcc 4.7+
-# (even gcc-4.6+ ?)
-config PPL_NEEDS_FPERMISSIVE
- bool
-
-# For PPL 0.11, we need to pull libpwl if configured static
-config PPL_0_11
- bool
- select PPL_NEEDS_LIBPWL if ! COMPLIBS_SHARED
-
-config PPL_NEEDS_LIBPWL
- bool
diff --git a/config/global/paths.in b/config/global/paths.in
index f3059b9..96319fa 100644
--- a/config/global/paths.in
+++ b/config/global/paths.in
@@ -130,7 +130,6 @@ config STRIP_HOST_TOOLCHAIN_EXECUTABLES
config STRIP_TARGET_TOOLCHAIN_EXECUTABLES
bool
prompt "Strip target toolchain executables"
- depends on CC_GCC_4_6_or_later
help
It means using install-strip target for GCC 4.6 or later.
An install-strip make target is provided that installs stripped
diff --git a/config/libc/glibc.in b/config/libc/glibc.in
index 71df501..c2ba7b9 100644
--- a/config/libc/glibc.in
+++ b/config/libc/glibc.in
@@ -38,12 +38,12 @@ choice
config LIBC_GLIBC_V_2_22
bool
prompt "2.22"
- select LIBC_GLIBC_2_21_or_later
+ select LIBC_GLIBC_2_20_or_later
config LIBC_GLIBC_V_2_21
bool
prompt "2.21"
- select LIBC_GLIBC_2_21_or_later
+ select LIBC_GLIBC_2_20_or_later
config LIBC_GLIBC_LINARO_V_2_20
bool
@@ -141,12 +141,6 @@ config LIBC_GLIBC_CUSTOM
endchoice
-# glibc 2.21 depends on gcc >= 4.6
-config LIBC_GLIBC_2_21_or_later
- bool
- depends on CC_GCC_4_6_or_later
- select LIBC_GLIBC_2_20_or_later
-
config LIBC_GLIBC_2_20_or_later
bool
select LIBC_GLIBC_2_17_or_later
diff --git a/docs/4 - Building the toolchain.txt b/docs/4 - Building the toolchain.txt
index be96afe..3b2826e 100644
--- a/docs/4 - Building the toolchain.txt
+++ b/docs/4 - Building the toolchain.txt
@@ -94,7 +94,10 @@ Unfortunately, not all systems on which crosstool-NG runs have all of those
libraries. And for those that do, the versions of those libraries may be
older than the version required by gcc (and binutils and gdb). To date,
Debian stable (aka Lenny) is lagging behind on some, and is missing the
-others.
+others. With >= gcc-4.8, we drop PPL and CLooG/PPL, and switch to ISL to
+replace PPL, and use the upstream version of CLooG instead of CLooG/PPL
+which was a fork of CLooG that provided PPL backend support, that was under-
+maintained. See: https://gcc.gnu.org/wiki/Graphite-4.8
This is why crosstool-NG builds its own set of libraries as part of the
toolchain.
diff --git a/docs/7 - Contributing to crosstool-NG.txt b/docs/7 - Contributing to crosstool-NG.txt
index a103554..5e363a1 100644
--- a/docs/7 - Contributing to crosstool-NG.txt
+++ b/docs/7 - Contributing to crosstool-NG.txt
@@ -35,7 +35,7 @@ Here is the (mostly-complete) list of categories and components:
libc | uClibc, glibc, newlib, mingw, none
kernel | linux, mingw32, bare-metal
debug | dmalloc, duma, gdb, ltrace, strace
- complibs | gmp, mpfr, ppl, cloog, mpc, libelf
+ complibs | gmp, mpfr, isl, cloog, mpc, libelf
comptools | make, m4, autoconf, automake, libtool
------------+-------------------------------------------------------
| The following categories have no component-part:
diff --git a/docs/9 - How is a toolchain constructed.txt b/docs/9 - How is a toolchain constructed.txt
index a358b9e..f8e3292 100644
--- a/docs/9 - How is a toolchain constructed.txt
+++ b/docs/9 - How is a toolchain constructed.txt
@@ -199,16 +199,16 @@ loop optimisation (GRAPHITE) and Link Time Optimisation (LTO). If you want
to use these, you'll need three additional libraries:
To enable GRAPHITE:
- - the Parma Polyhedra Library, PPL
- - the Chunky Loop Generator, using the PPL backend, CLooG/PPL
+ - the Interger Set Library, ISL
+ - the Chunky Loop Generator, CLooG
To enable LTO:
- the ELF object file access library, libelf
The dependencies for those libraries are:
- - PPL requires GMP
- - CLooG/PPL requires GMP and PPL
+ - ISL requires GMP
+ - CLooG requires GMP and ISL
- libelf has no pre-requisites
The list now looks like (optional libs with a *):
@@ -216,8 +216,8 @@ The list now looks like (optional libs with a *):
1 GMP
2 MPFR
3 MPC
- 4 PPL *
- 5 CLooG/PPL *
+ 4 ISL *
+ 5 CLooG *
6 libelf *
7 binutils
8 core pass 1 compiler
diff --git a/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch
deleted file mode 100644
index 2e97b5a..0000000
--- a/patches/cloog-ppl/0.15.10/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.10-a/configure cloog-ppl-0.15.10-b/configure
---- cloog-ppl-0.15.10-a/configure 2010-08-27 21:14:33.000000000 +0200
-+++ cloog-ppl-0.15.10-b/configure 2012-01-27 13:28:49.262987773 +0100
-@@ -11168,7 +11168,7 @@
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- $as_echo "#define CLOOG_PPL_BACKEND 1" >>confdefs.h
-
-diff -Naurd cloog-ppl-0.15.10-a/configure.in cloog-ppl-0.15.10-b/configure.in
---- cloog-ppl-0.15.10-a/configure.in 2010-08-27 21:13:48.000000000 +0200
-+++ cloog-ppl-0.15.10-b/configure.in 2012-01-27 13:28:49.262987773 +0100
-@@ -343,7 +343,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch
deleted file mode 100644
index 21f7213..0000000
--- a/patches/cloog-ppl/0.15.11/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.11-a/configure cloog-ppl-0.15.11-b/configure
---- cloog-ppl-0.15.11-a/configure 2011-04-01 06:22:53.000000000 +0200
-+++ cloog-ppl-0.15.11-b/configure 2012-01-27 13:29:42.698987517 +0100
-@@ -11238,7 +11238,7 @@
- fi
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- $as_echo "#define CLOOG_PPL_BACKEND 1" >>confdefs.h
-
-diff -Naurd cloog-ppl-0.15.11-a/configure.in cloog-ppl-0.15.11-b/configure.in
---- cloog-ppl-0.15.11-a/configure.in 2010-08-27 21:13:48.000000000 +0200
-+++ cloog-ppl-0.15.11-b/configure.in 2012-01-27 13:29:42.698987517 +0100
-@@ -343,7 +343,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch
deleted file mode 100644
index 6364292..0000000
--- a/patches/cloog-ppl/0.15.6/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.6-a/configure cloog-ppl-0.15.6-b/configure
---- cloog-ppl-0.15.6-a/configure 2009-08-10 23:18:07.000000000 +0200
-+++ cloog-ppl-0.15.6-b/configure 2012-01-27 13:25:08.858988857 +0100
-@@ -12917,7 +12917,7 @@
-
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- cat >>confdefs.h <<\_ACEOF
- #define CLOOG_PPL_BACKEND 1
-diff -Naurd cloog-ppl-0.15.6-a/configure.in cloog-ppl-0.15.6-b/configure.in
---- cloog-ppl-0.15.6-a/configure.in 2009-08-10 23:18:07.000000000 +0200
-+++ cloog-ppl-0.15.6-b/configure.in 2012-01-27 13:25:08.862988846 +0100
-@@ -354,7 +354,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch
deleted file mode 100644
index cc37b7d..0000000
--- a/patches/cloog-ppl/0.15.7/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.7-a/configure cloog-ppl-0.15.7-b/configure
---- cloog-ppl-0.15.7-a/configure 2009-08-12 03:33:31.000000000 +0200
-+++ cloog-ppl-0.15.7-b/configure 2012-01-27 13:26:13.970988501 +0100
-@@ -12902,7 +12902,7 @@
-
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- cat >>confdefs.h <<\_ACEOF
- #define CLOOG_PPL_BACKEND 1
-diff -Naurd cloog-ppl-0.15.7-a/configure.in cloog-ppl-0.15.7-b/configure.in
---- cloog-ppl-0.15.7-a/configure.in 2009-08-12 03:33:31.000000000 +0200
-+++ cloog-ppl-0.15.7-b/configure.in 2012-01-27 13:26:13.970988501 +0100
-@@ -345,7 +345,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch
deleted file mode 100644
index 4a44bae..0000000
--- a/patches/cloog-ppl/0.15.8/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.8-a/configure cloog-ppl-0.15.8-b/configure
---- cloog-ppl-0.15.8-a/configure 2010-02-11 19:05:30.000000000 +0100
-+++ cloog-ppl-0.15.8-b/configure 2012-01-27 13:27:09.710988253 +0100
-@@ -12902,7 +12902,7 @@
-
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- cat >>confdefs.h <<\_ACEOF
- #define CLOOG_PPL_BACKEND 1
-diff -Naurd cloog-ppl-0.15.8-a/configure.in cloog-ppl-0.15.8-b/configure.in
---- cloog-ppl-0.15.8-a/configure.in 2010-02-11 19:05:31.000000000 +0100
-+++ cloog-ppl-0.15.8-b/configure.in 2012-01-27 13:27:09.710988253 +0100
-@@ -345,7 +345,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch b/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch
deleted file mode 100644
index 94c4c8b..0000000
--- a/patches/cloog-ppl/0.15.9/100-add_on_libs_position.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -Naurd cloog-ppl-0.15.9-a/configure cloog-ppl-0.15.9-b/configure
---- cloog-ppl-0.15.9-a/configure 2010-03-23 22:29:47.000000000 +0100
-+++ cloog-ppl-0.15.9-b/configure 2012-01-27 13:28:03.866987993 +0100
-@@ -12902,7 +12902,7 @@
-
- rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
-
- cat >>confdefs.h <<\_ACEOF
- #define CLOOG_PPL_BACKEND 1
-diff -Naurd cloog-ppl-0.15.9-a/configure.in cloog-ppl-0.15.9-b/configure.in
---- cloog-ppl-0.15.9-a/configure.in 2010-03-23 22:29:47.000000000 +0100
-+++ cloog-ppl-0.15.9-b/configure.in 2012-01-27 13:28:03.866987993 +0100
-@@ -345,7 +345,7 @@
- #endif
- ], [AC_MSG_RESULT([yes])], [AC_MSG_ERROR(Can't find correct version of PPL.) ])
-
-- LIBS="$LIBS -lppl_c -lppl -lgmpxx"
-+ LIBS="-lppl_c -lppl -lgmpxx $LIBS"
- AC_DEFINE([CLOOG_PPL_BACKEND], 1, [Use the PPL backend])
-
- else
diff --git a/patches/gcc/4.2.4/100-uclibc-conf.patch b/patches/gcc/4.2.4/100-uclibc-conf.patch
deleted file mode 100644
index 7261dae..0000000
--- a/patches/gcc/4.2.4/100-uclibc-conf.patch
+++ /dev/null
@@ -1,216 +0,0 @@
-diff -durN gcc-4.2.1.orig/boehm-gc/configure gcc-4.2.1/boehm-gc/configure
---- gcc-4.2.1.orig/boehm-gc/configure 2007-07-19 16:33:56.000000000 +0200
-+++ gcc-4.2.1/boehm-gc/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -4323,7 +4323,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/contrib/regression/objs-gcc.sh gcc-4.2.1/contrib/regression/objs-gcc.sh
---- gcc-4.2.1.orig/contrib/regression/objs-gcc.sh 2005-08-15 02:41:31.000000000 +0200
-+++ gcc-4.2.1/contrib/regression/objs-gcc.sh 2007-08-03 20:29:22.000000000 +0200
-@@ -105,6 +105,10 @@
- then
- make all-gdb all-dejagnu all-ld || exit 1
- make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+ make all-gdb all-dejagnu all-ld || exit 1
-+ make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
- make bootstrap || exit 1
- make install || exit 1
-diff -durN gcc-4.2.1.orig/gcc/config/cris/linux.h gcc-4.2.1/gcc/config/cris/linux.h
---- gcc-4.2.1.orig/gcc/config/cris/linux.h 2006-02-18 12:12:51.000000000 +0100
-+++ gcc-4.2.1/gcc/config/cris/linux.h 2007-08-03 20:29:22.000000000 +0200
-@@ -74,7 +74,11 @@
- #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
-
- #undef CRIS_SUBTARGET_VERSION
--#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-+#if UCLIBC_DEFAULT
-+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
-+#else
-+# define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
-+#endif
-
- #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
-
-diff -durN gcc-4.2.1.orig/libffi/configure gcc-4.2.1/libffi/configure
---- gcc-4.2.1.orig/libffi/configure 2007-07-19 16:33:56.000000000 +0200
-+++ gcc-4.2.1/libffi/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -3460,7 +3460,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libgfortran/configure gcc-4.2.1/libgfortran/configure
---- gcc-4.2.1.orig/libgfortran/configure 2007-07-19 16:33:56.000000000 +0200
-+++ gcc-4.2.1/libgfortran/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -3721,7 +3721,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libgomp/configure gcc-4.2.1/libgomp/configure
---- gcc-4.2.1.orig/libgomp/configure 2007-07-19 16:33:56.000000000 +0200
-+++ gcc-4.2.1/libgomp/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -3893,7 +3893,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libjava/classpath/configure gcc-4.2.1/libjava/classpath/configure
---- gcc-4.2.1.orig/libjava/classpath/configure 2007-01-17 19:10:26.000000000 +0100
-+++ gcc-4.2.1/libjava/classpath/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -5307,7 +5307,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libjava/classpath/ltconfig gcc-4.2.1/libjava/classpath/ltconfig
---- gcc-4.2.1.orig/libjava/classpath/ltconfig 2006-08-07 22:37:50.000000000 +0200
-+++ gcc-4.2.1/libjava/classpath/ltconfig 2007-08-03 20:29:22.000000000 +0200
-@@ -603,7 +603,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
--linux-gnu*) ;;
-+linux-gnu*|linux-uclibc*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-
-@@ -1251,7 +1251,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
-diff -durN gcc-4.2.1.orig/libjava/configure gcc-4.2.1/libjava/configure
---- gcc-4.2.1.orig/libjava/configure 2007-07-19 16:33:56.000000000 +0200
-+++ gcc-4.2.1/libjava/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -5424,7 +5424,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libmudflap/configure gcc-4.2.1/libmudflap/configure
---- gcc-4.2.1.orig/libmudflap/configure 2006-12-04 12:13:07.000000000 +0100
-+++ gcc-4.2.1/libmudflap/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -5394,7 +5394,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libobjc/configure gcc-4.2.1/libobjc/configure
---- gcc-4.2.1.orig/libobjc/configure 2006-10-15 09:42:57.000000000 +0200
-+++ gcc-4.2.1/libobjc/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -3314,7 +3314,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libssp/configure gcc-4.2.1/libssp/configure
---- gcc-4.2.1.orig/libssp/configure 2006-10-15 09:42:57.000000000 +0200
-+++ gcc-4.2.1/libssp/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -4480,7 +4480,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libstdc++-v3/configure gcc-4.2.1/libstdc++-v3/configure
---- gcc-4.2.1.orig/libstdc++-v3/configure 2007-06-29 01:02:05.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -4283,7 +4283,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/libtool.m4 gcc-4.2.1/libtool.m4
---- gcc-4.2.1.orig/libtool.m4 2005-07-16 04:30:53.000000000 +0200
-+++ gcc-4.2.1/libtool.m4 2007-08-03 20:29:22.000000000 +0200
-@@ -739,7 +739,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-diff -durN gcc-4.2.1.orig/ltconfig gcc-4.2.1/ltconfig
---- gcc-4.2.1.orig/ltconfig 2007-02-14 18:08:35.000000000 +0100
-+++ gcc-4.2.1/ltconfig 2007-08-03 20:29:22.000000000 +0200
-@@ -603,7 +603,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
--linux-gnu*) ;;
-+linux-gnu*|linux-uclibc*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-
-@@ -1251,7 +1251,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
-diff -durN gcc-4.2.1.orig/zlib/configure gcc-4.2.1/zlib/configure
---- gcc-4.2.1.orig/zlib/configure 2007-01-17 19:10:26.000000000 +0100
-+++ gcc-4.2.1/zlib/configure 2007-08-03 20:29:22.000000000 +0200
-@@ -3429,7 +3429,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
diff --git a/patches/gcc/4.2.4/110-uclibc-conf-noupstream.patch b/patches/gcc/4.2.4/110-uclibc-conf-noupstream.patch
deleted file mode 100644
index 1c239d6..0000000
--- a/patches/gcc/4.2.4/110-uclibc-conf-noupstream.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.2.1.orig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc
---- gcc-4.2.1.orig/gcc/config.gcc 2007-02-03 06:25:20.000000000 +0100
-+++ gcc-4.2.1/gcc/config.gcc 2007-08-03 20:29:52.000000000 +0200
-@@ -1964,7 +1964,7 @@
- ;;
- sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
-- sh-*-linux* | sh[346lbe]*-*-linux* | \
-+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
- sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
- sh64-*-netbsd* | sh64l*-*-netbsd*)
- tmake_file="${tmake_file} sh/t-sh sh/t-elf"
diff --git a/patches/gcc/4.2.4/120-uclibc-locale.patch b/patches/gcc/4.2.4/120-uclibc-locale.patch
deleted file mode 100644
index 298c505..0000000
--- a/patches/gcc/4.2.4/120-uclibc-locale.patch
+++ /dev/null
@@ -1,2806 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/acinclude.m4 gcc-4.2.1/libstdc++-v3/acinclude.m4
---- gcc-4.2.1.orig/libstdc++-v3/acinclude.m4 2007-06-29 01:02:05.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/acinclude.m4 2007-08-03 20:30:21.000000000 +0200
-@@ -1334,7 +1334,7 @@
- AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [
- GLIBCXX_ENABLE(clocale,auto,[@<:@=MODEL@:>@],
- [use MODEL for target locale package],
-- [permit generic|gnu|ieee_1003.1-2001|yes|no|auto])
-+ [permit generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto])
-
- # Deal with gettext issues. Default to not using it (=no) until we detect
- # support for it later. Let the user turn it off via --e/d, but let that
-@@ -1355,6 +1355,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ *-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_clocale_flag=gnu
- ;;
-@@ -1526,6 +1529,40 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ AC_MSG_RESULT(uclibc)
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ AC_CHECK_PROG(check_msgfmt, msgfmt, yes, no)
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+ AC_SUBST(glibcxx_MOFILES)
-+ AC_SUBST(glibcxx_POFILES)
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,160 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <cerrno> // For errno
-+#include <locale>
-+#include <stdexcept>
-+#include <langinfo.h>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
-+#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
-+#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
-+#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
-+#define __strtof_l(S, E, L) strtof((S), (E))
-+#define __strtod_l(S, E, L) strtod((S), (E))
-+#define __strtold_l(S, E, L) strtold((S), (E))
-+#warning should dummy __newlocale check for C|POSIX ?
-+#define __newlocale(a, b, c) NULL
-+#define __freelocale(a) ((void)0)
-+#define __duplocale(a) __c_locale()
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ template<>
-+ void
-+ __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
-+ const __c_locale& __cloc)
-+ {
-+ if (!(__err & ios_base::failbit))
-+ {
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
-+ }
-+ }
-+
-+ void
-+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* __s,
-+ __c_locale __old)
-+ {
-+ __cloc = __newlocale(1 << LC_ALL, __s, __old);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ if (!__cloc)
-+ {
-+ // This named locale is not supported by the underlying OS.
-+ __throw_runtime_error(__N("locale::facet::_S_create_c_locale "
-+ "name not valid"));
-+ }
-+#endif
-+ }
-+
-+ void
-+ locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
-+ {
-+ if (_S_get_c_locale() != __cloc)
-+ __freelocale(__cloc);
-+ }
-+
-+ __c_locale
-+ locale::facet::_S_clone_c_locale(__c_locale& __cloc)
-+ { return __duplocale(__cloc); }
-+} // namespace std
-+
-+namespace __gnu_cxx
-+{
-+ const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =
-+ {
-+ "LC_CTYPE",
-+ "LC_NUMERIC",
-+ "LC_TIME",
-+ "LC_COLLATE",
-+ "LC_MONETARY",
-+ "LC_MESSAGES",
-+#if _GLIBCXX_NUM_CATEGORIES != 0
-+ "LC_PAPER",
-+ "LC_NAME",
-+ "LC_ADDRESS",
-+ "LC_TELEPHONE",
-+ "LC_MEASUREMENT",
-+ "LC_IDENTIFICATION"
-+#endif
-+ };
-+}
-+
-+namespace std
-+{
-+ const char* const* const locale::_S_categories = __gnu_cxx::category_names;
-+} // namespace std
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,117 @@
-+// Wrapper for underlying C-language localization -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.8 Standard locale categories.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifndef _C_LOCALE_H
-+#define _C_LOCALE_H 1
-+
-+#pragma GCC system_header
-+
-+#include <cstring> // get std::strlen
-+#include <cstdio> // get std::snprintf or std::sprintf
-+#include <clocale>
-+#include <langinfo.h> // For codecvt
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this
-+#endif
-+#ifdef __UCLIBC_HAS_LOCALE__
-+#include <iconv.h> // For codecvt using iconv, iconv_t
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#include <libintl.h> // For messages
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning what is _GLIBCXX_C_LOCALE_GNU for
-+#endif
-+#define _GLIBCXX_C_LOCALE_GNU 1
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix categories
-+#endif
-+// #define _GLIBCXX_NUM_CATEGORIES 6
-+#define _GLIBCXX_NUM_CATEGORIES 0
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+namespace __gnu_cxx
-+{
-+ extern "C" __typeof(uselocale) __uselocale;
-+}
-+#endif
-+
-+namespace std
-+{
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ typedef __locale_t __c_locale;
-+#else
-+ typedef int* __c_locale;
-+#endif
-+
-+ // Convert numeric value of type _Tv to string and return length of
-+ // string. If snprintf is available use it, otherwise fall back to
-+ // the unsafe sprintf which, in general, can be dangerous and should
-+ // be avoided.
-+ template<typename _Tv>
-+ int
-+ __convert_from_v(char* __out,
-+ const int __size __attribute__ ((__unused__)),
-+ const char* __fmt,
-+#ifdef __UCLIBC_HAS_XCLOCALE__
-+ _Tv __v, const __c_locale& __cloc, int __prec)
-+ {
-+ __c_locale __old = __gnu_cxx::__uselocale(__cloc);
-+#else
-+ _Tv __v, const __c_locale&, int __prec)
-+ {
-+# ifdef __UCLIBC_HAS_LOCALE__
-+ char* __old = std::setlocale(LC_ALL, NULL);
-+ char* __sav = new char[std::strlen(__old) + 1];
-+ std::strcpy(__sav, __old);
-+ std::setlocale(LC_ALL, "C");
-+# endif
-+#endif
-+
-+ const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+
-+#ifdef __UCLIBC_HAS_XCLOCALE__
-+ __gnu_cxx::__uselocale(__old);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ std::setlocale(LC_ALL, __sav);
-+ delete [] __sav;
-+#endif
-+ return __ret;
-+ }
-+}
-+
-+#endif
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,63 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <bits/c++config.h>
-+#include <clocale>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning clean this up
-+#endif
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+#endif
-+
-+#endif // GLIBC 2.3 and later
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/codecvt_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/codecvt_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/codecvt_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,306 @@
-+// std::codecvt implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.5 - Template class codecvt
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+namespace std
-+{
-+ // Specializations.
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_out(state_type& __state, const intern_type* __from,
-+ const intern_type* __from_end, const intern_type*& __from_next,
-+ extern_type* __to, extern_type* __to_end,
-+ extern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // wcsnrtombs is *very* fast but stops if encounters NUL characters:
-+ // in case we fall back to wcrtomb and then continue, in a loop.
-+ // NB: wcsnrtombs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const intern_type* __from_chunk_end = wmemchr(__from_next, L'\0',
-+ __from_end - __from_next);
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ const size_t __conv = wcsnrtombs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // wcrtomb.
-+ for (; __from < __from_next; ++__from)
-+ __to_next += wcrtomb(__to_next, *__from, &__tmp_state);
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ extern_type __buf[MB_LEN_MAX];
-+ __tmp_state = __state;
-+ const size_t __conv = wcrtomb(__buf, *__from_next, &__tmp_state);
-+ if (__conv > static_cast<size_t>(__to_end - __to_next))
-+ __ret = partial;
-+ else
-+ {
-+ memcpy(__to_next, __buf, __conv);
-+ __state = __tmp_state;
-+ __to_next += __conv;
-+ ++__from_next;
-+ }
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ codecvt_base::result
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_in(state_type& __state, const extern_type* __from,
-+ const extern_type* __from_end, const extern_type*& __from_next,
-+ intern_type* __to, intern_type* __to_end,
-+ intern_type*& __to_next) const
-+ {
-+ result __ret = ok;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we store a L'\0' and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+ for (__from_next = __from, __to_next = __to;
-+ __from_next < __from_end && __to_next < __to_end
-+ && __ret == ok;)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from_next, '\0',
-+ __from_end
-+ - __from_next));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __from_end;
-+
-+ __from = __from_next;
-+ size_t __conv = mbsnrtowcs(__to_next, &__from_next,
-+ __from_chunk_end - __from_next,
-+ __to_end - __to_next, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (;; ++__to_next, __from += __conv)
-+ {
-+ __conv = mbrtowc(__to_next, __from, __from_end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __from_next = __from;
-+ __state = __tmp_state;
-+ __ret = error;
-+ }
-+ else if (__from_next && __from_next < __from_chunk_end)
-+ {
-+ // It is unclear what to return in this case (see DR 382).
-+ __to_next += __conv;
-+ __ret = partial;
-+ }
-+ else
-+ {
-+ __from_next = __from_chunk_end;
-+ __to_next += __conv;
-+ }
-+
-+ if (__from_next < __from_end && __ret == ok)
-+ {
-+ if (__to_next < __to_end)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from_next;
-+ *__to_next++ = L'\0';
-+ }
-+ else
-+ __ret = partial;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_encoding() const throw()
-+ {
-+ // XXX This implementation assumes that the encoding is
-+ // stateless and is either single-byte or variable-width.
-+ int __ret = 0;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ if (MB_CUR_MAX == 1)
-+ __ret = 1;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_max_length() const throw()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+ // XXX Probably wrong for stateful encodings.
-+ int __ret = MB_CUR_MAX;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __ret;
-+ }
-+
-+ int
-+ codecvt<wchar_t, char, mbstate_t>::
-+ do_length(state_type& __state, const extern_type* __from,
-+ const extern_type* __end, size_t __max) const
-+ {
-+ int __ret = 0;
-+ state_type __tmp_state(__state);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_codecvt);
-+#endif
-+
-+ // mbsnrtowcs is *very* fast but stops if encounters NUL characters:
-+ // in case we advance past it and then continue, in a loop.
-+ // NB: mbsnrtowcs is a GNU extension
-+
-+ // A dummy internal buffer is needed in order for mbsnrtocws to consider
-+ // its fourth parameter (it wouldn't with NULL as first parameter).
-+ wchar_t* __to = static_cast<wchar_t*>(__builtin_alloca(sizeof(wchar_t)
-+ * __max));
-+ while (__from < __end && __max)
-+ {
-+ const extern_type* __from_chunk_end;
-+ __from_chunk_end = static_cast<const extern_type*>(memchr(__from, '\0',
-+ __end
-+ - __from));
-+ if (!__from_chunk_end)
-+ __from_chunk_end = __end;
-+
-+ const extern_type* __tmp_from = __from;
-+ size_t __conv = mbsnrtowcs(__to, &__from,
-+ __from_chunk_end - __from,
-+ __max, &__state);
-+ if (__conv == static_cast<size_t>(-1))
-+ {
-+ // In case of error, in order to stop at the exact place we
-+ // have to start again from the beginning with a series of
-+ // mbrtowc.
-+ for (__from = __tmp_from;; __from += __conv)
-+ {
-+ __conv = mbrtowc(NULL, __from, __end - __from,
-+ &__tmp_state);
-+ if (__conv == static_cast<size_t>(-1)
-+ || __conv == static_cast<size_t>(-2))
-+ break;
-+ }
-+ __state = __tmp_state;
-+ __ret += __from - __tmp_from;
-+ break;
-+ }
-+ if (!__from)
-+ __from = __from_chunk_end;
-+
-+ __ret += __from - __tmp_from;
-+ __max -= __conv;
-+
-+ if (__from < __end && __max)
-+ {
-+ // XXX Probably wrong for stateful encodings
-+ __tmp_state = __state;
-+ ++__from;
-+ ++__ret;
-+ --__max;
-+ }
-+ }
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+
-+ return __ret;
-+ }
-+#endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/collate_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,80 @@
-+// std::collate implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.4.1.2 collate virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+#endif
-+
-+namespace std
-+{
-+ // These are basically extensions to char_traits, and perhaps should
-+ // be put there instead of here.
-+ template<>
-+ int
-+ collate<char>::_M_compare(const char* __one, const char* __two) const
-+ {
-+ int __cmp = __strcoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<char>::_M_transform(char* __to, const char* __from,
-+ size_t __n) const
-+ { return __strxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ int
-+ collate<wchar_t>::_M_compare(const wchar_t* __one,
-+ const wchar_t* __two) const
-+ {
-+ int __cmp = __wcscoll_l(__one, __two, _M_c_locale_collate);
-+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp != 0);
-+ }
-+
-+ template<>
-+ size_t
-+ collate<wchar_t>::_M_transform(wchar_t* __to, const wchar_t* __from,
-+ size_t __n) const
-+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); }
-+#endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,300 @@
-+// std::ctype implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.1.1.2 ctype virtual functions.
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __wctype_l(S, L) wctype((S))
-+#define __towupper_l(C, L) towupper((C))
-+#define __towlower_l(C, L) towlower((C))
-+#define __iswctype_l(C, M, L) iswctype((C), (M))
-+#endif
-+
-+namespace std
-+{
-+ // NB: The other ctype<char> specializations are in src/locale.cc and
-+ // various /config/os/* files.
-+ template<>
-+ ctype_byname<char>::ctype_byname(const char* __s, size_t __refs)
-+ : ctype<char>(0, false, __refs)
-+ {
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_ctype);
-+ this->_S_create_c_locale(this->_M_c_locale_ctype, __s);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ this->_M_toupper = this->_M_c_locale_ctype->__ctype_toupper;
-+ this->_M_tolower = this->_M_c_locale_ctype->__ctype_tolower;
-+ this->_M_table = this->_M_c_locale_ctype->__ctype_b;
-+#endif
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ ctype<wchar_t>::__wmask_type
-+ ctype<wchar_t>::_M_convert_to_wmask(const mask __m) const
-+ {
-+ __wmask_type __ret;
-+ switch (__m)
-+ {
-+ case space:
-+ __ret = __wctype_l("space", _M_c_locale_ctype);
-+ break;
-+ case print:
-+ __ret = __wctype_l("print", _M_c_locale_ctype);
-+ break;
-+ case cntrl:
-+ __ret = __wctype_l("cntrl", _M_c_locale_ctype);
-+ break;
-+ case upper:
-+ __ret = __wctype_l("upper", _M_c_locale_ctype);
-+ break;
-+ case lower:
-+ __ret = __wctype_l("lower", _M_c_locale_ctype);
-+ break;
-+ case alpha:
-+ __ret = __wctype_l("alpha", _M_c_locale_ctype);
-+ break;
-+ case digit:
-+ __ret = __wctype_l("digit", _M_c_locale_ctype);
-+ break;
-+ case punct:
-+ __ret = __wctype_l("punct", _M_c_locale_ctype);
-+ break;
-+ case xdigit:
-+ __ret = __wctype_l("xdigit", _M_c_locale_ctype);
-+ break;
-+ case alnum:
-+ __ret = __wctype_l("alnum", _M_c_locale_ctype);
-+ break;
-+ case graph:
-+ __ret = __wctype_l("graph", _M_c_locale_ctype);
-+ break;
-+ default:
-+ __ret = __wmask_type();
-+ }
-+ return __ret;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_toupper(wchar_t __c) const
-+ { return __towupper_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_toupper(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towupper_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::do_tolower(wchar_t __c) const
-+ { return __towlower_l(__c, _M_c_locale_ctype); }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::do_tolower(wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__lo = __towlower_l(*__lo, _M_c_locale_ctype);
-+ ++__lo;
-+ }
-+ return __hi;
-+ }
-+
-+ bool
-+ ctype<wchar_t>::
-+ do_is(mask __m, wchar_t __c) const
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ bool __ret = false;
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur]
-+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ return __ret;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-+ {
-+ for (; __lo < __hi; ++__vec, ++__lo)
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ mask __m = 0;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ __m |= _M_bit[__bitcur];
-+ *__vec = __m;
-+ }
-+ return __hi;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const
-+ {
-+ while (__lo < __hi && !this->do_is(__m, *__lo))
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
-+ {
-+ while (__lo < __hi && this->do_is(__m, *__lo) != 0)
-+ ++__lo;
-+ return __lo;
-+ }
-+
-+ wchar_t
-+ ctype<wchar_t>::
-+ do_widen(char __c) const
-+ { return _M_widen[static_cast<unsigned char>(__c)]; }
-+
-+ const char*
-+ ctype<wchar_t>::
-+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-+ {
-+ while (__lo < __hi)
-+ {
-+ *__dest = _M_widen[static_cast<unsigned char>(*__lo)];
-+ ++__lo;
-+ ++__dest;
-+ }
-+ return __hi;
-+ }
-+
-+ char
-+ ctype<wchar_t>::
-+ do_narrow(wchar_t __wc, char __dfault) const
-+ {
-+ if (__wc >= 0 && __wc < 128 && _M_narrow_ok)
-+ return _M_narrow[__wc];
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ const int __c = wctob(__wc);
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+
-+ const wchar_t*
-+ ctype<wchar_t>::
-+ do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault,
-+ char* __dest) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ if (_M_narrow_ok)
-+ while (__lo < __hi)
-+ {
-+ if (*__lo >= 0 && *__lo < 128)
-+ *__dest = _M_narrow[*__lo];
-+ else
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ }
-+ ++__lo;
-+ ++__dest;
-+ }
-+ else
-+ while (__lo < __hi)
-+ {
-+ const int __c = wctob(*__lo);
-+ *__dest = (__c == EOF ? __dfault : static_cast<char>(__c));
-+ ++__lo;
-+ ++__dest;
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ return __hi;
-+ }
-+
-+ void
-+ ctype<wchar_t>::_M_initialize_ctype()
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+ wint_t __i;
-+ for (__i = 0; __i < 128; ++__i)
-+ {
-+ const int __c = wctob(__i);
-+ if (__c == EOF)
-+ break;
-+ else
-+ _M_narrow[__i] = static_cast<char>(__c);
-+ }
-+ if (__i == 128)
-+ _M_narrow_ok = true;
-+ else
-+ _M_narrow_ok = false;
-+ for (size_t __j = 0;
-+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j)
-+ _M_widen[__j] = btowc(__j);
-+
-+ for (size_t __k = 0; __k <= 11; ++__k)
-+ {
-+ _M_bit[__k] = static_cast<mask>(_ISbit(__k));
-+ _M_wmask[__k] = _M_convert_to_wmask(_M_bit[__k]);
-+ }
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#endif
-+ }
-+#endif // _GLIBCXX_USE_WCHAR_T
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,100 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix gettext stuff
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__dcgettext(const char *domainname,
-+ const char *msgid, int category);
-+#undef gettext
-+#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#else
-+#undef gettext
-+#define gettext(msgid) (msgid)
-+#endif
-+
-+namespace std
-+{
-+ // Specializations.
-+ template<>
-+ string
-+ messages<char>::do_get(catalog, int, int, const string& __dfault) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ const char* __msg = const_cast<const char*>(gettext(__dfault.c_str()));
-+ __uselocale(__old);
-+ return string(__msg);
-+#elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ const char* __msg = gettext(__dfault.c_str());
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return string(__msg);
-+#else
-+ const char* __msg = gettext(__dfault.c_str());
-+ return string(__msg);
-+#endif
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ wstring
-+ messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+ {
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(_M_c_locale_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ __uselocale(__old);
-+ return _M_convert_from_char(__msg);
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_messages);
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+ return _M_convert_from_char(__msg);
-+# else
-+ char* __msg = gettext(_M_convert_to_char(__dfault));
-+ return _M_convert_from_char(__msg);
-+# endif
-+ }
-+#endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,118 @@
-+// std::messages implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.7.1.2 messages functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix prototypes for *textdomain funcs
-+#endif
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+extern "C" char *__textdomain(const char *domainname);
-+extern "C" char *__bindtextdomain(const char *domainname,
-+ const char *dirname);
-+#else
-+#undef __textdomain
-+#undef __bindtextdomain
-+#define __textdomain(D) ((void)0)
-+#define __bindtextdomain(D,P) ((void)0)
-+#endif
-+
-+ // Non-virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::messages(size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-+ _M_name_messages(_S_get_c_name())
-+ { }
-+
-+ template<typename _CharT>
-+ messages<_CharT>::messages(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-+ _M_name_messages(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_messages = __tmp;
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
-+ const char* __dir) const
-+ {
-+ __bindtextdomain(__s.c_str(), __dir);
-+ return this->do_open(__s, __loc);
-+ }
-+
-+ // Virtual member functions.
-+ template<typename _CharT>
-+ messages<_CharT>::~messages()
-+ {
-+ if (_M_name_messages != _S_get_c_name())
-+ delete [] _M_name_messages;
-+ _S_destroy_c_locale(_M_c_locale_messages);
-+ }
-+
-+ template<typename _CharT>
-+ typename messages<_CharT>::catalog
-+ messages<_CharT>::do_open(const basic_string<char>& __s,
-+ const locale&) const
-+ {
-+ // No error checking is done, assume the catalog exists and can
-+ // be used.
-+ __textdomain(__s.c_str());
-+ return 0;
-+ }
-+
-+ template<typename _CharT>
-+ void
-+ messages<_CharT>::do_close(catalog) const
-+ { }
-+
-+ // messages_byname
-+ template<typename _CharT>
-+ messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
-+ : messages<_CharT>(__refs)
-+ {
-+ if (this->_M_name_messages != locale::facet::_S_get_c_name())
-+ delete [] this->_M_name_messages;
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ this->_M_name_messages = __tmp;
-+
-+ if (std::strcmp(__s, "C") != 0 && std::strcmp(__s, "POSIX") != 0)
-+ {
-+ this->_S_destroy_c_locale(this->_M_c_locale_messages);
-+ this->_S_create_c_locale(this->_M_c_locale_messages, __s);
-+ }
-+ }
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,692 @@
-+// std::moneypunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.6.3.2 moneypunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning optimize this for uclibc
-+#warning tailor for stub locale support
-+#endif
-+
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ // Construct and return valid pattern consisting of some combination of:
-+ // space none symbol sign value
-+ money_base::pattern
-+ money_base::_S_construct_pattern(char __precedes, char __space, char __posn)
-+ {
-+ pattern __ret;
-+
-+ // This insanely complicated routine attempts to construct a valid
-+ // pattern for use with monyepunct. A couple of invariants:
-+
-+ // if (__precedes) symbol -> value
-+ // else value -> symbol
-+
-+ // if (__space) space
-+ // else none
-+
-+ // none == never first
-+ // space never first or last
-+
-+ // Any elegant implementations of this are welcome.
-+ switch (__posn)
-+ {
-+ case 0:
-+ case 1:
-+ // 1 The sign precedes the value and symbol.
-+ __ret.field[0] = sign;
-+ if (__space)
-+ {
-+ // Pattern starts with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[3] = symbol;
-+ }
-+ __ret.field[2] = space;
-+ }
-+ else
-+ {
-+ // Pattern starts with sign and ends with none.
-+ if (__precedes)
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[1] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 2:
-+ // 2 The sign follows the value and symbol.
-+ if (__space)
-+ {
-+ // Pattern either ends with sign.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[2] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[2] = symbol;
-+ }
-+ __ret.field[1] = space;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ // Pattern ends with sign then none.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = value;
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ __ret.field[1] = symbol;
-+ }
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ break;
-+ case 3:
-+ // 3 The sign immediately precedes the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = sign;
-+ __ret.field[1] = symbol;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = symbol;
-+ }
-+ else
-+ {
-+ __ret.field[1] = sign;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ case 4:
-+ // 4 The sign immediately follows the symbol.
-+ if (__precedes)
-+ {
-+ __ret.field[0] = symbol;
-+ __ret.field[1] = sign;
-+ if (__space)
-+ {
-+ __ret.field[2] = space;
-+ __ret.field[3] = value;
-+ }
-+ else
-+ {
-+ __ret.field[2] = value;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ else
-+ {
-+ __ret.field[0] = value;
-+ if (__space)
-+ {
-+ __ret.field[1] = space;
-+ __ret.field[2] = symbol;
-+ __ret.field[3] = sign;
-+ }
-+ else
-+ {
-+ __ret.field[1] = symbol;
-+ __ret.field[2] = sign;
-+ __ret.field[3] = none;
-+ }
-+ }
-+ break;
-+ default:
-+ ;
-+ }
-+ return __ret;
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<char, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+ const char*)
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<char, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = "";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = "";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = "";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] = money_base::_S_atoms[__i];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(__MON_DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(__MON_THOUSANDS_SEP,
-+ __cloc));
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ _M_data->_M_positive_sign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ _M_data->_M_positive_sign_size = strlen(_M_data->_M_positive_sign);
-+
-+ char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = "()";
-+ else
-+ _M_data->_M_negative_sign = __nl_langinfo_l(__NEGATIVE_SIGN,
-+ __cloc);
-+ _M_data->_M_negative_sign_size = strlen(_M_data->_M_negative_sign);
-+
-+ // _Intl == false
-+ _M_data->_M_curr_symbol = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+ _M_data->_M_curr_symbol_size = strlen(_M_data->_M_curr_symbol);
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<char, true>::~moneypunct()
-+ { delete _M_data; }
-+
-+ template<>
-+ moneypunct<char, false>::~moneypunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, true>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__INT_FRAC_DIGITS,
-+ __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ void
-+ moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale __cloc,
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const char*)
-+#else
-+ const char* __name)
-+#endif
-+ {
-+ if (!_M_data)
-+ _M_data = new __moneypunct_cache<wchar_t, false>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = 0;
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = 0;
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = 0;
-+ _M_data->_M_frac_digits = 0;
-+ _M_data->_M_pos_format = money_base::_S_default_pattern;
-+ _M_data->_M_neg_format = money_base::_S_default_pattern;
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < money_base::_S_end; ++__i)
-+ _M_data->_M_atoms[__i] =
-+ static_cast<wchar_t>(money_base::_S_atoms[__i]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __c_locale __old = __uselocale(__cloc);
-+#else
-+ // Switch to named locale so that mbsrtowcs will work.
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, __name);
-+#endif
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be monetary
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# else
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+#endif
-+ _M_data->_M_grouping = __nl_langinfo_l(__MON_GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+
-+ const char* __cpossign = __nl_langinfo_l(__POSITIVE_SIGN, __cloc);
-+ const char* __cnegsign = __nl_langinfo_l(__NEGATIVE_SIGN, __cloc);
-+ const char* __ccurr = __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc);
-+
-+ wchar_t* __wcs_ps = 0;
-+ wchar_t* __wcs_ns = 0;
-+ const char __nposn = *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));
-+ try
-+ {
-+ mbstate_t __state;
-+ size_t __len;
-+ __len = strlen(__cpossign);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ps = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state);
-+ _M_data->_M_positive_sign = __wcs_ps;
-+ }
-+ else
-+ _M_data->_M_positive_sign = L"";
-+ _M_data->_M_positive_sign_size = wcslen(_M_data->_M_positive_sign);
-+
-+ __len = strlen(__cnegsign);
-+ if (!__nposn)
-+ _M_data->_M_negative_sign = L"()";
-+ else if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ __wcs_ns = new wchar_t[__len];
-+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state);
-+ _M_data->_M_negative_sign = __wcs_ns;
-+ }
-+ else
-+ _M_data->_M_negative_sign = L"";
-+ _M_data->_M_negative_sign_size = wcslen(_M_data->_M_negative_sign);
-+
-+ // _Intl == true.
-+ __len = strlen(__ccurr);
-+ if (__len)
-+ {
-+ ++__len;
-+ memset(&__state, 0, sizeof(mbstate_t));
-+ wchar_t* __wcs = new wchar_t[__len];
-+ mbsrtowcs(__wcs, &__ccurr, __len, &__state);
-+ _M_data->_M_curr_symbol = __wcs;
-+ }
-+ else
-+ _M_data->_M_curr_symbol = L"";
-+ _M_data->_M_curr_symbol_size = wcslen(_M_data->_M_curr_symbol);
-+ }
-+ catch (...)
-+ {
-+ delete _M_data;
-+ _M_data = 0;
-+ delete __wcs_ps;
-+ delete __wcs_ns;
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ __throw_exception_again;
-+ }
-+
-+ _M_data->_M_frac_digits = *(__nl_langinfo_l(__FRAC_DIGITS, __cloc));
-+ char __pprecedes = *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));
-+ char __pspace = *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc));
-+ char __pposn = *(__nl_langinfo_l(__P_SIGN_POSN, __cloc));
-+ _M_data->_M_pos_format = _S_construct_pattern(__pprecedes, __pspace,
-+ __pposn);
-+ char __nprecedes = *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));
-+ char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-+ _M_data->_M_neg_format = _S_construct_pattern(__nprecedes, __nspace,
-+ __nposn);
-+
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __uselocale(__old);
-+#else
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ }
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, true>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+
-+ template<>
-+ moneypunct<wchar_t, false>::~moneypunct()
-+ {
-+ if (_M_data->_M_positive_sign_size)
-+ delete [] _M_data->_M_positive_sign;
-+ if (_M_data->_M_negative_sign_size
-+ && wcscmp(_M_data->_M_negative_sign, L"()") != 0)
-+ delete [] _M_data->_M_negative_sign;
-+ if (_M_data->_M_curr_symbol_size)
-+ delete [] _M_data->_M_curr_symbol;
-+ delete _M_data;
-+ }
-+#endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,160 @@
-+// std::numpunct implementation details, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.3.1.2 numpunct virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#define _LIBC
-+#include <locale>
-+#undef _LIBC
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ numpunct<char>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = '.';
-+ _M_data->_M_thousands_sep = ',';
-+
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] = __num_base::_S_atoms_out[__i];
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] = __num_base::_S_atoms_in[__j];
-+ }
-+ else
-+ {
-+ // Named locale.
-+ _M_data->_M_decimal_point = *(__nl_langinfo_l(DECIMAL_POINT,
-+ __cloc));
-+ _M_data->_M_thousands_sep = *(__nl_langinfo_l(THOUSANDS_SEP,
-+ __cloc));
-+
-+ // Check for NULL, which implies no grouping.
-+ if (_M_data->_M_thousands_sep == '\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = "true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = "false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<char>::~numpunct()
-+ { delete _M_data; }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __numpunct_cache<wchar_t>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_data->_M_grouping = "";
-+ _M_data->_M_grouping_size = 0;
-+ _M_data->_M_use_grouping = false;
-+
-+ _M_data->_M_decimal_point = L'.';
-+ _M_data->_M_thousands_sep = L',';
-+
-+ // Use ctype::widen code without the facet...
-+ for (size_t __i = 0; __i < __num_base::_S_oend; ++__i)
-+ _M_data->_M_atoms_out[__i] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_out[__i]);
-+
-+ for (size_t __j = 0; __j < __num_base::_S_iend; ++__j)
-+ _M_data->_M_atoms_in[__j] =
-+ static_cast<wchar_t>(__num_base::_S_atoms_in[__j]);
-+ }
-+ else
-+ {
-+ // Named locale.
-+ // NB: In the GNU model wchar_t is always 32 bit wide.
-+ union { char *__s; wchar_t __w; } __u;
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
-+ _M_data->_M_decimal_point = __u.__w;
-+
-+ __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
-+ _M_data->_M_thousands_sep = __u.__w;
-+
-+ if (_M_data->_M_thousands_sep == L'\0')
-+ _M_data->_M_grouping = "";
-+ else
-+ _M_data->_M_grouping = __nl_langinfo_l(GROUPING, __cloc);
-+ _M_data->_M_grouping_size = strlen(_M_data->_M_grouping);
-+ }
-+
-+ // NB: There is no way to extact this info from posix locales.
-+ // _M_truename = __nl_langinfo_l(YESSTR, __cloc);
-+ _M_data->_M_truename = L"true";
-+ _M_data->_M_truename_size = 4;
-+ // _M_falsename = __nl_langinfo_l(NOSTR, __cloc);
-+ _M_data->_M_falsename = L"false";
-+ _M_data->_M_falsename_size = 5;
-+ }
-+
-+ template<>
-+ numpunct<wchar_t>::~numpunct()
-+ { delete _M_data; }
-+ #endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.cc 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,406 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get virtual functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put virtual functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+#include <locale>
-+#include <bits/c++locale_internal.h>
-+
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning tailor for stub locale support
-+#endif
-+#ifndef __UCLIBC_HAS_XLOCALE__
-+#define __nl_langinfo_l(N, L) nl_langinfo((N))
-+#endif
-+
-+namespace std
-+{
-+ template<>
-+ void
-+ __timepunct<char>::
-+ _M_put(char* __s, size_t __maxlen, const char* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ const size_t __len = __strftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = strftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = '\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<char>;
-+
-+ if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = "%m/%d/%y";
-+ _M_data->_M_date_era_format = "%m/%d/%y";
-+ _M_data->_M_time_format = "%H:%M:%S";
-+ _M_data->_M_time_era_format = "%H:%M:%S";
-+ _M_data->_M_date_time_format = "";
-+ _M_data->_M_date_time_era_format = "";
-+ _M_data->_M_am = "AM";
-+ _M_data->_M_pm = "PM";
-+ _M_data->_M_am_pm_format = "";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = "Sunday";
-+ _M_data->_M_day2 = "Monday";
-+ _M_data->_M_day3 = "Tuesday";
-+ _M_data->_M_day4 = "Wednesday";
-+ _M_data->_M_day5 = "Thursday";
-+ _M_data->_M_day6 = "Friday";
-+ _M_data->_M_day7 = "Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = "Sun";
-+ _M_data->_M_aday2 = "Mon";
-+ _M_data->_M_aday3 = "Tue";
-+ _M_data->_M_aday4 = "Wed";
-+ _M_data->_M_aday5 = "Thu";
-+ _M_data->_M_aday6 = "Fri";
-+ _M_data->_M_aday7 = "Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = "January";
-+ _M_data->_M_month02 = "February";
-+ _M_data->_M_month03 = "March";
-+ _M_data->_M_month04 = "April";
-+ _M_data->_M_month05 = "May";
-+ _M_data->_M_month06 = "June";
-+ _M_data->_M_month07 = "July";
-+ _M_data->_M_month08 = "August";
-+ _M_data->_M_month09 = "September";
-+ _M_data->_M_month10 = "October";
-+ _M_data->_M_month11 = "November";
-+ _M_data->_M_month12 = "December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = "Jan";
-+ _M_data->_M_amonth02 = "Feb";
-+ _M_data->_M_amonth03 = "Mar";
-+ _M_data->_M_amonth04 = "Apr";
-+ _M_data->_M_amonth05 = "May";
-+ _M_data->_M_amonth06 = "Jun";
-+ _M_data->_M_amonth07 = "Jul";
-+ _M_data->_M_amonth08 = "Aug";
-+ _M_data->_M_amonth09 = "Sep";
-+ _M_data->_M_amonth10 = "Oct";
-+ _M_data->_M_amonth11 = "Nov";
-+ _M_data->_M_amonth12 = "Dec";
-+ }
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ _M_data->_M_date_format = __nl_langinfo_l(D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __nl_langinfo_l(ERA_D_FMT, __cloc);
-+ _M_data->_M_time_format = __nl_langinfo_l(T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __nl_langinfo_l(ERA_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __nl_langinfo_l(D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __nl_langinfo_l(ERA_D_T_FMT,
-+ __cloc);
-+ _M_data->_M_am = __nl_langinfo_l(AM_STR, __cloc);
-+ _M_data->_M_pm = __nl_langinfo_l(PM_STR, __cloc);
-+ _M_data->_M_am_pm_format = __nl_langinfo_l(T_FMT_AMPM, __cloc);
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = __nl_langinfo_l(DAY_1, __cloc);
-+ _M_data->_M_day2 = __nl_langinfo_l(DAY_2, __cloc);
-+ _M_data->_M_day3 = __nl_langinfo_l(DAY_3, __cloc);
-+ _M_data->_M_day4 = __nl_langinfo_l(DAY_4, __cloc);
-+ _M_data->_M_day5 = __nl_langinfo_l(DAY_5, __cloc);
-+ _M_data->_M_day6 = __nl_langinfo_l(DAY_6, __cloc);
-+ _M_data->_M_day7 = __nl_langinfo_l(DAY_7, __cloc);
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = __nl_langinfo_l(ABDAY_1, __cloc);
-+ _M_data->_M_aday2 = __nl_langinfo_l(ABDAY_2, __cloc);
-+ _M_data->_M_aday3 = __nl_langinfo_l(ABDAY_3, __cloc);
-+ _M_data->_M_aday4 = __nl_langinfo_l(ABDAY_4, __cloc);
-+ _M_data->_M_aday5 = __nl_langinfo_l(ABDAY_5, __cloc);
-+ _M_data->_M_aday6 = __nl_langinfo_l(ABDAY_6, __cloc);
-+ _M_data->_M_aday7 = __nl_langinfo_l(ABDAY_7, __cloc);
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = __nl_langinfo_l(MON_1, __cloc);
-+ _M_data->_M_month02 = __nl_langinfo_l(MON_2, __cloc);
-+ _M_data->_M_month03 = __nl_langinfo_l(MON_3, __cloc);
-+ _M_data->_M_month04 = __nl_langinfo_l(MON_4, __cloc);
-+ _M_data->_M_month05 = __nl_langinfo_l(MON_5, __cloc);
-+ _M_data->_M_month06 = __nl_langinfo_l(MON_6, __cloc);
-+ _M_data->_M_month07 = __nl_langinfo_l(MON_7, __cloc);
-+ _M_data->_M_month08 = __nl_langinfo_l(MON_8, __cloc);
-+ _M_data->_M_month09 = __nl_langinfo_l(MON_9, __cloc);
-+ _M_data->_M_month10 = __nl_langinfo_l(MON_10, __cloc);
-+ _M_data->_M_month11 = __nl_langinfo_l(MON_11, __cloc);
-+ _M_data->_M_month12 = __nl_langinfo_l(MON_12, __cloc);
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = __nl_langinfo_l(ABMON_1, __cloc);
-+ _M_data->_M_amonth02 = __nl_langinfo_l(ABMON_2, __cloc);
-+ _M_data->_M_amonth03 = __nl_langinfo_l(ABMON_3, __cloc);
-+ _M_data->_M_amonth04 = __nl_langinfo_l(ABMON_4, __cloc);
-+ _M_data->_M_amonth05 = __nl_langinfo_l(ABMON_5, __cloc);
-+ _M_data->_M_amonth06 = __nl_langinfo_l(ABMON_6, __cloc);
-+ _M_data->_M_amonth07 = __nl_langinfo_l(ABMON_7, __cloc);
-+ _M_data->_M_amonth08 = __nl_langinfo_l(ABMON_8, __cloc);
-+ _M_data->_M_amonth09 = __nl_langinfo_l(ABMON_9, __cloc);
-+ _M_data->_M_amonth10 = __nl_langinfo_l(ABMON_10, __cloc);
-+ _M_data->_M_amonth11 = __nl_langinfo_l(ABMON_11, __cloc);
-+ _M_data->_M_amonth12 = __nl_langinfo_l(ABMON_12, __cloc);
-+ }
-+ }
-+
-+#ifdef _GLIBCXX_USE_WCHAR_T
-+ template<>
-+ void
-+ __timepunct<wchar_t>::
-+ _M_put(wchar_t* __s, size_t __maxlen, const wchar_t* __format,
-+ const tm* __tm) const
-+ {
-+#ifdef __UCLIBC_HAS_XLOCALE__
-+ __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
-+ const size_t __len = __wcsftime_l(__s, __maxlen, __format, __tm,
-+ _M_c_locale_timepunct);
-+#else
-+ char* __old = strdup(setlocale(LC_ALL, NULL));
-+ setlocale(LC_ALL, _M_name_timepunct);
-+ const size_t __len = wcsftime(__s, __maxlen, __format, __tm);
-+ setlocale(LC_ALL, __old);
-+ free(__old);
-+#endif
-+ // Make sure __s is null terminated.
-+ if (__len == 0)
-+ __s[0] = L'\0';
-+ }
-+
-+ template<>
-+ void
-+ __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc)
-+ {
-+ if (!_M_data)
-+ _M_data = new __timepunct_cache<wchar_t>;
-+
-+#warning wide time stuff
-+// if (!__cloc)
-+ {
-+ // "C" locale
-+ _M_c_locale_timepunct = _S_get_c_locale();
-+
-+ _M_data->_M_date_format = L"%m/%d/%y";
-+ _M_data->_M_date_era_format = L"%m/%d/%y";
-+ _M_data->_M_time_format = L"%H:%M:%S";
-+ _M_data->_M_time_era_format = L"%H:%M:%S";
-+ _M_data->_M_date_time_format = L"";
-+ _M_data->_M_date_time_era_format = L"";
-+ _M_data->_M_am = L"AM";
-+ _M_data->_M_pm = L"PM";
-+ _M_data->_M_am_pm_format = L"";
-+
-+ // Day names, starting with "C"'s Sunday.
-+ _M_data->_M_day1 = L"Sunday";
-+ _M_data->_M_day2 = L"Monday";
-+ _M_data->_M_day3 = L"Tuesday";
-+ _M_data->_M_day4 = L"Wednesday";
-+ _M_data->_M_day5 = L"Thursday";
-+ _M_data->_M_day6 = L"Friday";
-+ _M_data->_M_day7 = L"Saturday";
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ _M_data->_M_aday1 = L"Sun";
-+ _M_data->_M_aday2 = L"Mon";
-+ _M_data->_M_aday3 = L"Tue";
-+ _M_data->_M_aday4 = L"Wed";
-+ _M_data->_M_aday5 = L"Thu";
-+ _M_data->_M_aday6 = L"Fri";
-+ _M_data->_M_aday7 = L"Sat";
-+
-+ // Month names, starting with "C"'s January.
-+ _M_data->_M_month01 = L"January";
-+ _M_data->_M_month02 = L"February";
-+ _M_data->_M_month03 = L"March";
-+ _M_data->_M_month04 = L"April";
-+ _M_data->_M_month05 = L"May";
-+ _M_data->_M_month06 = L"June";
-+ _M_data->_M_month07 = L"July";
-+ _M_data->_M_month08 = L"August";
-+ _M_data->_M_month09 = L"September";
-+ _M_data->_M_month10 = L"October";
-+ _M_data->_M_month11 = L"November";
-+ _M_data->_M_month12 = L"December";
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ _M_data->_M_amonth01 = L"Jan";
-+ _M_data->_M_amonth02 = L"Feb";
-+ _M_data->_M_amonth03 = L"Mar";
-+ _M_data->_M_amonth04 = L"Apr";
-+ _M_data->_M_amonth05 = L"May";
-+ _M_data->_M_amonth06 = L"Jun";
-+ _M_data->_M_amonth07 = L"Jul";
-+ _M_data->_M_amonth08 = L"Aug";
-+ _M_data->_M_amonth09 = L"Sep";
-+ _M_data->_M_amonth10 = L"Oct";
-+ _M_data->_M_amonth11 = L"Nov";
-+ _M_data->_M_amonth12 = L"Dec";
-+ }
-+#if 0
-+ else
-+ {
-+ _M_c_locale_timepunct = _S_clone_c_locale(__cloc);
-+
-+ union { char *__s; wchar_t *__w; } __u;
-+
-+ __u.__s = __nl_langinfo_l(_NL_WD_FMT, __cloc);
-+ _M_data->_M_date_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_FMT, __cloc);
-+ _M_data->_M_date_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT, __cloc);
-+ _M_data->_M_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_T_FMT, __cloc);
-+ _M_data->_M_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WD_T_FMT, __cloc);
-+ _M_data->_M_date_time_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc);
-+ _M_data->_M_date_time_era_format = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WAM_STR, __cloc);
-+ _M_data->_M_am = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WPM_STR, __cloc);
-+ _M_data->_M_pm = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc);
-+ _M_data->_M_am_pm_format = __u.__w;
-+
-+ // Day names, starting with "C"'s Sunday.
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_1, __cloc);
-+ _M_data->_M_day1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_2, __cloc);
-+ _M_data->_M_day2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_3, __cloc);
-+ _M_data->_M_day3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_4, __cloc);
-+ _M_data->_M_day4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_5, __cloc);
-+ _M_data->_M_day5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_6, __cloc);
-+ _M_data->_M_day6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WDAY_7, __cloc);
-+ _M_data->_M_day7 = __u.__w;
-+
-+ // Abbreviated day names, starting with "C"'s Sun.
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_1, __cloc);
-+ _M_data->_M_aday1 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_2, __cloc);
-+ _M_data->_M_aday2 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_3, __cloc);
-+ _M_data->_M_aday3 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_4, __cloc);
-+ _M_data->_M_aday4 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_5, __cloc);
-+ _M_data->_M_aday5 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_6, __cloc);
-+ _M_data->_M_aday6 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABDAY_7, __cloc);
-+ _M_data->_M_aday7 = __u.__w;
-+
-+ // Month names, starting with "C"'s January.
-+ __u.__s = __nl_langinfo_l(_NL_WMON_1, __cloc);
-+ _M_data->_M_month01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_2, __cloc);
-+ _M_data->_M_month02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_3, __cloc);
-+ _M_data->_M_month03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_4, __cloc);
-+ _M_data->_M_month04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_5, __cloc);
-+ _M_data->_M_month05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_6, __cloc);
-+ _M_data->_M_month06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_7, __cloc);
-+ _M_data->_M_month07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_8, __cloc);
-+ _M_data->_M_month08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_9, __cloc);
-+ _M_data->_M_month09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_10, __cloc);
-+ _M_data->_M_month10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_11, __cloc);
-+ _M_data->_M_month11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WMON_12, __cloc);
-+ _M_data->_M_month12 = __u.__w;
-+
-+ // Abbreviated month names, starting with "C"'s Jan.
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_1, __cloc);
-+ _M_data->_M_amonth01 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_2, __cloc);
-+ _M_data->_M_amonth02 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_3, __cloc);
-+ _M_data->_M_amonth03 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_4, __cloc);
-+ _M_data->_M_amonth04 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_5, __cloc);
-+ _M_data->_M_amonth05 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_6, __cloc);
-+ _M_data->_M_amonth06 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_7, __cloc);
-+ _M_data->_M_amonth07 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_8, __cloc);
-+ _M_data->_M_amonth08 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_9, __cloc);
-+ _M_data->_M_amonth09 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_10, __cloc);
-+ _M_data->_M_amonth10 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_11, __cloc);
-+ _M_data->_M_amonth11 = __u.__w;
-+ __u.__s = __nl_langinfo_l(_NL_WABMON_12, __cloc);
-+ _M_data->_M_amonth12 = __u.__w;
-+ }
-+#endif // 0
-+ }
-+#endif
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h 2007-08-03 20:30:21.000000000 +0200
-@@ -0,0 +1,68 @@
-+// std::time_get, std::time_put implementation, GNU version -*- C++ -*-
-+
-+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library. This library is free
-+// software; you can redistribute it and/or modify it under the
-+// terms of the GNU General Public License as published by the
-+// Free Software Foundation; either version 2, or (at your option)
-+// any later version.
-+
-+// This library is distributed in the hope that it will be useful,
-+// but WITHOUT ANY WARRANTY; without even the implied warranty of
-+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+// GNU General Public License for more details.
-+
-+// You should have received a copy of the GNU General Public License along
-+// with this library; see the file COPYING. If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction. Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License. This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+//
-+// ISO C++ 14882: 22.2.5.1.2 - time_get functions
-+// ISO C++ 14882: 22.2.5.3.2 - time_put functions
-+//
-+
-+// Written by Benjamin Kosnik <bkoz@redhat.com>
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
-+ : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(_S_get_c_name())
-+ { _M_initialize_timepunct(); }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
-+ size_t __refs)
-+ : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-+ _M_name_timepunct(__s)
-+ {
-+ char* __tmp = new char[std::strlen(__s) + 1];
-+ std::strcpy(__tmp, __s);
-+ _M_name_timepunct = __tmp;
-+ _M_initialize_timepunct(__cloc);
-+ }
-+
-+ template<typename _CharT>
-+ __timepunct<_CharT>::~__timepunct()
-+ {
-+ if (_M_name_timepunct != _S_get_c_name())
-+ delete [] _M_name_timepunct;
-+ delete _M_data;
-+ _S_destroy_c_locale(_M_c_locale_timepunct);
-+ }
-diff -durN gcc-4.2.1.orig/libstdc++-v3/configure gcc-4.2.1/libstdc++-v3/configure
---- gcc-4.2.1.orig/libstdc++-v3/configure 2007-08-03 20:29:22.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/configure 2007-08-03 20:30:21.000000000 +0200
-@@ -5769,7 +5769,7 @@
- enableval="$enable_clocale"
-
- case "$enableval" in
-- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;;
-+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;;
- *) { { 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; }; } ;;
-@@ -5802,6 +5802,9 @@
- # Default to "generic".
- if test $enable_clocale_flag = auto; then
- case ${target_os} in
-+ linux-uclibc*)
-+ enable_clocale_flag=uclibc
-+ ;;
- linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu)
- enable_clocale_flag=gnu
- ;;
-@@ -6190,6 +6193,76 @@
- CTIME_CC=config/locale/generic/time_members.cc
- CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
- ;;
-+ uclibc)
-+ echo "$as_me:$LINENO: result: uclibc" >&5
-+echo "${ECHO_T}uclibc" >&6
-+
-+ # Declare intention to use gettext, and add support for specific
-+ # languages.
-+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT
-+ ALL_LINGUAS="de fr"
-+
-+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc.
-+ # Extract the first word of "msgfmt", so it can be a program name with args.
-+set dummy msgfmt; ac_word=$2
-+echo "$as_me:$LINENO: checking for $ac_word" >&5
-+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-+if test "${ac_cv_prog_check_msgfmt+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+ if test -n "$check_msgfmt"; then
-+ ac_cv_prog_check_msgfmt="$check_msgfmt" # Let the user override the test.
-+else
-+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-+for as_dir in $PATH
-+do
-+ IFS=$as_save_IFS
-+ test -z "$as_dir" && as_dir=.
-+ for ac_exec_ext in '' $ac_executable_extensions; do
-+ if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-+ ac_cv_prog_check_msgfmt="yes"
-+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-+ break 2
-+ fi
-+done
-+done
-+
-+ test -z "$ac_cv_prog_check_msgfmt" && ac_cv_prog_check_msgfmt="no"
-+fi
-+fi
-+check_msgfmt=$ac_cv_prog_check_msgfmt
-+if test -n "$check_msgfmt"; then
-+ echo "$as_me:$LINENO: result: $check_msgfmt" >&5
-+echo "${ECHO_T}$check_msgfmt" >&6
-+else
-+ echo "$as_me:$LINENO: result: no" >&5
-+echo "${ECHO_T}no" >&6
-+fi
-+
-+ if test x"$check_msgfmt" = x"yes" && test x"$enable_nls" = x"yes"; then
-+ USE_NLS=yes
-+ fi
-+ # Export the build objects.
-+ for ling in $ALL_LINGUAS; do \
-+ glibcxx_MOFILES="$glibcxx_MOFILES $ling.mo"; \
-+ glibcxx_POFILES="$glibcxx_POFILES $ling.po"; \
-+ done
-+
-+
-+
-+ CLOCALE_H=config/locale/uclibc/c_locale.h
-+ CLOCALE_CC=config/locale/uclibc/c_locale.cc
-+ CCODECVT_CC=config/locale/uclibc/codecvt_members.cc
-+ CCOLLATE_CC=config/locale/uclibc/collate_members.cc
-+ CCTYPE_CC=config/locale/uclibc/ctype_members.cc
-+ CMESSAGES_H=config/locale/uclibc/messages_members.h
-+ CMESSAGES_CC=config/locale/uclibc/messages_members.cc
-+ CMONEY_CC=config/locale/uclibc/monetary_members.cc
-+ CNUMERIC_CC=config/locale/uclibc/numeric_members.cc
-+ CTIME_H=config/locale/uclibc/time_members.h
-+ CTIME_CC=config/locale/uclibc/time_members.cc
-+ CLOCALE_INTERNAL_H=config/locale/uclibc/c++locale_internal.h
-+ ;;
- esac
-
- # This is where the testsuite looks for locale catalogs, using the
-diff -durN gcc-4.2.1.orig/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.2.1/libstdc++-v3/include/c_compatibility/wchar.h
---- gcc-4.2.1.orig/libstdc++-v3/include/c_compatibility/wchar.h 2005-08-17 04:28:44.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/include/c_compatibility/wchar.h 2007-08-03 20:30:21.000000000 +0200
-@@ -101,7 +101,9 @@
- using std::wmemcpy;
- using std::wmemmove;
- using std::wmemset;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using std::wcsftime;
-+#endif
-
- #if _GLIBCXX_USE_C99
- using std::wcstold;
-diff -durN gcc-4.2.1.orig/libstdc++-v3/include/c_std/std_cwchar.h gcc-4.2.1/libstdc++-v3/include/c_std/std_cwchar.h
---- gcc-4.2.1.orig/libstdc++-v3/include/c_std/std_cwchar.h 2006-12-07 10:33:51.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/include/c_std/std_cwchar.h 2007-08-03 20:30:21.000000000 +0200
-@@ -182,7 +182,9 @@
- using ::wcscoll;
- using ::wcscpy;
- using ::wcscspn;
-+#if _GLIBCXX_HAVE_WCSFTIME
- using ::wcsftime;
-+#endif
- using ::wcslen;
- using ::wcsncat;
- using ::wcsncmp;
diff --git a/patches/gcc/4.2.4/130-uclibc-locale-no__x.patch b/patches/gcc/4.2.4/130-uclibc-locale-no__x.patch
deleted file mode 100644
index d88dc22..0000000
--- a/patches/gcc/4.2.4/130-uclibc-locale-no__x.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -39,20 +39,6 @@
- #include <langinfo.h>
- #include <bits/c++locale_internal.h>
-
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __strtol_l(S, E, B, L) strtol((S), (E), (B))
--#define __strtoul_l(S, E, B, L) strtoul((S), (E), (B))
--#define __strtoll_l(S, E, B, L) strtoll((S), (E), (B))
--#define __strtoull_l(S, E, B, L) strtoull((S), (E), (B))
--#define __strtof_l(S, E, L) strtof((S), (E))
--#define __strtod_l(S, E, L) strtod((S), (E))
--#define __strtold_l(S, E, L) strtold((S), (E))
--#warning should dummy __newlocale check for C|POSIX ?
--#define __newlocale(a, b, c) NULL
--#define __freelocale(a) ((void)0)
--#define __duplocale(a) __c_locale()
--#endif
--
- namespace std
- {
- template<>
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h 2007-08-03 20:30:53.000000000 +0200
-@@ -68,6 +68,7 @@
- {
- extern "C" __typeof(uselocale) __uselocale;
- }
-+#define __uselocale uselocale
- #endif
-
- namespace std
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c++locale_internal.h 2007-08-03 20:30:53.000000000 +0200
-@@ -60,4 +60,49 @@
- extern "C" __typeof(wctype_l) __wctype_l;
- #endif
-
-+# define __nl_langinfo_l nl_langinfo_l
-+# define __strcoll_l strcoll_l
-+# define __strftime_l strftime_l
-+# define __strtod_l strtod_l
-+# define __strtof_l strtof_l
-+# define __strtold_l strtold_l
-+# define __strxfrm_l strxfrm_l
-+# define __newlocale newlocale
-+# define __freelocale freelocale
-+# define __duplocale duplocale
-+# define __uselocale uselocale
-+
-+# ifdef _GLIBCXX_USE_WCHAR_T
-+# define __iswctype_l iswctype_l
-+# define __towlower_l towlower_l
-+# define __towupper_l towupper_l
-+# define __wcscoll_l wcscoll_l
-+# define __wcsftime_l wcsftime_l
-+# define __wcsxfrm_l wcsxfrm_l
-+# define __wctype_l wctype_l
-+# endif
-+
-+#else
-+# define __nl_langinfo_l(N, L) nl_langinfo((N))
-+# define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
-+# define __strtod_l(S, E, L) strtod((S), (E))
-+# define __strtof_l(S, E, L) strtof((S), (E))
-+# define __strtold_l(S, E, L) strtold((S), (E))
-+# define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
-+# warning should dummy __newlocale check for C|POSIX ?
-+# define __newlocale(a, b, c) NULL
-+# define __freelocale(a) ((void)0)
-+# define __duplocale(a) __c_locale()
-+//# define __uselocale ?
-+//
-+# ifdef _GLIBCXX_USE_WCHAR_T
-+# define __iswctype_l(C, M, L) iswctype((C), (M))
-+# define __towlower_l(C, L) towlower((C))
-+# define __towupper_l(C, L) towupper((C))
-+# define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
-+//# define __wcsftime_l(S, M, F, T, L) wcsftime((S), (M), (F), (T))
-+# define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
-+# define __wctype_l(S, L) wctype((S))
-+# endif
-+
- #endif // GLIBC 2.3 and later
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/collate_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/collate_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/collate_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -36,13 +36,6 @@
- #include <locale>
- #include <bits/c++locale_internal.h>
-
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __strcoll_l(S1, S2, L) strcoll((S1), (S2))
--#define __strxfrm_l(S1, S2, N, L) strxfrm((S1), (S2), (N))
--#define __wcscoll_l(S1, S2, L) wcscoll((S1), (S2))
--#define __wcsxfrm_l(S1, S2, N, L) wcsxfrm((S1), (S2), (N))
--#endif
--
- namespace std
- {
- // These are basically extensions to char_traits, and perhaps should
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -38,13 +38,6 @@
- #undef _LIBC
- #include <bits/c++locale_internal.h>
-
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __wctype_l(S, L) wctype((S))
--#define __towupper_l(C, L) towupper((C))
--#define __towlower_l(C, L) towlower((C))
--#define __iswctype_l(C, M, L) iswctype((C), (M))
--#endif
--
- namespace std
- {
- // NB: The other ctype<char> specializations are in src/locale.cc and
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -39,13 +39,10 @@
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning fix gettext stuff
- #endif
--#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
--extern "C" char *__dcgettext(const char *domainname,
-- const char *msgid, int category);
- #undef gettext
--#define gettext(msgid) __dcgettext(NULL, msgid, LC_MESSAGES)
-+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#define gettext(msgid) dcgettext(NULL, msgid, LC_MESSAGES)
- #else
--#undef gettext
- #define gettext(msgid) (msgid)
- #endif
-
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:30:53.000000000 +0200
-@@ -36,15 +36,11 @@
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning fix prototypes for *textdomain funcs
- #endif
--#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
--extern "C" char *__textdomain(const char *domainname);
--extern "C" char *__bindtextdomain(const char *domainname,
-- const char *dirname);
--#else
--#undef __textdomain
--#undef __bindtextdomain
--#define __textdomain(D) ((void)0)
--#define __bindtextdomain(D,P) ((void)0)
-+#ifndef __UCLIBC_HAS_GETTEXT_AWARENESS__
-+#undef textdomain
-+#undef bindtextdomain
-+#define textdomain(D) ((void)0)
-+#define bindtextdomain(D,P) ((void)0)
- #endif
-
- // Non-virtual member functions.
-@@ -70,7 +66,7 @@
- messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
- const char* __dir) const
- {
-- __bindtextdomain(__s.c_str(), __dir);
-+ bindtextdomain(__s.c_str(), __dir);
- return this->do_open(__s, __loc);
- }
-
-@@ -90,7 +86,7 @@
- {
- // No error checking is done, assume the catalog exists and can
- // be used.
-- __textdomain(__s.c_str());
-+ textdomain(__s.c_str());
- return 0;
- }
-
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -43,10 +43,6 @@
- #warning tailor for stub locale support
- #endif
-
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __nl_langinfo_l(N, L) nl_langinfo((N))
--#endif
--
- namespace std
- {
- // Construct and return valid pattern consisting of some combination of:
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -41,9 +41,6 @@
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning tailor for stub locale support
- #endif
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __nl_langinfo_l(N, L) nl_langinfo((N))
--#endif
-
- namespace std
- {
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.cc 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.cc 2007-08-03 20:30:53.000000000 +0200
-@@ -40,9 +40,6 @@
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning tailor for stub locale support
- #endif
--#ifndef __UCLIBC_HAS_XLOCALE__
--#define __nl_langinfo_l(N, L) nl_langinfo((N))
--#endif
-
- namespace std
- {
diff --git a/patches/gcc/4.2.4/140-uclibc-locale-wchar_fix.patch b/patches/gcc/4.2.4/140-uclibc-locale-wchar_fix.patch
deleted file mode 100644
index 077bb56..0000000
--- a/patches/gcc/4.2.4/140-uclibc-locale-wchar_fix.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:31:24.000000000 +0200
-@@ -401,7 +401,7 @@
- # ifdef __UCLIBC_HAS_XLOCALE__
- _M_data->_M_decimal_point = __cloc->decimal_point_wc;
- _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
--# else
-+# elif defined __UCLIBC_HAS_LOCALE__
- _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
- _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
- # endif
-@@ -556,7 +556,7 @@
- # ifdef __UCLIBC_HAS_XLOCALE__
- _M_data->_M_decimal_point = __cloc->decimal_point_wc;
- _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
--# else
-+# elif defined __UCLIBC_HAS_LOCALE__
- _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
- _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
- # endif
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:31:24.000000000 +0200
-@@ -127,12 +127,25 @@
- {
- // Named locale.
- // NB: In the GNU model wchar_t is always 32 bit wide.
-+#ifdef __UCLIBC_MJN3_ONLY__
-+#warning fix this... should be numeric
-+#endif
-+#ifdef __UCLIBC__
-+# ifdef __UCLIBC_HAS_XLOCALE__
-+ _M_data->_M_decimal_point = __cloc->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __cloc->thousands_sep_wc;
-+# elif defined __UCLIBC_HAS_LOCALE__
-+ _M_data->_M_decimal_point = __global_locale->decimal_point_wc;
-+ _M_data->_M_thousands_sep = __global_locale->thousands_sep_wc;
-+# endif
-+#else
- union { char *__s; wchar_t __w; } __u;
- __u.__s = __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc);
- _M_data->_M_decimal_point = __u.__w;
-
- __u.__s = __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc);
- _M_data->_M_thousands_sep = __u.__w;
-+#endif
-
- if (_M_data->_M_thousands_sep == L'\0')
- _M_data->_M_grouping = "";
diff --git a/patches/gcc/4.2.4/150-uclibc-locale-update.patch b/patches/gcc/4.2.4/150-uclibc-locale-update.patch
deleted file mode 100644
index 534f4e4..0000000
--- a/patches/gcc/4.2.4/150-uclibc-locale-update.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.cc 2007-08-03 20:31:54.000000000 +0200
-@@ -46,16 +46,13 @@
- __convert_to_v(const char* __s, float& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
-- if (!(__err & ios_base::failbit))
-- {
-- char* __sanity;
-- errno = 0;
-- float __f = __strtof_l(__s, &__sanity, __cloc);
-- if (__sanity != __s && errno != ERANGE)
-- __v = __f;
-- else
-- __err |= ios_base::failbit;
-- }
-+ char* __sanity;
-+ errno = 0;
-+ float __f = __strtof_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __f;
-+ else
-+ __err |= ios_base::failbit;
- }
-
- template<>
-@@ -63,16 +60,13 @@
- __convert_to_v(const char* __s, double& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
-- if (!(__err & ios_base::failbit))
-- {
-- char* __sanity;
-- errno = 0;
-- double __d = __strtod_l(__s, &__sanity, __cloc);
-- if (__sanity != __s && errno != ERANGE)
-- __v = __d;
-- else
-- __err |= ios_base::failbit;
-- }
-+ char* __sanity;
-+ errno = 0;
-+ double __d = __strtod_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __d;
-+ else
-+ __err |= ios_base::failbit;
- }
-
- template<>
-@@ -80,16 +74,13 @@
- __convert_to_v(const char* __s, long double& __v, ios_base::iostate& __err,
- const __c_locale& __cloc)
- {
-- if (!(__err & ios_base::failbit))
-- {
-- char* __sanity;
-- errno = 0;
-- long double __ld = __strtold_l(__s, &__sanity, __cloc);
-- if (__sanity != __s && errno != ERANGE)
-- __v = __ld;
-- else
-- __err |= ios_base::failbit;
-- }
-+ char* __sanity;
-+ errno = 0;
-+ long double __ld = __strtold_l(__s, &__sanity, __cloc);
-+ if (__sanity != __s && errno != ERANGE)
-+ __v = __ld;
-+ else
-+ __err |= ios_base::failbit;
- }
-
- void
-@@ -110,7 +101,7 @@
- void
- locale::facet::_S_destroy_c_locale(__c_locale& __cloc)
- {
-- if (_S_get_c_locale() != __cloc)
-+ if (__cloc && _S_get_c_locale() != __cloc)
- __freelocale(__cloc);
- }
-
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/c_locale.h 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/c_locale.h 2007-08-03 20:31:54.000000000 +0200
-@@ -39,21 +39,23 @@
- #pragma GCC system_header
-
- #include <cstring> // get std::strlen
--#include <cstdio> // get std::snprintf or std::sprintf
-+#include <cstdio> // get std::vsnprintf or std::vsprintf
- #include <clocale>
- #include <langinfo.h> // For codecvt
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning fix this
- #endif
--#ifdef __UCLIBC_HAS_LOCALE__
-+#ifdef _GLIBCXX_USE_ICONV
- #include <iconv.h> // For codecvt using iconv, iconv_t
- #endif
--#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__
--#include <libintl.h> // For messages
-+#ifdef HAVE_LIBINTL_H
-+#include <libintl.h> // For messages
- #endif
-+#include <cstdarg>
-
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning what is _GLIBCXX_C_LOCALE_GNU for
-+// psm: used in os/gnu-linux/ctype_noninline.h
- #endif
- #define _GLIBCXX_C_LOCALE_GNU 1
-
-@@ -62,7 +64,7 @@
- #endif
- // #define _GLIBCXX_NUM_CATEGORIES 6
- #define _GLIBCXX_NUM_CATEGORIES 0
--
-+
- #ifdef __UCLIBC_HAS_XLOCALE__
- namespace __gnu_cxx
- {
-@@ -79,22 +81,24 @@
- typedef int* __c_locale;
- #endif
-
-- // Convert numeric value of type _Tv to string and return length of
-- // string. If snprintf is available use it, otherwise fall back to
-- // the unsafe sprintf which, in general, can be dangerous and should
-+ // Convert numeric value of type double to string and return length of
-+ // string. If vsnprintf is available use it, otherwise fall back to
-+ // the unsafe vsprintf which, in general, can be dangerous and should
- // be avoided.
-- template<typename _Tv>
-- int
-- __convert_from_v(char* __out,
-- const int __size __attribute__ ((__unused__)),
-- const char* __fmt,
--#ifdef __UCLIBC_HAS_XCLOCALE__
-- _Tv __v, const __c_locale& __cloc, int __prec)
-+ inline int
-+ __convert_from_v(const __c_locale&
-+#ifndef __UCLIBC_HAS_XCLOCALE__
-+ __cloc __attribute__ ((__unused__))
-+#endif
-+ ,
-+ char* __out,
-+ const int __size,
-+ const char* __fmt, ...)
- {
-+ va_list __args;
-+#ifdef __UCLIBC_HAS_XCLOCALE__
- __c_locale __old = __gnu_cxx::__uselocale(__cloc);
- #else
-- _Tv __v, const __c_locale&, int __prec)
-- {
- # ifdef __UCLIBC_HAS_LOCALE__
- char* __old = std::setlocale(LC_ALL, NULL);
- char* __sav = new char[std::strlen(__old) + 1];
-@@ -103,7 +107,9 @@
- # endif
- #endif
-
-- const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
-+ va_start(__args, __fmt);
-+ const int __ret = std::vsnprintf(__out, __size, __fmt, __args);
-+ va_end(__args);
-
- #ifdef __UCLIBC_HAS_XCLOCALE__
- __gnu_cxx::__uselocale(__old);
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/ctype_members.cc 2007-08-03 20:31:54.000000000 +0200
-@@ -33,9 +33,14 @@
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
-
-+#include <features.h>
-+#ifdef __UCLIBC_HAS_LOCALE__
- #define _LIBC
- #include <locale>
- #undef _LIBC
-+#else
-+#include <locale>
-+#endif
- #include <bits/c++locale_internal.h>
-
- namespace std
-@@ -138,20 +143,34 @@
- ctype<wchar_t>::
- do_is(mask __m, wchar_t __c) const
- {
-- // Highest bitmask in ctype_base == 10, but extra in "C"
-- // library for blank.
-+ // The case of __m == ctype_base::space is particularly important,
-+ // due to its use in many istream functions. Therefore we deal with
-+ // it first, exploiting the knowledge that on GNU systems _M_bit[5]
-+ // is the mask corresponding to ctype_base::space. NB: an encoding
-+ // change would not affect correctness!
- bool __ret = false;
-- const size_t __bitmasksize = 11;
-- for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-- if (__m & _M_bit[__bitcur]
-- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-- {
-- __ret = true;
-- break;
-- }
-+ if (__m == _M_bit[5])
-+ __ret = __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype);
-+ else
-+ {
-+ // Highest bitmask in ctype_base == 10, but extra in "C"
-+ // library for blank.
-+ const size_t __bitmasksize = 11;
-+ for (size_t __bitcur = 0; __bitcur <= __bitmasksize; ++__bitcur)
-+ if (__m & _M_bit[__bitcur])
-+ {
-+ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))
-+ {
-+ __ret = true;
-+ break;
-+ }
-+ else if (__m == _M_bit[__bitcur])
-+ break;
-+ }
-+ }
- return __ret;
- }
--
-+
- const wchar_t*
- ctype<wchar_t>::
- do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:30:53.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:31:54.000000000 +0200
-@@ -47,18 +47,21 @@
- template<typename _CharT>
- messages<_CharT>::messages(size_t __refs)
- : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
-- _M_name_messages(_S_get_c_name())
-+ _M_name_messages(_S_get_c_name())
- { }
-
- template<typename _CharT>
- messages<_CharT>::messages(__c_locale __cloc, const char* __s,
- size_t __refs)
-- : facet(__refs), _M_c_locale_messages(_S_clone_c_locale(__cloc)),
-- _M_name_messages(__s)
-+ : facet(__refs), _M_c_locale_messages(NULL), _M_name_messages(NULL)
- {
-- char* __tmp = new char[std::strlen(__s) + 1];
-- std::strcpy(__tmp, __s);
-+ const size_t __len = std::strlen(__s) + 1;
-+ char* __tmp = new char[__len];
-+ std::memcpy(__tmp, __s, __len);
- _M_name_messages = __tmp;
-+
-+ // Last to avoid leaking memory if new throws.
-+ _M_c_locale_messages = _S_clone_c_locale(__cloc);
- }
-
- template<typename _CharT>
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:31:24.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/monetary_members.cc 2007-08-03 20:31:54.000000000 +0200
-@@ -33,9 +33,14 @@
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
-
-+#include <features.h>
-+#ifdef __UCLIBC_HAS_LOCALE__
- #define _LIBC
- #include <locale>
- #undef _LIBC
-+#else
-+#include <locale>
-+#endif
- #include <bits/c++locale_internal.h>
-
- #ifdef __UCLIBC_MJN3_ONLY__
-@@ -206,7 +211,7 @@
- }
- break;
- default:
-- ;
-+ __ret = pattern();
- }
- return __ret;
- }
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:31:24.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/numeric_members.cc 2007-08-03 20:31:54.000000000 +0200
-@@ -33,9 +33,14 @@
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
-
-+#include <features.h>
-+#ifdef __UCLIBC_HAS_LOCALE__
- #define _LIBC
- #include <locale>
- #undef _LIBC
-+#else
-+#include <locale>
-+#endif
- #include <bits/c++locale_internal.h>
-
- #ifdef __UCLIBC_MJN3_ONLY__
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h 2007-08-03 20:31:54.000000000 +0200
-@@ -37,25 +37,33 @@
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(size_t __refs)
- : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-- _M_name_timepunct(_S_get_c_name())
-+ _M_name_timepunct(_S_get_c_name())
- { _M_initialize_timepunct(); }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
- : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(NULL),
-- _M_name_timepunct(_S_get_c_name())
-+ _M_name_timepunct(_S_get_c_name())
- { _M_initialize_timepunct(); }
-
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
- size_t __refs)
- : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-- _M_name_timepunct(__s)
-+ _M_name_timepunct(NULL)
- {
-- char* __tmp = new char[std::strlen(__s) + 1];
-- std::strcpy(__tmp, __s);
-+ const size_t __len = std::strlen(__s) + 1;
-+ char* __tmp = new char[__len];
-+ std::memcpy(__tmp, __s, __len);
- _M_name_timepunct = __tmp;
-- _M_initialize_timepunct(__cloc);
-+
-+ try
-+ { _M_initialize_timepunct(__cloc); }
-+ catch(...)
-+ {
-+ delete [] _M_name_timepunct;
-+ __throw_exception_again;
-+ }
- }
-
- template<typename _CharT>
diff --git a/patches/gcc/4.2.4/160-libstdc++-pic.patch b/patches/gcc/4.2.4/160-libstdc++-pic.patch
deleted file mode 100644
index 7244d4c..0000000
--- a/patches/gcc/4.2.4/160-libstdc++-pic.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/src/Makefile.am gcc-4.2.1/libstdc++-v3/src/Makefile.am
---- gcc-4.2.1.orig/libstdc++-v3/src/Makefile.am 2006-07-28 06:57:34.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/src/Makefile.am 2007-08-03 20:32:27.000000000 +0200
-@@ -257,6 +257,12 @@
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-
-+install-exec-local:
-+ifeq ($(enable_shared),yes)
-+ $(AR) cru libstdc++_pic.a .libs/*.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+endif
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
-diff -durN gcc-4.2.1.orig/libstdc++-v3/src/Makefile.in gcc-4.2.1/libstdc++-v3/src/Makefile.in
---- gcc-4.2.1.orig/libstdc++-v3/src/Makefile.in 2006-10-16 21:08:22.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/src/Makefile.in 2007-08-03 20:32:27.000000000 +0200
-@@ -657,7 +657,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -690,6 +690,7 @@
- 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 \
-+ install-exec-local \
- install-exec-am install-info install-info-am install-man \
- install-strip install-toolexeclibLTLIBRARIES installcheck \
- installcheck-am installdirs maintainer-clean \
-@@ -799,6 +800,13 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ifeq ($(enable_shared),yes)
-+ $(AR) cru libstdc++_pic.a *.o $(top_builddir)/libsupc++/*.o
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir)
-+endif
-+
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/patches/gcc/4.2.4/170-missing-execinfo_h.patch b/patches/gcc/4.2.4/170-missing-execinfo_h.patch
deleted file mode 100644
index ff67899..0000000
--- a/patches/gcc/4.2.4/170-missing-execinfo_h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.2.1.orig/boehm-gc/include/gc.h gcc-4.2.1/boehm-gc/include/gc.h
---- gcc-4.2.1.orig/boehm-gc/include/gc.h 2006-09-18 20:45:08.000000000 +0200
-+++ gcc-4.2.1/boehm-gc/include/gc.h 2007-08-03 20:33:00.000000000 +0200
-@@ -502,7 +502,7 @@
- #if defined(__linux__) || defined(__GLIBC__)
- # include <features.h>
- # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-- && !defined(__ia64__)
-+ && !defined(__ia64__) && !defined(__UCLIBC__)
- # ifndef GC_HAVE_BUILTIN_BACKTRACE
- # define GC_HAVE_BUILTIN_BACKTRACE
- # endif
diff --git a/patches/gcc/4.2.4/180-c99-snprintf.patch b/patches/gcc/4.2.4/180-c99-snprintf.patch
deleted file mode 100644
index ddb0c34..0000000
--- a/patches/gcc/4.2.4/180-c99-snprintf.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/include/c_std/std_cstdio.h gcc-4.2.1/libstdc++-v3/include/c_std/std_cstdio.h
---- gcc-4.2.1.orig/libstdc++-v3/include/c_std/std_cstdio.h 2006-12-07 10:33:51.000000000 +0100
-+++ gcc-4.2.1/libstdc++-v3/include/c_std/std_cstdio.h 2007-08-03 20:33:24.000000000 +0200
-@@ -144,7 +144,7 @@
-
- _GLIBCXX_END_NAMESPACE
-
--#if _GLIBCXX_USE_C99
-+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__)
-
- #undef snprintf
- #undef vfscanf
diff --git a/patches/gcc/4.2.4/190-c99-complex-ugly-hack.patch b/patches/gcc/4.2.4/190-c99-complex-ugly-hack.patch
deleted file mode 100644
index de6d71c..0000000
--- a/patches/gcc/4.2.4/190-c99-complex-ugly-hack.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/configure gcc-4.2.1/libstdc++-v3/configure
---- gcc-4.2.1.orig/libstdc++-v3/configure 2007-08-03 20:30:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/configure 2007-08-03 20:33:56.000000000 +0200
-@@ -7514,6 +7514,9 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <complex.h>
-+#ifdef __UCLIBC__
-+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
-+#endif
- int
- main ()
- {
diff --git a/patches/gcc/4.2.4/200-index_macro.patch b/patches/gcc/4.2.4/200-index_macro.patch
deleted file mode 100644
index 1e56b5d..0000000
--- a/patches/gcc/4.2.4/200-index_macro.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/include/ext/rope gcc-4.2.1/libstdc++-v3/include/ext/rope
---- gcc-4.2.1.orig/libstdc++-v3/include/ext/rope 2006-10-17 13:56:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/include/ext/rope 2007-08-03 20:34:23.000000000 +0200
-@@ -58,6 +58,9 @@
- #include <bits/allocator.h>
- #include <ext/hash_fun.h>
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- # ifdef __GC
- # define __GC_CONST const
- # else
-diff -durN gcc-4.2.1.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.2.1/libstdc++-v3/include/ext/ropeimpl.h
---- gcc-4.2.1.orig/libstdc++-v3/include/ext/ropeimpl.h 2006-10-17 13:56:21.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/include/ext/ropeimpl.h 2007-08-03 20:34:23.000000000 +0200
-@@ -54,6 +54,9 @@
- #include <ext/memory> // For uninitialized_copy_n
- #include <ext/numeric> // For power
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
diff --git a/patches/gcc/4.2.4/210-libmudflap-susv3-legacy.patch b/patches/gcc/4.2.4/210-libmudflap-susv3-legacy.patch
deleted file mode 100644
index 26e8704..0000000
--- a/patches/gcc/4.2.4/210-libmudflap-susv3-legacy.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -durN gcc-4.2.1.orig/libmudflap/mf-hooks2.c gcc-4.2.1/libmudflap/mf-hooks2.c
---- gcc-4.2.1.orig/libmudflap/mf-hooks2.c 2005-09-23 23:58:39.000000000 +0200
-+++ gcc-4.2.1/libmudflap/mf-hooks2.c 2007-08-03 20:35:09.000000000 +0200
-@@ -427,7 +427,7 @@
- {
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
-- bzero (s, n);
-+ memset (s, 0, n);
- }
-
-
-@@ -437,7 +437,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
- MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
-- bcopy (src, dest, n);
-+ memmove (dest, src, n);
- }
-
-
-@@ -447,7 +447,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
- MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
-- return bcmp (s1, s2, n);
-+ return n == 0 ? 0 : memcmp (s1, s2, n);
- }
-
-
-@@ -456,7 +456,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
-- return index (s, c);
-+ return strchr (s, c);
- }
-
-
-@@ -465,7 +465,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
-- return rindex (s, c);
-+ return strrchr (s, c);
- }
-
- /* XXX: stpcpy, memccpy */
diff --git a/patches/gcc/4.2.4/220-libstdc++-namespace.patch b/patches/gcc/4.2.4/220-libstdc++-namespace.patch
deleted file mode 100644
index 709e8f2..0000000
--- a/patches/gcc/4.2.4/220-libstdc++-namespace.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:31:54.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/messages_members.h 2007-08-03 20:35:40.000000000 +0200
-@@ -32,7 +32,8 @@
- //
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
--
-+namespace std
-+{
- #ifdef __UCLIBC_MJN3_ONLY__
- #warning fix prototypes for *textdomain funcs
- #endif
-@@ -115,3 +116,4 @@
- this->_S_create_c_locale(this->_M_c_locale_messages, __s);
- }
- }
-+}
-diff -durN gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h
---- gcc-4.2.1.orig/libstdc++-v3/config/locale/uclibc/time_members.h 2007-08-03 20:31:54.000000000 +0200
-+++ gcc-4.2.1/libstdc++-v3/config/locale/uclibc/time_members.h 2007-08-03 20:35:40.000000000 +0200
-@@ -33,7 +33,8 @@
- //
-
- // Written by Benjamin Kosnik <bkoz@redhat.com>
--
-+namespace std
-+{
- template<typename _CharT>
- __timepunct<_CharT>::__timepunct(size_t __refs)
- : facet(__refs), _M_data(NULL), _M_c_locale_timepunct(NULL),
-@@ -74,3 +75,4 @@
- delete _M_data;
- _S_destroy_c_locale(_M_c_locale_timepunct);
- }
-+}
diff --git a/patches/gcc/4.2.4/230-libbackend_dep_gcov-iov.h.patch b/patches/gcc/4.2.4/230-libbackend_dep_gcov-iov.h.patch
deleted file mode 100644
index 32754be..0000000
--- a/patches/gcc/4.2.4/230-libbackend_dep_gcov-iov.h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.2.1.orig/gcc/Makefile.in gcc-4.2.1/gcc/Makefile.in
---- gcc-4.2.1.orig/gcc/Makefile.in 2007-05-31 17:37:38.000000000 +0200
-+++ gcc-4.2.1/gcc/Makefile.in 2007-08-03 20:36:14.000000000 +0200
-@@ -2660,7 +2660,7 @@
- # FIXME: writing proper dependencies for this is a *LOT* of work.
- libbackend.o : $(OBJS-common:.o=.c) $(out_file) \
- insn-config.h insn-flags.h insn-codes.h insn-constants.h \
-- insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
-+ insn-attr.h $(DATESTAMP) $(BASEVER) $(DEVPHASE) gcov-iov.h
- $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) \
- -DTARGET_NAME=\"$(target_noncanonical)\" \
- -DLOCALEDIR=\"$(localedir)\" \
diff --git a/patches/gcc/4.2.4/240-arm-bigendian.patch b/patches/gcc/4.2.4/240-arm-bigendian.patch
deleted file mode 100644
index 2abeccd..0000000
--- a/patches/gcc/4.2.4/240-arm-bigendian.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -durN gcc-4.2.1.orig/gcc/config/arm/linux-elf.h gcc-4.2.1/gcc/config/arm/linux-elf.h
---- gcc-4.2.1.orig/gcc/config/arm/linux-elf.h 2006-02-17 00:29:10.000000000 +0100
-+++ gcc-4.2.1/gcc/config/arm/linux-elf.h 2007-08-03 20:36:43.000000000 +0200
-@@ -28,19 +28,33 @@
- #undef TARGET_VERSION
- #define TARGET_VERSION fputs (" (ARM GNU/Linux with ELF)", stderr);
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#define TARGET_ENDIAN_OPTION "mbig-endian"
-+#define TARGET_LINKER_EMULATION "armelfb_linux"
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#define TARGET_ENDIAN_OPTION "mlittle-endian"
-+#define TARGET_LINKER_EMULATION "armelf_linux"
-+#endif
-+
- #undef TARGET_DEFAULT_FLOAT_ABI
- #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD
-
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT (0)
-+#define TARGET_DEFAULT (TARGET_ENDIAN_DEFAULT)
-
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm6
-
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux -p"
-+#define SUBTARGET_EXTRA_LINK_SPEC " -m " TARGET_LINKER_EMULATION " -p"
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
-
- /* Now we define the strings used to build the spec file. */
- #undef LIB_SPEC
-@@ -61,7 +75,7 @@
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker " LINUX_DYNAMIC_LINKER "} \
- -X \
-- %{mbig-endian:-EB}" \
-+ %{mbig-endian:-EB} %{mlittle-endian:-EL}" \
- SUBTARGET_EXTRA_LINK_SPEC
-
- #undef LINK_SPEC
-diff -durN gcc-4.2.1.orig/gcc/config.gcc gcc-4.2.1/gcc/config.gcc
---- gcc-4.2.1.orig/gcc/config.gcc 2007-08-03 20:29:52.000000000 +0200
-+++ gcc-4.2.1/gcc/config.gcc 2007-08-03 20:36:43.000000000 +0200
-@@ -705,6 +705,11 @@
- tm_file="dbxelf.h elfos.h linux.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
- tmake_file="${tmake_file} t-linux arm/t-arm"
- case ${target} in
-+ arm*b-*)
-+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
-+ ;;
-+ esac
-+ case ${target} in
- arm*-*-linux-*eabi)
- 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"
diff --git a/patches/gcc/4.2.4/241-arm-bigendian2.patch b/patches/gcc/4.2.4/241-arm-bigendian2.patch
deleted file mode 100644
index 9b9c131..0000000
--- a/patches/gcc/4.2.4/241-arm-bigendian2.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org> wrote:
-
-I tried to use crosstool-ng to generate a toolchain for Linux on big
-endian arm with recent versions of gcc, glibc, etc... but had a few
-problems.
-
-It appears that the gcc patch (for gcc 4.2.x)
-for big-endian arm (240-arm-bigendian.patch) lacks the change attached
-to this mail as 240-arm-bigendian2.patch.
-
---- gcc-4.2.4/gcc/config/arm/bpabi.h~ 2007-09-01 17:28:30.000000000 +0200
-+++ gcc-4.2.4/gcc/config/arm/bpabi.h 2009-01-05 19:19:10.000000000 +0100
-@@ -32,9 +32,19 @@
- #undef FPUTYPE_DEFAULT
- #define FPUTYPE_DEFAULT FPUTYPE_VFP
-
-+/*
-+ * 'config.gcc' defines TARGET_BIG_ENDIAN_DEFAULT as 1 for arm*b-*
-+ * (big endian) configurations.
-+ */
-+#if TARGET_BIG_ENDIAN_DEFAULT
-+#define TARGET_ENDIAN_DEFAULT MASK_BIG_END
-+#else
-+#define TARGET_ENDIAN_DEFAULT 0
-+#endif
-+
- /* EABI targets should enable interworking by default. */
- #undef TARGET_DEFAULT
--#define TARGET_DEFAULT MASK_INTERWORK
-+#define TARGET_DEFAULT (MASK_INTERWORK | TARGET_ENDIAN_DEFAULT)
-
- /* The ARM BPABI functions return a boolean; they use no special
- calling convention. */
diff --git a/patches/gcc/4.2.4/250-softfloat-fix.patch b/patches/gcc/4.2.4/250-softfloat-fix.patch
deleted file mode 100644
index 3517856..0000000
--- a/patches/gcc/4.2.4/250-softfloat-fix.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-This patch (C) 2007 Yann E. MORIN
-Licensed under GPL v2.
-
-First hunk of this patch solves compiling uClibc:
-
-make[1]: Entering directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
- LD libuClibc-0.9.29.so
-libc/libc_so.a(difftime.os): In function `difftime':
-difftime.c:(.text+0x8): undefined reference to `__floatsidf'
-difftime.c:(.text+0x2c): undefined reference to `__subdf3'
-libc/libc_so.a(_fpmaxtostr.os): In function `_fpmaxtostr':
-_fpmaxtostr.c:(.text+0xd4): undefined reference to `__nedf2'
-_fpmaxtostr.c:(.text+0xf8): undefined reference to `__eqdf2'
-_fpmaxtostr.c:(.text+0x114): undefined reference to `__divdf3'
-_fpmaxtostr.c:(.text+0x120): undefined reference to `__ltdf2'
-_fpmaxtostr.c:(.text+0x1c4): undefined reference to `__muldf3'
-_fpmaxtostr.c:(.text+0x388): undefined reference to `__gedf2'
-_fpmaxtostr.c:(.text+0x430): undefined reference to `__adddf3'
-libc/libc_so.a(__psfs_do_numeric.os): In function `__psfs_do_numeric':
-__psfs_do_numeric.c:(.text+0x520): undefined reference to `__truncdfsf2'
-libc/libc_so.a(strtof.os): In function `strtof':
-strtof.c:(.text+0x1c): undefined reference to `__extendsfdf2'
-/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/cc_core_prefix/lib/gcc/arm-linux-uclibc/4.1.1/libgcc.a(_fixunsdfsi.o):
-In function `__fixunsdfsi':
-libgcc2.c:(.text+0x34): undefined reference to `__fixdfsi'
-make[2]: *** [lib/libc.so] Error 1
-make[1]: *** [lib/libc.so.0] Error 2
-make[1]: Leaving directory `/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc'
-make: *** [/home/ymorin/x-tools/build/armeb-unknown-linux-uclibc/gcc-4.1.1-uClibc-0.9.28.1/build-libc/lib/libc.a]
-Error 2
-
-The second hunk fixes building final gcc because soft-float implies using -lfloat (which we don't have).
-
-
-diff -dur gcc-4.2.0.orig/gcc/config.gcc gcc-4.2.0/gcc/config.gcc
---- gcc-4.2.0.orig/gcc/config.gcc 2007-07-15 11:24:18.000000000 +0200
-+++ gcc-4.2.0/gcc/config.gcc 2007-07-15 11:26:02.000000000 +0200
-@@ -721,7 +721,7 @@
- default_use_cxa_atexit=yes
- ;;
- *)
-- tmake_file="$tmake_file arm/t-linux"
-+ tmake_file="$tmake_file arm/t-linux arm/t-arm-elf"
- ;;
- esac
- tm_file="$tm_file arm/aout.h arm/arm.h"
-diff -dur gcc-4.2.0.orig/gcc/config/arm/linux-elf.h gcc-4.2.0/gcc/config/arm/linux-elf.h
---- gcc-4.2.0.orig/gcc/config/arm/linux-elf.h 2007-07-15 11:24:18.000000000 +0200
-+++ gcc-4.2.0/gcc/config/arm/linux-elf.h 2007-07-15 11:26:02.000000000 +0200
-@@ -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"
-
diff --git a/patches/gcc/4.2.4/260-flatten-switch-stmt-00.patch b/patches/gcc/4.2.4/260-flatten-switch-stmt-00.patch
deleted file mode 100644
index 6c40c57..0000000
--- a/patches/gcc/4.2.4/260-flatten-switch-stmt-00.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -durN gcc-4.2.1.orig/gcc/stmt.c gcc-4.2.1/gcc/stmt.c
---- gcc-4.2.1.orig/gcc/stmt.c 2007-07-19 05:25:32.000000000 +0200
-+++ gcc-4.2.1/gcc/stmt.c 2007-08-03 20:37:19.000000000 +0200
-@@ -2512,7 +2512,11 @@
- use_cost_table
- = (TREE_CODE (orig_type) != ENUMERAL_TYPE
- && estimate_case_costs (case_list));
-- balance_case_nodes (&case_list, NULL);
-+ /* When optimizing for size, we want a straight list to avoid
-+ jumps as much as possible. This basically creates an if-else
-+ chain. */
-+ if (!optimize_size)
-+ balance_case_nodes (&case_list, NULL);
- emit_case_nodes (index, case_list, default_label, index_type);
- emit_jump (default_label);
- }
-@@ -3070,6 +3074,7 @@
- {
- if (!node_has_low_bound (node, index_type))
- {
-+ if (!optimize_size) /* don't jl to the .default_label. */
- emit_cmp_and_jump_insns (index,
- convert_modes
- (mode, imode,
diff --git a/patches/gcc/4.2.4/270-soft-float.patch b/patches/gcc/4.2.4/270-soft-float.patch
deleted file mode 100644
index 4287bfa..0000000
--- a/patches/gcc/4.2.4/270-soft-float.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -uNpr gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c
---- gcc-4.2.1_orig/gcc/config/rs6000/darwin-ldouble.c 2007-03-05 11:54:00.000000000 -0500
-+++ gcc-4.2.1/gcc/config/rs6000/darwin-ldouble.c 2008-01-31 17:51:24.000000000 -0500
-@@ -70,6 +70,8 @@ Software Foundation, 51 Franklin Street,
- but GCC currently generates poor code when a union is used to turn
- a long double into a pair of doubles. */
-
-+#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
-+
- long double __gcc_qadd (double, double, double, double);
- long double __gcc_qsub (double, double, double, double);
- long double __gcc_qmul (double, double, double, double);
-@@ -219,8 +221,6 @@ __gcc_qdiv (double a, double b, double c
- return z.ldval;
- }
-
--#if defined (_SOFT_FLOAT) && defined (__LONG_DOUBLE_128__)
--
- long double __gcc_qneg (double, double);
- int __gcc_qeq (double, double, double, double);
- int __gcc_qne (double, double, double, double);
diff --git a/patches/gcc/4.2.4/280-eabi_fixes.patch b/patches/gcc/4.2.4/280-eabi_fixes.patch
deleted file mode 100644
index 7dce608..0000000
--- a/patches/gcc/4.2.4/280-eabi_fixes.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -durN gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h gcc-4.2.3/gcc/config/arm/linux-eabi.h
---- gcc-4.2.3.orig/gcc/config/arm/linux-eabi.h 2007-09-01 17:28:30.000000000 +0200
-+++ gcc-4.2.3/gcc/config/arm/linux-eabi.h 2008-05-25 23:47:36.000000000 +0200
-@@ -47,7 +47,8 @@
- #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
-
- #undef SUBTARGET_EXTRA_LINK_SPEC
--#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
-+#define SUBTARGET_EXTRA_LINK_SPEC \
-+ " %{mlittle-endian:-m armelf_linux_eabi} %{mbig-endian:-m armelfb_linux_eabi}"
-
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
- GNU/Linux binaries on an EABI system. */
diff --git a/patches/gcc/4.2.4/290-alpha-signal_h.patch b/patches/gcc/4.2.4/290-alpha-signal_h.patch
deleted file mode 100644
index d7e1796..0000000
--- a/patches/gcc/4.2.4/290-alpha-signal_h.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- gcc-4.2.1-stock/gcc/config/alpha/linux-unwind.h 2005-06-24 20:22:41.000000000 -0500
-+++ gcc-4.2.1/gcc/config/alpha/linux-unwind.h 2007-09-01 20:21:34.000000000 -0500
-@@ -29,6 +29,9 @@ Boston, MA 02110-1301, USA. */
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-+/* Don't use this if inhibit_libc is set
-+ The build for this target will fail trying to include missing headers */
-+#ifndef inhibit_libc
- #include <signal.h>
- #include <sys/ucontext.h>
-
-@@ -80,3 +83,4 @@ alpha_fallback_frame_state (struct _Unwi
- fs->retaddr_column = 64;
- return _URC_NO_REASON;
- }
-+#endif /* inhibit_libc */
diff --git a/patches/gcc/4.2.4/300-fortran-signed-TImode.patch b/patches/gcc/4.2.4/300-fortran-signed-TImode.patch
deleted file mode 100644
index 01e2f01..0000000
--- a/patches/gcc/4.2.4/300-fortran-signed-TImode.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Fix building gfortran for ARM.
-http://gcc.gnu.org/ml/gcc-patches/2007-05/msg01010.html
-----
-
-The patch below fixes a crash building libgfortran on arm-linux-gnueabi.
-
-This target doesn't really have a 128-bit integer type, however it does use
-TImode to represent the return value of certain special ABI defined library
-functions. This results in type_for_size(TImode) being called.
-
-Because TImode deosn't correspond to any gfortran integer kind
-gfc_type_for_size returns NULL and we segfault shortly after.
-
-The patch below fixes this by making gfc_type_for_size handle TImode in the
-same way as the C frontend.
-
-Tested on x86_64-linux and arm-linux-gnueabi.
-Applied to trunk.
-
-Paul
-
-2007-05-15 Paul Brook <paul@codesourcery.com>
-
- gcc/fortran/
- * trans-types.c (gfc_type_for_size): Handle signed TImode.
-
-diff -durN gcc-4.2.3.old/gcc/fortran/trans-types.c gcc-4.2.3/gcc/fortran/trans-types.c
---- gcc-4.2.3.old/gcc/fortran/trans-types.c 2007-08-31 10:27:50.000000000 +0200
-+++ gcc-4.2.3/gcc/fortran/trans-types.c 2008-07-17 09:54:20.000000000 +0200
-@@ -1799,6 +1799,13 @@
- if (type && bits == TYPE_PRECISION (type))
- return type;
- }
-+
-+ /* Handle TImode as a special case because it is used by some backends
-+ (eg. ARM) even though it is not available for normal use. */
-+#if HOST_BITS_PER_WIDE_INT >= 64
-+ if (bits == TYPE_PRECISION (intTI_type_node))
-+ return intTI_type_node;
-+#endif
- }
- else
- {
diff --git a/patches/gcc/4.2.4/310-sh-without-headers.patch b/patches/gcc/4.2.4/310-sh-without-headers.patch
deleted file mode 100644
index 07ddb65..0000000
--- a/patches/gcc/4.2.4/310-sh-without-headers.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-On 20081011, Khem RAJ writes:
- You have to bar gcc trying to build unwinding at stage 1. Try the
- attached patch and see if it helps.
-
- gcc/config/sh/linux-unwind.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: gcc-4_2-branch/gcc/config/sh/linux-unwind.h
-===================================================================
---- gcc-4_2-branch.orig/gcc/config/sh/linux-unwind.h 2008-07-01 17:24:40.000000000 -0700
-+++ gcc-4_2-branch/gcc/config/sh/linux-unwind.h 2008-07-01 17:25:47.000000000 -0700
-@@ -26,6 +26,8 @@ along with this program; see the file CO
- the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-+#ifndef inhibit_libc
-+
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-@@ -251,3 +253,4 @@ sh_fallback_frame_state (struct _Unwind_
- return _URC_NO_REASON;
- }
- #endif /* defined (__SH5__) */
-+#endif /* ifndef inhibit_libc */
-
diff --git a/patches/gcc/4.2.4/320-libgcc_eh.a.patch b/patches/gcc/4.2.4/320-libgcc_eh.a.patch
deleted file mode 100644
index 909db3a..0000000
--- a/patches/gcc/4.2.4/320-libgcc_eh.a.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Vampirised from:
- http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
-
-diff -durN gcc-4.2.2.orig/gcc/mklibgcc.in gcc-4.2.2/gcc/mklibgcc.in
---- gcc-4.2.2.orig/gcc/mklibgcc.in 2006-07-04 22:20:01.000000000 +0200
-+++ gcc-4.2.2/gcc/mklibgcc.in 2011-08-31 16:24:03.674690016 +0200
-@@ -223,8 +223,8 @@
- if [ "$LIBUNWIND" ]; then
- libunwind_a=$dir/libunwind.a
- fi
-+ libgcc_eh_a=$dir/libgcc_eh.a
- if [ "$SHLIB_LINK" ]; then
-- libgcc_eh_a=$dir/libgcc_eh.a
- libgcc_s_so=$dir/libgcc_s${SHLIB_EXT}
- if [ "$LIBUNWIND" ]; then
- libunwind_so=$dir/libunwind${SHLIB_EXT}
-@@ -889,11 +889,11 @@
- echo ' chmod 644' ${ldir}/libgcov.a
- echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcov.a
-
-- if [ "$SHLIB_LINK" ]; then
-- echo ' $(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
-- echo ' chmod 644' ${ldir}/libgcc_eh.a
-- echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
-+ echo ' $(INSTALL_DATA)' ${dir}/libgcc_eh.a ${ldir}/
-+ echo ' chmod 644' ${ldir}/libgcc_eh.a
-+ echo ' $(RANLIB_FOR_TARGET)' ${ldir}/libgcc_eh.a
-
-+ if [ "$SHLIB_LINK" ]; then
- shlib_slibdir_qual=
- os_multilib_dir=`$GCC_FOR_TARGET $flags --print-multi-os-directory`
- if [ "$os_multilib_dir" != . ]; then
diff --git a/patches/gcc/4.3.6/100-alpha-mieee-default.patch b/patches/gcc/4.3.6/100-alpha-mieee-default.patch
deleted file mode 100644
index 945019d..0000000
--- a/patches/gcc/4.3.6/100-alpha-mieee-default.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Original patch from: ../4.3.2/100-alpha-mieee-default.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-4.1-alpha-mieee-default.patch
-Set the default behavior on alpha to use -mieee since the large majority of
-time we want this (bad/weird things can happen with packages built without
--mieee).
-
-To satisfy those people who may not want -mieee forced on them all the time,
-we also provide -mno-ieee.
-
-Patch by Mike Frysinger <vapier@gentoo.org>
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.h gcc-4.3.3/gcc/config/alpha/alpha.h
---- gcc-4.3.3.orig/gcc/config/alpha/alpha.h 2007-12-06 14:25:37.000000000 +0100
-+++ gcc-4.3.3/gcc/config/alpha/alpha.h 2009-01-27 22:19:02.000000000 +0100
-@@ -95,6 +95,8 @@
- while (0)
- #endif
-
-+#define CPP_SPEC "%{!no-ieee:-mieee}"
-+
- #define WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
-
-diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.opt gcc-4.3.3/gcc/config/alpha/alpha.opt
---- gcc-4.3.3.orig/gcc/config/alpha/alpha.opt 2007-08-02 12:49:31.000000000 +0200
-+++ gcc-4.3.3/gcc/config/alpha/alpha.opt 2009-01-27 22:19:02.000000000 +0100
-@@ -39,7 +39,7 @@
- Request IEEE-conformant math library routines (OSF/1)
-
- mieee
--Target Report RejectNegative Mask(IEEE)
-+Target Report Mask(IEEE)
- Emit IEEE-conformant code, without inexact exceptions
-
- mieee-with-inexact
diff --git a/patches/gcc/4.3.6/110-trampolinewarn.patch b/patches/gcc/4.3.6/110-trampolinewarn.patch
deleted file mode 100644
index 43ab217..0000000
--- a/patches/gcc/4.3.6/110-trampolinewarn.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Original patch from: ../4.3.2/110-trampolinewarn.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/00_all_gcc-trampolinewarn.patch
- This trivial patch causes gcc to emit a warning whenever
- it generates a trampoline. These are otherwise hard to
- locate. It is rigged to default ON - to have it default
- to OFF remove the text 'Init(1)' from the common.opt
- patch, leaving just 'Common Var(warn_trampolines)'.
- Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/builtins.c gcc-4.3.3/gcc/builtins.c
---- gcc-4.3.3.orig/gcc/builtins.c 2008-08-19 18:37:13.000000000 +0200
-+++ gcc-4.3.3/gcc/builtins.c 2009-01-27 22:19:12.000000000 +0100
-@@ -5662,6 +5662,9 @@
- trampolines_created = 1;
- INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
-
-+ if (warn_trampolines)
-+ warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
-+
- return const0_rtx;
- }
-
-diff -durN gcc-4.3.3.orig/gcc/common.opt gcc-4.3.3/gcc/common.opt
---- gcc-4.3.3.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
-+++ gcc-4.3.3/gcc/common.opt 2009-01-27 22:19:12.000000000 +0100
-@@ -182,6 +182,10 @@
- Common Var(warn_system_headers) Warning
- Do not suppress warnings from system headers
-
-+Wtrampolines
-+Common Var(warn_trampolines) Init(1)
-+Warn whenever a trampoline is generated
-+
- Wuninitialized
- Common Var(warn_uninitialized) Warning
- Warn about uninitialized automatic variables
diff --git a/patches/gcc/4.3.6/120-java-nomulti.patch b/patches/gcc/4.3.6/120-java-nomulti.patch
deleted file mode 100644
index 47b813e..0000000
--- a/patches/gcc/4.3.6/120-java-nomulti.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Original patch from: ../4.3.2/120-java-nomulti.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/03_all_gcc43-java-nomulti.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libjava/configure gcc-4.3.3/libjava/configure
---- gcc-4.3.3.orig/libjava/configure 2009-01-24 11:32:29.000000000 +0100
-+++ gcc-4.3.3/libjava/configure 2009-01-27 22:19:14.000000000 +0100
-@@ -1018,6 +1018,8 @@
- --enable-gconf-peer compile GConf native peers for util.preferences
- --enable-java-maintainer-mode
- allow rebuilding of .class and .h files
-+ --enable-libjava-multilib
-+ build libjava as multilib
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-maintainer-mode enable make rules and dependencies not useful
-@@ -1850,6 +1852,16 @@
- fi
-
-
-+# Check whether --enable-libjava-multilib was given.
-+if test "${enable_libjava_multilib+set}" = set; then
-+ enableval=$enable_libjava_multilib;
-+fi
-+
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
-
-
-diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
---- gcc-4.3.3.orig/libjava/configure.ac 2008-07-02 23:23:43.000000000 +0200
-+++ gcc-4.3.3/libjava/configure.ac 2009-01-27 22:19:14.000000000 +0100
-@@ -82,6 +82,13 @@
- [allow rebuilding of .class and .h files]))
- AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
-
-+AC_ARG_ENABLE(libjava-multilib,
-+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
- GCC_NO_EXECUTABLES
-
diff --git a/patches/gcc/4.3.6/130-cross-compile.patch b/patches/gcc/4.3.6/130-cross-compile.patch
deleted file mode 100644
index e265998..0000000
--- a/patches/gcc/4.3.6/130-cross-compile.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-Original patch from: ../4.3.2/130-cross-compile.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/08_all_gcc-4.1-cross-compile.patch
-Some notes on the 'bootstrap with or without libc headers' debate:
-http://linuxfromscratch.org/pipermail/lfs-dev/2005-July/052409.html
-http://gcc.gnu.org/ml/gcc/2005-07/msg01195.html
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
---- gcc-4.3.3.orig/gcc/configure 2008-08-01 11:51:03.000000000 +0200
-+++ gcc-4.3.3/gcc/configure 2009-01-27 22:19:16.000000000 +0100
-@@ -13442,7 +13442,7 @@
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
-diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
---- gcc-4.3.3.orig/gcc/configure.ac 2008-08-01 11:51:03.000000000 +0200
-+++ gcc-4.3.3/gcc/configure.ac 2009-01-27 22:19:16.000000000 +0100
-@@ -1749,7 +1749,7 @@
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
-diff -durN gcc-4.3.3.orig/gcc/unwind-dw2.c gcc-4.3.3/gcc/unwind-dw2.c
---- gcc-4.3.3.orig/gcc/unwind-dw2.c 2008-09-25 00:44:28.000000000 +0200
-+++ gcc-4.3.3/gcc/unwind-dw2.c 2009-01-27 22:19:16.000000000 +0100
-@@ -334,9 +334,11 @@
- }
- #endif
-
-+#ifndef inhibit_libc
- #ifdef MD_UNWIND_SUPPORT
- #include MD_UNWIND_SUPPORT
- #endif
-+#endif
-
- /* Extract any interesting information from the CIE for the translation
- unit F belongs to. Return a pointer to the byte after the augmentation,
diff --git a/patches/gcc/4.3.6/140-netbsd-symbolic.patch b/patches/gcc/4.3.6/140-netbsd-symbolic.patch
deleted file mode 100644
index a899dd6..0000000
--- a/patches/gcc/4.3.6/140-netbsd-symbolic.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Original patch from: ../4.3.2/140-netbsd-symbolic.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/11_all_gcc-netbsd-symbolic.patch
-http://bugs.gentoo.org/122698
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/netbsd-elf.h gcc-4.3.3/gcc/config/netbsd-elf.h
---- gcc-4.3.3.orig/gcc/config/netbsd-elf.h 2007-09-03 18:14:04.000000000 +0200
-+++ gcc-4.3.3/gcc/config/netbsd-elf.h 2009-01-27 22:19:18.000000000 +0100
-@@ -82,6 +82,7 @@
- #define NETBSD_LINK_SPEC_ELF \
- "%{assert*} %{R*} %{rpath*} \
- %{shared:-shared} \
-+ %{symbolic:-Bsymbolic} \
- %{!shared: \
- -dc -dp \
- %{!nostdlib: \
diff --git a/patches/gcc/4.3.6/150-sparc64-bsd.patch b/patches/gcc/4.3.6/150-sparc64-bsd.patch
deleted file mode 100644
index 233a763..0000000
--- a/patches/gcc/4.3.6/150-sparc64-bsd.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Original patch from: ../4.3.2/150-sparc64-bsd.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/14_all_gcc-sparc64-bsd.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/sparc/freebsd.h gcc-4.3.3/gcc/config/sparc/freebsd.h
---- gcc-4.3.3.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
-+++ gcc-4.3.3/gcc/config/sparc/freebsd.h 2009-01-27 22:19:20.000000000 +0100
-@@ -25,9 +25,22 @@
- /* FreeBSD needs the platform name (sparc64) defined.
- Emacs needs to know if the arch is 64 or 32-bits. */
-
--#undef CPP_CPU64_DEFAULT_SPEC
--#define CPP_CPU64_DEFAULT_SPEC \
-- "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
-+#undef FBSD_TARGET_CPU_CPP_BUILTINS
-+#define FBSD_TARGET_CPU_CPP_BUILTINS() \
-+ do \
-+ { \
-+ if (TARGET_ARCH64) \
-+ { \
-+ builtin_define ("__sparc64__"); \
-+ builtin_define ("__sparc_v9__"); \
-+ builtin_define ("__sparcv9"); \
-+ } \
-+ else \
-+ builtin_define ("__sparc"); \
-+ builtin_define ("__sparc__"); \
-+ } \
-+ while (0)
-+
-
- #define LINK_SPEC "%(link_arch) \
- %{!mno-relax:%{!r:-relax}} \
diff --git a/patches/gcc/4.3.6/160-flatten-switch-stmt-00.patch b/patches/gcc/4.3.6/160-flatten-switch-stmt-00.patch
deleted file mode 100644
index 82acfbc..0000000
--- a/patches/gcc/4.3.6/160-flatten-switch-stmt-00.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-Original patch from: ../4.3.2/160-flatten-switch-stmt-00.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/18_all_904-flatten-switch-stmt-00.patch
-http://gcc.gnu.org/ml/gcc-patches/2007-04/msg00927.html
-
-Hi,
-
-The attached patch makes sure that we create smaller object code for
-simple switch statements. We just make sure to flatten the switch
-statement into an if-else chain, basically.
-
-This fixes a size-regression as compared to gcc-3.4, as can be seen
-below.
-
-2007-04-15 Bernhard Fischer <..>
-
- * stmt.c (expand_case): Do not create a complex binary tree when
- optimizing for size but rather use the simple ordered list.
- (emit_case_nodes): do not emit jumps to the default_label when
- optimizing for size.
-
-Not regtested so far.
-Comments?
-
-Attached is the test switch.c mentioned below.
-
-$ 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
-gcc-$i -DCHAIN -Os -o switch-CHAIN-$i.o -c switch.c ;done
-$ 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
-gcc-$i -UCHAIN -Os -o switch-$i.o -c switch.c ;done
-
-$ size switch-*.o
- text data bss dec hex filename
- 169 0 0 169 a9 switch-2.95.o
- 115 0 0 115 73 switch-3.3.o
- 103 0 0 103 67 switch-3.4.o
- 124 0 0 124 7c switch-4.0.o
- 124 0 0 124 7c switch-4.1.o
- 124 0 0 124 7c switch-4.2.orig-HEAD.o
- 95 0 0 95 5f switch-4.3-HEAD.o
- 124 0 0 124 7c switch-4.3.orig-HEAD.o
- 166 0 0 166 a6 switch-CHAIN-2.95.o
- 111 0 0 111 6f switch-CHAIN-3.3.o
- 95 0 0 95 5f switch-CHAIN-3.4.o
- 95 0 0 95 5f switch-CHAIN-4.0.o
- 95 0 0 95 5f switch-CHAIN-4.1.o
- 95 0 0 95 5f switch-CHAIN-4.2.orig-HEAD.o
- 95 0 0 95 5f switch-CHAIN-4.3-HEAD.o
- 95 0 0 95 5f switch-CHAIN-4.3.orig-HEAD.o
-
-
-Content-Type: text/x-diff; charset=us-ascii
-Content-Disposition: attachment; filename="gcc-4.3.gcc-flatten-switch-stmt.00.diff"
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/stmt.c gcc-4.3.3/gcc/stmt.c
---- gcc-4.3.3.orig/gcc/stmt.c 2008-05-09 20:12:13.000000000 +0200
-+++ gcc-4.3.3/gcc/stmt.c 2009-01-27 22:19:28.000000000 +0100
-@@ -2509,7 +2509,11 @@
- use_cost_table
- = (TREE_CODE (orig_type) != ENUMERAL_TYPE
- && estimate_case_costs (case_list));
-- balance_case_nodes (&case_list, NULL);
-+ /* When optimizing for size, we want a straight list to avoid
-+ jumps as much as possible. This basically creates an if-else
-+ chain. */
-+ if (!optimize_size)
-+ balance_case_nodes (&case_list, NULL);
- emit_case_nodes (index, case_list, default_label, index_type);
- emit_jump (default_label);
- }
-@@ -3067,6 +3071,7 @@
- {
- if (!node_has_low_bound (node, index_type))
- {
-+ if (!optimize_size) /* don't jl to the .default_label. */
- emit_cmp_and_jump_insns (index,
- convert_modes
- (mode, imode,
diff --git a/patches/gcc/4.3.6/170-libiberty-pic.patch b/patches/gcc/4.3.6/170-libiberty-pic.patch
deleted file mode 100644
index 00789d0..0000000
--- a/patches/gcc/4.3.6/170-libiberty-pic.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Original patch from: ../4.3.2/170-libiberty-pic.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/51_all_gcc-3.4-libiberty-pic.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libiberty/Makefile.in gcc-4.3.3/libiberty/Makefile.in
---- gcc-4.3.3.orig/libiberty/Makefile.in 2007-07-25 08:26:45.000000000 +0200
-+++ gcc-4.3.3/libiberty/Makefile.in 2009-01-27 22:19:30.000000000 +0100
-@@ -225,6 +225,7 @@
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
- $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
- $(RANLIB) $(TARGETLIB); \
-+ cp $(TARGETLIB) ../ ; \
- cd ..; \
- else true; fi
-
diff --git a/patches/gcc/4.3.6/180-superh-default-multilib.patch b/patches/gcc/4.3.6/180-superh-default-multilib.patch
deleted file mode 100644
index a419377..0000000
--- a/patches/gcc/4.3.6/180-superh-default-multilib.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Original patch from: ../4.3.2/180-superh-default-multilib.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
-The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
-you have to actually list out the multilibs you want or you will end up with
-just one when using targets like 'sh4-linux-gnu'.
-
-The resulting toolchain can't even build a kernel as the kernel needs to build
-with the nofpu flag to be sure that no fpu ops are generated.
-
-Here we restore the gcc-3.x behavior; the additional overhead of building all
-of these multilibs by default is negligible.
-
-http://bugs.gentoo.org/140205
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
---- gcc-4.3.3.orig/gcc/config.gcc 2008-11-20 18:09:53.000000000 +0100
-+++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:19:32.000000000 +0100
-@@ -2275,7 +2275,7 @@
- if test x${sh_multilibs} = x ; then
- case ${target} in
- sh64-superh-linux* | \
-- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
-+ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
- sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
- sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
- sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
diff --git a/patches/gcc/4.3.6/190-libstdc++-pic.patch b/patches/gcc/4.3.6/190-libstdc++-pic.patch
deleted file mode 100644
index f4bc602..0000000
--- a/patches/gcc/4.3.6/190-libstdc++-pic.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Original patch from: ../4.3.2/190-libstdc++-pic.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/54_all_300-libstdc++-pic.patch
-install libstdc++_pic.a if we have pic objs
-
--= END original header =-
-
-diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am gcc-4.3.5/libstdc++-v3/src/Makefile.am
---- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.am 2008-02-29 19:26:50.000000000 +0100
-+++ gcc-4.3.5/libstdc++-v3/src/Makefile.am 2010-09-19 18:58:40.000000000 +0200
-@@ -289,6 +289,13 @@
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-
-+install-exec-local:
-+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
-+ if [ x"$$pic_objs" != x ]; then \
-+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
-+ fi
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
-diff -durN gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in gcc-4.3.5/libstdc++-v3/src/Makefile.in
---- gcc-4.3.5.orig/libstdc++-v3/src/Makefile.in 2010-05-06 19:19:46.000000000 +0200
-+++ gcc-4.3.5/libstdc++-v3/src/Makefile.in 2010-09-19 19:01:43.000000000 +0200
-@@ -646,7 +646,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -685,7 +685,7 @@
- mostlyclean mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
- uninstall-am uninstall-info-am \
-- uninstall-toolexeclibLTLIBRARIES
-+ uninstall-toolexeclibLTLIBRARIES install-exec-local
-
-
- # Symbol versioning for shared libraries.
-@@ -811,6 +811,14 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
-+ if [ x"$$pic_objs" != x ]; then \
-+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
-+ fi
-+
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/patches/gcc/4.3.6/200-pr24170.patch b/patches/gcc/4.3.6/200-pr24170.patch
deleted file mode 100644
index e2bbc9e..0000000
--- a/patches/gcc/4.3.6/200-pr24170.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Original patch from: ../4.3.2/200-pr24170.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc43-pr24170.patch
-http://gcc.gnu.org/PR24170
-
-2008-02-20 Tom Tromey <tromey@redhat.com>
-
- PR libgcj/24170:
- * java/io/natFilePosix.cc (File::performList): Don't use
- readdir_r.
- * configure, include/config.h.in: Rebuilt.
- * configure.ac: Don't check for readdir_r.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libjava/configure.ac gcc-4.3.3/libjava/configure.ac
---- gcc-4.3.3.orig/libjava/configure.ac 2009-01-27 22:19:16.000000000 +0100
-+++ gcc-4.3.3/libjava/configure.ac 2009-01-27 22:19:36.000000000 +0100
-@@ -1030,7 +1030,7 @@
- PLATFORMNET=NoNet
- else
- AC_CHECK_FUNCS([strerror_r select fstat open fsync sleep opendir \
-- localtime_r readdir_r getpwuid_r getcwd \
-+ localtime_r getpwuid_r getcwd \
- access stat lstat mkdir rename rmdir unlink utime chmod readlink \
- nl_langinfo setlocale \
- inet_pton uname inet_ntoa \
-diff -durN gcc-4.3.3.orig/libjava/include/config.h.in gcc-4.3.3/libjava/include/config.h.in
---- gcc-4.3.3.orig/libjava/include/config.h.in 2007-07-31 18:17:21.000000000 +0200
-+++ gcc-4.3.3/libjava/include/config.h.in 2009-01-27 22:19:36.000000000 +0100
-@@ -214,9 +214,6 @@
- /* Define to 1 if you have the <pwd.h> header file. */
- #undef HAVE_PWD_H
-
--/* Define to 1 if you have the `readdir_r' function. */
--#undef HAVE_READDIR_R
--
- /* Define to 1 if you have the `readlink' function. */
- #undef HAVE_READLINK
-
-diff -durN gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc gcc-4.3.3/libjava/java/io/natFilePosix.cc
---- gcc-4.3.3.orig/libjava/java/io/natFilePosix.cc 2007-08-04 23:50:01.000000000 +0200
-+++ gcc-4.3.3/libjava/java/io/natFilePosix.cc 2009-01-27 22:19:36.000000000 +0100
-@@ -1,6 +1,6 @@
- // natFile.cc - Native part of File class for POSIX.
-
--/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006
-+/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2008
- Free Software Foundation
-
- This file is part of libgcj.
-@@ -292,13 +292,7 @@
-
- java::util::ArrayList *list = new java::util::ArrayList ();
- struct dirent *d;
--#if defined(HAVE_READDIR_R) && defined(_POSIX_PTHREAD_SEMANTICS)
-- int name_max = pathconf (buf, _PC_NAME_MAX);
-- char dbuf[sizeof (struct dirent) + name_max + 1];
-- while (readdir_r (dir, (struct dirent *) dbuf, &d) == 0 && d != NULL)
--#else /* HAVE_READDIR_R */
- while ((d = readdir (dir)) != NULL)
--#endif /* HAVE_READDIR_R */
- {
- // Omit "." and "..".
- if (d->d_name[0] == '.'
diff --git a/patches/gcc/4.3.6/210-noteGNUstack-00.patch b/patches/gcc/4.3.6/210-noteGNUstack-00.patch
deleted file mode 100644
index 84c6424..0000000
--- a/patches/gcc/4.3.6/210-noteGNUstack-00.patch
+++ /dev/null
@@ -1,101 +0,0 @@
-Original patch from: ../4.3.2/210-noteGNUstack-00.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/61_all_gcc4-ia64-noteGNUstack.patch
-2004-09-20 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/ppc-asm.h: Add .note.GNU-stack section also
- on ppc64-linux.
-
- * config/ia64/lib1funcs.asm: Add .note.GNU-stack section on
- ia64-linux.
- * config/ia64/crtbegin.asm: Likewise.
- * config/ia64/crtend.asm: Likewise.
- * config/ia64/crti.asm: Likewise.
- * config/ia64/crtn.asm: Likewise.
-
-2004-05-14 Jakub Jelinek <jakub@redhat.com>
-
- * config/ia64/linux.h (TARGET_ASM_FILE_END): Define.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm gcc-4.3.3/gcc/config/ia64/crtbegin.asm
---- gcc-4.3.3.orig/gcc/config/ia64/crtbegin.asm 2005-09-27 02:52:24.000000000 +0200
-+++ gcc-4.3.3/gcc/config/ia64/crtbegin.asm 2009-01-27 22:19:39.000000000 +0100
-@@ -255,3 +255,7 @@
- .weak __cxa_finalize
- #endif
- .weak _Jv_RegisterClasses
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtend.asm gcc-4.3.3/gcc/config/ia64/crtend.asm
---- gcc-4.3.3.orig/gcc/config/ia64/crtend.asm 2005-09-27 02:52:24.000000000 +0200
-+++ gcc-4.3.3/gcc/config/ia64/crtend.asm 2009-01-27 22:19:39.000000000 +0100
-@@ -122,3 +122,7 @@
-
- br.ret.sptk.many rp
- .endp __do_global_ctors_aux
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/crti.asm gcc-4.3.3/gcc/config/ia64/crti.asm
---- gcc-4.3.3.orig/gcc/config/ia64/crti.asm 2005-06-25 03:22:41.000000000 +0200
-+++ gcc-4.3.3/gcc/config/ia64/crti.asm 2009-01-27 22:19:39.000000000 +0100
-@@ -64,3 +64,7 @@
- .body
-
- # end of crti.asm
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/crtn.asm gcc-4.3.3/gcc/config/ia64/crtn.asm
---- gcc-4.3.3.orig/gcc/config/ia64/crtn.asm 2005-06-25 03:22:41.000000000 +0200
-+++ gcc-4.3.3/gcc/config/ia64/crtn.asm 2009-01-27 22:19:39.000000000 +0100
-@@ -54,3 +54,7 @@
- br.ret.sptk.many b0
-
- # end of crtn.asm
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm gcc-4.3.3/gcc/config/ia64/lib1funcs.asm
---- gcc-4.3.3.orig/gcc/config/ia64/lib1funcs.asm 2005-09-27 02:52:24.000000000 +0200
-+++ gcc-4.3.3/gcc/config/ia64/lib1funcs.asm 2009-01-27 22:19:39.000000000 +0100
-@@ -792,3 +792,7 @@
- }
- .endp __floattitf
- #endif
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.3.3.orig/gcc/config/ia64/linux.h gcc-4.3.3/gcc/config/ia64/linux.h
---- gcc-4.3.3.orig/gcc/config/ia64/linux.h 2006-12-12 16:15:19.000000000 +0100
-+++ gcc-4.3.3/gcc/config/ia64/linux.h 2009-01-27 22:19:39.000000000 +0100
-@@ -5,6 +5,8 @@
-
- #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
-
-+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-+
- /* This is for -profile to use -lc_p instead of -lc. */
- #undef CC1_SPEC
- #define CC1_SPEC "%{profile:-p} %{G*}"
-diff -durN gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h gcc-4.3.3/gcc/config/rs6000/ppc-asm.h
---- gcc-4.3.3.orig/gcc/config/rs6000/ppc-asm.h 2003-06-04 18:44:51.000000000 +0200
-+++ gcc-4.3.3/gcc/config/rs6000/ppc-asm.h 2009-01-27 22:19:39.000000000 +0100
-@@ -158,7 +158,7 @@
- .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
- #endif
-
--#if defined __linux__ && !defined __powerpc64__
-+#if defined __linux__
- .section .note.GNU-stack
- .previous
- #endif
diff --git a/patches/gcc/4.3.6/220-noteGNUstack-01.patch b/patches/gcc/4.3.6/220-noteGNUstack-01.patch
deleted file mode 100644
index cb6e999..0000000
--- a/patches/gcc/4.3.6/220-noteGNUstack-01.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-Original patch from: ../4.3.2/220-noteGNUstack-01.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/62_all_gcc4-noteGNUstack.patch
-2005-02-08 Jakub Jelinek <jakub@redhat.com>
-
- * src/alpha/osf.S: Add .note.GNU-stack on Linux.
- * src/s390/sysv.S: Likewise.
- * src/powerpc/linux64.S: Likewise.
- * src/powerpc/linux64_closure.S: Likewise.
- * src/powerpc/ppc_closure.S: Likewise.
- * src/powerpc/sysv.S: Likewise.
- * src/x86/unix64.S: Likewise.
- * src/x86/sysv.S: Likewise.
- * src/sparc/v8.S: Likewise.
- * src/sparc/v9.S: Likewise.
- * src/m68k/sysv.S: Likewise.
- * src/ia64/unix.S: Likewise.
- * src/arm/sysv.S: Likewise.
-
- * ia64_save_regs_in_stack.s: Moved to...
- * ia64_save_regs_in_stack.S: ... this. Add .note.GNU-stack
- on Linux.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S
---- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.S 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.S 2009-01-27 22:25:27.000000000 +0100
-@@ -0,0 +1,15 @@
-+ .text
-+ .align 16
-+ .global GC_save_regs_in_stack
-+ .proc GC_save_regs_in_stack
-+GC_save_regs_in_stack:
-+ .bodyfoo.mpg
-+ flushrs
-+ ;;
-+ mov r8=ar.bsp
-+ br.ret.sptk.few rp
-+ .endp GC_save_regs_in_stack
-+
-+#ifdef __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s
---- gcc-4.3.3.orig/boehm-gc/ia64_save_regs_in_stack.s 2001-10-15 06:57:59.000000000 +0200
-+++ gcc-4.3.3/boehm-gc/ia64_save_regs_in_stack.s 1970-01-01 01:00:00.000000000 +0100
-@@ -1,12 +0,0 @@
-- .text
-- .align 16
-- .global GC_save_regs_in_stack
-- .proc GC_save_regs_in_stack
--GC_save_regs_in_stack:
-- .body
-- flushrs
-- ;;
-- mov r8=ar.bsp
-- br.ret.sptk.few rp
-- .endp GC_save_regs_in_stack
--
-diff -durN gcc-4.3.3.orig/libffi/src/alpha/osf.S gcc-4.3.3/libffi/src/alpha/osf.S
---- gcc-4.3.3.orig/libffi/src/alpha/osf.S 2007-04-06 18:24:16.000000000 +0200
-+++ gcc-4.3.3/libffi/src/alpha/osf.S 2009-01-27 22:25:27.000000000 +0100
-@@ -358,4 +358,8 @@
- .byte 16 # uleb128 offset 16*-8
- .align 3
- $LEFDE3:
-+
-+#ifdef __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
- #endif
-diff -durN gcc-4.3.3.orig/libffi/src/arm/sysv.S gcc-4.3.3/libffi/src/arm/sysv.S
---- gcc-4.3.3.orig/libffi/src/arm/sysv.S 2007-09-04 19:52:45.000000000 +0200
-+++ gcc-4.3.3/libffi/src/arm/sysv.S 2009-01-27 22:25:27.000000000 +0100
-@@ -293,3 +293,6 @@
- UNWIND .fnend
- .size CNAME(ffi_closure_SYSV),.ffi_closure_SYSV_end-CNAME(ffi_closure_SYSV)
-
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",%progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/ia64/unix.S gcc-4.3.3/libffi/src/ia64/unix.S
---- gcc-4.3.3.orig/libffi/src/ia64/unix.S 2005-03-30 23:49:19.000000000 +0200
-+++ gcc-4.3.3/libffi/src/ia64/unix.S 2009-01-27 22:25:27.000000000 +0100
-@@ -553,3 +553,7 @@
- data8 @pcrel(.Lld_hfa_float) // FFI_IA64_TYPE_HFA_FLOAT
- data8 @pcrel(.Lld_hfa_double) // FFI_IA64_TYPE_HFA_DOUBLE
- data8 @pcrel(.Lld_hfa_ldouble) // FFI_IA64_TYPE_HFA_LDOUBLE
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/m68k/sysv.S gcc-4.3.3/libffi/src/m68k/sysv.S
---- gcc-4.3.3.orig/libffi/src/m68k/sysv.S 2007-05-10 23:29:04.000000000 +0200
-+++ gcc-4.3.3/libffi/src/m68k/sysv.S 2009-01-27 22:25:27.000000000 +0100
-@@ -207,3 +207,7 @@
- rts
- CFI_ENDPROC()
- .size ffi_closure_struct_SYSV,.-ffi_closure_struct_SYSV
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64.S gcc-4.3.3/libffi/src/powerpc/linux64.S
---- gcc-4.3.3.orig/libffi/src/powerpc/linux64.S 2007-11-17 00:24:53.000000000 +0100
-+++ gcc-4.3.3/libffi/src/powerpc/linux64.S 2009-01-27 22:25:27.000000000 +0100
-@@ -179,3 +179,7 @@
- .align 3
- .LEFDE1:
- #endif
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S gcc-4.3.3/libffi/src/powerpc/linux64_closure.S
---- gcc-4.3.3.orig/libffi/src/powerpc/linux64_closure.S 2005-08-11 23:18:24.000000000 +0200
-+++ gcc-4.3.3/libffi/src/powerpc/linux64_closure.S 2009-01-27 22:25:27.000000000 +0100
-@@ -204,3 +204,7 @@
- .align 3
- .LEFDE1:
- #endif
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S gcc-4.3.3/libffi/src/powerpc/ppc_closure.S
---- gcc-4.3.3.orig/libffi/src/powerpc/ppc_closure.S 2007-12-01 22:00:04.000000000 +0100
-+++ gcc-4.3.3/libffi/src/powerpc/ppc_closure.S 2009-01-27 22:25:27.000000000 +0100
-@@ -295,3 +295,7 @@
- .LEFDE1:
-
- #endif
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/powerpc/sysv.S gcc-4.3.3/libffi/src/powerpc/sysv.S
---- gcc-4.3.3.orig/libffi/src/powerpc/sysv.S 2007-12-01 22:00:04.000000000 +0100
-+++ gcc-4.3.3/libffi/src/powerpc/sysv.S 2009-01-27 22:25:27.000000000 +0100
-@@ -223,3 +223,7 @@
- .align 2
- .LEFDE1:
- #endif
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/s390/sysv.S gcc-4.3.3/libffi/src/s390/sysv.S
---- gcc-4.3.3.orig/libffi/src/s390/sysv.S 2003-10-21 21:01:58.000000000 +0200
-+++ gcc-4.3.3/libffi/src/s390/sysv.S 2009-01-27 22:25:27.000000000 +0100
-@@ -427,3 +427,6 @@
-
- #endif
-
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/sparc/v8.S gcc-4.3.3/libffi/src/sparc/v8.S
---- gcc-4.3.3.orig/libffi/src/sparc/v8.S 2008-11-21 23:13:13.000000000 +0100
-+++ gcc-4.3.3/libffi/src/sparc/v8.S 2009-01-27 22:25:27.000000000 +0100
-@@ -306,3 +306,7 @@
- .byte 0x1f ! uleb128 0x1f
- .align WS
- .LLEFDE2:
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/sparc/v9.S gcc-4.3.3/libffi/src/sparc/v9.S
---- gcc-4.3.3.orig/libffi/src/sparc/v9.S 2004-01-25 07:58:33.000000000 +0100
-+++ gcc-4.3.3/libffi/src/sparc/v9.S 2009-01-27 22:25:27.000000000 +0100
-@@ -300,3 +300,7 @@
- .align 8
- .LLEFDE2:
- #endif
-+
-+#ifdef __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/x86/sysv.S gcc-4.3.3/libffi/src/x86/sysv.S
---- gcc-4.3.3.orig/libffi/src/x86/sysv.S 2008-01-30 15:36:58.000000000 +0100
-+++ gcc-4.3.3/libffi/src/x86/sysv.S 2009-01-27 22:25:27.000000000 +0100
-@@ -430,3 +430,7 @@
- #endif
-
- #endif /* ifndef __x86_64__ */
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
-diff -durN gcc-4.3.3.orig/libffi/src/x86/unix64.S gcc-4.3.3/libffi/src/x86/unix64.S
---- gcc-4.3.3.orig/libffi/src/x86/unix64.S 2005-05-05 06:06:38.000000000 +0200
-+++ gcc-4.3.3/libffi/src/x86/unix64.S 2009-01-27 22:25:27.000000000 +0100
-@@ -410,3 +410,7 @@
- .LEFDE3:
-
- #endif /* __x86_64__ */
-+
-+#if defined __ELF__ && defined __linux__
-+ .section .note.GNU-stack,"",@progbits
-+#endif
diff --git a/patches/gcc/4.3.6/230-pr34571.patch b/patches/gcc/4.3.6/230-pr34571.patch
deleted file mode 100644
index c28a1cc..0000000
--- a/patches/gcc/4.3.6/230-pr34571.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Original patch from: ../4.3.2/230-pr34571.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/64_all_gcc43-pr34571.patch
-http://gcc.gnu.org/PR34571
-
-2007-12-26 Rask Ingemann Lambertsen <rask@sygehus.dk>
-
- PR target/34571
- * config/alpha/alpha.c (alpha_cannot_force_const_mem): Use
- symbolic_operand.
- * varasm.c (output_constant_pool_1): Fix typo.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/alpha/alpha.c gcc-4.3.3/gcc/config/alpha/alpha.c
---- gcc-4.3.3.orig/gcc/config/alpha/alpha.c 2008-09-09 01:16:55.000000000 +0200
-+++ gcc-4.3.3/gcc/config/alpha/alpha.c 2009-01-27 22:25:29.000000000 +0100
-@@ -1113,8 +1113,7 @@
- static bool
- alpha_cannot_force_const_mem (rtx x)
- {
-- enum rtx_code code = GET_CODE (x);
-- return code == SYMBOL_REF || code == LABEL_REF || code == CONST;
-+ return symbolic_operand (x, GET_MODE (x));
- }
-
- /* We do not allow indirect calls to be optimized into sibling calls, nor
diff --git a/patches/gcc/4.3.6/240-pr25343.patch b/patches/gcc/4.3.6/240-pr25343.patch
deleted file mode 100644
index 07d6318..0000000
--- a/patches/gcc/4.3.6/240-pr25343.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Original patch from: ../4.3.2/240-pr25343.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/66_all_gcc43-pr25343.patch
-http://gcc.gnu.org/PR25343
-
-sniped from Debian
-
-2008-04-27 Roman Zippel <zippel@linux-m68k.org>
-
- * config/host-linux.c (TRY_EMPTY_VM_SPACE): Define for __mc68000__.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/host-linux.c gcc-4.3.3/gcc/config/host-linux.c
---- gcc-4.3.3.orig/gcc/config/host-linux.c 2007-08-02 12:49:31.000000000 +0200
-+++ gcc-4.3.3/gcc/config/host-linux.c 2009-01-27 22:25:31.000000000 +0100
-@@ -84,6 +84,8 @@
- # define TRY_EMPTY_VM_SPACE 0x8000000000
- #elif defined(__sparc__)
- # define TRY_EMPTY_VM_SPACE 0x60000000
-+#elif defined(__mc68000__)
-+# define TRY_EMPTY_VM_SPACE 0x40000000
- #else
- # define TRY_EMPTY_VM_SPACE 0
- #endif
diff --git a/patches/gcc/4.3.6/250-sh-pr24836.patch b/patches/gcc/4.3.6/250-sh-pr24836.patch
deleted file mode 100644
index 1528b35..0000000
--- a/patches/gcc/4.3.6/250-sh-pr24836.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-Original patch from: ../4.3.2/250-sh-pr24836.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/74_all_sh-pr24836.patch
-http://sourceforge.net/mailarchive/forum.php?thread_id=8959304&forum_id=5348
-http://gcc.gnu.org/PR24836
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/configure gcc-4.3.3/gcc/configure
---- gcc-4.3.3.orig/gcc/configure 2009-01-27 22:19:18.000000000 +0100
-+++ gcc-4.3.3/gcc/configure 2009-01-27 22:25:33.000000000 +0100
-@@ -20689,7 +20689,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
-diff -durN gcc-4.3.3.orig/gcc/configure.ac gcc-4.3.3/gcc/configure.ac
---- gcc-4.3.3.orig/gcc/configure.ac 2009-01-27 22:19:18.000000000 +0100
-+++ gcc-4.3.3/gcc/configure.ac 2009-01-27 22:25:33.000000000 +0100
-@@ -2552,7 +2552,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
diff --git a/patches/gcc/4.3.6/260-uclibc-conf-noupstream.patch b/patches/gcc/4.3.6/260-uclibc-conf-noupstream.patch
deleted file mode 100644
index c046030..0000000
--- a/patches/gcc/4.3.6/260-uclibc-conf-noupstream.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Original patch from: ../4.3.2/260-uclibc-conf-noupstream.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_103-uclibc-conf-noupstream.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
---- gcc-4.3.3.orig/gcc/config.gcc 2009-01-27 22:19:34.000000000 +0100
-+++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:25:35.000000000 +0100
-@@ -2146,7 +2146,7 @@
- ;;
- sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
- sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
-- sh-*-linux* | sh[346lbe]*-*-linux* | \
-+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
- sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
- sh64-*-netbsd* | sh64l*-*-netbsd*)
- tmake_file="${tmake_file} sh/t-sh sh/t-elf"
diff --git a/patches/gcc/4.3.6/270-missing-execinfo_h.patch b/patches/gcc/4.3.6/270-missing-execinfo_h.patch
deleted file mode 100644
index 8f36f45..0000000
--- a/patches/gcc/4.3.6/270-missing-execinfo_h.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Original patch from: ../4.3.2/270-missing-execinfo_h.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_301-missing-execinfo_h.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/boehm-gc/include/gc.h gcc-4.3.3/boehm-gc/include/gc.h
---- gcc-4.3.3.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
-+++ gcc-4.3.3/boehm-gc/include/gc.h 2009-01-27 22:25:37.000000000 +0100
-@@ -503,7 +503,7 @@
- #if defined(__linux__) || defined(__GLIBC__)
- # include <features.h>
- # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-- && !defined(__ia64__)
-+ && !defined(__ia64__) && !defined(__UCLIBC__)
- # ifndef GC_HAVE_BUILTIN_BACKTRACE
- # define GC_HAVE_BUILTIN_BACKTRACE
- # endif
diff --git a/patches/gcc/4.3.6/280-c99-complex-ugly-hack.patch b/patches/gcc/4.3.6/280-c99-complex-ugly-hack.patch
deleted file mode 100644
index 7588647..0000000
--- a/patches/gcc/4.3.6/280-c99-complex-ugly-hack.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Original patch from: ../4.3.2/280-c99-complex-ugly-hack.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_303-c99-complex-ugly-hack.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libstdc++-v3/configure gcc-4.3.3/libstdc++-v3/configure
---- gcc-4.3.3.orig/libstdc++-v3/configure 2008-07-07 21:49:54.000000000 +0200
-+++ gcc-4.3.3/libstdc++-v3/configure 2009-01-27 22:25:39.000000000 +0100
-@@ -38935,6 +38935,9 @@
- cat >>conftest.$ac_ext <<_ACEOF
- /* end confdefs.h. */
- #include <complex.h>
-+#ifdef __UCLIBC__
-+#error ugly hack to make sure configure test fails here for cross until uClibc supports the complex funcs
-+#endif
- int
- main ()
- {
diff --git a/patches/gcc/4.3.6/290-index_macro.patch b/patches/gcc/4.3.6/290-index_macro.patch
deleted file mode 100644
index 7bb899a..0000000
--- a/patches/gcc/4.3.6/290-index_macro.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Original patch from: ../4.3.2/290-index_macro.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/rope gcc-4.3.3/libstdc++-v3/include/ext/rope
---- gcc-4.3.3.orig/libstdc++-v3/include/ext/rope 2008-07-15 12:14:51.000000000 +0200
-+++ gcc-4.3.3/libstdc++-v3/include/ext/rope 2009-01-27 22:25:41.000000000 +0100
-@@ -59,6 +59,9 @@
- #include <bits/gthr.h>
- #include <tr1/functional>
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- # ifdef __GC
- # define __GC_CONST const
- # else
-diff -durN gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h
---- gcc-4.3.3.orig/libstdc++-v3/include/ext/ropeimpl.h 2007-05-04 17:06:46.000000000 +0200
-+++ gcc-4.3.3/libstdc++-v3/include/ext/ropeimpl.h 2009-01-27 22:25:41.000000000 +0100
-@@ -54,6 +54,9 @@
- #include <ext/memory> // For uninitialized_copy_n
- #include <ext/numeric> // For power
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
diff --git a/patches/gcc/4.3.6/300-libmudflap-susv3-legacy.patch b/patches/gcc/4.3.6/300-libmudflap-susv3-legacy.patch
deleted file mode 100644
index 7b20da9..0000000
--- a/patches/gcc/4.3.6/300-libmudflap-susv3-legacy.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-Original patch from: ../4.3.2/300-libmudflap-susv3-legacy.patch
-
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_305-libmudflap-susv3-legacy.patch
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/libmudflap/mf-hooks2.c gcc-4.3.3/libmudflap/mf-hooks2.c
---- gcc-4.3.3.orig/libmudflap/mf-hooks2.c 2005-09-23 23:58:39.000000000 +0200
-+++ gcc-4.3.3/libmudflap/mf-hooks2.c 2009-01-27 22:25:45.000000000 +0100
-@@ -427,7 +427,7 @@
- {
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
-- bzero (s, n);
-+ memset (s, 0, n);
- }
-
-
-@@ -437,7 +437,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
- MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
-- bcopy (src, dest, n);
-+ memmove (dest, src, n);
- }
-
-
-@@ -447,7 +447,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
- MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
-- return bcmp (s1, s2, n);
-+ return memcmp (s1, s2, n);
- }
-
-
-@@ -456,7 +456,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
-- return index (s, c);
-+ return strchr (s, c);
- }
-
-
-@@ -465,7 +465,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
-- return rindex (s, c);
-+ return strrchr (s, c);
- }
-
- /* XXX: stpcpy, memccpy */
diff --git a/patches/gcc/4.3.6/310-arm-softfloat.patch b/patches/gcc/4.3.6/310-arm-softfloat.patch
deleted file mode 100644
index 60de45f..0000000
--- a/patches/gcc/4.3.6/310-arm-softfloat.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Original patch from: ../4.3.2/310-arm-softfloat.patch
-
--= BEGIN original header =-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/arm/linux-elf.h gcc-4.3.3/gcc/config/arm/linux-elf.h
---- gcc-4.3.3.orig/gcc/config/arm/linux-elf.h 2007-11-08 14:44:09.000000000 +0100
-+++ gcc-4.3.3/gcc/config/arm/linux-elf.h 2009-01-27 22:25:47.000000000 +0100
-@@ -60,7 +60,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"
-
-diff -durN gcc-4.3.3.orig/gcc/config/arm/t-linux gcc-4.3.3/gcc/config/arm/t-linux
---- gcc-4.3.3.orig/gcc/config/arm/t-linux 2006-11-09 23:14:27.000000000 +0100
-+++ gcc-4.3.3/gcc/config/arm/t-linux 2009-01-27 22:25:47.000000000 +0100
-@@ -3,7 +3,12 @@
- TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
-
- LIB1ASMSRC = arm/lib1funcs.asm
--LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
-+LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
-+ _call_via_rX _interwork_call_via_rX \
-+ _lshrdi3 _ashrdi3 _ashldi3 \
-+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
-+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
-+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundidf _floatundisf
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/patches/gcc/4.3.6/320-alpha-signal_h.patch b/patches/gcc/4.3.6/320-alpha-signal_h.patch
deleted file mode 100644
index 2f4df3e..0000000
--- a/patches/gcc/4.3.6/320-alpha-signal_h.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Original patch from: ../4.3.2/320-alpha-signal_h.patch
-
--= BEGIN original header =-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h gcc-4.3.3/gcc/config/alpha/linux-unwind.h
---- gcc-4.3.3.orig/gcc/config/alpha/linux-unwind.h 2006-10-26 21:31:09.000000000 +0200
-+++ gcc-4.3.3/gcc/config/alpha/linux-unwind.h 2009-01-27 22:25:49.000000000 +0100
-@@ -29,6 +29,9 @@
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-+/* Don't use this if inhibit_libc is set
-+ The build for this target will fail trying to include missing headers */
-+#ifndef inhibit_libc
- #include <signal.h>
- #include <sys/ucontext.h>
-
-@@ -80,3 +83,4 @@
- fs->retaddr_column = 64;
- return _URC_NO_REASON;
- }
-+#endif /* inhibit_libc */
diff --git a/patches/gcc/4.3.6/330-unwind-for-uClibc.patch b/patches/gcc/4.3.6/330-unwind-for-uClibc.patch
deleted file mode 100644
index ac97c2f..0000000
--- a/patches/gcc/4.3.6/330-unwind-for-uClibc.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Original patch from: ../4.3.2/330-unwind-for-uClibc.patch
-
--= BEGIN original header =-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/t-linux-uclibc gcc-4.3.3/gcc/config/t-linux-uclibc
---- gcc-4.3.3.orig/gcc/config/t-linux-uclibc 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.3.3/gcc/config/t-linux-uclibc 2009-01-27 22:28:53.000000000 +0100
-@@ -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))
-diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
---- gcc-4.3.3.orig/gcc/config.gcc 2009-01-27 22:25:37.000000000 +0100
-+++ gcc-4.3.3/gcc/config.gcc 2009-01-27 22:28:53.000000000 +0100
-@@ -2648,6 +2648,12 @@
- ;;
- esac
-
-+# Rather than hook into each target, just do it after all the linux
-+# targets have been processed
-+case ${target} in
-+ *-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc";;
-+esac
-+
- case ${target} in
- i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
- tmake_file="${tmake_file} i386/t-gmm_malloc"
diff --git a/patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch b/patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch
deleted file mode 100644
index ad2d203..0000000
--- a/patches/gcc/4.3.6/340-make-mno-spe-work-as-expected.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Original patch from: ../4.3.2/340-make-mno-spe-work-as-expected.patch
-
--= BEGIN original header =-
-2008-04-03 Nathan Froyd <froydnj@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * config/rs6000/rs6000.opt (mspe): Remove Var property.
- (misel): Likewise.
- * config/rs6000/rs6000.h (rs6000_spe): Declare.
- (rs6000_isel): Likewise.
- * config/rs6000/rs6000.c (rs6000_spe): New variable.
- (rs6000_isel): New variable.
- (rs6000_handle_option): Handle OPT_mspe and OPT_misel.
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c gcc-4.3.3/gcc/config/rs6000/rs6000.c
---- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.c 2008-11-18 23:07:58.000000000 +0100
-+++ gcc-4.3.3/gcc/config/rs6000/rs6000.c 2009-01-27 22:28:55.000000000 +0100
-@@ -174,9 +174,15 @@
- /* Nonzero to use AltiVec ABI. */
- int rs6000_altivec_abi;
-
-+/* Nonzero if we want SPE SIMD instructions. */
-+int rs6000_spe;
-+
- /* Nonzero if we want SPE ABI extensions. */
- int rs6000_spe_abi;
-
-+/* Nonzero to use isel instructions. */
-+int rs6000_isel;
-+
- /* Nonzero if floating point operations are done in the GPRs. */
- int rs6000_float_gprs = 0;
-
-@@ -2144,11 +2150,21 @@
- rs6000_parse_yes_no_option ("vrsave", arg, &(TARGET_ALTIVEC_VRSAVE));
- break;
-
-+ case OPT_misel:
-+ rs6000_explicit_options.isel = true;
-+ rs6000_isel = value;
-+ break;
-+
- case OPT_misel_:
- rs6000_explicit_options.isel = true;
- rs6000_parse_yes_no_option ("isel", arg, &(rs6000_isel));
- break;
-
-+ case OPT_mspe:
-+ rs6000_explicit_options.spe = true;
-+ rs6000_spe = value;
-+ break;
-+
- case OPT_mspe_:
- rs6000_explicit_options.spe = true;
- rs6000_parse_yes_no_option ("spe", arg, &(rs6000_spe));
-diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h gcc-4.3.3/gcc/config/rs6000/rs6000.h
---- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.h 2008-01-26 18:18:35.000000000 +0100
-+++ gcc-4.3.3/gcc/config/rs6000/rs6000.h 2009-01-27 22:28:55.000000000 +0100
-@@ -349,6 +349,8 @@
- extern int rs6000_ieeequad;
- extern int rs6000_altivec_abi;
- extern int rs6000_spe_abi;
-+extern int rs6000_spe;
-+extern int rs6000_isel;
- extern int rs6000_float_gprs;
- extern int rs6000_alignment_flags;
- extern const char *rs6000_sched_insert_nops_str;
-diff -durN gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt gcc-4.3.3/gcc/config/rs6000/rs6000.opt
---- gcc-4.3.3.orig/gcc/config/rs6000/rs6000.opt 2007-10-31 08:56:01.000000000 +0100
-+++ gcc-4.3.3/gcc/config/rs6000/rs6000.opt 2009-01-27 22:28:55.000000000 +0100
-@@ -190,7 +190,7 @@
- -mvrsave=yes/no Deprecated option. Use -mvrsave/-mno-vrsave instead
-
- misel
--Target Var(rs6000_isel)
-+Target
- Generate isel instructions
-
- misel=
-@@ -198,7 +198,7 @@
- -misel=yes/no Deprecated option. Use -misel/-mno-isel instead
-
- mspe
--Target Var(rs6000_spe)
-+Target
- Generate SPE SIMD instructions on E500
-
- mpaired
diff --git a/patches/gcc/4.3.6/350-sh-without-headers.patch b/patches/gcc/4.3.6/350-sh-without-headers.patch
deleted file mode 100644
index 0bb860d..0000000
--- a/patches/gcc/4.3.6/350-sh-without-headers.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Original patch from: ../4.3.2/350-sh-without-headers.patch
-
--= BEGIN original header =-
-On 20081011, Khem RAJ writes:
- You have to bar gcc trying to build unwinding at stage 1. Try the
- attached patch and see if it helps.
-
- gcc/config/sh/linux-unwind.h | 3 +++
- 1 file changed, 3 insertions(+)
-
--= END original header =-
-
-diff -durN gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h gcc-4.3.3/gcc/config/sh/linux-unwind.h
---- gcc-4.3.3.orig/gcc/config/sh/linux-unwind.h 2007-09-12 08:59:06.000000000 +0200
-+++ gcc-4.3.3/gcc/config/sh/linux-unwind.h 2009-01-27 22:28:57.000000000 +0100
-@@ -26,6 +26,8 @@
- the Free Software Foundation, 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-+#ifndef inhibit_libc
-+
- /* Do code reading to identify a signal frame, and set the frame
- state data appropriately. See unwind-dw2.c for the structs. */
-
-@@ -251,3 +253,4 @@
- return _URC_NO_REASON;
- }
- #endif /* defined (__SH5__) */
-+#endif /* ifndef inhibit_libc */
diff --git a/patches/gcc/4.3.6/380-pr37436.patch b/patches/gcc/4.3.6/380-pr37436.patch
deleted file mode 100644
index 99a016f..0000000
--- a/patches/gcc/4.3.6/380-pr37436.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-gcc svn 142778:
-
-PR target/37436
-* arm.c (arm_legitimate_index): Only accept addresses that are in
-canonical form.
-* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
-* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
-for operand1.
-(extendqisi2): Likewise.
-(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
-predicate for operand1.
-
-diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.c gcc-4.3.3/gcc/config/arm/arm.c
---- gcc-4.3.3.orig/gcc/config/arm/arm.c 2008-06-11 07:52:55.000000000 -0300
-+++ gcc-4.3.3/gcc/config/arm/arm.c 2009-05-21 16:06:45.000000000 -0300
-@@ -3769,6 +3769,7 @@
- rtx xop1 = XEXP (x, 1);
-
- return ((arm_address_register_rtx_p (xop0, strict_p)
-+ && GET_CODE(xop1) == CONST_INT
- && arm_legitimate_index_p (mode, xop1, outer, strict_p))
- || (arm_address_register_rtx_p (xop1, strict_p)
- && arm_legitimate_index_p (mode, xop0, outer, strict_p)));
-diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.md gcc-4.3.3/gcc/config/arm/arm.md
---- gcc-4.3.3.orig/gcc/config/arm/arm.md 2007-09-04 01:44:47.000000000 -0300
-+++ gcc-4.3.3/gcc/config/arm/arm.md 2009-05-21 16:06:45.000000000 -0300
-@@ -4199,7 +4199,7 @@
-
- (define_expand "extendqihi2"
- [(set (match_dup 2)
-- (ashift:SI (match_operand:QI 1 "general_operand" "")
-+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
- (const_int 24)))
- (set (match_operand:HI 0 "s_register_operand" "")
- (ashiftrt:SI (match_dup 2)
-@@ -4224,7 +4224,7 @@
-
- (define_insn "*arm_extendqihi_insn"
- [(set (match_operand:HI 0 "s_register_operand" "=r")
-- (sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))]
-+ (sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
- "TARGET_ARM && arm_arch4"
- "ldr%(sb%)\\t%0, %1"
- [(set_attr "type" "load_byte")
-@@ -4235,7 +4235,7 @@
-
- (define_expand "extendqisi2"
- [(set (match_dup 2)
-- (ashift:SI (match_operand:QI 1 "general_operand" "")
-+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
- (const_int 24)))
- (set (match_operand:SI 0 "s_register_operand" "")
- (ashiftrt:SI (match_dup 2)
-@@ -4267,7 +4267,7 @@
-
- (define_insn "*arm_extendqisi"
- [(set (match_operand:SI 0 "s_register_operand" "=r")
-- (sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))]
-+ (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
- "TARGET_ARM && arm_arch4 && !arm_arch6"
- "ldr%(sb%)\\t%0, %1"
- [(set_attr "type" "load_byte")
-@@ -4278,7 +4278,8 @@
-
- (define_insn "*arm_extendqisi_v6"
- [(set (match_operand:SI 0 "s_register_operand" "=r,r")
-- (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))]
-+ (sign_extend:SI
-+ (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))]
- "TARGET_ARM && arm_arch6"
- "@
- sxtb%?\\t%0, %1
-diff -Nura gcc-4.3.3.orig/gcc/config/arm/predicates.md gcc-4.3.3/gcc/config/arm/predicates.md
---- gcc-4.3.3.orig/gcc/config/arm/predicates.md 2007-08-02 07:49:31.000000000 -0300
-+++ gcc-4.3.3/gcc/config/arm/predicates.md 2009-05-21 16:06:45.000000000 -0300
-@@ -234,6 +234,10 @@
- (match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND,
- 0)")))
-
-+(define_special_predicate "arm_reg_or_extendqisi_mem_op"
-+ (ior (match_operand 0 "arm_extendqisi_mem_op")
-+ (match_operand 0 "s_register_operand")))
-+
- (define_predicate "power_of_two_operand"
- (match_code "const_int")
- {
diff --git a/patches/gcc/4.3.6/390-unbreak-armv4t.patch b/patches/gcc/4.3.6/390-unbreak-armv4t.patch
deleted file mode 100644
index af14e0d..0000000
--- a/patches/gcc/4.3.6/390-unbreak-armv4t.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.3.2.orig/gcc/config/arm/linux-eabi.h 2009-09-08 23:46:44.000000000 +0200
-+++ gcc-4.3.2/gcc/config/arm/linux-eabi.h 2009-09-08 23:46:51.000000000 +0200
-@@ -44,7 +44,7 @@
- The ARM10TDMI core is the default for armv5t, so set
- SUBTARGET_CPU_DEFAULT to achieve this. */
- #undef SUBTARGET_CPU_DEFAULT
--#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
-+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
-
- /* TARGET_BIG_ENDIAN_DEFAULT is set in
- config.gcc for big endian configurations. */
diff --git a/patches/gcc/4.3.6/400-ecjx-host-cc.patch b/patches/gcc/4.3.6/400-ecjx-host-cc.patch
deleted file mode 100644
index 793069b..0000000
--- a/patches/gcc/4.3.6/400-ecjx-host-cc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur gcc-4.3.4-orig/libjava/Makefile.in gcc-4.3.4/libjava/Makefile.in
---- gcc-4.3.4-orig/libjava/Makefile.in 2009-08-04 04:12:27.000000000 -0700
-+++ gcc-4.3.4/libjava/Makefile.in 2009-09-23 22:03:15.750951483 -0700
-@@ -8874,6 +8874,9 @@
- ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES)
- @rm -f ecjx$(EXEEXT)
- $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
-+ecjx.$(OBJEXT): $(ecjx_SOURCES)
-+ @rm -f ecjx.$(OBJEXT)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
- gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES)
- @rm -f gappletviewer$(EXEEXT)
- $(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)
diff --git a/patches/gcc/4.3.6/410-pr42289-fix-libffi-build-on-arm-oabi.patch b/patches/gcc/4.3.6/410-pr42289-fix-libffi-build-on-arm-oabi.patch
deleted file mode 100644
index 8654879..0000000
--- a/patches/gcc/4.3.6/410-pr42289-fix-libffi-build-on-arm-oabi.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.3.4/libffi/src/arm/sysv.S
-+++ gcc-4.3.4/libffi/src/arm/sysv.S
-@@ -235,7 +235,7 @@ ARM_FUNC_START ffi_closure_SYSV
- stmfd sp!, {ip, lr}
- UNWIND .save {r0, lr}
- add r2, sp, #8
-- .pad #16
-+ UNWIND .pad #16
- sub sp, sp, #16
- str sp, [sp, #8]
- add r1, sp, #8
diff --git a/patches/gcc/4.3.6/420-libgcc_eh.a.patch b/patches/gcc/4.3.6/420-libgcc_eh.a.patch
deleted file mode 100644
index 854198a..0000000
--- a/patches/gcc/4.3.6/420-libgcc_eh.a.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Highly inspired by:
- http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
-
-diff -durN gcc-4.3.2.orig//libgcc/Makefile.in gcc-4.3.2/libgcc/Makefile.in
---- gcc-4.3.2.orig//libgcc/Makefile.in 2008-06-17 11:32:34.000000000 +0200
-+++ gcc-4.3.2/libgcc/Makefile.in 2011-09-02 12:27:39.296538955 +0200
-@@ -705,8 +705,9 @@
- libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
- endif
-
-+all: libgcc_eh.a
- ifeq ($(enable_shared),yes)
--all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
-+all: libgcc_s$(SHLIB_EXT)
- ifneq ($(LIBUNWIND),)
- all: libunwind$(SHLIB_EXT)
- endif
-@@ -875,10 +876,6 @@
- install-shared:
- $(mkinstalldirs) $(DESTDIR)$(inst_libdir)
-
-- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
--
- $(subst @multilib_dir@,$(MULTIDIR),$(subst \
- @shlib_base_name@,libgcc_s,$(subst \
- @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
-@@ -893,6 +890,10 @@
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
-
-+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+
- parts="$(INSTALL_PARTS)"; \
- for file in $$parts; do \
- rm -f $(DESTDIR)$(inst_libdir)/$$file; \
diff --git a/patches/gcc/4.4.7/100-alpha-mieee-default.patch b/patches/gcc/4.4.7/100-alpha-mieee-default.patch
deleted file mode 100644
index 5f3acd8..0000000
--- a/patches/gcc/4.4.7/100-alpha-mieee-default.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/alpha/alpha.h gcc-4.4.5/gcc/config/alpha/alpha.h
---- gcc-4.4.5.orig/gcc/config/alpha/alpha.h 2009-02-20 16:20:38.000000000 +0100
-+++ gcc-4.4.5/gcc/config/alpha/alpha.h 2010-10-09 22:57:31.000000000 +0200
-@@ -95,6 +95,8 @@
- while (0)
- #endif
-
-+#define CPP_SPEC "%{!no-ieee:-mieee}"
-+
- #define WORD_SWITCH_TAKES_ARG(STR) \
- (!strcmp (STR, "rpath") || DEFAULT_WORD_SWITCH_TAKES_ARG(STR))
-
-diff -durN gcc-4.4.5.orig/gcc/config/alpha/alpha.opt gcc-4.4.5/gcc/config/alpha/alpha.opt
---- gcc-4.4.5.orig/gcc/config/alpha/alpha.opt 2007-08-02 12:49:31.000000000 +0200
-+++ gcc-4.4.5/gcc/config/alpha/alpha.opt 2010-10-09 22:57:31.000000000 +0200
-@@ -39,7 +39,7 @@
- Request IEEE-conformant math library routines (OSF/1)
-
- mieee
--Target Report RejectNegative Mask(IEEE)
-+Target Report Mask(IEEE)
- Emit IEEE-conformant code, without inexact exceptions
-
- mieee-with-inexact
diff --git a/patches/gcc/4.4.7/110-trampolinewarn.patch b/patches/gcc/4.4.7/110-trampolinewarn.patch
deleted file mode 100644
index 0bce857..0000000
--- a/patches/gcc/4.4.7/110-trampolinewarn.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/builtins.c gcc-4.4.5/gcc/builtins.c
---- gcc-4.4.5.orig/gcc/builtins.c 2010-03-22 16:00:20.000000000 +0100
-+++ gcc-4.4.5/gcc/builtins.c 2010-10-09 22:57:58.000000000 +0200
-@@ -5783,6 +5783,9 @@
- trampolines_created = 1;
- INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
-
-+ if (warn_trampolines)
-+ warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
-+
- return const0_rtx;
- }
-
-diff -durN gcc-4.4.5.orig/gcc/common.opt gcc-4.4.5/gcc/common.opt
---- gcc-4.4.5.orig/gcc/common.opt 2009-03-28 18:28:45.000000000 +0100
-+++ gcc-4.4.5/gcc/common.opt 2010-10-09 22:57:58.000000000 +0200
-@@ -197,6 +197,10 @@
- Common Var(warn_type_limits) Init(-1) Warning
- Warn if a comparison is always true or always false due to the limited range of the data type
-
-+Wtrampolines
-+Common Var(warn_trampolines) Init(1)
-+Warn whenever a trampoline is generated
-+
- Wuninitialized
- Common Var(warn_uninitialized) Warning
- Warn about uninitialized automatic variables
diff --git a/patches/gcc/4.4.7/120-java-nomulti.patch b/patches/gcc/4.4.7/120-java-nomulti.patch
deleted file mode 100644
index aded63e..0000000
--- a/patches/gcc/4.4.7/120-java-nomulti.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -durN gcc-4.4.5.orig/libjava/configure gcc-4.4.5/libjava/configure
---- gcc-4.4.5.orig/libjava/configure 2010-10-01 10:26:18.000000000 +0200
-+++ gcc-4.4.5/libjava/configure 2010-10-09 22:58:04.000000000 +0200
-@@ -1022,6 +1022,8 @@
- default=yes
- --enable-java-maintainer-mode
- allow rebuilding of .class and .h files
-+ --enable-libjava-multilib
-+ build libjava as multilib
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --enable-maintainer-mode enable make rules and dependencies not useful
-@@ -1974,6 +1976,16 @@
- fi
-
-
-+# Check whether --enable-libjava-multilib was given.
-+if test "${enable_libjava_multilib+set}" = set; then
-+ enableval=$enable_libjava_multilib;
-+fi
-+
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
-
-
-diff -durN gcc-4.4.5.orig/libjava/configure.ac gcc-4.4.5/libjava/configure.ac
---- gcc-4.4.5.orig/libjava/configure.ac 2010-06-11 13:49:16.000000000 +0200
-+++ gcc-4.4.5/libjava/configure.ac 2010-10-09 22:58:04.000000000 +0200
-@@ -139,6 +139,13 @@
- [allow rebuilding of .class and .h files]))
- AM_CONDITIONAL(JAVA_MAINTAINER_MODE, test "$enable_java_maintainer_mode" = yes)
-
-+AC_ARG_ENABLE(libjava-multilib,
-+ AS_HELP_STRING([--enable-libjava-multilib], [build libjava as multilib]))
-+if test "$enable_libjava_multilib" = no; then
-+ multilib=no
-+ ac_configure_args="$ac_configure_args --disable-multilib"
-+fi
-+
- # It may not be safe to run linking tests in AC_PROG_CC/AC_PROG_CXX.
- GCC_NO_EXECUTABLES
-
diff --git a/patches/gcc/4.4.7/130-cross-compile.patch b/patches/gcc/4.4.7/130-cross-compile.patch
deleted file mode 100644
index 72bc60e..0000000
--- a/patches/gcc/4.4.7/130-cross-compile.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/configure gcc-4.4.5/gcc/configure
---- gcc-4.4.5.orig/gcc/configure 2010-06-20 17:43:53.000000000 +0200
-+++ gcc-4.4.5/gcc/configure 2010-10-09 22:58:36.000000000 +0200
-@@ -13997,7 +13997,7 @@
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
-diff -durN gcc-4.4.5.orig/gcc/configure.ac gcc-4.4.5/gcc/configure.ac
---- gcc-4.4.5.orig/gcc/configure.ac 2010-06-20 17:43:53.000000000 +0200
-+++ gcc-4.4.5/gcc/configure.ac 2010-10-09 22:58:36.000000000 +0200
-@@ -1720,7 +1720,7 @@
- | powerpc*-*-*,powerpc64*-*-*)
- CROSS="$CROSS -DNATIVE_CROSS" ;;
- esac
--elif test "x$TARGET_SYSTEM_ROOT" != x; then
-+elif test "x$TARGET_SYSTEM_ROOT" != x -o $build != $host; then
- SYSTEM_HEADER_DIR=$build_system_header_dir
- fi
-
-diff -durN gcc-4.4.5.orig/gcc/unwind-dw2.c gcc-4.4.5/gcc/unwind-dw2.c
---- gcc-4.4.5.orig/gcc/unwind-dw2.c 2010-01-20 09:39:18.000000000 +0100
-+++ gcc-4.4.5/gcc/unwind-dw2.c 2010-10-09 22:58:36.000000000 +0200
-@@ -329,9 +329,11 @@
- }
- #endif
-
-+#ifndef inhibit_libc
- #ifdef MD_UNWIND_SUPPORT
- #include MD_UNWIND_SUPPORT
- #endif
-+#endif
-
- /* Extract any interesting information from the CIE for the translation
- unit F belongs to. Return a pointer to the byte after the augmentation,
diff --git a/patches/gcc/4.4.7/140-default-format-security.patch b/patches/gcc/4.4.7/140-default-format-security.patch
deleted file mode 100644
index ac1d988..0000000
--- a/patches/gcc/4.4.7/140-default-format-security.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/c-common.c gcc-4.4.5/gcc/c-common.c
---- gcc-4.4.5.orig/gcc/c-common.c 2010-07-27 15:07:28.000000000 +0200
-+++ gcc-4.4.5/gcc/c-common.c 2010-10-09 22:59:03.000000000 +0200
-@@ -301,7 +301,7 @@
- /* Warn about format/argument anomalies in calls to formatted I/O functions
- (*printf, *scanf, strftime, strfmon, etc.). */
-
--int warn_format;
-+int warn_format = 1;
-
- /* Warn about using __null (as NULL in C++) as sentinel. For code compiled
- with GCC this doesn't matter as __null is guaranteed to have the right
-diff -durN gcc-4.4.5.orig/gcc/c.opt gcc-4.4.5/gcc/c.opt
---- gcc-4.4.5.orig/gcc/c.opt 2009-09-18 23:53:23.000000000 +0200
-+++ gcc-4.4.5/gcc/c.opt 2010-10-09 22:59:03.000000000 +0200
-@@ -236,7 +236,7 @@
- Warn about format strings that contain NUL bytes
-
- Wformat-security
--C ObjC C++ ObjC++ Var(warn_format_security) Warning
-+C ObjC C++ ObjC++ Var(warn_format_security) Init(1) Warning
- Warn about possible security problems with format functions
-
- Wformat-y2k
-diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
---- gcc-4.4.5.orig/gcc/doc/invoke.texi 2010-09-08 20:13:03.000000000 +0200
-+++ gcc-4.4.5/gcc/doc/invoke.texi 2010-10-09 22:59:03.000000000 +0200
-@@ -2888,6 +2888,9 @@
- @option{-Wformat-nonliteral}, @option{-Wformat-security}, and
- @option{-Wformat=2} are available, but are not included in @option{-Wall}.
-
-+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
-+To disable, use @option{-Wformat=0}.
-+
- @item -Wformat-y2k
- @opindex Wformat-y2k
- @opindex Wno-format-y2k
-@@ -2941,6 +2944,11 @@
- in future warnings may be added to @option{-Wformat-security} that are not
- included in @option{-Wformat-nonliteral}.)
-
-+NOTE: In Gentoo, this option is enabled by default for C, C++, ObjC, ObjC++.
-+To disable, use @option{-Wno-format-security}, or disable all format warnings
-+with @option{-Wformat=0}. To make format security warnings fatal, specify
-+@option{-Werror=format-security}.
-+
- @item -Wformat=2
- @opindex Wformat=2
- @opindex Wno-format=2
diff --git a/patches/gcc/4.4.7/150-default-fortify-source.patch b/patches/gcc/4.4.7/150-default-fortify-source.patch
deleted file mode 100644
index ad5a7e8..0000000
--- a/patches/gcc/4.4.7/150-default-fortify-source.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/doc/invoke.texi gcc-4.4.5/gcc/doc/invoke.texi
---- gcc-4.4.5.orig/gcc/doc/invoke.texi 2010-10-09 22:59:03.000000000 +0200
-+++ gcc-4.4.5/gcc/doc/invoke.texi 2010-10-09 22:59:33.000000000 +0200
-@@ -5432,6 +5432,11 @@
- Please note the warning under @option{-fgcse} about
- invoking @option{-O2} on programs that use computed gotos.
-
-+NOTE: In Gentoo, @option{-D_FORTIFY_SOURCE=2} is set by default, and is
-+activated when @option{-O} is set to 2 or higher. This enables additional
-+compile-time and run-time checks for several libc functions. To disable,
-+specify either @option{-U_FORTIFY_SOURCE} or @option{-D_FORTIFY_SOURCE=0}.
-+
- @item -O3
- @opindex O3
- Optimize yet more. @option{-O3} turns on all optimizations specified
-diff -durN gcc-4.4.5.orig/gcc/gcc.c gcc-4.4.5/gcc/gcc.c
---- gcc-4.4.5.orig/gcc/gcc.c 2010-01-09 01:05:06.000000000 +0100
-+++ gcc-4.4.5/gcc/gcc.c 2010-10-09 22:59:33.000000000 +0200
-@@ -807,6 +807,7 @@
- %{H} %C %{D*&U*&A*} %{i*} %Z %i\
- %{fmudflap:-D_MUDFLAP -include mf-runtime.h}\
- %{fmudflapth:-D_MUDFLAP -D_MUDFLAPTH -include mf-runtime.h}\
-+ %{!D_FORTIFY_SOURCE:%{!D_FORTIFY_SOURCE=*:%{!U_FORTIFY_SOURCE:-D_FORTIFY_SOURCE=2}}}\
- %{E|M|MM:%W{o*}}";
-
- /* This contains cpp options which are common with cc1_options and are passed
diff --git a/patches/gcc/4.4.7/160-netbsd-symbolic.patch b/patches/gcc/4.4.7/160-netbsd-symbolic.patch
deleted file mode 100644
index a61b078..0000000
--- a/patches/gcc/4.4.7/160-netbsd-symbolic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/netbsd-elf.h gcc-4.4.5/gcc/config/netbsd-elf.h
---- gcc-4.4.5.orig/gcc/config/netbsd-elf.h 2007-09-03 18:14:04.000000000 +0200
-+++ gcc-4.4.5/gcc/config/netbsd-elf.h 2010-10-09 22:59:57.000000000 +0200
-@@ -82,6 +82,7 @@
- #define NETBSD_LINK_SPEC_ELF \
- "%{assert*} %{R*} %{rpath*} \
- %{shared:-shared} \
-+ %{symbolic:-Bsymbolic} \
- %{!shared: \
- -dc -dp \
- %{!nostdlib: \
diff --git a/patches/gcc/4.4.7/170-sparc64-bsd.patch b/patches/gcc/4.4.7/170-sparc64-bsd.patch
deleted file mode 100644
index 85d9b52..0000000
--- a/patches/gcc/4.4.7/170-sparc64-bsd.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/sparc/freebsd.h gcc-4.4.5/gcc/config/sparc/freebsd.h
---- gcc-4.4.5.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
-+++ gcc-4.4.5/gcc/config/sparc/freebsd.h 2010-10-09 23:00:03.000000000 +0200
-@@ -25,9 +25,22 @@
- /* FreeBSD needs the platform name (sparc64) defined.
- Emacs needs to know if the arch is 64 or 32-bits. */
-
--#undef CPP_CPU64_DEFAULT_SPEC
--#define CPP_CPU64_DEFAULT_SPEC \
-- "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
-+#undef FBSD_TARGET_CPU_CPP_BUILTINS
-+#define FBSD_TARGET_CPU_CPP_BUILTINS() \
-+ do \
-+ { \
-+ if (TARGET_ARCH64) \
-+ { \
-+ builtin_define ("__sparc64__"); \
-+ builtin_define ("__sparc_v9__"); \
-+ builtin_define ("__sparcv9"); \
-+ } \
-+ else \
-+ builtin_define ("__sparc"); \
-+ builtin_define ("__sparc__"); \
-+ } \
-+ while (0)
-+
-
- #define LINK_SPEC "%(link_arch) \
- %{!mno-relax:%{!r:-relax}} \
diff --git a/patches/gcc/4.4.7/180-libgomp-no-werror.patch b/patches/gcc/4.4.7/180-libgomp-no-werror.patch
deleted file mode 100644
index 35d5063..0000000
--- a/patches/gcc/4.4.7/180-libgomp-no-werror.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.4.5.orig/libgomp/configure gcc-4.4.5/libgomp/configure
---- gcc-4.4.5.orig/libgomp/configure 2010-10-01 10:26:18.000000000 +0200
-+++ gcc-4.4.5/libgomp/configure 2010-10-09 23:00:33.000000000 +0200
-@@ -3334,7 +3334,7 @@
-
- # Add -Wall -Werror if we are using GCC.
- if test "x$GCC" = "xyes"; then
-- XCFLAGS="$XCFLAGS -Wall -Werror"
-+ XCFLAGS="$XCFLAGS -Wall"
- fi
-
- # Find other programs we need.
diff --git a/patches/gcc/4.4.7/190-flatten-switch-stmt-00.patch b/patches/gcc/4.4.7/190-flatten-switch-stmt-00.patch
deleted file mode 100644
index d4d68fe..0000000
--- a/patches/gcc/4.4.7/190-flatten-switch-stmt-00.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/stmt.c gcc-4.4.5/gcc/stmt.c
---- gcc-4.4.5.orig/gcc/stmt.c 2010-03-08 12:46:28.000000000 +0100
-+++ gcc-4.4.5/gcc/stmt.c 2010-10-09 23:01:01.000000000 +0200
-@@ -2377,7 +2377,11 @@
- use_cost_table
- = (TREE_CODE (orig_type) != ENUMERAL_TYPE
- && estimate_case_costs (case_list));
-- balance_case_nodes (&case_list, NULL);
-+ /* When optimizing for size, we want a straight list to avoid
-+ jumps as much as possible. This basically creates an if-else
-+ chain. */
-+ if (!optimize_size)
-+ balance_case_nodes (&case_list, NULL);
- emit_case_nodes (index, case_list, default_label, index_type);
- if (default_label)
- emit_jump (default_label);
-@@ -2943,6 +2947,7 @@
- {
- if (!node_has_low_bound (node, index_type))
- {
-+ if (!optimize_size) /* don't jl to the .default_label. */
- emit_cmp_and_jump_insns (index,
- convert_modes
- (mode, imode,
diff --git a/patches/gcc/4.4.7/200-libiberty.h-asprintf.patch b/patches/gcc/4.4.7/200-libiberty.h-asprintf.patch
deleted file mode 100644
index 19e4523..0000000
--- a/patches/gcc/4.4.7/200-libiberty.h-asprintf.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -durN gcc-4.4.5.orig/include/libiberty.h gcc-4.4.5/include/libiberty.h
---- gcc-4.4.5.orig/include/libiberty.h 2008-06-24 03:42:31.000000000 +0200
-+++ gcc-4.4.5/include/libiberty.h 2010-10-09 23:01:30.000000000 +0200
-@@ -595,8 +595,11 @@
- /* Like sprintf but provides a pointer to malloc'd storage, which must
- be freed by the caller. */
-
-+/* asprintf may be declared as a macro by glibc with __USE_FORTIFY_LEVEL. */
-+#ifndef asprintf
- extern int asprintf (char **, const char *, ...) ATTRIBUTE_PRINTF_2;
- #endif
-+#endif
-
- #if !HAVE_DECL_VASPRINTF
- /* Like vsprintf but provides a pointer to malloc'd storage, which
diff --git a/patches/gcc/4.4.7/210-arm-unbreak-armv4t.patch b/patches/gcc/4.4.7/210-arm-unbreak-armv4t.patch
deleted file mode 100644
index 396a80b..0000000
--- a/patches/gcc/4.4.7/210-arm-unbreak-armv4t.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/arm/linux-eabi.h gcc-4.4.5/gcc/config/arm/linux-eabi.h
---- gcc-4.4.5.orig/gcc/config/arm/linux-eabi.h 2007-11-08 14:44:09.000000000 +0100
-+++ gcc-4.4.5/gcc/config/arm/linux-eabi.h 2010-10-09 23:01:59.000000000 +0200
-@@ -44,7 +44,7 @@
- The ARM10TDMI core is the default for armv5t, so set
- SUBTARGET_CPU_DEFAULT to achieve this. */
- #undef SUBTARGET_CPU_DEFAULT
--#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
-+#define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm9tdmi
-
- /* TARGET_BIG_ENDIAN_DEFAULT is set in
- config.gcc for big endian configurations. */
diff --git a/patches/gcc/4.4.7/220-libiberty-pic.patch b/patches/gcc/4.4.7/220-libiberty-pic.patch
deleted file mode 100644
index 93b180a..0000000
--- a/patches/gcc/4.4.7/220-libiberty-pic.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -durN gcc-4.4.5.orig/libiberty/Makefile.in gcc-4.4.5/libiberty/Makefile.in
---- gcc-4.4.5.orig/libiberty/Makefile.in 2008-10-22 15:30:19.000000000 +0200
-+++ gcc-4.4.5/libiberty/Makefile.in 2010-10-09 23:02:28.000000000 +0200
-@@ -227,6 +227,7 @@
- $(AR) $(AR_FLAGS) $(TARGETLIB) \
- $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS); \
- $(RANLIB) $(TARGETLIB); \
-+ cp $(TARGETLIB) ../ ; \
- cd ..; \
- else true; fi
-
diff --git a/patches/gcc/4.4.7/230-superh-default-multilib.patch b/patches/gcc/4.4.7/230-superh-default-multilib.patch
deleted file mode 100644
index 0df23a9..0000000
--- a/patches/gcc/4.4.7/230-superh-default-multilib.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config.gcc gcc-4.4.5/gcc/config.gcc
---- gcc-4.4.5.orig/gcc/config.gcc 2010-06-14 00:16:50.000000000 +0200
-+++ gcc-4.4.5/gcc/config.gcc 2010-10-09 23:02:56.000000000 +0200
-@@ -2140,7 +2140,7 @@
- if test x${sh_multilibs} = x ; then
- case ${target} in
- sh64-superh-linux* | \
-- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
-+ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
- sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
- sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
- sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
diff --git a/patches/gcc/4.4.7/240-libstdc++-pic.patch b/patches/gcc/4.4.7/240-libstdc++-pic.patch
deleted file mode 100644
index 4dde5a1..0000000
--- a/patches/gcc/4.4.7/240-libstdc++-pic.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff -durN gcc-4.4.5.orig/libstdc++-v3/src/Makefile.am gcc-4.4.5/libstdc++-v3/src/Makefile.am
---- gcc-4.4.5.orig/libstdc++-v3/src/Makefile.am 2009-08-26 21:04:11.000000000 +0200
-+++ gcc-4.4.5/libstdc++-v3/src/Makefile.am 2010-10-09 23:03:26.000000000 +0200
-@@ -356,6 +356,13 @@
- $(OPT_LDFLAGS) $(SECTION_LDFLAGS) $(AM_CXXFLAGS) $(LTLDFLAGS) -o $@
-
-
-+install-exec-local:
-+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
-+ if [ x"$$pic_objs" != x ]; then \
-+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
-+ fi
-+
- # Added bits to build debug library.
- if GLIBCXX_BUILD_DEBUG
- all-local: build_debug
-diff -durN gcc-4.4.5.orig/libstdc++-v3/src/Makefile.in gcc-4.4.5/libstdc++-v3/src/Makefile.in
---- gcc-4.4.5.orig/libstdc++-v3/src/Makefile.in 2009-08-26 21:04:11.000000000 +0200
-+++ gcc-4.4.5/libstdc++-v3/src/Makefile.in 2010-10-09 23:03:26.000000000 +0200
-@@ -726,7 +726,7 @@
-
- install-data-am: install-data-local
-
--install-exec-am: install-toolexeclibLTLIBRARIES
-+install-exec-am: install-toolexeclibLTLIBRARIES install-exec-local
-
- install-info: install-info-am
-
-@@ -765,7 +765,7 @@
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
-- uninstall-toolexeclibLTLIBRARIES
-+ uninstall-toolexeclibLTLIBRARIES install-exec-local
-
-
- # Symbol versioning for shared libraries.
-@@ -947,6 +947,14 @@
- install_debug:
- (cd ${debugdir} && $(MAKE) \
- toolexeclibdir=$(glibcxx_toolexeclibdir)/debug install)
-+
-+install-exec-local:
-+ pic_objs=`sed -n "s:'::g;s:^pic_object=::p" *.lo | grep -v '^none$$'`; \
-+ if [ x"$$pic_objs" != x ]; then \
-+ $(AR) cru libstdc++_pic.a $$pic_objs $(top_builddir)/libsupc++/*.o || exit 1; \
-+ $(INSTALL_DATA) libstdc++_pic.a $(DESTDIR)$(toolexeclibdir) || exit 1; \
-+ fi
-+
- # Tell versions [3.59,3.63) of GNU make to not export all variables.
- # Otherwise a system limit (for SysV at least) may be exceeded.
- .NOEXPORT:
diff --git a/patches/gcc/4.4.7/250-ia64-noteGNUstack.patch b/patches/gcc/4.4.7/250-ia64-noteGNUstack.patch
deleted file mode 100644
index 6d128e4..0000000
--- a/patches/gcc/4.4.7/250-ia64-noteGNUstack.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/crtbegin.asm gcc-4.4.5/gcc/config/ia64/crtbegin.asm
---- gcc-4.4.5.orig/gcc/config/ia64/crtbegin.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/ia64/crtbegin.asm 2010-10-09 23:03:55.000000000 +0200
-@@ -252,3 +252,7 @@
- .weak __cxa_finalize
- #endif
- .weak _Jv_RegisterClasses
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/crtend.asm gcc-4.4.5/gcc/config/ia64/crtend.asm
---- gcc-4.4.5.orig/gcc/config/ia64/crtend.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/ia64/crtend.asm 2010-10-09 23:03:55.000000000 +0200
-@@ -119,3 +119,7 @@
-
- br.ret.sptk.many rp
- .endp __do_global_ctors_aux
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/crti.asm gcc-4.4.5/gcc/config/ia64/crti.asm
---- gcc-4.4.5.orig/gcc/config/ia64/crti.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/ia64/crti.asm 2010-10-09 23:03:55.000000000 +0200
-@@ -51,3 +51,7 @@
- .body
-
- # end of crti.asm
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/crtn.asm gcc-4.4.5/gcc/config/ia64/crtn.asm
---- gcc-4.4.5.orig/gcc/config/ia64/crtn.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/ia64/crtn.asm 2010-10-09 23:03:55.000000000 +0200
-@@ -41,3 +41,7 @@
- br.ret.sptk.many b0
-
- # end of crtn.asm
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/lib1funcs.asm gcc-4.4.5/gcc/config/ia64/lib1funcs.asm
---- gcc-4.4.5.orig/gcc/config/ia64/lib1funcs.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/ia64/lib1funcs.asm 2010-10-09 23:03:55.000000000 +0200
-@@ -793,3 +793,7 @@
- .endp __floattitf
- #endif
- #endif
-+
-+#ifdef __linux__
-+.section .note.GNU-stack; .previous
-+#endif
-diff -durN gcc-4.4.5.orig/gcc/config/ia64/linux.h gcc-4.4.5/gcc/config/ia64/linux.h
---- gcc-4.4.5.orig/gcc/config/ia64/linux.h 2009-02-12 17:30:53.000000000 +0100
-+++ gcc-4.4.5/gcc/config/ia64/linux.h 2010-10-09 23:03:55.000000000 +0200
-@@ -5,6 +5,8 @@
-
- #define TARGET_VERSION fprintf (stderr, " (IA-64) Linux");
-
-+#define TARGET_ASM_FILE_END file_end_indicate_exec_stack
-+
- /* This is for -profile to use -lc_p instead of -lc. */
- #undef CC1_SPEC
- #define CC1_SPEC "%{profile:-p} %{G*}"
-diff -durN gcc-4.4.5.orig/gcc/config/rs6000/ppc-asm.h gcc-4.4.5/gcc/config/rs6000/ppc-asm.h
---- gcc-4.4.5.orig/gcc/config/rs6000/ppc-asm.h 2008-10-13 17:44:26.000000000 +0200
-+++ gcc-4.4.5/gcc/config/rs6000/ppc-asm.h 2010-10-09 23:03:55.000000000 +0200
-@@ -172,7 +172,7 @@
- .size FUNC_NAME(name),GLUE(.L,name)-FUNC_NAME(name)
- #endif
-
--#if defined __linux__ && !defined __powerpc64__
-+#if defined __linux__
- .section .note.GNU-stack
- .previous
- #endif
diff --git a/patches/gcc/4.4.7/260-sh-libgcc-stacks.patch b/patches/gcc/4.4.7/260-sh-libgcc-stacks.patch
deleted file mode 100644
index cc6baf3..0000000
--- a/patches/gcc/4.4.7/260-sh-libgcc-stacks.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/sh/lib1funcs.asm gcc-4.4.5/gcc/config/sh/lib1funcs.asm
---- gcc-4.4.5.orig/gcc/config/sh/lib1funcs.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/sh/lib1funcs.asm 2010-10-09 23:04:22.000000000 +0200
-@@ -30,6 +30,11 @@
- !! recoded in assembly by Toshiyasu Morita
- !! tm@netcom.com
-
-+#if defined(__ELF__) && defined(__linux__)
-+.section .note.GNU-stack,"",%progbits
-+.previous
-+#endif
-+
- /* SH2 optimizations for ___ashrsi3, ___ashlsi3, ___lshrsi3 and
- ELF local label prefixes by J"orn Rennecke
- amylaar@cygnus.com */
-diff -durN gcc-4.4.5.orig/gcc/config/sh/linux-atomic.asm gcc-4.4.5/gcc/config/sh/linux-atomic.asm
---- gcc-4.4.5.orig/gcc/config/sh/linux-atomic.asm 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/sh/linux-atomic.asm 2010-10-09 23:04:22.000000000 +0200
-@@ -136,3 +136,6 @@
- ATOMIC_FETCH_AND_COMBOP(nand,and,not,4,l,mov)
-
- #endif /* ! __SH5__ */
-+
-+.section .note.GNU-stack,"",%progbits
-+.previous
diff --git a/patches/gcc/4.4.7/270-sh-pr24836.patch b/patches/gcc/4.4.7/270-sh-pr24836.patch
deleted file mode 100644
index 11ca63d..0000000
--- a/patches/gcc/4.4.7/270-sh-pr24836.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/configure gcc-4.4.5/gcc/configure
---- gcc-4.4.5.orig/gcc/configure 2010-10-09 22:58:36.000000000 +0200
-+++ gcc-4.4.5/gcc/configure 2010-10-09 23:04:50.000000000 +0200
-@@ -22285,7 +22285,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
-diff -durN gcc-4.4.5.orig/gcc/configure.ac gcc-4.4.5/gcc/configure.ac
---- gcc-4.4.5.orig/gcc/configure.ac 2010-10-09 22:58:36.000000000 +0200
-+++ gcc-4.4.5/gcc/configure.ac 2010-10-09 23:04:50.000000000 +0200
-@@ -2728,7 +2728,7 @@
- tls_first_minor=14
- tls_as_opt="-m64 -Aesame --fatal-warnings"
- ;;
-- sh-*-* | sh[34]-*-*)
-+ sh-*-* | sh[34]*-*-*)
- conftest_s='
- .section ".tdata","awT",@progbits
- foo: .long 25
diff --git a/patches/gcc/4.4.7/280-freebsd.patch b/patches/gcc/4.4.7/280-freebsd.patch
deleted file mode 100644
index e26b34a..0000000
--- a/patches/gcc/4.4.7/280-freebsd.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/freebsd-spec.h gcc-4.4.5/gcc/config/freebsd-spec.h
---- gcc-4.4.5.orig/gcc/config/freebsd-spec.h 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/config/freebsd-spec.h 2010-10-09 23:09:53.000000000 +0200
-@@ -61,6 +61,8 @@
- builtin_assert ("system=unix"); \
- builtin_assert ("system=bsd"); \
- builtin_assert ("system=FreeBSD"); \
-+ if(!(flag_iso && (c_dialect_cxx () ? cxx_dialect == cxx98 : !flag_isoc99))) \
-+ builtin_define("_LONGLONG"); \
- FBSD_TARGET_CPU_CPP_BUILTINS(); \
- } \
- while (0)
-diff -durN gcc-4.4.5.orig/gcc/config/t-freebsd-eh gcc-4.4.5/gcc/config/t-freebsd-eh
---- gcc-4.4.5.orig/gcc/config/t-freebsd-eh 1970-01-01 01:00:00.000000000 +0100
-+++ gcc-4.4.5/gcc/config/t-freebsd-eh 2010-10-09 23:09:53.000000000 +0200
-@@ -0,0 +1,4 @@
-+# Use unwind-dw2-fde-glibc
-+LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde-glibc.c \
-+ $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
-+LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h unwind-dw2-fde.c
-diff -durN gcc-4.4.5.orig/gcc/config.gcc gcc-4.4.5/gcc/config.gcc
---- gcc-4.4.5.orig/gcc/config.gcc 2010-10-09 23:02:56.000000000 +0200
-+++ gcc-4.4.5/gcc/config.gcc 2010-10-09 23:09:53.000000000 +0200
-@@ -456,7 +456,7 @@
- # pleases around the provided core setting.
- gas=yes
- gnu_ld=yes
-- extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
-+ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o"
- fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
- tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
- tmake_file="t-slibgcc-elf-ver t-freebsd"
-@@ -1048,6 +1048,10 @@
- ;;
- i[34567]86-*-freebsd*)
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
-+ fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
-+ if test ${fbsd_major} -ge 7; then
-+ tmake_file="${tmake_file} t-freebsd-eh"
-+ fi
- ;;
- x86_64-*-freebsd*)
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/x86-64.h i386/freebsd.h i386/freebsd64.h"
-diff -durN gcc-4.4.5.orig/gcc/crtstuff.c gcc-4.4.5/gcc/crtstuff.c
---- gcc-4.4.5.orig/gcc/crtstuff.c 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/crtstuff.c 2010-10-09 23:09:53.000000000 +0200
-@@ -85,13 +85,15 @@
- && !defined(OBJECT_FORMAT_FLAT) \
- && defined(HAVE_LD_EH_FRAME_HDR) \
- && !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
-- && defined(__GLIBC__) && __GLIBC__ >= 2
-+ && ((defined(__GLIBC__) && __GLIBC__ >= 2) \
-+ || (defined(__FreeBSD_version) && __FreeBSD_version >= 700022))
- #include <link.h>
- /* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
- But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
- # if !defined(__UCLIBC__) \
-- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
-+ || (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
-+ || (__FreeBSD_version >= 700022)
- # define USE_PT_GNU_EH_FRAME
- # endif
- #endif
-diff -durN gcc-4.4.5.orig/gcc/unwind-dw2-fde-glibc.c gcc-4.4.5/gcc/unwind-dw2-fde-glibc.c
---- gcc-4.4.5.orig/gcc/unwind-dw2-fde-glibc.c 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/gcc/unwind-dw2-fde-glibc.c 2010-10-09 23:09:53.000000000 +0200
-@@ -46,8 +46,9 @@
- #include "gthr.h"
-
- #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
-- && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-- || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG)))
-+ && ((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
-+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) \
-+ || (__FreeBSD_version >= 700022 ))
-
- #ifndef __RELOC_POINTER
- # define __RELOC_POINTER(ptr, base) ((ptr) + (base))
-@@ -63,6 +64,13 @@
- #define PT_GNU_EH_FRAME (PT_LOOS + 0x474e550)
- #endif
-
-+/* Support FreeBSD */
-+#ifndef ElfW
-+# ifdef __ElfN
-+# define ElfW __ElfN
-+# endif
-+#endif
-+
- struct unw_eh_callback_data
- {
- _Unwind_Ptr pc;
diff --git a/patches/gcc/4.4.7/290-freebsd.patch b/patches/gcc/4.4.7/290-freebsd.patch
deleted file mode 100644
index 88d632e..0000000
--- a/patches/gcc/4.4.7/290-freebsd.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -durN gcc-4.4.5.orig/gcc/config/freebsd-spec.h gcc-4.4.5/gcc/config/freebsd-spec.h
---- gcc-4.4.5.orig/gcc/config/freebsd-spec.h 2010-10-09 23:09:53.000000000 +0200
-+++ gcc-4.4.5/gcc/config/freebsd-spec.h 2010-10-09 23:10:02.000000000 +0200
-@@ -86,9 +86,10 @@
- #define FBSD_STARTFILE_SPEC \
- "%{!shared: \
- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
-- %{!p:%{profile:gcrt1.o%s} \
-- %{!profile:crt1.o%s}}}} \
-- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-+ %{!p:%{profile:gcrt1.o%s} \
-+ %{!profile:crt1.o%s}}}} \
-+ crti.o%s \
-+ %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}"
-
- /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
- the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -126,7 +127,8 @@
- %{pg: -lc_p} \
- }"
- #else
--#if FBSD_MAJOR < 5
-+#include <sys/param.h>
-+#if __FreeBSD_version < 500016
- #define FBSD_LIB_SPEC " \
- %{!shared: \
- %{!pg: \
-@@ -136,17 +138,34 @@
- %{!pthread:-lc_p} \
- %{pthread:-lc_r_p}} \
- }"
--#else
-+#elif __FreeBSD_version < 700022
- #define FBSD_LIB_SPEC " \
- %{!shared: \
- %{!pg: %{pthread:-lpthread} -lc} \
- %{pg: %{pthread:-lpthread_p} -lc_p} \
- }"
-+#else
-+#define FBSD_LIB_SPEC " \
-+ %{!shared: \
-+ %{!pg: %{pthread:-lpthread} -lc} \
-+ %{pg: %{pthread:-lpthread_p} -lc_p}} \
-+ %{shared: \
-+ %{pthread:-lpthread} -lc} \
-+ "
- #endif
- #endif
-
--#if FBSD_MAJOR < 6
-+#if FBSD_MAJOR < 5
- #define FBSD_DYNAMIC_LINKER "/usr/libexec/ld-elf.so.1"
- #else
- #define FBSD_DYNAMIC_LINKER "/libexec/ld-elf.so.1"
- #endif
-+
-+#if defined(HAVE_LD_EH_FRAME_HDR)
-+#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
-+#endif
-+
-+/* Use --as-needed -lgcc_s for eh support. */
-+#ifdef HAVE_LD_AS_NEEDED
-+#define USE_LD_AS_NEEDED 1
-+#endif
diff --git a/patches/gcc/4.4.7/300-uclibc-conf.patch b/patches/gcc/4.4.7/300-uclibc-conf.patch
deleted file mode 100644
index b1465e0..0000000
--- a/patches/gcc/4.4.7/300-uclibc-conf.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff -durN gcc-4.4.5.orig/contrib/regression/objs-gcc.sh gcc-4.4.5/contrib/regression/objs-gcc.sh
---- gcc-4.4.5.orig/contrib/regression/objs-gcc.sh 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/contrib/regression/objs-gcc.sh 2010-10-09 23:10:32.000000000 +0200
-@@ -106,6 +106,10 @@
- then
- make all-gdb all-dejagnu all-ld || exit 1
- make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+ make all-gdb all-dejagnu all-ld || exit 1
-+ make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
- make bootstrap || exit 1
- make install || exit 1
-diff -durN gcc-4.4.5.orig/libjava/classpath/ltconfig gcc-4.4.5/libjava/classpath/ltconfig
---- gcc-4.4.5.orig/libjava/classpath/ltconfig 2007-06-04 01:18:43.000000000 +0200
-+++ gcc-4.4.5/libjava/classpath/ltconfig 2010-10-09 23:10:32.000000000 +0200
-@@ -603,7 +603,7 @@
-
- # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
- case $host_os in
--linux-gnu*) ;;
-+linux-gnu*|linux-uclibc*) ;;
- linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
- esac
-
-@@ -1251,7 +1251,7 @@
- ;;
-
- # This must be Linux ELF.
--linux-gnu*)
-+linux*)
- version_type=linux
- need_lib_prefix=no
- need_version=no
diff --git a/patches/gcc/4.4.7/310-missing-execinfo_h.patch b/patches/gcc/4.4.7/310-missing-execinfo_h.patch
deleted file mode 100644
index 3d381da..0000000
--- a/patches/gcc/4.4.7/310-missing-execinfo_h.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.4.5.orig/boehm-gc/include/gc.h gcc-4.4.5/boehm-gc/include/gc.h
---- gcc-4.4.5.orig/boehm-gc/include/gc.h 2007-04-23 23:10:09.000000000 +0200
-+++ gcc-4.4.5/boehm-gc/include/gc.h 2010-10-09 23:11:00.000000000 +0200
-@@ -503,7 +503,7 @@
- #if defined(__linux__) || defined(__GLIBC__)
- # include <features.h>
- # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
-- && !defined(__ia64__)
-+ && !defined(__ia64__) && !defined(__UCLIBC__)
- # ifndef GC_HAVE_BUILTIN_BACKTRACE
- # define GC_HAVE_BUILTIN_BACKTRACE
- # endif
diff --git a/patches/gcc/4.4.7/320-c99-snprintf.patch b/patches/gcc/4.4.7/320-c99-snprintf.patch
deleted file mode 100644
index c6aa06c..0000000
--- a/patches/gcc/4.4.7/320-c99-snprintf.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -durN gcc-4.4.5.orig/libstdc++-v3/include/c_global/cstdio gcc-4.4.5/libstdc++-v3/include/c_global/cstdio
---- gcc-4.4.5.orig/libstdc++-v3/include/c_global/cstdio 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/libstdc++-v3/include/c_global/cstdio 2010-10-09 23:11:27.000000000 +0200
-@@ -139,7 +139,7 @@
-
- _GLIBCXX_END_NAMESPACE
-
--#if _GLIBCXX_USE_C99
-+#if _GLIBCXX_USE_C99 || defined __UCLIBC__
-
- #undef snprintf
- #undef vfscanf
diff --git a/patches/gcc/4.4.7/330-libmudflap-susv3-legacy.patch b/patches/gcc/4.4.7/330-libmudflap-susv3-legacy.patch
deleted file mode 100644
index 95f7709..0000000
--- a/patches/gcc/4.4.7/330-libmudflap-susv3-legacy.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -durN gcc-4.4.5.orig/libmudflap/mf-hooks2.c gcc-4.4.5/libmudflap/mf-hooks2.c
---- gcc-4.4.5.orig/libmudflap/mf-hooks2.c 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/libmudflap/mf-hooks2.c 2010-10-09 23:11:52.000000000 +0200
-@@ -421,7 +421,7 @@
- {
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, n, __MF_CHECK_WRITE, "bzero region");
-- bzero (s, n);
-+ memset (s, 0, n);
- }
-
-
-@@ -431,7 +431,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(src, n, __MF_CHECK_READ, "bcopy src");
- MF_VALIDATE_EXTENT(dest, n, __MF_CHECK_WRITE, "bcopy dest");
-- bcopy (src, dest, n);
-+ memmove (dest, src, n);
- }
-
-
-@@ -441,7 +441,7 @@
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s1, n, __MF_CHECK_READ, "bcmp 1st arg");
- MF_VALIDATE_EXTENT(s2, n, __MF_CHECK_READ, "bcmp 2nd arg");
-- return bcmp (s1, s2, n);
-+ return n == 0 ? 0 : memcmp (s1, s2, n);
- }
-
-
-@@ -450,7 +450,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index region");
-- return index (s, c);
-+ return strchr (s, c);
- }
-
-
-@@ -459,7 +459,7 @@
- size_t n = strlen (s);
- TRACE ("%s\n", __PRETTY_FUNCTION__);
- MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex region");
-- return rindex (s, c);
-+ return strrchr (s, c);
- }
-
- /* XXX: stpcpy, memccpy */
diff --git a/patches/gcc/4.4.7/340-ecjx-host-cc.patch b/patches/gcc/4.4.7/340-ecjx-host-cc.patch
deleted file mode 100644
index c7f6ae7..0000000
--- a/patches/gcc/4.4.7/340-ecjx-host-cc.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -durN gcc-4.4.5.orig/libjava/Makefile.in gcc-4.4.5/libjava/Makefile.in
---- gcc-4.4.5.orig/libjava/Makefile.in 2010-10-01 10:26:18.000000000 +0200
-+++ gcc-4.4.5/libjava/Makefile.in 2010-10-09 23:12:22.000000000 +0200
-@@ -9180,6 +9180,9 @@
- ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES)
- @rm -f ecjx$(EXEEXT)
- $(ecjx_LINK) $(ecjx_LDFLAGS) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
-+ecjx.$(OBJEXT): $(ecjx_SOURCES)
-+ @rm -f ecjx.$(OBJEXT)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
- gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES)
- @rm -f gappletviewer$(EXEEXT)
- $(gappletviewer_LINK) $(gappletviewer_LDFLAGS) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)
diff --git a/patches/gcc/4.4.7/350-index_macro.patch b/patches/gcc/4.4.7/350-index_macro.patch
deleted file mode 100644
index 0dda11e..0000000
--- a/patches/gcc/4.4.7/350-index_macro.patch
+++ /dev/null
@@ -1,30 +0,0 @@
--= BEGIN original header =-
-Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/uclibc/90_all_304-index_macro.patch
--= END original header =-
-
-diff -durN gcc-4.4.5.orig/libstdc++-v3/include/ext/rope gcc-4.4.5/libstdc++-v3/include/ext/rope
---- gcc-4.4.5.orig/libstdc++-v3/include/ext/rope 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/libstdc++-v3/include/ext/rope 2010-10-09 23:12:51.000000000 +0200
-@@ -54,6 +54,9 @@
- #include <bits/gthr.h>
- #include <tr1/functional>
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- # ifdef __GC
- # define __GC_CONST const
- # else
-diff -durN gcc-4.4.5.orig/libstdc++-v3/include/ext/ropeimpl.h gcc-4.4.5/libstdc++-v3/include/ext/ropeimpl.h
---- gcc-4.4.5.orig/libstdc++-v3/include/ext/ropeimpl.h 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/libstdc++-v3/include/ext/ropeimpl.h 2010-10-09 23:12:51.000000000 +0200
-@@ -49,6 +49,9 @@
- #include <ext/memory> // For uninitialized_copy_n
- #include <ext/numeric> // For power
-
-+/* cope w/ index defined as macro, SuSv3 proposal */
-+#undef index
-+
- _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- using std::size_t;
diff --git a/patches/gcc/4.4.7/360-arm-bigendian.patch b/patches/gcc/4.4.7/360-arm-bigendian.patch
deleted file mode 100644
index 5a64290..0000000
--- a/patches/gcc/4.4.7/360-arm-bigendian.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-By Lennert Buytenhek <buytenh@wantstofly.org>
-Adds support for arm*b-linux* big-endian ARM targets
-
-See http://gcc.gnu.org/PR16350
-
-diff -durN gcc-4.4.5.orig/gcc/config/arm/linux-elf.h gcc-4.4.5/gcc/config/arm/linux-elf.h
---- gcc-4.4.5.orig/gcc/config/arm/linux-elf.h 2009-02-20 16:20:38.000000000 +0100
-+++ gcc-4.4.5/gcc/config/arm/linux-elf.h 2010-10-09 23:13:21.000000000 +0200
-@@ -51,7 +51,7 @@
-
- #undef MULTILIB_DEFAULTS
- #define MULTILIB_DEFAULTS \
-- { "marm", "mlittle-endian", "mhard-float", "mno-thumb-interwork" }
-+ { "marm", TARGET_ENDIAN_OPTION, "mhard-float", "mno-thumb-interwork" }
-
- /* Now we define the strings used to build the spec file. */
- #undef LIB_SPEC
-diff -durN gcc-4.4.5.orig/gcc/config.gcc gcc-4.4.5/gcc/config.gcc
---- gcc-4.4.5.orig/gcc/config.gcc 2010-10-09 23:09:53.000000000 +0200
-+++ gcc-4.4.5/gcc/config.gcc 2010-10-09 23:13:21.000000000 +0200
-@@ -739,6 +739,11 @@
- tm_file="dbxelf.h elfos.h arm/unknown-elf.h arm/elf.h arm/linux-gas.h arm/uclinux-elf.h"
- tmake_file="arm/t-arm arm/t-arm-elf"
- case ${target} in
-+ arm*b-*)
-+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
-+ ;;
-+ esac
-+ case ${target} in
- arm*-*-uclinux*eabi)
- tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
- tmake_file="$tmake_file arm/t-bpabi"
diff --git a/patches/gcc/4.4.7/370-bootstrap-target_lib_path.patch b/patches/gcc/4.4.7/370-bootstrap-target_lib_path.patch
deleted file mode 100644
index 84f62d4..0000000
--- a/patches/gcc/4.4.7/370-bootstrap-target_lib_path.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-ChangeLog:
-2010-01-06 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
-
- PR bootstrap/41818
- * Makefile.tpl (BASE_TARGET_EXPORTS): Only add TARGET_LIB_PATH
- to $(RPATH_ENVVAR) if bootstrapping.
- * Makefile.in: Regenerate.
-
-diff -durN gcc-4.4.5.orig/Makefile.in gcc-4.4.5/Makefile.in
---- gcc-4.4.5.orig/Makefile.in 2009-04-25 06:10:29.000000000 +0200
-+++ gcc-4.4.5/Makefile.in 2010-10-09 23:13:50.000000000 +0200
-@@ -245,7 +245,10 @@
- STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
-- $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
-+@if gcc-bootstrap
-+ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
-+@endif gcc-bootstrap
-+ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
-
- RAW_CXX_TARGET_EXPORTS = \
- $(BASE_TARGET_EXPORTS) \
-diff -durN gcc-4.4.5.orig/Makefile.tpl gcc-4.4.5/Makefile.tpl
---- gcc-4.4.5.orig/Makefile.tpl 2009-04-14 10:57:33.000000000 +0200
-+++ gcc-4.4.5/Makefile.tpl 2010-10-09 23:13:50.000000000 +0200
-@@ -248,7 +248,10 @@
- STRIP="$(STRIP_FOR_TARGET)"; export STRIP; \
- WINDRES="$(WINDRES_FOR_TARGET)"; export WINDRES; \
- WINDMC="$(WINDMC_FOR_TARGET)"; export WINDMC; \
-- $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
-+@if gcc-bootstrap
-+ $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \
-+@endif gcc-bootstrap
-+ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR);
-
- RAW_CXX_TARGET_EXPORTS = \
- $(BASE_TARGET_EXPORTS) \
diff --git a/patches/gcc/4.4.7/380-powerpc-libgcc_s-link-libm.patch b/patches/gcc/4.4.7/380-powerpc-libgcc_s-link-libm.patch
deleted file mode 100644
index 06bc93d..0000000
--- a/patches/gcc/4.4.7/380-powerpc-libgcc_s-link-libm.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00269.html
-
-On glibc the libc.so carries a copy of the math function copysignl() but
-contains unresolved symbols, any attempt to link against libgcc_s
-without explicitely specifying -lm fails, resulting in a broken
-bootstrap of the compiler.
-
-
-diff -durN gcc-4.4.5.orig/gcc/config/t-slibgcc-elf-ver gcc-4.4.5/gcc/config/t-slibgcc-elf-ver
---- gcc-4.4.5.orig/gcc/config/t-slibgcc-elf-ver 2010-01-04 16:13:08.000000000 +0100
-+++ gcc-4.4.5/gcc/config/t-slibgcc-elf-ver 2010-10-09 23:14:18.000000000 +0200
-@@ -9,7 +9,7 @@
- SHLIB_OBJS = @shlib_objs@
- SHLIB_DIR = @multilib_dir@
- SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
--SHLIB_LC = -lc
-+SHLIB_LC = @libgcc_libm@ -lc
- SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK)
- SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \
- $$(DESTDIR)$$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK)
-diff -durN gcc-4.4.5.orig/libgcc/configure gcc-4.4.5/libgcc/configure
---- gcc-4.4.5.orig/libgcc/configure 2008-11-20 18:13:01.000000000 +0100
-+++ gcc-4.4.5/libgcc/configure 2010-10-09 23:14:18.000000000 +0200
-@@ -272,7 +272,7 @@
- PACKAGE_BUGREPORT=''
-
- ac_unique_file="static-object.mk"
--ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
-+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
- ac_subst_files=''
- ac_pwd=`pwd`
-
-@@ -3547,6 +3547,39 @@
- fi
-
-
-+# On powerpc libgcc_s references copysignl which is a libm function but
-+# glibc apparently also provides it via libc as opposed to uClibc where
-+# it lives in libm.
-+echo "$as_me:$LINENO: checking for library containing copysignl" >&5
-+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
-+if test "${libgcc_cv_copysignl_lib+set}" = set; then
-+ echo $ECHO_N "(cached) $ECHO_C" >&6
-+else
-+
-+ echo '#include <features.h>' > conftest.c
-+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
-+ libgcc_cv_copysignl_lib="-lc"
-+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
-+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-+ (eval $ac_try) 2>&5
-+ ac_status=$?
-+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
-+ (exit $ac_status); }; }
-+ then
-+ libgcc_cv_copysignl_lib="-lm"
-+ fi
-+ rm -f conftest.*
-+
-+fi
-+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
-+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
-+
-+case /${libgcc_cv_copysignl_lib}/ in
-+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
-+ *) LIBGCC_LIBM= ;;
-+esac
-+
-+
- # Conditionalize the makefile for this target machine.
- tmake_file_=
- for f in ${tmake_file}
-@@ -4267,6 +4300,7 @@
- s,@fixed_point@,$fixed_point,;t t
- s,@vis_hide@,$vis_hide,;t t
- s,@set_have_cc_tls@,$set_have_cc_tls,;t t
-+s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t
- s,@tmake_file@,$tmake_file,;t t
- s,@extra_parts@,$extra_parts,;t t
- s,@asm_hidden_op@,$asm_hidden_op,;t t
-diff -durN gcc-4.4.5.orig/libgcc/configure.ac gcc-4.4.5/libgcc/configure.ac
---- gcc-4.4.5.orig/libgcc/configure.ac 2008-11-20 18:13:01.000000000 +0100
-+++ gcc-4.4.5/libgcc/configure.ac 2010-10-09 23:14:18.000000000 +0200
-@@ -223,6 +223,27 @@
- fi
- AC_SUBST(set_have_cc_tls)
-
-+# On powerpc libgcc_s references copysignl which is a libm function but
-+# glibc apparently also provides it via libc as opposed to uClibc where
-+# it lives in libm.
-+AC_CACHE_CHECK
-+ libgcc_cv_copysignl_lib,
-+ echo '#include <features.h>' > conftest.c
-+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
-+ libgcc_cv_copysignl_lib="-lc"
-+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
-+ then
-+ libgcc_cv_copysignl_lib="-lm"
-+ fi
-+ rm -f conftest.*
-+ ])
-+
-+case /${libgcc_cv_copysignl_lib}/ in
-+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
-+ *) LIBGCC_LIBM= ;;
-+esac
-+AC_SUBST(LIBGCC_LIBM)
-+
- # Conditionalize the makefile for this target machine.
- tmake_file_=
- for f in ${tmake_file}
-diff -durN gcc-4.4.5.orig/libgcc/Makefile.in gcc-4.4.5/libgcc/Makefile.in
---- gcc-4.4.5.orig/libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.5/libgcc/Makefile.in 2010-10-09 23:14:18.000000000 +0200
-@@ -39,6 +39,7 @@
- decimal_float = @decimal_float@
- enable_decimal_float = @enable_decimal_float@
- fixed_point = @fixed_point@
-+LIBGCC_LIBM = @LIBGCC_LIBM@
-
- host_noncanonical = @host_noncanonical@
-
-@@ -787,9 +788,10 @@
- @multilib_dir@,$(MULTIDIR),$(subst \
- @shlib_objs@,$(objects),$(subst \
- @shlib_base_name@,libgcc_s,$(subst \
-+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
- @shlib_map_file@,$(mapfile),$(subst \
- @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
-- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
-+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
-
- libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
- # @multilib_flags@ is still needed because this may use
diff --git a/patches/gcc/4.4.7/390-arm-softfloat-libgcc.patch b/patches/gcc/4.4.7/390-arm-softfloat-libgcc.patch
deleted file mode 100644
index e6a30a3..0000000
--- a/patches/gcc/4.4.7/390-arm-softfloat-libgcc.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-[PATCH] add the correct symbols to libgcc for uclibc arm softfloat
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- gcc/config/arm/linux-elf.h | 2 +-
- gcc/config/arm/t-linux | 6 +++++-
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
-Index: gcc-4.4.0/gcc/config/arm/t-linux
-===================================================================
---- gcc-4.4.0.orig/gcc/config/arm/t-linux
-+++ gcc-4.4.0/gcc/config/arm/t-linux
-@@ -4,7 +4,11 @@
-
- LIB1ASMSRC = arm/lib1funcs.asm
- LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
-- _arm_addsubdf3 _arm_addsubsf3
-+ _arm_addsubdf3 _arm_addsubsf3 \
-+ _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
-+ _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
-+ _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
-+ _arm_fixsfsi _arm_fixunssfsi
-
- # MULTILIB_OPTIONS = mhard-float/msoft-float
- # MULTILIB_DIRNAMES = hard-float soft-float
-Index: gcc-4.4.0/gcc/config/arm/linux-elf.h
-===================================================================
---- gcc-4.4.0.orig/gcc/config/arm/linux-elf.h
-+++ gcc-4.4.0/gcc/config/arm/linux-elf.h
-@@ -60,7 +60,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"
-
diff --git a/patches/gcc/4.4.7/400-pr42289-fix-libffi-build-on-arm-oabi.patch b/patches/gcc/4.4.7/400-pr42289-fix-libffi-build-on-arm-oabi.patch
deleted file mode 100644
index 8654879..0000000
--- a/patches/gcc/4.4.7/400-pr42289-fix-libffi-build-on-arm-oabi.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gcc-4.3.4/libffi/src/arm/sysv.S
-+++ gcc-4.3.4/libffi/src/arm/sysv.S
-@@ -235,7 +235,7 @@ ARM_FUNC_START ffi_closure_SYSV
- stmfd sp!, {ip, lr}
- UNWIND .save {r0, lr}
- add r2, sp, #8
-- .pad #16
-+ UNWIND .pad #16
- sub sp, sp, #16
- str sp, [sp, #8]
- add r1, sp, #8
diff --git a/patches/gcc/4.4.7/410-libgcc_eh.a.patch b/patches/gcc/4.4.7/410-libgcc_eh.a.patch
deleted file mode 100644
index 4753260..0000000
--- a/patches/gcc/4.4.7/410-libgcc_eh.a.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Highly inspired by:
- http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
-
-diff -durN gcc-4.4.0.orig/libgcc/Makefile.in gcc-4.4.0/libgcc/Makefile.in
---- gcc-4.4.0.orig/libgcc/Makefile.in 2009-04-10 01:23:07.000000000 +0200
-+++ gcc-4.4.0/libgcc/Makefile.in 2011-09-12 17:05:25.121124559 +0200
-@@ -754,8 +754,9 @@
- libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
- endif
-
-+all: libgcc_eh.a
- ifeq ($(enable_shared),yes)
--all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
-+all: libgcc_s$(SHLIB_EXT)
- ifneq ($(LIBUNWIND),)
- all: libunwind$(SHLIB_EXT)
- endif
-@@ -924,10 +925,6 @@
- install-shared:
- $(mkinstalldirs) $(DESTDIR)$(inst_libdir)
-
-- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
--
- $(subst @multilib_dir@,$(MULTIDIR),$(subst \
- @shlib_base_name@,libgcc_s,$(subst \
- @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
-@@ -942,6 +939,10 @@
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
-
-+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+
- parts="$(INSTALL_PARTS)"; \
- for file in $$parts; do \
- rm -f $(DESTDIR)$(inst_libdir)/$$file; \
diff --git a/patches/gcc/4.5.4/100-ecjx-host.patch b/patches/gcc/4.5.4/100-ecjx-host.patch
deleted file mode 100644
index ea6aa50..0000000
--- a/patches/gcc/4.5.4/100-ecjx-host.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -durN gcc-4.5.2.orig/libjava/Makefile.in gcc-4.5.2/libjava/Makefile.in
---- gcc-4.5.2.orig/libjava/Makefile.in 2010-12-16 13:49:03.000000000 +0100
-+++ gcc-4.5.2/libjava/Makefile.in 2010-12-29 23:02:41.000000000 +0100
-@@ -9463,6 +9463,9 @@
- ecjx$(EXEEXT): $(ecjx_OBJECTS) $(ecjx_DEPENDENCIES)
- @rm -f ecjx$(EXEEXT)
- $(ecjx_LINK) $(ecjx_OBJECTS) $(ecjx_LDADD) $(LIBS)
-+ecjx.$(OBJEXT): $(ecjx_SOURCES)
-+ @rm -f ecjx.$(OBJEXT)
-+ $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c -o $@ $<
- gappletviewer$(EXEEXT): $(gappletviewer_OBJECTS) $(gappletviewer_DEPENDENCIES)
- @rm -f gappletviewer$(EXEEXT)
- $(gappletviewer_LINK) $(gappletviewer_OBJECTS) $(gappletviewer_LDADD) $(LIBS)
diff --git a/patches/gcc/4.5.4/110-libgcc_eh.a.patch b/patches/gcc/4.5.4/110-libgcc_eh.a.patch
deleted file mode 100644
index 4cc019e..0000000
--- a/patches/gcc/4.5.4/110-libgcc_eh.a.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Highly inspired by:
- http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
-
-diff -durN gcc-4.5.0.orig/libgcc/Makefile.in gcc-4.5.0/libgcc/Makefile.in
---- gcc-4.5.0.orig/libgcc/Makefile.in 2010-03-30 15:08:52.000000000 +0200
-+++ gcc-4.5.0/libgcc/Makefile.in 2011-09-12 17:46:51.342800731 +0200
-@@ -765,8 +765,9 @@
- libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
- endif
-
-+all: libgcc_eh.a
- ifeq ($(enable_shared),yes)
--all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
-+all: libgcc_s$(SHLIB_EXT)
- ifneq ($(LIBUNWIND),)
- all: libunwind$(SHLIB_EXT)
- endif
-@@ -935,10 +936,6 @@
- install-shared:
- $(mkinstalldirs) $(DESTDIR)$(inst_libdir)
-
-- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
--
- $(subst @multilib_dir@,$(MULTIDIR),$(subst \
- @shlib_base_name@,libgcc_s,$(subst \
- @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
-@@ -953,6 +950,10 @@
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
-
-+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+
- parts="$(INSTALL_PARTS)"; \
- for file in $$parts; do \
- rm -f $(DESTDIR)$(inst_libdir)/$$file; \
diff --git a/patches/gcc/4.6.4/100-libgcc_eh.a.patch b/patches/gcc/4.6.4/100-libgcc_eh.a.patch
deleted file mode 100644
index 74ae897..0000000
--- a/patches/gcc/4.6.4/100-libgcc_eh.a.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Highly inspired by:
- http://landley.net/hg/aboriginal/file/7e0747a665ab/sources/patches/gcc-core-libgcceh.patch
-
-diff -durN gcc-4.6.0.orig/libgcc/Makefile.in gcc-4.6.0/libgcc/Makefile.in
---- gcc-4.6.0.orig/libgcc/Makefile.in 2011-01-26 05:19:58.000000000 +0100
-+++ gcc-4.6.0/libgcc/Makefile.in 2011-09-12 18:17:12.743718974 +0200
-@@ -772,8 +772,9 @@
- libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
- endif
-
-+all: libgcc_eh.a
- ifeq ($(enable_shared),yes)
--all: libgcc_eh.a libgcc_s$(SHLIB_EXT)
-+all: libgcc_s$(SHLIB_EXT)
- ifneq ($(LIBUNWIND),)
- all: libunwind$(SHLIB_EXT)
- endif
-@@ -950,10 +951,6 @@
- install-shared:
- $(mkinstalldirs) $(DESTDIR)$(inst_libdir)
-
-- $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-- chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
--
- $(subst @multilib_dir@,$(MULTIDIR),$(subst \
- @shlib_base_name@,libgcc_s,$(subst \
- @shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(SHLIB_INSTALL))))
-@@ -968,6 +965,10 @@
- chmod 644 $(DESTDIR)$(inst_libdir)/libgcov.a
- $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcov.a
-
-+ $(INSTALL_DATA) libgcc_eh.a $(DESTDIR)$(inst_libdir)/
-+ chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+ $(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a
-+
- parts="$(INSTALL_PARTS)"; \
- for file in $$parts; do \
- rm -f $(DESTDIR)$(inst_libdir)/$$file; \
diff --git a/patches/gcc/4.7.4/000-libitm-fix-definition-of-__m64.patch b/patches/gcc/4.7.4/000-libitm-fix-definition-of-__m64.patch
deleted file mode 100644
index ade14a7..0000000
--- a/patches/gcc/4.7.4/000-libitm-fix-definition-of-__m64.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3d27d47fbebdb1be3d35e398a7c042a930f64aa6 Mon Sep 17 00:00:00 2001
-From: Richard Braun <rbraun@sceen.net>
-Date: Mon, 26 Nov 2012 11:36:17 +0100
-Subject: [PATCH] libitm: fix definition of __m64
-
-See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52695 for details.
----
- libitm/config/x86/target.h | 3 +++
- 1 files changed, 3 insertions(+), 0 deletions(-)
-
-diff --git a/libitm/config/x86/target.h b/libitm/config/x86/target.h
-index 5c7e6fb..6254d8a 100644
---- a/libitm/config/x86/target.h
-+++ b/libitm/config/x86/target.h
-@@ -73,6 +73,9 @@ cpu_relax (void)
- /* ??? It's broken for C++. */
- #include <x86intrin.h>
- #else
-+# ifdef __MMX__
-+# include <mmintrin.h>
-+# endif
- # ifdef __SSE2__
- # include <emmintrin.h>
- # elif defined(__SSE__)
---
-1.7.2.5
-
diff --git a/patches/gcc/4.7.4/100-fix-PR-target-58595.patch b/patches/gcc/4.7.4/100-fix-PR-target-58595.patch
deleted file mode 100644
index 11b2d5d..0000000
--- a/patches/gcc/4.7.4/100-fix-PR-target-58595.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-commit 4fa1f8926227d4e79975b674dc4292b9bec4b137
-Author: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu Mar 6 12:07:07 2014 +0000
-
- PR target/58595
- * config/arm/arm.c (arm_tls_symbol_p): Remove.
- (arm_legitimize_address): Call legitimize_tls_address for any
- arm_tls_referenced_p expression, handle constant addend. Call it
- before testing for !TARGET_ARM.
- (thumb_legitimize_address): Don't handle arm_tls_symbol_p here.
-
- * gcc.dg/tls/pr58595.c: New test.
-
-
- git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208380 138bc75d-0d04-0410-961f-82ee72b054a4
-
-diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
-index ce24bfe..af5666b 100644
---- a/gcc/config/arm/arm.c
-+++ b/gcc/config/arm/arm.c
-@@ -235,7 +235,6 @@ static tree arm_gimplify_va_arg_expr (tree, tree, gimple_seq *, gimple_seq *);
- static void arm_option_override (void);
- static unsigned HOST_WIDE_INT arm_shift_truncation_mask (enum machine_mode);
- static bool arm_cannot_copy_insn_p (rtx);
--static bool arm_tls_symbol_p (rtx x);
- static int arm_issue_rate (void);
- static void arm_output_dwarf_dtprel (FILE *, int, rtx) ATTRIBUTE_UNUSED;
- static bool arm_output_addr_const_extra (FILE *, rtx);
-@@ -7336,6 +7335,32 @@ legitimize_tls_address (rtx x, rtx reg)
- rtx
- arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- {
-+ if (arm_tls_referenced_p (x))
-+ {
-+ rtx addend = NULL;
-+
-+ if (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS)
-+ {
-+ addend = XEXP (XEXP (x, 0), 1);
-+ x = XEXP (XEXP (x, 0), 0);
-+ }
-+
-+ if (GET_CODE (x) != SYMBOL_REF)
-+ return x;
-+
-+ gcc_assert (SYMBOL_REF_TLS_MODEL (x) != 0);
-+
-+ x = legitimize_tls_address (x, NULL_RTX);
-+
-+ if (addend)
-+ {
-+ x = gen_rtx_PLUS (SImode, x, addend);
-+ orig_x = x;
-+ }
-+ else
-+ return x;
-+ }
-+
- if (!TARGET_ARM)
- {
- /* TODO: legitimize_address for Thumb2. */
-@@ -7344,9 +7369,6 @@ arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- return thumb_legitimize_address (x, orig_x, mode);
- }
-
-- if (arm_tls_symbol_p (x))
-- return legitimize_tls_address (x, NULL_RTX);
--
- if (GET_CODE (x) == PLUS)
- {
- rtx xop0 = XEXP (x, 0);
-@@ -7459,9 +7481,6 @@ arm_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- rtx
- thumb_legitimize_address (rtx x, rtx orig_x, enum machine_mode mode)
- {
-- if (arm_tls_symbol_p (x))
-- return legitimize_tls_address (x, NULL_RTX);
--
- if (GET_CODE (x) == PLUS
- && GET_CODE (XEXP (x, 1)) == CONST_INT
- && (INTVAL (XEXP (x, 1)) >= 32 * GET_MODE_SIZE (mode)
-@@ -7756,20 +7775,6 @@ thumb_legitimize_reload_address (rtx *x_p,
-
- /* Test for various thread-local symbols. */
-
--/* Return TRUE if X is a thread-local symbol. */
--
--static bool
--arm_tls_symbol_p (rtx x)
--{
-- if (! TARGET_HAVE_TLS)
-- return false;
--
-- if (GET_CODE (x) != SYMBOL_REF)
-- return false;
--
-- return SYMBOL_REF_TLS_MODEL (x) != 0;
--}
--
- /* Helper for arm_tls_referenced_p. */
-
- static int
diff --git a/patches/gcc/4.7.4/100-hardfloat-ld.patch b/patches/gcc/4.7.4/100-hardfloat-ld.patch
deleted file mode 100644
index 0e97b6f..0000000
--- a/patches/gcc/4.7.4/100-hardfloat-ld.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 9dd1a0668e5ab10a5943fdd1aee2e1616d7fc7ed Mon Sep 17 00:00:00 2001
-From: michaelh <michaelh@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Thu, 26 Apr 2012 04:33:08 +0000
-Subject: [PATCH] 2012-04-26 Michael Hope <michael.hope@linaro.org>
- Richard Earnshaw <rearnsha@arm.com>
-
- * config/arm/linux-eabi.h (GLIBC_DYNAMIC_LINKER_SOFT_FLOAT): Define.
- (GLIBC_DYNAMIC_LINKER_HARD_FLOAT): Define.
- (GLIBC_DYNAMIC_LINKER_DEFAULT): Define.
- (GLIBC_DYNAMIC_LINKER): Redefine to use the hard float path.
-
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186859 138bc75d-0d04-0410-961f-82ee72b054a4
----
- gcc/config/arm/linux-eabi.h | 12 +++++++++++-
- 2 files changed, 19 insertions(+), 1 deletion(-)
-
-diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
-index 80bd825..2ace6f0 100644
---- a/gcc/config/arm/linux-eabi.h
-+++ b/gcc/config/arm/linux-eabi.h
-@@ -62,7 +62,17 @@
- /* Use ld-linux.so.3 so that it will be possible to run "classic"
- GNU/Linux binaries on an EABI system. */
- #undef GLIBC_DYNAMIC_LINKER
--#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "/lib/ld-linux.so.3"
-+#define GLIBC_DYNAMIC_LINKER_HARD_FLOAT "/lib/ld-linux-armhf.so.3"
-+#if TARGET_DEFAULT_FLOAT_ABI == ARM_FLOAT_ABI_HARD
-+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_HARD_FLOAT
-+#else
-+#define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
-+#endif
-+#define GLIBC_DYNAMIC_LINKER \
-+ "%{mfloat-abi=hard:" GLIBC_DYNAMIC_LINKER_HARD_FLOAT "} \
-+ %{mfloat-abi=soft*:" GLIBC_DYNAMIC_LINKER_SOFT_FLOAT "} \
-+ %{!mfloat-abi=*:" GLIBC_DYNAMIC_LINKER_DEFAULT "}"
-
- /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to
- use the GNU/Linux version, not the generic BPABI version. */
---
-2.1.0
-
diff --git a/patches/ppl/0.10.2/100-fix-configure-with-gmp-5_0_1.patch b/patches/ppl/0.10.2/100-fix-configure-with-gmp-5_0_1.patch
deleted file mode 100644
index ab23ee9..0000000
--- a/patches/ppl/0.10.2/100-fix-configure-with-gmp-5_0_1.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- ppl-0.10.2/configure.orig 2010-08-04 21:48:19.000000000 -0400
-+++ ppl-0.10.2/configure 2010-08-04 21:50:04.000000000 -0400
-@@ -16443,6 +16443,10 @@
- #GMP version 4.1.3 or higher is required
- #endif
-
-+#ifndef BITS_PER_MP_LIMB
-+#define BITS_PER_MP_LIMB GMP_LIMB_BITS
-+#endif
-+
- int
- main() {
- std::string header_version;
-@@ -16469,11 +16473,11 @@
- return 1;
- }
-
-- if (sizeof(mp_limb_t)*CHAR_BIT != GMP_LIMB_BITS
-- || GMP_LIMB_BITS != mp_bits_per_limb) {
-+ if (sizeof(mp_limb_t)*CHAR_BIT != BITS_PER_MP_LIMB
-+ || BITS_PER_MP_LIMB != mp_bits_per_limb) {
- std::cerr
- << "GMP header (gmp.h) and library (ligmp.*) bits-per-limb mismatch:\n"
-- << "header gives " << __GMP_BITS_PER_MP_LIMB << ";\n"
-+ << "header gives " << BITS_PER_MP_LIMB << ";\n"
- << "library gives " << mp_bits_per_limb << ".\n"
- << "This probably means you are on a bi-arch system and\n"
- << "you are compiling with the wrong header or linking with\n"
diff --git a/patches/ppl/0.10.2/200-fix-build-with-local-gmp.patch b/patches/ppl/0.10.2/200-fix-build-with-local-gmp.patch
deleted file mode 100644
index 7f9d625..0000000
--- a/patches/ppl/0.10.2/200-fix-build-with-local-gmp.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -aur ppl-0.10-orig/configure ppl-0.10/configure
---- ppl-0.10-orig/configure 2008-11-04 04:37:00.000000000 -0500
-+++ ppl-0.10/configure 2013-07-15 18:48:26.688013150 -0400
-@@ -15162,6 +15162,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
-
-
-diff -aur ppl-0.10-orig/m4/ac_check_gmp.m4 ppl-0.10/m4/ac_check_gmp.m4
---- ppl-0.10-orig/m4/ac_check_gmp.m4 2008-10-22 07:43:22.000000000 -0400
-+++ ppl-0.10/m4/ac_check_gmp.m4 2013-07-15 18:48:26.669013816 -0400
-@@ -31,6 +31,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
- dnl Check how to link with libgmp.
- AC_LIB_LINKFLAGS([gmp])
diff --git a/patches/ppl/0.11.1/100-fix-java-test-vs-enabled-shared.patch b/patches/ppl/0.11.1/100-fix-java-test-vs-enabled-shared.patch
deleted file mode 100644
index 12a72e8..0000000
--- a/patches/ppl/0.11.1/100-fix-java-test-vs-enabled-shared.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 25bb77587944768581225d1c0048facab32cf019
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Wed May 18 09:35:36 2011 +0200
-
- Moved misplaced conditional.
-
-diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
-index 64ba864..607bbc6 100644
---- a/interfaces/Java/tests/Makefile.am
-+++ b/interfaces/Java/tests/Makefile.am
-@@ -51,6 +51,8 @@ Parma_Polyhedra_Library_test2.java \
- PPL_Test.java \
- ppl_java_tests_common
-
-+if ENABLE_SHARED
-+
- check_JAVA = \
- ppl_java_generated_tests.java \
- Test_Executor.java \
-@@ -62,8 +64,6 @@ Parma_Polyhedra_Library_test1.java \
- Parma_Polyhedra_Library_test2.java \
- PPL_Test.java
-
--if ENABLE_SHARED
--
- CLASSPATH = ../ppl_java.jar:.
- JAVACFLAGS = -classpath $(CLASSPATH)
-
diff --git a/patches/ppl/0.11.1/200-fix-build-with-local-gmp.patch b/patches/ppl/0.11.1/200-fix-build-with-local-gmp.patch
deleted file mode 100644
index a4bb9f1..0000000
--- a/patches/ppl/0.11.1/200-fix-build-with-local-gmp.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/m4/ac_check_gmp.m4~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/m4/ac_check_gmp.m4 2013-07-10 19:57:35.894457259 -0400
-@@ -32,6 +32,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
- AC_ARG_WITH(gmp-build,
- AS_HELP_STRING([--with-gmp-build=DIR],
---- a/configure~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/configure 2013-07-10 19:57:35.894457259 -0400
-@@ -10217,6 +10217,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
-
- # Check whether --with-gmp-build was given.
diff --git a/patches/ppl/0.11.1/300-fix-data-dir.patch b/patches/ppl/0.11.1/300-fix-data-dir.patch
deleted file mode 100644
index fe15ba5..0000000
--- a/patches/ppl/0.11.1/300-fix-data-dir.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-commit 10e0afa8fa25c9e0e8eaac9a0d730ab325086010
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Sun Feb 12 08:48:59 2012 +0100
-
- Prolog sources must go under .../share/ppl as these files are architecture independent.
- Moreover, new versions of Automake no longer accept pkglib_DATA.
-
-diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
-index c8dd56e..8dcf17e 100644
---- a/interfaces/Prolog/Ciao/Makefile.am
-+++ b/interfaces/Prolog/Ciao/Makefile.am
-@@ -170,7 +170,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_ciao.po
-+pkgdata_DATA = ppl_ciao.po
-
- ppl_ciao.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
-diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
-index 5904bf1..2ba45ee 100644
---- a/interfaces/Prolog/GNU/Makefile.am
-+++ b/interfaces/Prolog/GNU/Makefile.am
-@@ -169,7 +169,7 @@ ppl_gprolog.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
- $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
-
--pkglib_DATA = ppl_gprolog.pl
-+pkgdata_DATA = ppl_gprolog.pl
-
- bin_PROGRAMS = ppl_gprolog
-
-diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
-index 17a54c7..22f809f 100644
---- a/interfaces/Prolog/SICStus/Makefile.am
-+++ b/interfaces/Prolog/SICStus/Makefile.am
-@@ -69,7 +69,7 @@ ppl_sicstus_SOURCES =
-
- if ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-+pkgdata_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-
- ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
- $(LIBTOOL) --mode=link --tag=CXX \
-@@ -87,7 +87,7 @@ install-data-local: ppl_sicstus.so
-
- else !ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl
-+pkgdata_DATA = ppl_sicstus.pl
-
- endif !ENABLE_SHARED
-
-diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
-index f5bcbe8..5e4e0e4 100644
---- a/interfaces/Prolog/SWI/Makefile.am
-+++ b/interfaces/Prolog/SWI/Makefile.am
-@@ -189,7 +189,7 @@ $(NO_UNDEFINED_FLAG) \
- bin_PROGRAMS = ppl_pl
- ppl_pl_SOURCES = ppl_pl.cc
-
--pkglib_DATA = ppl_swiprolog.pl
-+pkgdata_DATA = ppl_swiprolog.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
-diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
-index 18648eb..1bc1e67 100644
---- a/interfaces/Prolog/XSB/Makefile.am
-+++ b/interfaces/Prolog/XSB/Makefile.am
-@@ -188,7 +188,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_xsb.xwam
-+pkgdata_DATA = ppl_xsb.xwam
-
- ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
- cp -f ppl_xsb.cc ppl_xsb.c
-diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
-index fab59c2..34d89e9 100644
---- a/interfaces/Prolog/YAP/Makefile.am
-+++ b/interfaces/Prolog/YAP/Makefile.am
-@@ -179,7 +179,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_yap.pl
-+pkgdata_DATA = ppl_yap.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
diff --git a/patches/ppl/0.11.2/100-fix-java-test-vs-enabled-shared.patch b/patches/ppl/0.11.2/100-fix-java-test-vs-enabled-shared.patch
deleted file mode 100644
index 12a72e8..0000000
--- a/patches/ppl/0.11.2/100-fix-java-test-vs-enabled-shared.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 25bb77587944768581225d1c0048facab32cf019
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Wed May 18 09:35:36 2011 +0200
-
- Moved misplaced conditional.
-
-diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
-index 64ba864..607bbc6 100644
---- a/interfaces/Java/tests/Makefile.am
-+++ b/interfaces/Java/tests/Makefile.am
-@@ -51,6 +51,8 @@ Parma_Polyhedra_Library_test2.java \
- PPL_Test.java \
- ppl_java_tests_common
-
-+if ENABLE_SHARED
-+
- check_JAVA = \
- ppl_java_generated_tests.java \
- Test_Executor.java \
-@@ -62,8 +64,6 @@ Parma_Polyhedra_Library_test1.java \
- Parma_Polyhedra_Library_test2.java \
- PPL_Test.java
-
--if ENABLE_SHARED
--
- CLASSPATH = ../ppl_java.jar:.
- JAVACFLAGS = -classpath $(CLASSPATH)
-
diff --git a/patches/ppl/0.11.2/200-fix-build-with-local-gmp.patch b/patches/ppl/0.11.2/200-fix-build-with-local-gmp.patch
deleted file mode 100644
index a4bb9f1..0000000
--- a/patches/ppl/0.11.2/200-fix-build-with-local-gmp.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/m4/ac_check_gmp.m4~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/m4/ac_check_gmp.m4 2013-07-10 19:57:35.894457259 -0400
-@@ -32,6 +32,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
- AC_ARG_WITH(gmp-build,
- AS_HELP_STRING([--with-gmp-build=DIR],
---- a/configure~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/configure 2013-07-10 19:57:35.894457259 -0400
-@@ -10217,6 +10217,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
-
- # Check whether --with-gmp-build was given.
diff --git a/patches/ppl/0.11.2/300-fix-data-dir.patch b/patches/ppl/0.11.2/300-fix-data-dir.patch
deleted file mode 100644
index fe15ba5..0000000
--- a/patches/ppl/0.11.2/300-fix-data-dir.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-commit 10e0afa8fa25c9e0e8eaac9a0d730ab325086010
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Sun Feb 12 08:48:59 2012 +0100
-
- Prolog sources must go under .../share/ppl as these files are architecture independent.
- Moreover, new versions of Automake no longer accept pkglib_DATA.
-
-diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
-index c8dd56e..8dcf17e 100644
---- a/interfaces/Prolog/Ciao/Makefile.am
-+++ b/interfaces/Prolog/Ciao/Makefile.am
-@@ -170,7 +170,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_ciao.po
-+pkgdata_DATA = ppl_ciao.po
-
- ppl_ciao.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
-diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
-index 5904bf1..2ba45ee 100644
---- a/interfaces/Prolog/GNU/Makefile.am
-+++ b/interfaces/Prolog/GNU/Makefile.am
-@@ -169,7 +169,7 @@ ppl_gprolog.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
- $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
-
--pkglib_DATA = ppl_gprolog.pl
-+pkgdata_DATA = ppl_gprolog.pl
-
- bin_PROGRAMS = ppl_gprolog
-
-diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
-index 17a54c7..22f809f 100644
---- a/interfaces/Prolog/SICStus/Makefile.am
-+++ b/interfaces/Prolog/SICStus/Makefile.am
-@@ -69,7 +69,7 @@ ppl_sicstus_SOURCES =
-
- if ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-+pkgdata_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-
- ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
- $(LIBTOOL) --mode=link --tag=CXX \
-@@ -87,7 +87,7 @@ install-data-local: ppl_sicstus.so
-
- else !ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl
-+pkgdata_DATA = ppl_sicstus.pl
-
- endif !ENABLE_SHARED
-
-diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
-index f5bcbe8..5e4e0e4 100644
---- a/interfaces/Prolog/SWI/Makefile.am
-+++ b/interfaces/Prolog/SWI/Makefile.am
-@@ -189,7 +189,7 @@ $(NO_UNDEFINED_FLAG) \
- bin_PROGRAMS = ppl_pl
- ppl_pl_SOURCES = ppl_pl.cc
-
--pkglib_DATA = ppl_swiprolog.pl
-+pkgdata_DATA = ppl_swiprolog.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
-diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
-index 18648eb..1bc1e67 100644
---- a/interfaces/Prolog/XSB/Makefile.am
-+++ b/interfaces/Prolog/XSB/Makefile.am
-@@ -188,7 +188,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_xsb.xwam
-+pkgdata_DATA = ppl_xsb.xwam
-
- ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
- cp -f ppl_xsb.cc ppl_xsb.c
-diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
-index fab59c2..34d89e9 100644
---- a/interfaces/Prolog/YAP/Makefile.am
-+++ b/interfaces/Prolog/YAP/Makefile.am
-@@ -179,7 +179,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_yap.pl
-+pkgdata_DATA = ppl_yap.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
diff --git a/patches/ppl/0.11.2/400-fix-build-with-gmp-5.1.patch b/patches/ppl/0.11.2/400-fix-build-with-gmp-5.1.patch
deleted file mode 100644
index 89d7a74..0000000
--- a/patches/ppl/0.11.2/400-fix-build-with-gmp-5.1.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 9f843aecc23981aec6ed1eaa8be06e6786a47f0d Mon Sep 17 00:00:00 2001
-From: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Wed, 19 Dec 2012 08:42:19 +0100
-Subject: [PATCH] GMP version 5.1.0 (and, presumably, later versions) defines
- std::numeric_limits.
-
----
- src/mp_std_bits.cc | 6 ++++++
- src/mp_std_bits.defs.hh | 6 ++++++
- 2 files changed, 12 insertions(+)
-
---- a/src/mp_std_bits.cc
-+++ b/src/mp_std_bits.cc
-@@ -26,6 +26,9 @@ site: http://www.cs.unipr.it/ppl/ . */
- #include <ppl-config.h>
- #include "mp_std_bits.defs.hh"
-
-+#if __GNU_MP_VERSION < 5 \
-+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
-+
- const bool std::numeric_limits<mpz_class>::is_specialized;
- const int std::numeric_limits<mpz_class>::digits;
- const int std::numeric_limits<mpz_class>::digits10;
-@@ -71,3 +74,6 @@ const bool std::numeric_limits<mpq_class
- const bool std::numeric_limits<mpq_class>::traps;
- const bool std::numeric_limits<mpq_class>::tininess_before;
- const std::float_round_style std::numeric_limits<mpq_class>::round_style;
-+
-+#endif // __GNU_MP_VERSION < 5
-+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
---- a/src/mp_std_bits.defs.hh
-+++ b/src/mp_std_bits.defs.hh
-@@ -39,6 +39,9 @@ void swap(mpz_class& x, mpz_class& y);
- #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
- void swap(mpq_class& x, mpq_class& y);
-
-+#if __GNU_MP_VERSION < 5 \
-+ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
-+
- namespace std {
-
- #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
-@@ -165,6 +168,9 @@ public:
-
- } // namespace std
-
-+#endif // __GNU_MP_VERSION < 5
-+ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
-+
- #include "mp_std_bits.inlines.hh"
-
- #endif // !defined(PPL_mp_std_bits_defs_hh)
diff --git a/patches/ppl/0.11.2/500-ptrdiff_t.patch b/patches/ppl/0.11.2/500-ptrdiff_t.patch
deleted file mode 100644
index af26cf9..0000000
--- a/patches/ppl/0.11.2/500-ptrdiff_t.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From: Bernhard Walle <bernhard@bwalle.de>
-Subject: Fix compilation with gcc 4.9 (ptrdiff_t errors)
-
-This is a backport of following patch in ppl git
-
- commit 61d4e14dfd9f1121e9b4521dead5728b2424dd7c
- Author: Roberto Bagnara <bagnara@cs.unipr.it>
- Date: Tue Apr 29 21:51:43 2014 +0200
-
- Added missing inclusions. Use std::ptrdiff_t.
- (Thanks to Paulo Cesar Pereira de Andrade.)
-
----
- src/Congruence_System.defs.hh | 3 ++-
- src/Constraint_System.defs.hh | 3 ++-
- src/Generator_System.defs.hh | 3 ++-
- src/Grid_Generator_System.defs.hh | 3 ++-
- 4 files changed, 8 insertions(+), 4 deletions(-)
-
---- a/src/Grid_Generator_System.defs.hh
-+++ b/src/Grid_Generator_System.defs.hh
-@@ -30,6 +30,7 @@ site: http://www.cs.unipr.it/ppl/ . */
- #include "Variables_Set.types.hh"
- #include "Grid.types.hh"
- #include <iosfwd>
-+#include <cstddef>
-
- namespace Parma_Polyhedra_Library {
-
-@@ -267,7 +268,7 @@ public:
- class const_iterator
- : public std::iterator<std::forward_iterator_tag,
- Grid_Generator,
-- ptrdiff_t,
-+ std::ptrdiff_t,
- const Grid_Generator*,
- const Grid_Generator&>,
- private Generator_System::const_iterator {
---- a/src/Congruence_System.defs.hh
-+++ b/src/Congruence_System.defs.hh
-@@ -33,6 +33,7 @@ site: http://www.cs.unipr.it/ppl/ . */
- #include "Grid.types.hh"
- #include "Grid_Certificate.types.hh"
- #include <iosfwd>
-+#include <cstddef>
-
- namespace Parma_Polyhedra_Library {
-
-@@ -235,7 +236,7 @@ public:
- class const_iterator
- : public std::iterator<std::forward_iterator_tag,
- Congruence,
-- ptrdiff_t,
-+ std::ptrdiff_t,
- const Congruence*,
- const Congruence&> {
- public:
---- a/src/Constraint_System.defs.hh
-+++ b/src/Constraint_System.defs.hh
-@@ -33,6 +33,7 @@ site: http://www.cs.unipr.it/ppl/ . */
- #include "Congruence_System.types.hh"
- #include <iterator>
- #include <iosfwd>
-+#include <cstddef>
-
- namespace Parma_Polyhedra_Library {
-
-@@ -204,7 +205,7 @@ public:
- class const_iterator
- : public std::iterator<std::forward_iterator_tag,
- Constraint,
-- ptrdiff_t,
-+ std::ptrdiff_t,
- const Constraint*,
- const Constraint&> {
- public:
---- a/src/Generator_System.defs.hh
-+++ b/src/Generator_System.defs.hh
-@@ -33,6 +33,7 @@ site: http://www.cs.unipr.it/ppl/ . */
- #include "Polyhedron.types.hh"
- #include "Poly_Con_Relation.defs.hh"
- #include <iosfwd>
-+#include <cstddef>
-
- namespace Parma_Polyhedra_Library {
-
-@@ -250,7 +251,7 @@ public:
- class const_iterator
- : public std::iterator<std::forward_iterator_tag,
- Generator,
-- ptrdiff_t,
-+ std::ptrdiff_t,
- const Generator*,
- const Generator&> {
- public:
diff --git a/patches/ppl/0.11/100-fix-java-test-vs-enabled-shared.patch b/patches/ppl/0.11/100-fix-java-test-vs-enabled-shared.patch
deleted file mode 100644
index 12a72e8..0000000
--- a/patches/ppl/0.11/100-fix-java-test-vs-enabled-shared.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 25bb77587944768581225d1c0048facab32cf019
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Wed May 18 09:35:36 2011 +0200
-
- Moved misplaced conditional.
-
-diff --git a/interfaces/Java/tests/Makefile.am b/interfaces/Java/tests/Makefile.am
-index 64ba864..607bbc6 100644
---- a/interfaces/Java/tests/Makefile.am
-+++ b/interfaces/Java/tests/Makefile.am
-@@ -51,6 +51,8 @@ Parma_Polyhedra_Library_test2.java \
- PPL_Test.java \
- ppl_java_tests_common
-
-+if ENABLE_SHARED
-+
- check_JAVA = \
- ppl_java_generated_tests.java \
- Test_Executor.java \
-@@ -62,8 +64,6 @@ Parma_Polyhedra_Library_test1.java \
- Parma_Polyhedra_Library_test2.java \
- PPL_Test.java
-
--if ENABLE_SHARED
--
- CLASSPATH = ../ppl_java.jar:.
- JAVACFLAGS = -classpath $(CLASSPATH)
-
diff --git a/patches/ppl/0.11/200-fix-build-with-local-gmp.patch b/patches/ppl/0.11/200-fix-build-with-local-gmp.patch
deleted file mode 100644
index a4bb9f1..0000000
--- a/patches/ppl/0.11/200-fix-build-with-local-gmp.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/m4/ac_check_gmp.m4~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/m4/ac_check_gmp.m4 2013-07-10 19:57:35.894457259 -0400
-@@ -32,6 +32,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
- AC_ARG_WITH(gmp-build,
- AS_HELP_STRING([--with-gmp-build=DIR],
---- a/configure~ 2011-02-27 04:07:47.000000000 -0500
-+++ b/configure 2013-07-10 19:57:35.894457259 -0400
-@@ -10217,6 +10217,9 @@
- with_libgmpxx_prefix="$with_libgmp_prefix"
- fi
- fi
-+CPPFLAGS="$CPPFLAGS -I$with_libgmp_prefix/include"
-+CXXFLAGS="$CXXFLAGS -I$with_libgmpxx_prefix/include"
-+LDFLAGS="$CPPFLAGS -L$with_libgmpxx_prefix/lib -L$with_libgmp_prefix/lib"
-
-
- # Check whether --with-gmp-build was given.
diff --git a/patches/ppl/0.11/300-fix-data-dir.patch b/patches/ppl/0.11/300-fix-data-dir.patch
deleted file mode 100644
index f091308..0000000
--- a/patches/ppl/0.11/300-fix-data-dir.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-commit 10e0afa8fa25c9e0e8eaac9a0d730ab325086010
-Author: Roberto Bagnara <bagnara@cs.unipr.it>
-Date: Sun Feb 12 08:48:59 2012 +0100
-
- Prolog sources must go under .../share/ppl as these files are architecture independent.
- Moreover, new versions of Automake no longer accept pkglib_DATA.
-
-diff --git a/interfaces/Prolog/Ciao/Makefile.am b/interfaces/Prolog/Ciao/Makefile.am
-index c8dd56e..8dcf17e 100644
---- a/interfaces/Prolog/Ciao/Makefile.am
-+++ b/interfaces/Prolog/Ciao/Makefile.am
-@@ -169,7 +169,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_ciao.po
-+pkgdata_DATA = ppl_ciao.po
-
- ppl_ciao.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
-diff --git a/interfaces/Prolog/GNU/Makefile.am b/interfaces/Prolog/GNU/Makefile.am
-index 5904bf1..2ba45ee 100644
---- a/interfaces/Prolog/GNU/Makefile.am
-+++ b/interfaces/Prolog/GNU/Makefile.am
-@@ -168,7 +168,7 @@ ppl_gprolog.pl: $(interface_generator_dependencies)
- $(M4) --prefix-builtin -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. \
- $(srcdir)/ppl_interface_generator_gprolog_pl.m4 > $@
-
--pkglib_DATA = ppl_gprolog.pl
-+pkgdata_DATA = ppl_gprolog.pl
-
- bin_PROGRAMS = ppl_gprolog
-
-diff --git a/interfaces/Prolog/SICStus/Makefile.am b/interfaces/Prolog/SICStus/Makefile.am
-index 17a54c7..22f809f 100644
---- a/interfaces/Prolog/SICStus/Makefile.am
-+++ b/interfaces/Prolog/SICStus/Makefile.am
-@@ -68,7 +68,7 @@ ppl_sicstus_SOURCES =
-
- if ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-+pkgdata_DATA = ppl_sicstus.pl ppl_sicstus.s.o
-
- ppl_sicstus.so: ppl_sicstus.pl $(top_builddir)/src/libppl.la $(WATCHDOG_LIBRARY) libppl_sicstus.la
- $(LIBTOOL) --mode=link --tag=CXX \
-@@ -86,7 +86,7 @@ install-data-local: ppl_sicstus.so
-
- else !ENABLE_SHARED
-
--pkglib_DATA = ppl_sicstus.pl
-+pkgdata_DATA = ppl_sicstus.pl
-
- endif !ENABLE_SHARED
-
-diff --git a/interfaces/Prolog/SWI/Makefile.am b/interfaces/Prolog/SWI/Makefile.am
-index f5bcbe8..5e4e0e4 100644
---- a/interfaces/Prolog/SWI/Makefile.am
-+++ b/interfaces/Prolog/SWI/Makefile.am
-@@ -188,7 +188,7 @@ $(NO_UNDEFINED_FLAG) \
- bin_PROGRAMS = ppl_pl
- ppl_pl_SOURCES = ppl_pl.cc
-
--pkglib_DATA = ppl_swiprolog.pl
-+pkgdata_DATA = ppl_swiprolog.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
-diff --git a/interfaces/Prolog/XSB/Makefile.am b/interfaces/Prolog/XSB/Makefile.am
-index 18648eb..1bc1e67 100644
---- a/interfaces/Prolog/XSB/Makefile.am
-+++ b/interfaces/Prolog/XSB/Makefile.am
-@@ -187,7 +187,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_xsb.xwam
-+pkgdata_DATA = ppl_xsb.xwam
-
- ppl_xsb.xwam: ppl_xsb.H ppl_xsb.cc libppl_xsb.la
- cp -f ppl_xsb.cc ppl_xsb.c
-diff --git a/interfaces/Prolog/YAP/Makefile.am b/interfaces/Prolog/YAP/Makefile.am
-index fab59c2..34d89e9 100644
---- a/interfaces/Prolog/YAP/Makefile.am
-+++ b/interfaces/Prolog/YAP/Makefile.am
-@@ -178,7 +178,7 @@ $(NO_UNDEFINED_FLAG) \
- -module \
- -avoid-version
-
--pkglib_DATA = ppl_yap.pl
-+pkgdata_DATA = ppl_yap.pl
-
- CLPQ_TESTS_NONSTRICT = \
- ack.clpq \
diff --git a/scripts/addToolVersion.sh b/scripts/addToolVersion.sh
index 123bcb4..bd419f8 100755
--- a/scripts/addToolVersion.sh
+++ b/scripts/addToolVersion.sh
@@ -17,7 +17,7 @@ doHelp() {
Usage: ${myname} <--tool> <[options] version [...]> ...
'tool' in one of:
gcc, binutils, glibc, uClibc, newlib, linux, gdb, dmalloc,
- duma, strace, ltrace, libelf, gmp, mpfr, ppl, cloog, mpc,
+ duma, strace, ltrace, libelf, gmp, mpfr, isl, cloog, mpc,
mingw-w64, expat, ncurses
Valid options for all tools:
@@ -187,7 +187,7 @@ while [ $# -gt 0 ]; do
--ltrace) EXP=; OBS=; cat=LTRACE; tool=ltrace; tool_prefix=debug; dot2suffix=;;
--gmp) EXP=; OBS=; cat=GMP; tool=gmp; tool_prefix=companion_libs; dot2suffix=;;
--mpfr) EXP=; OBS=; cat=MPFR; tool=mpfr; tool_prefix=companion_libs; dot2suffix=;;
- --ppl) EXP=; OBS=; cat=PPL; tool=ppl; tool_prefix=companion_libs; dot2suffix=;;
+ --isl) EXP=; OBS=; cat=ISL; tool=isl; tool_prefix=companion_libs; dot2suffix=;;
--cloog) EXP=; OBS=; cat=CLOOG; tool=cloog; tool_prefix=companion_libs; dot2suffix=;;
--mpc) EXP=; OBS=; cat=MPC; tool=mpc; tool_prefix=companion_libs; dot2suffix=;;
--libelf) EXP=; OBS=; cat=LIBELF; tool=libelf; tool_prefix=companion_libs; dot2suffix=;;
diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh
index 6ed9e9c..359bb15 100644
--- a/scripts/build/cc/100-gcc.sh
+++ b/scripts/build/cc/100-gcc.sh
@@ -148,9 +148,7 @@ do_gcc_core_pass_2() {
;;
*)
core_opts+=( "mode=static" )
- if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
- core_opts+=( "build_libgcc=yes" )
- fi
+ core_opts+=( "build_libgcc=yes" )
;;
esac
@@ -317,20 +315,13 @@ do_gcc_core_backend() {
extra_config+=("--with-mpc=${complibs}")
fi
if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
- if [ "${CT_PPL}" = "y" ]; then
- extra_config+=("--with-ppl=${complibs}")
- # With PPL 0.11+, also pull libpwl if needed
- if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
- host_libstdcxx_flags+=("-L${complibs}/lib")
- host_libstdcxx_flags+=("-lpwl")
- fi
- fi
if [ "${CT_ISL}" = "y" ]; then
extra_config+=("--with-isl=${complibs}")
fi
- extra_config+=("--with-cloog=${complibs}")
+ if [ "${CT_CLOOG}" = "y" ]; then
+ extra_config+=("--with-cloog=${complibs}")
+ fi
elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
- extra_config+=("--with-ppl=no")
extra_config+=("--with-isl=no")
extra_config+=("--with-cloog=no")
fi
@@ -486,16 +477,8 @@ do_gcc_core_backend() {
CT_DoExecLog ALL ${make} ${JOBSFLAGS} -C libbacktrace
fi
- # Starting with GCC 4.3, libgcc.mk is no longer built,
- # and libgcc.mvars is used instead.
-
- if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then
- libgcc_rule="libgcc.mvars"
- core_targets=( gcc target-libgcc )
- else
- libgcc_rule="libgcc.mk"
- core_targets=( gcc )
- fi
+ libgcc_rule="libgcc.mvars"
+ core_targets=( gcc target-libgcc )
# On bare metal and canadian build the host-compiler is used when
# actually the build-system compiler is required. Choose the correct
@@ -731,10 +714,8 @@ do_gcc_backend() {
if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then
extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}")
fi
- if [ "${CT_CC_GCC_4_8_or_later}" = "y" ]; then
- if [ "${CT_THREADS}" = "none" ]; then
- extra_config+=(--disable-libatomic)
- fi
+ if [ "${CT_THREADS}" = "none" ]; then
+ extra_config+=(--disable-libatomic)
fi
if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then
extra_config+=(--enable-libmudflap)
@@ -811,20 +792,13 @@ do_gcc_backend() {
extra_config+=("--with-mpc=${complibs}")
fi
if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then
- if [ "${CT_PPL}" = "y" ]; then
- extra_config+=("--with-ppl=${complibs}")
- # With PPL 0.11+, also pull libpwl if needed
- if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then
- host_libstdcxx_flags+=("-L${complibs}/lib")
- host_libstdcxx_flags+=("-lpwl")
- fi
- fi
if [ "${CT_ISL}" = "y" ]; then
extra_config+=("--with-isl=${complibs}")
fi
- extra_config+=("--with-cloog=${complibs}")
+ if [ "${CT_CLOOG}" = "y" ]; then
+ extra_config+=("--with-cloog=${complibs}")
+ fi
elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then
- extra_config+=("--with-ppl=no")
extra_config+=("--with-isl=no")
extra_config+=("--with-cloog=no")
fi
@@ -842,10 +816,6 @@ do_gcc_backend() {
if [ "${CT_THREADS}" = "none" ]; then
extra_config+=("--disable-threads")
- if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then
- CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y"
- extra_config+=("--disable-libgomp")
- fi
else
if [ "${CT_THREADS}" = "win32" ]; then
extra_config+=("--enable-threads=win32")
diff --git a/scripts/build/companion_libs/120-ppl.sh b/scripts/build/companion_libs/120-ppl.sh
deleted file mode 100644
index dc7ce33..0000000
--- a/scripts/build/companion_libs/120-ppl.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-# This file adds the functions to build the PPL library
-# Copyright 2009 Yann E. MORIN
-# Licensed under the GPL v2. See COPYING in the root of this package
-
-do_ppl_get() { :; }
-do_ppl_extract() { :; }
-do_ppl_for_build() { :; }
-do_ppl_for_host() { :; }
-do_ppl_for_target() { :; }
-
-# Overide functions depending on configuration
-if [ "${CT_PPL}" = "y" ]; then
-
-# Download PPL
-do_ppl_get() {
- CT_GetFile "ppl-${CT_PPL_VERSION}" \
- http://bugseng.com/products/ppl/download/ftp/releases/${CT_PPL_VERSION} \
- ftp://ftp.cs.unipr.it/pub/ppl/releases/${CT_PPL_VERSION}
-}
-
-# Extract PPL
-do_ppl_extract() {
- CT_Extract "ppl-${CT_PPL_VERSION}"
- CT_Patch "ppl" "${CT_PPL_VERSION}"
-}
-
-# Build PPL for running on build
-# - always build statically
-# - we do not have build-specific CFLAGS
-# - install in build-tools prefix
-do_ppl_for_build() {
- local -a ppl_opts
- local ppl_cflags
- local ppl_cxxflags
-
- case "${CT_TOOLCHAIN_TYPE}" in
- native|cross) return 0;;
- esac
-
- CT_DoStep INFO "Installing PPL for build"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-build-${CT_BUILD}"
-
- ppl_cflags="${CT_CFLAGS_FOR_BUILD}"
- ppl_cxxflags="${CT_CFLAGS_FOR_BUILD}"
- if [ "${CT_PPL_NEEDS_FPERMISSIVE}" = "y" ]; then
- ppl_cxxflags+=" -fpermissive"
- fi
-
- ppl_opts+=( "host=${CT_BUILD}" )
- ppl_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" )
- ppl_opts+=( "cflags=${ppl_cflags}" )
- ppl_opts+=( "cxxflags=${ppl_cxxflags}" )
- ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_BUILD}" )
- do_ppl_backend "${ppl_opts[@]}"
-
- CT_Popd
- CT_EndStep
-}
-
-# Build PPL for running on host
-do_ppl_for_host() {
- local -a ppl_opts
- local ppl_cflags
- local ppl_cxxflags
-
- CT_DoStep INFO "Installing PPL for host"
- CT_mkdir_pushd "${CT_BUILD_DIR}/build-ppl-host-${CT_HOST}"
-
- ppl_cflags="${CT_CFLAGS_FOR_HOST}"
- ppl_cxxflags="${CT_CFLAGS_FOR_HOST}"
- if [ "${CT_PPL_NEEDS_FPERMISSIVE}" = "y" ]; then
- ppl_cxxflags+=" -fpermissive"
- fi
-
- ppl_opts+=( "host=${CT_HOST}" )
- ppl_opts+=( "prefix=${CT_HOST_COMPLIBS_DIR}" )
- ppl_opts+=( "cflags=${ppl_cflags}" )
- ppl_opts+=( "cxxflags=${ppl_cxxflags}" )
- ppl_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" )
- do_ppl_backend "${ppl_opts[@]}"
-
- CT_Popd
- CT_EndStep
-}
-
-# Build PPL
-# Parameter : description : type : default
-# host : machine to run on : tuple : (none)
-# prefix : prefix to install into : dir : (none)
-# cflags : cflags to use : string : (empty)
-# ldflags : ldflags to use : string : (empty)
-do_ppl_backend() {
- local host
- local prefix
- local cflags
- local cxxflags
- local ldflags
- local arg
-
- for arg in "$@"; do
- eval "${arg// /\\ }"
- done
-
- CT_DoLog EXTRA "Configuring PPL"
-
- CT_DoExecLog CFG \
- CFLAGS="${cflags}" \
- CXXFLAGS="${cxxflags}" \
- LDFLAGS="${ldflags}" \
- "${CT_SRC_DIR}/ppl-${CT_PPL_VERSION}/configure" \
- --build=${CT_BUILD} \
- --host=${host} \
- --prefix="${prefix}" \
- --with-libgmp-prefix="${prefix}" \
- --with-libgmpxx-prefix="${prefix}" \
- --with-gmp-prefix="${prefix}" \
- --enable-watchdog \
- --disable-debugging \
- --disable-assertions \
- --disable-ppl_lcdd \
- --disable-ppl_lpsol \
- --disable-shared \
- --enable-interfaces='c c++' \
- --enable-static
-
- # Maybe-options:
- # --enable-optimization=speed or sspeed (yes, with 2 's')
-
- CT_DoLog EXTRA "Building PPL"
- CT_DoExecLog ALL ${make} ${JOBSFLAGS}
-
- if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
- CT_DoLog EXTRA "Checking PPL"
- CT_DoExecLog ALL ${make} ${JOBSFLAGS} -s check
- fi
-
- CT_DoLog EXTRA "Installing PPL"
- CT_DoExecLog ALL ${make} install
-
- # Remove spuriously installed file
- CT_DoExecLog ALL rm -f "${prefix}/bin/ppl-config"
-}
-
-fi # CT_PPL
diff --git a/scripts/build/companion_libs/130-cloog.sh b/scripts/build/companion_libs/130-cloog.sh
index 2d06d06..1b37167 100644
--- a/scripts/build/companion_libs/130-cloog.sh
+++ b/scripts/build/companion_libs/130-cloog.sh
@@ -11,43 +11,20 @@ do_cloog_for_target() { :; }
# Overide functions depending on configuration
if [ "${CT_CLOOG}" = "y" ]; then
-cloog_basename() {
- printf "cloog"
- if [ "${CT_PPL}" = "y" ]; then
- printf -- "-ppl"
- fi
-}
-cloog_basename_version() {
- cloog_basename
- printf -- "-${CT_CLOOG_VERSION}"
-}
-
# Download CLooG
do_cloog_get() {
- CT_GetFile "$(cloog_basename_version)" \
+ CT_GetFile "cloog-${CT_CLOOG_VERSION}" \
http://www.bastoul.net/cloog/pages/download \
ftp://gcc.gnu.org/pub/gcc/infrastructure
}
# Extract CLooG
do_cloog_extract() {
- local _t
-
- # Version 0.15.3 has a dirname 'cloog-ppl' (with no version in it!)
- # while versions 0.15.4 onward do have the version in the dirname.
- # But, because the infrastructure properly creates the extracted
- # directories (with tar's --strip-components), we can live safely...
- CT_Extract "$(cloog_basename_version)"
- CT_Patch "$(cloog_basename)" "${CT_CLOOG_VERSION}"
+ CT_Extract "cloog-${CT_CLOOG_VERSION}"
+ CT_Patch "cloog" "${CT_CLOOG_VERSION}"
# Help the autostuff in case it thinks there are things to regenerate...
- CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/$(cloog_basename_version)/m4"
-
- if [ "${CT_CLOOG_NEEDS_AUTORECONF}" = "y" ]; then
- CT_Pushd "${CT_SRC_DIR}/$(cloog_basename_version)"
- CT_DoExecLog CFG ./autogen.sh
- CT_Popd
- fi
+ CT_DoExecLog DEBUG mkdir -p "${CT_SRC_DIR}/cloog-${CT_CLOOG_VERSION}/m4"
}
# Build CLooG for running on build
@@ -102,47 +79,37 @@ do_cloog_backend() {
local prefix
local cflags
local ldflags
- local cloog_src_dir="${CT_SRC_DIR}/$(cloog_basename_version)"
local arg
local -a cloog_opts
- local -a cloog_targets
- local -a cloog_install_targets
for arg in "$@"; do
eval "${arg// /\\ }"
done
if [ "${CT_CLOOG_0_18_or_later}" = y ]; then
- cloog_opts+=( --with-gmp=system --with-gmp-prefix="${prefix}" )
- cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" )
- cloog_opts+=( --without-osl )
- cloog_targets=( all )
- cloog_install_targets=( install )
- else
- cloog_opts+=( --with-gmp="${prefix}" )
- cloog_opts+=( --with-ppl="${prefix}" )
- cloog_targets=( libcloog.la )
- cloog_install_targets=( install-libLTLIBRARIES install-pkgincludeHEADERS )
+ cloog_opts+=( --with-gmp=system --with-gmp-prefix="${prefix}" )
+ cloog_opts+=( --with-isl=system --with-isl-prefix="${prefix}" )
+ cloog_opts+=( --without-osl )
fi
CT_DoLog EXTRA "Configuring CLooG"
- CT_DoExecLog CFG \
- CFLAGS="${cflags}" \
- LDFLAGS="${ldflags}" \
- LIBS="-lm" \
- "${cloog_src_dir}/configure" \
- --build=${CT_BUILD} \
- --host=${host} \
- --prefix="${prefix}" \
- --with-bits=gmp \
- --with-host-libstdcxx='-lstdc++' \
- --disable-shared \
- --enable-static \
+ CT_DoExecLog CFG \
+ CFLAGS="${cflags}" \
+ LDFLAGS="${ldflags}" \
+ LIBS="-lm" \
+ "${CT_SRC_DIR}/cloog-${CT_CLOOG_VERSION}/configure" \
+ --build=${CT_BUILD} \
+ --host=${host} \
+ --prefix="${prefix}" \
+ --with-bits=gmp \
+ --with-host-libstdcxx='-lstdc++' \
+ --disable-shared \
+ --enable-static \
"${cloog_opts[@]}"
CT_DoLog EXTRA "Building CLooG"
- CT_DoExecLog ALL ${make} ${JOBSFLAGS} "${cloog_targets[@]}"
+ CT_DoExecLog ALL ${make} ${JOBSFLAGS}
if [ "${CT_COMPLIBS_CHECK}" = "y" ]; then
CT_DoLog EXTRA "Checking CLooG"
@@ -150,7 +117,7 @@ do_cloog_backend() {
fi
CT_DoLog EXTRA "Installing CLooG"
- CT_DoExecLog ALL ${make} "${cloog_install_targets[@]}"
+ CT_DoExecLog ALL ${make} install
}
fi # CT_CLOOG
diff --git a/scripts/showSamples.sh b/scripts/showSamples.sh
index 8aef5ed..b6d81c1 100755
--- a/scripts/showSamples.sh
+++ b/scripts/showSamples.sh
@@ -69,7 +69,7 @@ dump_single_sample() {
printf " %-*s : %s\n" ${width} "OS" "${CT_KERNEL}${CT_KERNEL_VERSION:+-}${CT_KERNEL_VERSION}"
if [ -n "${CT_GMP}" \
-o -n "${CT_MPFR}" \
- -o -n "${CT_PPL}" \
+ -o -n "${CT_ISL}" \
-o -n "${CT_CLOOG}" \
-o -n "${CT_MPC}" \
-o -n "${CT_LIBELF}" \
@@ -77,7 +77,7 @@ dump_single_sample() {
-o -n "${CT_NCURSES}" \
-o -n "${CT_GMP_TARGET}" \
-o -n "${CT_MPFR_TARGET}" \
- -o -n "${CT_PPL_TARGET}" \
+ -o -n "${CT_ISL_TARGET}" \
-o -n "${CT_CLOOG_TARGET}" \
-o -n "${CT_MPC_TARGET}" \
-o -n "${CT_LIBELF_TARGET}" \
@@ -89,8 +89,8 @@ dump_single_sample() {
fi
[ -z "${CT_GMP}" -a -z "${CT_GMP_TARGET}" ] || printf " gmp-%s" "${CT_GMP_VERSION}"
[ -z "${CT_MPFR}" -a -z "${CT_MPFR_TARGET}" ] || printf " mpfr-%s" "${CT_MPFR_VERSION}"
- [ -z "${CT_PPL}" -a -z "${CT_PPL_TARGET}" ] || printf " ppl-%s" "${CT_PPL_VERSION}"
- [ -z "${CT_CLOOG}" -a -z "${CT_CLOOG_TARGET}" ] || printf " cloog-ppl-%s" "${CT_CLOOG_VERSION}"
+ [ -z "${CT_ISL}" -a -z "${CT_ISL_TARGET}" ] || printf " isl-%s" "${CT_ISL_VERSION}"
+ [ -z "${CT_CLOOG}" -a -z "${CT_CLOOG_TARGET}" ] || printf " cloog-%s" "${CT_CLOOG_VERSION}"
[ -z "${CT_MPC}" -a -z "${CT_MPC_TARGET}" ] || printf " mpc-%s" "${CT_MPC_VERSION}"
[ -z "${CT_LIBELF}" -a -z "${CT_LIBELF_TARGET}" ] || printf " libelf-%s" "${CT_LIBELF_VERSION}"
[ -z "${CT_EXPAT}" -a -z "${CT_EXPAT_TARGET}" ] || printf " expat-%s" "${CT_EXPAT_VERSION}"