From 2a89c32193658d2fde1240908a0e367899a41212 Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Sat, 21 Nov 2015 02:10:50 -0800 Subject: gcc: Remove gcc <= 4.7.x As per #222, in crosstool-NG >= 1.23.0, we will only support: [upstream supported gcc versions] - 1 As of this writing, these versions are: * 5.2.0 * 4.9.3 * 4.8.5 (the -1, since development on 4.8.x is now closed) I plan to keep 4.8.5 around because of some architectures having issues with over-optimization or just faulty optimization in the 4.9.x and possibly newer versions. I also cleaned up a requirement for glibc to depend on >= gcc-4.6.x for >= glibc-2.20, but since the lowest gcc we support after this change is >= 4.8.5, this condition can go away. Patches for older gcc versions are removed in the next commit. This closes #222 Signed-off-by: Bryan Hundven diff --git a/config/cc/gcc.in b/config/cc/gcc.in index e67e435..bbc46bc 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 @@ -291,8 +163,7 @@ config CC_GCC_USE_GRAPHITE 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. @@ -316,7 +187,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 +243,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..b947668 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -59,13 +59,13 @@ 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 @@ -142,7 +142,7 @@ config CC_GCC_LIBGOMP Interface (API) for multi-platform shared-memory parallel programming in C/C++ and Fortran". See: http://gcc.gnu.org/onlinedocs/libgomp/ - + The default is 'N'. Say 'Y' if you need it, and report success/failure. config CC_GCC_LIBSSP @@ -229,7 +229,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/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/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index 6ed9e9c..ea7d222 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 @@ -486,16 +484,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 +721,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) @@ -842,10 +830,7 @@ 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 + extra_config+=("--disable-libgomp") else if [ "${CT_THREADS}" = "win32" ]; then extra_config+=("--enable-threads=win32") -- cgit v0.10.2-6-g49f6 From c0bd1bbc4c0beadf4e874112026bf93e9828720a Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Sat, 21 Nov 2015 02:16:33 -0800 Subject: gcc: remove patches for removed gcc versions This commit simply removes the patches for gcc versions that are no longer supported. Signed-off-by: Bryan Hundven 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 -+ -+#include // For errno -+#include -+#include -+#include -+#include -+ -+#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 -+ -+#ifndef _C_LOCALE_H -+#define _C_LOCALE_H 1 -+ -+#pragma GCC system_header -+ -+#include // get std::strlen -+#include // get std::snprintf or std::sprintf -+#include -+#include // For codecvt -+#ifdef __UCLIBC_MJN3_ONLY__ -+#warning fix this -+#endif -+#ifdef __UCLIBC_HAS_LOCALE__ -+#include // For codecvt using iconv, iconv_t -+#endif -+#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__ -+#include // 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 -+ 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 -+ -+#include -+#include -+ -+#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 -+ -+#include -+#include -+ -+namespace std -+{ -+ // Specializations. -+#ifdef _GLIBCXX_USE_WCHAR_T -+ codecvt_base::result -+ codecvt:: -+ 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(-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(__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:: -+ 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(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(-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(-1) -+ || __conv == static_cast(-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:: -+ 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:: -+ 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:: -+ 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(__builtin_alloca(sizeof(wchar_t) -+ * __max)); -+ while (__from < __end && __max) -+ { -+ const extern_type* __from_chunk_end; -+ __from_chunk_end = static_cast(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(-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(-1) -+ || __conv == static_cast(-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 -+ -+#include -+#include -+ -+#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::_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::_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::_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::_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 -+ -+#define _LIBC -+#include -+#undef _LIBC -+#include -+ -+#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 specializations are in src/locale.cc and -+ // various /config/os/* files. -+ template<> -+ ctype_byname::ctype_byname(const char* __s, size_t __refs) -+ : ctype(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::__wmask_type -+ ctype::_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::do_toupper(wchar_t __c) const -+ { return __towupper_l(__c, _M_c_locale_ctype); } -+ -+ const wchar_t* -+ ctype::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::do_tolower(wchar_t __c) const -+ { return __towlower_l(__c, _M_c_locale_ctype); } -+ -+ const wchar_t* -+ ctype::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:: -+ 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:: -+ 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:: -+ 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:: -+ 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:: -+ do_widen(char __c) const -+ { return _M_widen[static_cast(__c)]; } -+ -+ const char* -+ ctype:: -+ do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const -+ { -+ while (__lo < __hi) -+ { -+ *__dest = _M_widen[static_cast(*__lo)]; -+ ++__lo; -+ ++__dest; -+ } -+ return __hi; -+ } -+ -+ char -+ ctype:: -+ 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(__c)); -+ } -+ -+ const wchar_t* -+ ctype:: -+ 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(__c)); -+ } -+ ++__lo; -+ ++__dest; -+ } -+ else -+ while (__lo < __hi) -+ { -+ const int __c = wctob(*__lo); -+ *__dest = (__c == EOF ? __dfault : static_cast(__c)); -+ ++__lo; -+ ++__dest; -+ } -+#ifdef __UCLIBC_HAS_XLOCALE__ -+ __uselocale(__old); -+#endif -+ return __hi; -+ } -+ -+ void -+ ctype::_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(__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(_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 -+ -+#include -+#include -+ -+#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::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(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::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 -+ -+#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 -+ messages<_CharT>::messages(size_t __refs) -+ : facet(__refs), _M_c_locale_messages(_S_get_c_locale()), -+ _M_name_messages(_S_get_c_name()) -+ { } -+ -+ template -+ 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 messages<_CharT>::catalog -+ messages<_CharT>::open(const basic_string& __s, const locale& __loc, -+ const char* __dir) const -+ { -+ __bindtextdomain(__s.c_str(), __dir); -+ return this->do_open(__s, __loc); -+ } -+ -+ // Virtual member functions. -+ template -+ 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 messages<_CharT>::catalog -+ messages<_CharT>::do_open(const basic_string& __s, -+ const locale&) const -+ { -+ // No error checking is done, assume the catalog exists and can -+ // be used. -+ __textdomain(__s.c_str()); -+ return 0; -+ } -+ -+ template -+ void -+ messages<_CharT>::do_close(catalog) const -+ { } -+ -+ // messages_byname -+ template -+ 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 -+ -+#define _LIBC -+#include -+#undef _LIBC -+#include -+ -+#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::_M_initialize_moneypunct(__c_locale __cloc, -+ const char*) -+ { -+ if (!_M_data) -+ _M_data = new __moneypunct_cache; -+ -+ 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::_M_initialize_moneypunct(__c_locale __cloc, -+ const char*) -+ { -+ if (!_M_data) -+ _M_data = new __moneypunct_cache; -+ -+ 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::~moneypunct() -+ { delete _M_data; } -+ -+ template<> -+ moneypunct::~moneypunct() -+ { delete _M_data; } -+ -+#ifdef _GLIBCXX_USE_WCHAR_T -+ template<> -+ void -+ moneypunct::_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; -+ -+ 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(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::_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; -+ -+ 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(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::~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::~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 -+ -+#define _LIBC -+#include -+#undef _LIBC -+#include -+ -+#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::_M_initialize_numpunct(__c_locale __cloc) -+ { -+ if (!_M_data) -+ _M_data = new __numpunct_cache; -+ -+ 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::~numpunct() -+ { delete _M_data; } -+ -+#ifdef _GLIBCXX_USE_WCHAR_T -+ template<> -+ void -+ numpunct::_M_initialize_numpunct(__c_locale __cloc) -+ { -+ if (!_M_data) -+ _M_data = new __numpunct_cache; -+ -+ 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(__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(__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::~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 -+ -+#include -+#include -+ -+#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:: -+ _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::_M_initialize_timepunct(__c_locale __cloc) -+ { -+ if (!_M_data) -+ _M_data = new __timepunct_cache; -+ -+ 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:: -+ _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::_M_initialize_timepunct(__c_locale __cloc) -+ { -+ if (!_M_data) -+ _M_data = new __timepunct_cache; -+ -+#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 -+ -+ template -+ __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 -+ __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 -+ __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 -+ __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 - #include - --#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 - #include - --#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 - --#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 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& __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 // get std::strlen --#include // get std::snprintf or std::sprintf -+#include // get std::vsnprintf or std::vsprintf - #include - #include // For codecvt - #ifdef __UCLIBC_MJN3_ONLY__ - #warning fix this - #endif --#ifdef __UCLIBC_HAS_LOCALE__ -+#ifdef _GLIBCXX_USE_ICONV - #include // For codecvt using iconv, iconv_t - #endif --#ifdef __UCLIBC_HAS_GETTEXT_AWARENESS__ --#include // For messages -+#ifdef HAVE_LIBINTL_H -+#include // For messages - #endif -+#include - - #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 -- 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 - -+#include -+#ifdef __UCLIBC_HAS_LOCALE__ - #define _LIBC - #include - #undef _LIBC -+#else -+#include -+#endif - #include - - namespace std -@@ -138,20 +143,34 @@ - ctype:: - 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:: - 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 - 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 - 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 -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 - -+#include -+#ifdef __UCLIBC_HAS_LOCALE__ - #define _LIBC - #include - #undef _LIBC -+#else -+#include -+#endif - #include - - #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 - -+#include -+#ifdef __UCLIBC_HAS_LOCALE__ - #define _LIBC - #include - #undef _LIBC -+#else -+#include -+#endif - #include - - #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 - __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 - __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 - __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 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 - # 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 -+#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 - #include - -+/* 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 // For uninitialized_copy_n - #include // 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 -- -+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 -- -+namespace std -+{ - template - __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 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 - #include - -@@ -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 - - 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 - --= 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 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 - - 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 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 - - * 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 - - * 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 - - * 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 - - 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 - - * 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 - # 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 -+#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 - #include - -+/* 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 // For uninitialized_copy_n - #include // 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 - #include - -@@ -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 - Nathan Sidwell - - * 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 - /* 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 -+#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 - # 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 - #include - -+/* 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 // For uninitialized_copy_n - #include // 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 -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 - - 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 ' > 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 ' > 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 ---- - 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 -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 - #else -+# ifdef __MMX__ -+# include -+# endif - # ifdef __SSE2__ - # include - # 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 -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 -Date: Thu, 26 Apr 2012 04:33:08 +0000 -Subject: [PATCH] 2012-04-26 Michael Hope - Richard Earnshaw - - * 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 - -- cgit v0.10.2-6-g49f6 From 0e0ecc8bcf27d34c6564dcf990e1c7ef8c5acb4c Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Sun, 22 Nov 2015 19:13:53 -0800 Subject: PPL: Remove support for PPL and CLooG/PPL Now that versions of gcc that required PPL are no longer supported ( >= gcc-4.5.x AND <= gcc-4.7.x ) ...we no longer require PPL or CLooG/PPL. This commit: * Removes PPL * Removes CLooG/PPL * Updates the documentation * Updates build script for CLooG and GCC * Removes PPL and CLooG/PPL from scripts/addToolVersion.sh and scripts/showSamples.sh * Adds ISL to scripts/addToolVersion.sh and scripts/showSamples.sh I know that sounds like a lot for one commit, but it was all kind of inter-tangled. Signed-off-by: Bryan Hundven diff --git a/config/cc/gcc.in b/config/cc/gcc.in index bbc46bc..4cf4628 100644 --- a/config/cc/gcc.in +++ b/config/cc/gcc.in @@ -156,7 +156,8 @@ 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 @@ -167,10 +168,12 @@ config CC_GCC_USE_GRAPHITE 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: diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index b947668..0ad40df 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -68,7 +68,7 @@ config CC_GCC_STATIC_LIBSTDCXX default y 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++ 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/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/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 -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 -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 -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 -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 -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 - #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::is_specialized; - const int std::numeric_limits::digits; - const int std::numeric_limits::digits10; -@@ -71,3 +74,6 @@ const bool std::numeric_limits::traps; - const bool std::numeric_limits::tininess_before; - const std::float_round_style std::numeric_limits::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 -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 - 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 -+#include - - namespace Parma_Polyhedra_Library { - -@@ -267,7 +268,7 @@ public: - class const_iterator - : public std::iterator, - 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 -+#include - - namespace Parma_Polyhedra_Library { - -@@ -235,7 +236,7 @@ public: - class const_iterator - : public std::iterator { - 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 - #include -+#include - - namespace Parma_Polyhedra_Library { - -@@ -204,7 +205,7 @@ public: - class const_iterator - : public std::iterator { - 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 -+#include - - namespace Parma_Polyhedra_Library { - -@@ -250,7 +251,7 @@ public: - class const_iterator - : public std::iterator { - 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 -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 -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 ea7d222..fb1ce18 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -315,20 +315,11 @@ 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}") elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then - extra_config+=("--with-ppl=no") extra_config+=("--with-isl=no") extra_config+=("--with-cloog=no") fi @@ -799,20 +790,11 @@ 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}") elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then - extra_config+=("--with-ppl=no") extra_config+=("--with-isl=no") extra_config+=("--with-cloog=no") fi 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}" -- cgit v0.10.2-6-g49f6 From 8b40ab0d6eb2b0bd4e9c0f168e77b555caa78703 Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Sun, 22 Nov 2015 19:36:38 -0800 Subject: gcc: CLooG should be optional for configure Because >= gcc-5.x does not require cloog, it should not be forced on the command line arguments for configure if graphite is enabled. Make CLooG optionally added, if it is needed (aka: <= gcc-4.9). Signed-off-by: Bryan Hundven diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index fb1ce18..d943ebc 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -318,7 +318,9 @@ do_gcc_core_backend() { 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-isl=no") extra_config+=("--with-cloog=no") @@ -793,7 +795,9 @@ do_gcc_backend() { 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-isl=no") extra_config+=("--with-cloog=no") -- cgit v0.10.2-6-g49f6 From cfd2a6b69c4945808ae153552e6978afb1273ef7 Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Sun, 29 Nov 2015 17:40:08 -0800 Subject: gcc: Gnu OpenMP support depends on threading Instead of checking if thread support is enabled during the build, move the check to kconfig-time. Since if threading support is not availble, libgomp should not be available either. Signed-off-by: Bryan Hundven diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2 index 0ad40df..b3bfecc 100644 --- a/config/cc/gcc.in.2 +++ b/config/cc/gcc.in.2 @@ -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 diff --git a/scripts/build/cc/100-gcc.sh b/scripts/build/cc/100-gcc.sh index d943ebc..359bb15 100644 --- a/scripts/build/cc/100-gcc.sh +++ b/scripts/build/cc/100-gcc.sh @@ -816,7 +816,6 @@ do_gcc_backend() { if [ "${CT_THREADS}" = "none" ]; then extra_config+=("--disable-threads") - extra_config+=("--disable-libgomp") else if [ "${CT_THREADS}" = "win32" ]; then extra_config+=("--enable-threads=win32") -- cgit v0.10.2-6-g49f6