From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from starfish.geekisp.com (starfish.geekisp.com [216.168.135.166]) by mail.openembedded.org (Postfix) with SMTP id 8E540605D2 for ; Fri, 9 Oct 2015 09:06:51 +0000 (UTC) Received: (qmail 28786 invoked by uid 1003); 9 Oct 2015 09:06:51 -0000 Received: from unknown (HELO ?192.168.33.95?) (philip@opensdr.com@79.140.208.123) by mail.geekisp.com with (DHE-RSA-AES128-SHA encrypted) SMTP; 9 Oct 2015 09:06:49 -0000 To: openembedded-devel@lists.openembedded.org References: <5614C9FA.20703@topic.nl> <1444282760-3302-1-git-send-email-mike.looijmans@topic.nl> <71828806-0BDE-4E58-AF35-6CB241D19604@gmail.com> From: Philip Balister Message-ID: <561783A7.7000606@balister.org> Date: Fri, 9 Oct 2015 10:06:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <71828806-0BDE-4E58-AF35-6CB241D19604@gmail.com> Subject: Re: [meta-oe][toolchain-layer][PATCH] Remove toolchain-layer X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Oct 2015 09:06:52 -0000 X-Groupsio-MsgNum: 57751 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="EpSjaQodXXNMlj2WjquTKC1fn0wmjsvMp" --EpSjaQodXXNMlj2WjquTKC1fn0wmjsvMp Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable On 10/09/2015 08:12 AM, Khem Raj wrote: >=20 >> On Oct 7, 2015, at 10:39 PM, Mike Looijmans = wrote: >> >> Just including the toolchain-layer in a bblayers.conf results in: >> ERROR: ExpansionError during parsing .../meta-oe/toolchain-layer/reci= pes-devtools/gcc/gcc-crosssdk_4.6.bb: Failure expanding variable SRCPV, e= xpression was ${@bb.fetch2.get_srcrev(d)} which triggered exception Fetch= Error: Fetcher failure: SRCREV was used yet no valid SCM was found in SRC= _URI >> >> Since there is no maintainer, remove it from meta-openembedded. >> >=20 > this is good. Please remove it from layer index too if its there http://layers.openembedded.org/layerindex/branch/master/layer/toolchain-l= ayer/ Koen is listed as the maintainer. He'll need to handle the removal from the layer index. Philip >=20 >> Signed-off-by: Mike Looijmans >> --- >> toolchain-layer/COPYING.MIT | 17 - >> toolchain-layer/README | 15 - >> toolchain-layer/conf/layer.conf | 30 - >> .../files/canadian-build-modules-configure.patch | 22 - >> .../gcc/files/gcc-4.3.3-fix-EXTRA_BUILD.patch | 12 - >> .../gcc/files/gcc-4.3.x-fix-EXTRA_BUILD.patch | 13 - >> .../gcc/files/gcc-posix-open-fix.patch | 11 - >> .../gcc/files/gcc4-mtune-compat.patch | 14 - >> .../gcc/files/gfortran-4.3.x.patch | 40 - >> .../recipes-devtools/gcc/files/gfortran.patch | 40 - >> .../gcc/files/pr22133-mingw-path-fixup.patch | 29 - >> .../gcc/files/pr33281-mingw-host-fragment.patch | 38 - >> ...35916-mingw-__USE_MINGW_ACCESS-everywhere.patch | 13 - >> toolchain-layer/recipes-devtools/gcc/gcc-4.6.inc | 119 - >> .../gcc/gcc-4.6/100-uclibc-conf.patch | 39 - >> .../gcc/gcc-4.6/103-uclibc-conf-noupstream.patch | 17 - >> .../gcc/gcc-4.6/200-uclibc-locale.patch | 2842 ------------= -------- >> .../gcc/gcc-4.6/203-uclibc-locale-no__x.patch | 235 -- >> .../gcc/gcc-4.6/204-uclibc-locale-wchar_fix.patch | 54 - >> .../gcc/gcc-4.6/205-uclibc-locale-update.patch | 521 ---- >> .../gcc/gcc-4.6/301-missing-execinfo_h.patch | 15 - >> .../gcc/gcc-4.6/302-c99-snprintf.patch | 15 - >> .../gcc/gcc-4.6/303-c99-complex-ugly-hack.patch | 16 - >> .../gcc/gcc-4.6/304-index_macro.patch | 30 - >> .../gcc/gcc-4.6/305-libmudflap-susv3-legacy.patch | 51 - >> .../gcc/gcc-4.6/306-libstdc++-namespace.patch | 40 - >> .../recipes-devtools/gcc/gcc-4.6/64bithack.patch | 68 - >> .../gcc/gcc-4.6/740-sh-pr24836.patch | 31 - >> .../gcc/gcc-4.6/800-arm-bigendian.patch | 36 - >> .../gcc/gcc-4.6/904-flatten-switch-stmt-00.patch | 76 - >> .../gcc/gcc-4.6/COLLECT_GCC_OPTIONS.patch | 25 - >> .../GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch | 186 -- >> .../gcc/gcc-4.6/arm-nolibfloat.patch | 26 - >> .../gcc/gcc-4.6/arm-softfloat.patch | 18 - >> .../gcc/gcc-4.6/cache-amnesia.patch | 33 - >> .../gcc/gcc-4.6/cpp-honour-sysroot.patch | 40 - >> .../gcc/gcc-4.6/disable_relax_pic_calls_flag.patch | 48 - >> .../gcc/gcc-4.6/fix-for-ice-50099.patch | 49 - >> .../gcc/gcc-4.6/fortran-cross-compile-hack.patch | 32 - >> .../gcc-4.6/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 33 - >> .../gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch | 116 - >> .../gcc/gcc-4.6/gcc-argument-list-too-long.patch | 33 - >> .../gcc/gcc-4.6/gcc-arm-set-cost.patch | 35 - >> .../gcc/gcc-4.6/gcc-flags-for-build.patch | 189 -- >> .../gcc/gcc-4.6/gcc-poison-dir-extend.patch | 27 - >> .../gcc-4.6/gcc-poison-system-directories.patch | 223 -- >> .../gcc-uclibc-locale-ctype_touplow_t.patch | 72 - >> .../gcc/gcc-4.6/gcc-with-linker-hash-style.patch | 196 -- >> .../gcc/gcc-4.6/mips64-default-n64.patch | 32 - >> .../gcc/gcc-4.6/optional_libstdc.patch | 86 - >> .../gcc/gcc-4.6/powerpc-e5500.patch | 465 ---- >> .../recipes-devtools/gcc/gcc-4.6/pr32219.patch | 72 - >> .../recipes-devtools/gcc/gcc-4.6/pr46934.patch | 393 --- >> .../recipes-devtools/gcc/gcc-4.6/pr47551.patch | 64 - >> .../gcc/gcc-4.6/use-defaults.h-and-t-oe-in-B.patch | 80 - >> .../gcc/gcc-4.6/zecke-xgcc-cpp.patch | 30 - >> .../recipes-devtools/gcc/gcc-common-4.6.inc | 4 - >> .../recipes-devtools/gcc/gcc-cross-canadian_4.6.bb | 4 - >> .../recipes-devtools/gcc/gcc-cross-initial_4.6.bb | 2 - >> .../recipes-devtools/gcc/gcc-cross_4.6.bb | 2 - >> .../gcc/gcc-crosssdk-initial_4.6.bb | 2 - >> .../recipes-devtools/gcc/gcc-crosssdk_4.6.bb | 2 - >> .../recipes-devtools/gcc/gcc-runtime_4.6.bb | 2 - >> toolchain-layer/recipes-devtools/gcc/gcc_4.6.bb | 2 - >> toolchain-layer/recipes-devtools/gcc/libgcc_4.6.bb | 71 - >> 65 files changed, 7193 deletions(-) >> delete mode 100644 toolchain-layer/COPYING.MIT >> delete mode 100644 toolchain-layer/README >> delete mode 100644 toolchain-layer/conf/layer.conf >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/canadian= -build-modules-configure.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.= 3-fix-EXTRA_BUILD.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.= x-fix-EXTRA_BUILD.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gcc-posi= x-open-fix.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gcc4-mtu= ne-compat.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gfortran= -4.3.x.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/gfortran= =2Epatch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/pr22133-= mingw-path-fixup.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/pr33281-= mingw-host-fragment.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/files/pr35916-= mingw-__USE_MINGW_ACCESS-everywhere.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6.inc >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/100-uc= libc-conf.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/103-uc= libc-conf-noupstream.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/200-uc= libc-locale.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/203-uc= libc-locale-no__x.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/204-uc= libc-locale-wchar_fix.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/205-uc= libc-locale-update.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/301-mi= ssing-execinfo_h.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/302-c9= 9-snprintf.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/303-c9= 9-complex-ugly-hack.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/304-in= dex_macro.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/305-li= bmudflap-susv3-legacy.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/306-li= bstdc++-namespace.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/64bith= ack.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/740-sh= -pr24836.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/800-ar= m-bigendian.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/904-fl= atten-switch-stmt-00.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/COLLEC= T_GCC_OPTIONS.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/GPLUSP= LUS_INCLUDE_DIR_with_sysroot.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-no= libfloat.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-so= ftfloat.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/cache-= amnesia.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/cpp-ho= nour-sysroot.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/disabl= e_relax_pic_calls_flag.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/fix-fo= r-ice-50099.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/fortra= n-cross-compile-hack.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.= 3.1-ARCH_FLAGS_FOR_TARGET.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.= 3.3-SYSROOT_CFLAGS_FOR_TARGET.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-ar= gument-list-too-long.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-ar= m-set-cost.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-fl= ags-for-build.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-po= ison-dir-extend.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-po= ison-system-directories.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-uc= libc-locale-ctype_touplow_t.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-wi= th-linker-hash-style.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/mips64= -default-n64.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/option= al_libstdc.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/powerp= c-e5500.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr3221= 9.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr4693= 4.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr4755= 1.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/use-de= faults.h-and-t-oe-in-B.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-4.6/zecke-= xgcc-cpp.patch >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-common-4.6= =2Einc >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-cross-cana= dian_4.6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-cross-init= ial_4.6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-cross_4.6.= bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-crosssdk-i= nitial_4.6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-crosssdk_4= =2E6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc-runtime_4.= 6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/gcc_4.6.bb >> delete mode 100644 toolchain-layer/recipes-devtools/gcc/libgcc_4.6.bb >> >> diff --git a/toolchain-layer/COPYING.MIT b/toolchain-layer/COPYING.MIT= >> deleted file mode 100644 >> index fb950dc..0000000 >> --- a/toolchain-layer/COPYING.MIT >> +++ /dev/null >> @@ -1,17 +0,0 @@ >> -Permission is hereby granted, free of charge, to any person obtaining= a copy >> -of this software and associated documentation files (the "Software"),= to deal >> -in the Software without restriction, including without limitation the= rights >> -to use, copy, modify, merge, publish, distribute, sublicense, and/or = sell >> -copies of the Software, and to permit persons to whom the Software is= >> -furnished to do so, subject to the following conditions: >> - >> -The above copyright notice and this permission notice shall be includ= ed in >> -all copies or substantial portions of the Software. >> - >> -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE= SS OR >> -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI= TY, >> -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA= LL THE >> -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHE= R >> -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI= NG FROM, >> -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALING= S IN >> -THE SOFTWARE. >> diff --git a/toolchain-layer/README b/toolchain-layer/README >> deleted file mode 100644 >> index 7af26ec..0000000 >> --- a/toolchain-layer/README >> +++ /dev/null >> @@ -1,15 +0,0 @@ >> -This layer depends on: >> - >> -URI: git://github.com/openembedded/oe-core.git >> -branch: master >> -revision: HEAD >> - >> -Send pull requests to openembedded-devel@lists.openembedded.org with = '[meta-oe][toolchain-layer]' in the subject' >> - >> -When sending single patches, please use something like: >> -'git send-email -M -1 --to openembedded-devel@lists.openembedded.org = --subject-prefix=3Dmeta-oe][toolchain-layer][PATCH' >> - >> -You are encouraged to fork the mirror on github https://github.com/op= enembedded/meta-oe/ to share your patches, this is preferred for patch se= ts consisting of more than one patch. Other services like gitorious, repo= =2Eor.cz or self hosted setups are of course accepted as well, 'git fetch= ' works the same on all of them. We recommend github because it = is free, easy to use, has been proven to be reliable and has a really goo= d web GUI. >> - >> -Main layer maintainer: Koen Kooi >> - >> diff --git a/toolchain-layer/conf/layer.conf b/toolchain-layer/conf/la= yer.conf >> deleted file mode 100644 >> index b377f12..0000000 >> --- a/toolchain-layer/conf/layer.conf >> +++ /dev/null >> @@ -1,30 +0,0 @@ >> -# It really depends on order of the layers appearing in BBLAYERS >> -# variable in toplevel bblayers.conf file, where bitbake will search >> -# for .inc files and others where bitbake uses BBPATH since it will >> -# search the directories from first to last as specified in BBPATH >> -# Therefore if you want a given layer to be considered high priority >> -# for the .inc and .conf etc. then consider it adding at the beginnin= g >> -# of BBPATH. For bblayers bitbake will use BBFILES_PRIORITY to resolv= e >> -# the recipe contention so the order of directories in BBFILES does >> -# not matter. >> - >> -# We have a conf directory, append to BBPATH >> -BBPATH .=3D ":${LAYERDIR}" >> - >> -# We have a recipes directory, add to BBFILES >> -BBFILES +=3D "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.= bbappend" >> - >> -BBFILE_COLLECTIONS +=3D "toolchain-layer" >> -BBFILE_PATTERN_toolchain-layer :=3D "^${LAYERDIR}/" >> - >> -# Define the priority for recipes (.bb files) from this layer, >> -# choosing carefully how this layer interacts with all of the >> -# other layers. >> - >> -BBFILE_PRIORITY_toolchain-layer =3D "6" >> - >> -# This should only be incremented on significant changes that will >> -# cause compatibility issues with other layers >> -LAYERVERSION_toolchain-layer =3D "1" >> - >> -LAYERDEPENDS_toolchain-layer =3D "core" >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/canadian-build= -modules-configure.patch b/toolchain-layer/recipes-devtools/gcc/files/can= adian-build-modules-configure.patch >> deleted file mode 100644 >> index 8aede10..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/canadian-build-module= s-configure.patch >> +++ /dev/null >> @@ -1,22 +0,0 @@ >> -diff -urN gcc-4.2.2-orig/gcc/configure gcc-4.2.2/gcc/configure >> ---- gcc-4.2.2-orig/gcc/configure 2008-08-31 23:10:56.000000000 +0200 >> -+++ gcc-4.2.2/gcc/configure 2008-08-31 23:03:02.000000000 +0200 >> -@@ -12716,6 +12716,7 @@ >> - esac >> - saved_CFLAGS=3D"${CFLAGS}" >> - CC=3D"${CC_FOR_BUILD}" CFLAGS=3D"${CFLAGS_FOR_BUILD}" \ >> -+ CPP=3D"${CPP_FOR_BUILD}" CPPFLAGS=3D"${CPPFLAGS_FOR_BUILD}" \ >> - CONFIG_SITE=3D ${realsrcdir}/configure --cache-file=3D./other.cache= \ >> - --enable-languages=3D${enable_languages-all} \ >> - --target=3D$target_alias --host=3D$build_alias --build=3D$build_al= ias >> -diff -urN gcc-4.2.2-orig/gcc/configure.ac gcc-4.2.2/gcc/configure.ac >> ---- gcc-4.2.2-orig/gcc/configure.ac 2008-08-31 23:10:53.000000000 +02= 00 >> -+++ gcc-4.2.2/gcc/configure.ac 2008-08-31 23:03:29.000000000 +0200 >> -@@ -1490,6 +1490,7 @@ >> - esac >> - saved_CFLAGS=3D"${CFLAGS}" >> - CC=3D"${CC_FOR_BUILD}" CFLAGS=3D"${CFLAGS_FOR_BUILD}" \ >> -+ CPP=3D"${CPP_FOR_BUILD}" CPPFLAGS=3D"${CPPFLAGS_FOR_BUILD}" \ >> - ${realsrcdir}/configure \ >> - --enable-languages=3D${enable_languages-all} \ >> - --target=3D$target_alias --host=3D$build_alias --build=3D$build_al= ias >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.3-fix-= EXTRA_BUILD.patch b/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.3-= fix-EXTRA_BUILD.patch >> deleted file mode 100644 >> index 8a2a4c4..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.3-fix-EXTRA_B= UILD.patch >> +++ /dev/null >> @@ -1,12 +0,0 @@ >> -Index: gcc-4.3.3/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.3.3.orig/Makefile.in 2010-06-16 18:04:38.379008150 +0400 >> -+++ gcc-4.3.3/Makefile.in 2010-06-16 18:05:29.115006261 +0400 >> -@@ -148,6 +148,7 @@ >> - # built for the build system to override those in BASE_FLAGS_TO_PASS= S. >> - EXTRA_BUILD_FLAGS =3D \ >> - CFLAGS=3D"$(CFLAGS_FOR_BUILD)" \ >> -+ LIBCFLAGS=3D"$(CFLAGS_FOR_BUILD)" \ >> - LDFLAGS=3D"$(LDFLAGS_FOR_BUILD)" >> - >> - # This is the list of directories to built for the host system. >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.x-fix-= EXTRA_BUILD.patch b/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.x-= fix-EXTRA_BUILD.patch >> deleted file mode 100644 >> index b375336..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gcc-4.3.x-fix-EXTRA_B= UILD.patch >> +++ /dev/null >> @@ -1,13 +0,0 @@ >> -Index: gcc-4.3.1/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.3.1.orig/Makefile.in 2010-07-07 13:08:44.000000000 +0200 >> -+++ gcc-4.3.1/Makefile.in 2010-07-07 13:11:59.246625709 +0200 >> -@@ -149,7 +149,7 @@ >> - EXTRA_BUILD_FLAGS =3D \ >> - CFLAGS=3D"$(CFLAGS_FOR_BUILD)" \ >> - LDFLAGS=3D"$(LDFLAGS_FOR_BUILD)" \ >> -- LIBCFLAGS=3D"" >> -+ LIBCFLAGS=3D"$(CFLAGS_FOR_BUILD)" >> - >> - # This is the list of directories to built for the host system. >> - SUBDIRS =3D @configdirs@ >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gcc-posix-open= -fix.patch b/toolchain-layer/recipes-devtools/gcc/files/gcc-posix-open-fi= x.patch >> deleted file mode 100644 >> index 99f813e..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gcc-posix-open-fix.pa= tch >> +++ /dev/null >> @@ -1,11 +0,0 @@ >> ---- gcc-3.4.6/gcc/collect2.c 2008-10-04 18:17:17.796750393 +0400 >> -+++ gcc-3.4.6/gcc/collect2.new 2008-10-04 18:24:10.120748711 +0400 >> -@@ -1534,7 +1534,7 @@ collect_execute (const char *prog, char >> - if (redir) >> - { >> - /* Open response file. */ >> -- redir_handle =3D open (redir, O_WRONLY | O_TRUNC | O_CREAT); >> -+ redir_handle =3D open (redir, O_WRONLY | O_TRUNC | O_CREAT, S_= IWUSR); >> - >> - /* Duplicate the stdout and stderr file handles >> - so they can be restored later. */ >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gcc4-mtune-com= pat.patch b/toolchain-layer/recipes-devtools/gcc/files/gcc4-mtune-compat.= patch >> deleted file mode 100644 >> index 0da2811..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gcc4-mtune-compat.pat= ch >> +++ /dev/null >> @@ -1,14 +0,0 @@ >> -Patch for gcc3 to support gcc4-compatible (and consistent) values for= -mtune=3D option. >> - >> ---- gcc-3.4.4/gcc/config/arm/arm.c.org 2007-12-15 23:58:35.000000000 = +0200 >> -+++ gcc-3.4.4/gcc/config/arm/arm.c 2007-12-16 00:20:39.000000000 +020= 0 >> -@@ -432,7 +432,9 @@ >> - {"arm10tdmi", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 }, >> - {"arm1020t", FL_MODE32 | FL_FAST_MULT | F= L_ARCH4 | FL_THUMB | FL_LDSCHED | FL_ARCH5 }, >> - {"arm926ejs", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E }, >> -+ {"arm926ej-s", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E }, >> - {"arm1026ejs", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E }, >> -+ {"arm1026ej-s", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_ARCH5 | FL_ARCH5E }, >> - {"xscale", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_= XSCALE }, >> - {"iwmmxt", FL_MODE32 | FL_FAST_MULT | = FL_ARCH4 | FL_THUMB | FL_LDSCHED | FL_STRONG | FL_ARCH5 | FL_ARCH5E | FL_= XSCALE | FL_IWMMXT }, >> - /* V6 Architecture Processors */ >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gfortran-4.3.x= =2Epatch b/toolchain-layer/recipes-devtools/gcc/files/gfortran-4.3.x.patc= h >> deleted file mode 100644 >> index 0c42851..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gfortran-4.3.x.patch >> +++ /dev/null >> @@ -1,40 +0,0 @@ >> -The patch below fixes a crash building libgfortran on arm-linux-gnuea= bi. >> - >> -This target doesn't really have a 128-bit integer type, however it do= es use >> -TImode to represent the return value of certain special ABI defined l= ibrary >> -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. >> - >> -Index: gcc-4.2.1/gcc/fortran/trans-types.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435) >> -+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy) >> -@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un >> - if (type && bits =3D=3D 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 >=3D 65 >> -+ if (bits =3D=3D TYPE_PRECISION (intTI_type_node)) >> -+ return intTI_type_node; >> -+#endif >> - } >> - else >> - { >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/gfortran.patch= b/toolchain-layer/recipes-devtools/gcc/files/gfortran.patch >> deleted file mode 100644 >> index 96905e5..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/gfortran.patch >> +++ /dev/null >> @@ -1,40 +0,0 @@ >> -The patch below fixes a crash building libgfortran on arm-linux-gnuea= bi. >> - >> -This target doesn't really have a 128-bit integer type, however it do= es use >> -TImode to represent the return value of certain special ABI defined l= ibrary >> -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. >> - >> -Index: gcc-4.2.1/gcc/fortran/trans-types.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.2.1/gcc/fortran/trans-types.c (revision 170435) >> -+++ gcc-4.2.1/gcc/fortran/trans-types.c (working copy) >> -@@ -1800,6 +1800,13 @@ gfc_type_for_size (unsigned bits, int un >> - if (type && bits =3D=3D 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 >=3D 64 >> -+ if (bits =3D=3D TYPE_PRECISION (intTI_type_node)) >> -+ return intTI_type_node; >> -+#endif >> - } >> - else >> - { >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/pr22133-mingw-= path-fixup.patch b/toolchain-layer/recipes-devtools/gcc/files/pr22133-min= gw-path-fixup.patch >> deleted file mode 100644 >> index 429e9ff..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/pr22133-mingw-path-fi= xup.patch >> +++ /dev/null >> @@ -1,29 +0,0 @@ >> -diff -rupN gcc-4.2.orig/gcc/c-incpath.c gcc-4.2/gcc/c-incpath.c >> ---- gcc-4.2.orig/gcc/c-incpath.c 2007-09-01 11:28:30.000000000 -0400 >> -+++ gcc-4.2/gcc/c-incpath.c 2008-08-17 16:56:01.000000000 -0400 >> -@@ -340,13 +340,18 @@ add_path (char *path, int chain, int cxx >> - cpp_dir *p; >> - >> - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) >> -- /* Convert all backslashes to slashes. The native CRT stat() >> -- function does not recognize a directory that ends in a backslas= h >> -- (unless it is a drive root dir, such "c:\"). Forward slashes, >> -- trailing or otherwise, cause no problems for stat(). */ >> -- char* c; >> -- for (c =3D path; *c; c++) >> -- if (*c =3D=3D '\\') *c =3D '/'; >> -+ /* Remove unnecessary trailing slashes. On some versions of MS >> -+ Windows, trailing _forward_ slashes cause no problems for stat= (). >> -+ On newer versions, stat() does not recognise a directory that e= nds >> -+ in a '\\' or '/', unless it is a drive root dir, such as "c:/",= >> -+ where it is obligatory. */ >> -+ int pathlen =3D strlen (path); >> -+ char* end =3D path + pathlen - 1; >> -+ /* Preserve the lead '/' or lead "c:/". */ >> -+ char* start =3D path + (pathlen > 2 && path[1] =3D=3D ':' ? 3 : 1)= ; >> -+ >> -+ for (; end > start && IS_DIR_SEPARATOR (*end); end--) >> -+ *end =3D 0; >> - #endif >> - >> - p =3D XNEW (cpp_dir); >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/pr33281-mingw-= host-fragment.patch b/toolchain-layer/recipes-devtools/gcc/files/pr33281-= mingw-host-fragment.patch >> deleted file mode 100644 >> index e16fb44..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/pr33281-mingw-host-fr= agment.patch >> +++ /dev/null >> @@ -1,38 +0,0 @@ >> ---- >> - config/mh-mingw | 3 +++ >> - configure | 1 + >> - configure.in | 1 + >> - 3 files changed, 5 insertions(+) >> - >> -Index: gcc-4.2.3/config/mh-mingw >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.2.3/config/mh-mingw >> -@@ -0,0 +1,3 @@ >> -+# Add -D__USE_MINGW_ACCESS to enable the built compiler to work on W= indows >> -+# Vista (see PR33281 for details). >> -+BOOT_CFLAGS +=3D -D__USE_MINGW_ACCESS >> -Index: gcc-4.2.3/configure.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.2.3.orig/configure.in >> -+++ gcc-4.2.3/configure.in >> -@@ -929,6 +929,7 @@ case "${host}" in >> - host_makefile_frag=3D"config/mh-cygwin" >> - ;; >> - *-mingw32*) >> -+ host_makefile_frag=3D"config/mh-mingw" >> - ;; >> - *-interix*) >> - host_makefile_frag=3D"config/mh-interix" >> -Index: gcc-4.2.3/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.2.3.orig/configure >> -+++ gcc-4.2.3/configure >> -@@ -1769,6 +1769,7 @@ case "${host}" in >> - host_makefile_frag=3D"config/mh-cygwin" >> - ;; >> - *-mingw32*) >> -+ host_makefile_frag=3D"config/mh-mingw" >> - ;; >> - *-interix*) >> - host_makefile_frag=3D"config/mh-interix" >> diff --git a/toolchain-layer/recipes-devtools/gcc/files/pr35916-mingw-= __USE_MINGW_ACCESS-everywhere.patch b/toolchain-layer/recipes-devtools/gc= c/files/pr35916-mingw-__USE_MINGW_ACCESS-everywhere.patch >> deleted file mode 100644 >> index faf44c2..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/files/pr35916-mingw-__USE_M= INGW_ACCESS-everywhere.patch >> +++ /dev/null >> @@ -1,13 +0,0 @@ >> ---- >> - config/mh-mingw | 1 + >> - 1 file changed, 1 insertion(+) >> - >> -Index: gcc-4.2.3/config/mh-mingw >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.2.3.orig/config/mh-mingw >> -+++ gcc-4.2.3/config/mh-mingw >> -@@ -1,3 +1,4 @@ >> - # Add -D__USE_MINGW_ACCESS to enable the built compiler to work on W= indows >> - # Vista (see PR33281 for details). >> - BOOT_CFLAGS +=3D -D__USE_MINGW_ACCESS >> -+CFLAGS +=3D -D__USE_MINGW_ACCESS >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6.inc b/toolch= ain-layer/recipes-devtools/gcc/gcc-4.6.inc >> deleted file mode 100644 >> index 83e9a9f..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6.inc >> +++ /dev/null >> @@ -1,119 +0,0 @@ >> -require recipes-devtools/gcc/gcc-common.inc >> - >> -PR =3D "r27" >> - >> -# Third digit in PV should be incremented after a minor release >> -# happens from this branch on gcc e.g. currently its 4.6.0 >> -# when 4.6.1 is releases and we bump SRCREV beyond the release >> -# on branch then PV should be incremented to 4.6.1+svnr${SRCPV} >> -# to reflect that change >> - >> -PV =3D "4.6.3+svnr${SRCPV}" >> - >> -# BINV should be incremented after updating to a revision >> -# after a minor gcc release (e.g. 4.6.1 or 4.6.2) has been made >> -# the value will be minor-release+1 e.g. if current minor release was= >> -# 4.6.1 then the value below will have 2 which will mean 4.6.2 >> -# which will be next minor release and so on. >> - >> -BINV =3D "4.6.4" >> - >> -SRCREV =3D "184847" >> -BRANCH =3D "gcc-4_6-branch" >> -FILESPATH =3D "${@base_set_filespath([ '${FILE_DIRNAME}/gcc-4.6' ], d= )}" >> - >> -DEPENDS =3D+ "mpfr gmp libmpc" >> -NATIVEDEPS =3D "mpfr-native gmp-native libmpc-native zlib-native" >> - >> -LICENSE=3D"GPL-3.0-with-GCC-exception & GPLv3" >> - >> -LIC_FILES_CHKSUM =3D "file://COPYING;md5=3D59530bdf33659b29e73d4adb9f= 9f6552 \ >> - file://COPYING3;md5=3Dd32239bcb673463ab874e80d47fae504 \ >> - file://COPYING3.LIB;md5=3D6a6a8e020838b23406c81b19c1d46df6 \ >> - file://COPYING.LIB;md5=3D2d5025d4aa3495befef8f17206a5b0a1 \ >> - file://COPYING.RUNTIME;md5=3Dfe60d87048567d4fe8c8a0ed2448bcc8" >> - >> -SRC_URI =3D "svn://gcc.gnu.org/svn/gcc/branches;module=3D${BRANCH};pr= otocol=3Dhttp \ >> - file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ >> - file://100-uclibc-conf.patch \ >> - file://gcc-uclibc-locale-ctype_touplow_t.patch \ >> - file://cache-amnesia.patch \ >> - file://gcc-flags-for-build.patch \ >> - file://103-uclibc-conf-noupstream.patch \ >> - file://200-uclibc-locale.patch \ >> - file://203-uclibc-locale-no__x.patch; \ >> - file://204-uclibc-locale-wchar_fix.patch; \ >> - file://205-uclibc-locale-update.patch; \ >> - file://301-missing-execinfo_h.patch \ >> - file://302-c99-snprintf.patch \ >> - file://303-c99-complex-ugly-hack.patch \ >> - file://304-index_macro.patch \ >> - file://305-libmudflap-susv3-legacy.patch \ >> - file://306-libstdc++-namespace.patch \ >> - file://740-sh-pr24836.patch \ >> - file://800-arm-bigendian.patch \ >> - file://904-flatten-switch-stmt-00.patch \ >> - file://arm-nolibfloat.patch \ >> - file://arm-softfloat.patch \ >> - file://zecke-xgcc-cpp.patch \ >> - file://gcc-poison-system-directories.patch \ >> - file://gcc-poison-dir-extend.patch \ >> - file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ >> - file://64bithack.patch \ >> - file://optional_libstdc.patch \ >> - file://disable_relax_pic_calls_flag.patch \ >> - file://COLLECT_GCC_OPTIONS.patch \ >> - file://use-defaults.h-and-t-oe-in-B.patch \ >> - file://powerpc-e5500.patch \ >> - file://fix-for-ice-50099.patch \ >> - file://gcc-with-linker-hash-style.patch \ >> - file://pr46934.patch \ >> - file://pr32219.patch \ >> - file://pr47551.patch \ >> - file://gcc-arm-set-cost.patch \ >> - file://GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch \ >> - file://fortran-cross-compile-hack.patch \ >> - file://cpp-honour-sysroot.patch \ >> - file://mips64-default-n64.patch \ >> - file://gcc-argument-list-too-long.patch \ >> -" >> - >> -SRC_URI_append_sh3 =3D " file://sh3-installfix-fixheaders.patch " >> - >> -#S =3D "${WORKDIR}/${BRANCH}" >> -S =3D "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${BRANCH}" >> -B =3D "${WORKDIR}/${BRANCH}/build.${HOST_SYS}.${TARGET_SYS}" >> - >> -# Language Overrides >> -FORTRAN =3D "" >> -JAVA =3D "" >> - >> -EXTRA_OECONF_BASE =3D " --enable-lto \ >> - --enable-libssp \ >> - --disable-bootstrap \ >> - --disable-libgomp \ >> - --disable-libmudflap \ >> - --with-system-zlib \ >> - --with-linker-hash-style=3D${LINKER_HASH_STYLE} \ >> - --with-ppl=3Dno \ >> - --with-cloog=3Dno \ >> - --enable-cheaders=3Dc_global " >> - >> -EXTRA_OECONF_INITIAL =3D "--disable-libmudflap \ >> - --disable-libgomp \ >> - --disable-libssp \ >> - --disable-libquadmath \ >> - --with-system-zlib \ >> - --disable-lto \ >> - --disable-plugin \ >> - --enable-decimal-float=3Dno" >> - >> -EXTRA_OECONF_INTERMEDIATE =3D "--disable-libmudflap \ >> - --disable-libgomp \ >> - --disable-libquadmath \ >> - --with-system-zlib \ >> - --disable-lto \ >> - --disable-plugin \ >> - --disable-libssp" >> - >> -EXTRA_OECONF_append_libc-uclibc =3D " --disable-decimal-float " >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/100-uclibc-c= onf.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/100-uclibc-conf.= patch >> deleted file mode 100644 >> index b2981e0..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/100-uclibc-conf.pat= ch >> +++ /dev/null >> @@ -1,39 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/contrib/regression/objs-gcc.sh >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/contrib/regression/objs-gcc.sh >> -+++ gcc-4.6.0/contrib/regression/objs-gcc.sh >> -@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET =3D $H_REAL_HOST -a $H >> - then >> - make all-gdb all-dejagnu all-ld || exit 1 >> - make install-gdb install-dejagnu install-ld || exit 1 >> -+elif [ $H_REAL_TARGET =3D $H_REAL_HOST -a $H_REAL_TARGET =3D 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 =3D $H_REAL_HOST ] ; then >> - make bootstrap || exit 1 >> - make install || exit 1 >> -Index: gcc-4.6.0/libjava/classpath/ltconfig >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libjava/classpath/ltconfig >> -+++ gcc-4.6.0/libjava/classpath/ltconfig >> -@@ -603,7 +603,7 @@ host_os=3D`echo $host | sed 's/^\([^-]*\)- >> - >> - # Transform linux* to *-*-linux-gnu*, to support old configure scrip= ts. >> - case $host_os in >> --linux-gnu*) ;; >> -+linux-gnu*|linux-uclibc*) ;; >> - linux*) host=3D`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2= /'` >> - esac >> - >> -@@ -1247,7 +1247,7 @@ linux-gnuoldld* | linux-gnuaout* | linux >> - ;; >> - >> - # This must be Linux ELF. >> --linux-gnu*) >> -+linux*) >> - version_type=3Dlinux >> - need_lib_prefix=3Dno >> - need_version=3Dno >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/103-uclibc-c= onf-noupstream.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/103-u= clibc-conf-noupstream.patch >> deleted file mode 100644 >> index 22c6580..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/103-uclibc-conf-nou= pstream.patch >> +++ /dev/null >> @@ -1,17 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Corrects sub machine arch corectly >> - >> -Index: gcc-4.6.0/gcc/config.gcc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/config.gcc >> -+++ gcc-4.6.0/gcc/config.gcc >> -@@ -2316,7 +2316,7 @@ score-*-elf) >> - ;; >> - sh-*-elf* | sh[12346l]*-*-elf* | \ >> - sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \ >> -- sh-*-linux* | sh[2346lbe]*-*-linux* | \ >> -+ sh*-*-linux* | sh[2346lbe]*-*-linux* | \ >> - sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netb= sd* | \ >> - sh64-*-netbsd* | sh64l*-*-netbsd*) >> - tmake_file=3D"${tmake_file} sh/t-sh sh/t-elf" >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/200-uclibc-l= ocale.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/200-uclibc-loc= ale.patch >> deleted file mode 100644 >> index b8ea78d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/200-uclibc-locale.p= atch >> +++ /dev/null >> @@ -1,2842 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/acinclude.m4 >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/acinclude.m4 >> -+++ gcc-4.6.0/libstdc++-v3/acinclude.m4 >> -@@ -1753,7 +1753,7 @@ dnl >> - AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ >> - GLIBCXX_ENABLE(clocale,auto,[[[=3DMODEL]]], >> - [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 (=3Dno) until= we detect >> - # support for it later. Let the user turn it off via --e/d, but l= et that >> -@@ -1774,6 +1774,9 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ >> - # Default to "generic". >> - if test $enable_clocale_flag =3D auto; then >> - case ${target_os} in >> -+ *-uclibc*) >> -+ enable_clocale_flag=3Duclibc >> -+ ;; >> - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) >> - enable_clocale_flag=3Dgnu >> - ;; >> -@@ -1915,6 +1918,40 @@ AC_DEFUN([GLIBCXX_ENABLE_CLOCALE], [ >> - CTIME_CC=3Dconfig/locale/generic/time_members.cc >> - CLOCALE_INTERNAL_H=3Dconfig/locale/generic/c++locale_internal.= h >> - ;; >> -+ uclibc) >> -+ AC_MSG_RESULT(uclibc) >> -+ >> -+ # Declare intention to use gettext, and add support for specif= ic >> -+ # languages. >> -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT= >> -+ ALL_LINGUAS=3D"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" =3D x"yes" && test x"$enable_nls" =3D= x"yes"; then >> -+ USE_NLS=3Dyes >> -+ fi >> -+ # Export the build objects. >> -+ for ling in $ALL_LINGUAS; do \ >> -+ glibcxx_MOFILES=3D"$glibcxx_MOFILES $ling.mo"; \ >> -+ glibcxx_POFILES=3D"$glibcxx_POFILES $ling.po"; \ >> -+ done >> -+ AC_SUBST(glibcxx_MOFILES) >> -+ AC_SUBST(glibcxx_POFILES) >> -+ >> -+ CLOCALE_H=3Dconfig/locale/uclibc/c_locale.h >> -+ CLOCALE_CC=3Dconfig/locale/uclibc/c_locale.cc >> -+ CCODECVT_CC=3Dconfig/locale/uclibc/codecvt_members.cc >> -+ CCOLLATE_CC=3Dconfig/locale/uclibc/collate_members.cc >> -+ CCTYPE_CC=3Dconfig/locale/uclibc/ctype_members.cc >> -+ CMESSAGES_H=3Dconfig/locale/uclibc/messages_members.h >> -+ CMESSAGES_CC=3Dconfig/locale/uclibc/messages_members.cc >> -+ CMONEY_CC=3Dconfig/locale/uclibc/monetary_members.cc >> -+ CNUMERIC_CC=3Dconfig/locale/uclibc/numeric_members.cc >> -+ CTIME_H=3Dconfig/locale/uclibc/time_members.h >> -+ CTIME_CC=3Dconfig/locale/uclibc/time_members.cc >> -+ CLOCALE_INTERNAL_H=3Dconfig/locale/uclibc/c++locale_internal.h= >> -+ ;; >> - esac >> - >> - # This is where the testsuite looks for locale catalogs, using the= >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal= =2Eh >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h >> -@@ -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 fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -@@ -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 fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D 0; >> -+ float __f =3D __strtof_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __f; >> -+ else >> -+ __err |=3D 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 =3D 0; >> -+ double __d =3D __strtod_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __d; >> -+ else >> -+ __err |=3D ios_base::failbit; >> -+ } >> -+ } >> -+ >> -+ template<> >> -+ void >> -+ __convert_to_v(const char* __s, long double& __v, ios_base::iost= ate& __err, >> -+ const __c_locale& __cloc) >> -+ { >> -+ if (!(__err & ios_base::failbit)) >> -+ { >> -+ char* __sanity; >> -+ errno =3D 0; >> -+ long double __ld =3D __strtold_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __ld; >> -+ else >> -+ __err |=3D ios_base::failbit; >> -+ } >> -+ } >> -+ >> -+ void >> -+ locale::facet::_S_create_c_locale(__c_locale& __cloc, const char* = __s, >> -+ __c_locale __old) >> -+ { >> -+ __cloc =3D __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() !=3D __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] =3D >> -+ { >> -+ "LC_CTYPE", >> -+ "LC_NUMERIC", >> -+ "LC_TIME", >> -+ "LC_COLLATE", >> -+ "LC_MONETARY", >> -+ "LC_MESSAGES", >> -+#if _GLIBCXX_NUM_CATEGORIES !=3D 0 >> -+ "LC_PAPER", >> -+ "LC_NAME", >> -+ "LC_ADDRESS", >> -+ "LC_TELEPHONE", >> -+ "LC_MEASUREMENT", >> -+ "LC_IDENTIFICATION" >> -+#endif >> -+ }; >> -+} >> -+ >> -+namespace std >> -+{ >> -+ const char* const* const locale::_S_categories =3D __gnu_cxx::cate= gory_names; >> -+} // namespace std >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -@@ -0,0 +1,117 @@ >> -+// Wrapper for underlying C-language localization -*- C++ -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004, 2005 Free Software Foundati= on, Inc. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 o= f >> -+ // string. If snprintf is available use it, otherwise fall back t= o >> -+ // the unsafe sprintf which, in general, can be dangerous and shou= ld >> -+ // 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 =3D __gnu_cxx::__uselocale(__cloc); >> -+#else >> -+ _Tv __v, const __c_locale&, int __prec) >> -+ { >> -+# ifdef __UCLIBC_HAS_LOCALE__ >> -+ char* __old =3D std::setlocale(LC_ALL, NULL); >> -+ char* __sav =3D new char[std::strlen(__old) + 1]; >> -+ std::strcpy(__sav, __old); >> -+ std::setlocale(LC_ALL, "C"); >> -+# endif >> -+#endif >> -+ >> -+ const int __ret =3D 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 >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/codecvt_members.cc >> -@@ -0,0 +1,308 @@ >> -+// 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 fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered by >> -+// the GNU General Public License. >> -+ >> -+// >> -+// ISO C++ 14882: 22.2.1.5 - Template class codecvt >> -+// >> -+ >> -+// Written by Benjamin Kosnik >> -+ >> -+#include >> -+#include // For MB_CUR_MAX >> -+#include // For MB_LEN_MAX >> -+#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 =3D ok; >> -+ state_type __tmp_state(__state); >> -+ >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_codecvt); >> -+#endif >> -+ >> -+ // wcsnrtombs is *very* fast but stops if encounters NUL charact= ers: >> -+ // in case we fall back to wcrtomb and then continue, in a loop.= >> -+ // NB: wcsnrtombs is a GNU extension >> -+ for (__from_next =3D __from, __to_next =3D __to; >> -+ __from_next < __from_end && __to_next < __to_end >> -+ && __ret =3D=3D ok;) >> -+ { >> -+ const intern_type* __from_chunk_end =3D wmemchr(__from_next, L'\0',= >> -+ __from_end - __from_next); >> -+ if (!__from_chunk_end) >> -+ __from_chunk_end =3D __from_end; >> -+ >> -+ __from =3D __from_next; >> -+ const size_t __conv =3D wcsnrtombs(__to_next, &__from_next, >> -+ __from_chunk_end - __from_next, >> -+ __to_end - __to_next, &__state); >> -+ if (__conv =3D=3D 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 +=3D wcrtomb(__to_next, *__from, &__tmp_state); >> -+ __state =3D __tmp_state; >> -+ __ret =3D error; >> -+ } >> -+ else if (__from_next && __from_next < __from_chunk_end) >> -+ { >> -+ __to_next +=3D __conv; >> -+ __ret =3D partial; >> -+ } >> -+ else >> -+ { >> -+ __from_next =3D __from_chunk_end; >> -+ __to_next +=3D __conv; >> -+ } >> -+ >> -+ if (__from_next < __from_end && __ret =3D=3D ok) >> -+ { >> -+ extern_type __buf[MB_LEN_MAX]; >> -+ __tmp_state =3D __state; >> -+ const size_t __conv =3D wcrtomb(__buf, *__from_next, &__tmp_sta= te); >> -+ if (__conv > static_cast(__to_end - __to_next)) >> -+ __ret =3D partial; >> -+ else >> -+ { >> -+ memcpy(__to_next, __buf, __conv); >> -+ __state =3D __tmp_state; >> -+ __to_next +=3D __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 =3D ok; >> -+ state_type __tmp_state(__state); >> -+ >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_codecvt); >> -+#endif >> -+ >> -+ // mbsnrtowcs is *very* fast but stops if encounters NUL charact= ers: >> -+ // in case we store a L'\0' and then continue, in a loop. >> -+ // NB: mbsnrtowcs is a GNU extension >> -+ for (__from_next =3D __from, __to_next =3D __to; >> -+ __from_next < __from_end && __to_next < __to_end >> -+ && __ret =3D=3D ok;) >> -+ { >> -+ const extern_type* __from_chunk_end; >> -+ __from_chunk_end =3D static_cast(memchr(__from_= next, '\0', >> -+ __from_end >> -+ - __from_next)); >> -+ if (!__from_chunk_end) >> -+ __from_chunk_end =3D __from_end; >> -+ >> -+ __from =3D __from_next; >> -+ size_t __conv =3D mbsnrtowcs(__to_next, &__from_next, >> -+ __from_chunk_end - __from_next, >> -+ __to_end - __to_next, &__state); >> -+ if (__conv =3D=3D 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 +=3D __conv) >> -+ { >> -+ __conv =3D mbrtowc(__to_next, __from, __from_end - __from, >> -+ &__tmp_state); >> -+ if (__conv =3D=3D static_cast(-1) >> -+ || __conv =3D=3D static_cast(-2)) >> -+ break; >> -+ } >> -+ __from_next =3D __from; >> -+ __state =3D __tmp_state; >> -+ __ret =3D error; >> -+ } >> -+ else if (__from_next && __from_next < __from_chunk_end) >> -+ { >> -+ // It is unclear what to return in this case (see DR 382). >> -+ __to_next +=3D __conv; >> -+ __ret =3D partial; >> -+ } >> -+ else >> -+ { >> -+ __from_next =3D __from_chunk_end; >> -+ __to_next +=3D __conv; >> -+ } >> -+ >> -+ if (__from_next < __from_end && __ret =3D=3D ok) >> -+ { >> -+ if (__to_next < __to_end) >> -+ { >> -+ // XXX Probably wrong for stateful encodings >> -+ __tmp_state =3D __state; >> -+ ++__from_next; >> -+ *__to_next++ =3D L'\0'; >> -+ } >> -+ else >> -+ __ret =3D 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 =3D 0; >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_codecvt); >> -+#endif >> -+ if (MB_CUR_MAX =3D=3D 1) >> -+ __ret =3D 1; >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __uselocale(__old); >> -+#endif >> -+ return __ret; >> -+ } >> -+ >> -+ int >> -+ codecvt:: >> -+ do_max_length() const throw() >> -+ { >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_codecvt); >> -+#endif >> -+ // XXX Probably wrong for stateful encodings. >> -+ int __ret =3D 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 =3D 0; >> -+ state_type __tmp_state(__state); >> -+ >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_codecvt); >> -+#endif >> -+ >> -+ // mbsnrtowcs is *very* fast but stops if encounters NUL charact= ers: >> -+ // 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 paramete= r). >> -+ wchar_t* __to =3D static_cast(__builtin_alloca(sizeof(= wchar_t) >> -+ * __max)); >> -+ while (__from < __end && __max) >> -+ { >> -+ const extern_type* __from_chunk_end; >> -+ __from_chunk_end =3D static_cast(memchr(__from,= '\0', >> -+ __end >> -+ - __from)); >> -+ if (!__from_chunk_end) >> -+ __from_chunk_end =3D __end; >> -+ >> -+ const extern_type* __tmp_from =3D __from; >> -+ size_t __conv =3D mbsnrtowcs(__to, &__from, >> -+ __from_chunk_end - __from, >> -+ __max, &__state); >> -+ if (__conv =3D=3D 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 =3D __tmp_from;; __from +=3D __conv) >> -+ { >> -+ __conv =3D mbrtowc(NULL, __from, __end - __from, >> -+ &__tmp_state); >> -+ if (__conv =3D=3D static_cast(-1) >> -+ || __conv =3D=3D static_cast(-2)) >> -+ break; >> -+ } >> -+ __state =3D __tmp_state; >> -+ __ret +=3D __from - __tmp_from; >> -+ break; >> -+ } >> -+ if (!__from) >> -+ __from =3D __from_chunk_end; >> -+ >> -+ __ret +=3D __from - __tmp_from; >> -+ __max -=3D __conv; >> -+ >> -+ if (__from < __end && __max) >> -+ { >> -+ // XXX Probably wrong for stateful encodings >> -+ __tmp_state =3D __state; >> -+ ++__from; >> -+ ++__ret; >> -+ --__max; >> -+ } >> -+ } >> -+ >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __uselocale(__old); >> -+#endif >> -+ >> -+ return __ret; >> -+ } >> -+#endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc >> -@@ -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 fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 shou= ld >> -+ // be put there instead of here. >> -+ template<> >> -+ int >> -+ collate::_M_compare(const char* __one, const char* __two) = const >> -+ { >> -+ int __cmp =3D __strcoll_l(__one, __two, _M_c_locale_collate); >> -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp !=3D 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 =3D __wcscoll_l(__one, __two, _M_c_locale_collate); >> -+ return (__cmp >> (8 * sizeof (int) - 2)) | (__cmp !=3D 0); >> -+ } >> -+ >> -+ template<> >> -+ size_t >> -+ collate::_M_transform(wchar_t* __to, const wchar_t* __f= rom, >> -+ size_t __n) const >> -+ { return __wcsxfrm_l(__to, __from, __n, _M_c_locale_collate); } >> -+#endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -@@ -0,0 +1,300 @@ >> -+// std::ctype implementation details, GNU version -*- C++ -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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") !=3D 0 && std::strcmp(__s, "POSIX") = !=3D 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 =3D this->_M_c_locale_ctype->__ctype_toupper; >> -+ this->_M_tolower =3D this->_M_c_locale_ctype->__ctype_tolower; >> -+ this->_M_table =3D 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 =3D __wctype_l("space", _M_c_locale_ctype); >> -+ break; >> -+ case print: >> -+ __ret =3D __wctype_l("print", _M_c_locale_ctype); >> -+ break; >> -+ case cntrl: >> -+ __ret =3D __wctype_l("cntrl", _M_c_locale_ctype); >> -+ break; >> -+ case upper: >> -+ __ret =3D __wctype_l("upper", _M_c_locale_ctype); >> -+ break; >> -+ case lower: >> -+ __ret =3D __wctype_l("lower", _M_c_locale_ctype); >> -+ break; >> -+ case alpha: >> -+ __ret =3D __wctype_l("alpha", _M_c_locale_ctype); >> -+ break; >> -+ case digit: >> -+ __ret =3D __wctype_l("digit", _M_c_locale_ctype); >> -+ break; >> -+ case punct: >> -+ __ret =3D __wctype_l("punct", _M_c_locale_ctype); >> -+ break; >> -+ case xdigit: >> -+ __ret =3D __wctype_l("xdigit", _M_c_locale_ctype); >> -+ break; >> -+ case alnum: >> -+ __ret =3D __wctype_l("alnum", _M_c_locale_ctype); >> -+ break; >> -+ case graph: >> -+ __ret =3D __wctype_l("graph", _M_c_locale_ctype); >> -+ break; >> -+ default: >> -+ __ret =3D __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) con= st >> -+ { >> -+ while (__lo < __hi) >> -+ { >> -+ *__lo =3D __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) con= st >> -+ { >> -+ while (__lo < __hi) >> -+ { >> -+ *__lo =3D __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 =3D=3D 10, but extra in "C" >> -+ // library for blank. >> -+ bool __ret =3D false; >> -+ const size_t __bitmasksize =3D 11; >> -+ for (size_t __bitcur =3D 0; __bitcur <=3D __bitmasksize; ++__bit= cur) >> -+ if (__m & _M_bit[__bitcur] >> -+ && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype)) >> -+ { >> -+ __ret =3D 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 =3D=3D 10, but extra in "C" >> -+ // library for blank. >> -+ const size_t __bitmasksize =3D 11; >> -+ mask __m =3D 0; >> -+ for (size_t __bitcur =3D 0; __bitcur <=3D __bitmasksize; ++__bitcur= ) >> -+ if (__iswctype_l(*__lo, _M_wmask[__bitcur], _M_c_locale_ctype)) >> -+ __m |=3D _M_bit[__bitcur]; >> -+ *__vec =3D __m; >> -+ } >> -+ return __hi; >> -+ } >> -+ >> -+ const wchar_t* >> -+ ctype:: >> -+ do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) con= st >> -+ { >> -+ 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) !=3D 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) cons= t >> -+ { >> -+ while (__lo < __hi) >> -+ { >> -+ *__dest =3D _M_widen[static_cast(*__lo)]; >> -+ ++__lo; >> -+ ++__dest; >> -+ } >> -+ return __hi; >> -+ } >> -+ >> -+ char >> -+ ctype:: >> -+ do_narrow(wchar_t __wc, char __dfault) const >> -+ { >> -+ if (__wc >=3D 0 && __wc < 128 && _M_narrow_ok) >> -+ return _M_narrow[__wc]; >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_ctype); >> -+#endif >> -+ const int __c =3D wctob(__wc); >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __uselocale(__old); >> -+#endif >> -+ return (__c =3D=3D 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 =3D __uselocale(_M_c_locale_ctype); >> -+#endif >> -+ if (_M_narrow_ok) >> -+ while (__lo < __hi) >> -+ { >> -+ if (*__lo >=3D 0 && *__lo < 128) >> -+ *__dest =3D _M_narrow[*__lo]; >> -+ else >> -+ { >> -+ const int __c =3D wctob(*__lo); >> -+ *__dest =3D (__c =3D=3D EOF ? __dfault : static_cast(__= c)); >> -+ } >> -+ ++__lo; >> -+ ++__dest; >> -+ } >> -+ else >> -+ while (__lo < __hi) >> -+ { >> -+ const int __c =3D wctob(*__lo); >> -+ *__dest =3D (__c =3D=3D 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 =3D __uselocale(_M_c_locale_ctype); >> -+#endif >> -+ wint_t __i; >> -+ for (__i =3D 0; __i < 128; ++__i) >> -+ { >> -+ const int __c =3D wctob(__i); >> -+ if (__c =3D=3D EOF) >> -+ break; >> -+ else >> -+ _M_narrow[__i] =3D static_cast(__c); >> -+ } >> -+ if (__i =3D=3D 128) >> -+ _M_narrow_ok =3D true; >> -+ else >> -+ _M_narrow_ok =3D false; >> -+ for (size_t __j =3D 0; >> -+ __j < sizeof(_M_widen) / sizeof(wint_t); ++__j) >> -+ _M_widen[__j] =3D btowc(__j); >> -+ >> -+ for (size_t __k =3D 0; __k <=3D 11; ++__k) >> -+ { >> -+ _M_bit[__k] =3D static_cast(_ISbit(__k)); >> -+ _M_wmask[__k] =3D _M_convert_to_wmask(_M_bit[__k]); >> -+ } >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __uselocale(__old); >> -+#endif >> -+ } >> -+#endif // _GLIBCXX_USE_WCHAR_T >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.cc >> -@@ -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 fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D __uselocale(_M_c_locale_messages); >> -+ const char* __msg =3D const_cast(gettext(__dfault= =2Ec_str())); >> -+ __uselocale(__old); >> -+ return string(__msg); >> -+#elif defined __UCLIBC_HAS_LOCALE__ >> -+ char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ setlocale(LC_ALL, _M_name_messages); >> -+ const char* __msg =3D gettext(__dfault.c_str()); >> -+ setlocale(LC_ALL, __old); >> -+ free(__old); >> -+ return string(__msg); >> -+#else >> -+ const char* __msg =3D gettext(__dfault.c_str()); >> -+ return string(__msg); >> -+#endif >> -+ } >> -+ >> -+#ifdef _GLIBCXX_USE_WCHAR_T >> -+ template<> >> -+ wstring >> -+ messages::do_get(catalog, int, int, const wstring& __df= ault) const >> -+ { >> -+# ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(_M_c_locale_messages); >> -+ char* __msg =3D gettext(_M_convert_to_char(__dfault)); >> -+ __uselocale(__old); >> -+ return _M_convert_from_char(__msg); >> -+# elif defined __UCLIBC_HAS_LOCALE__ >> -+ char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ setlocale(LC_ALL, _M_name_messages); >> -+ char* __msg =3D gettext(_M_convert_to_char(__dfault)); >> -+ setlocale(LC_ALL, __old); >> -+ free(__old); >> -+ return _M_convert_from_char(__msg); >> -+# else >> -+ char* __msg =3D gettext(_M_convert_to_char(__dfault)); >> -+ return _M_convert_from_char(__msg); >> -+# endif >> -+ } >> -+#endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h >> -@@ -0,0 +1,118 @@ >> -+// std::messages implementation details, GNU version -*- C++ -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D new char[std::strlen(__s) + 1]; >> -+ std::strcpy(__tmp, __s); >> -+ _M_name_messages =3D __tmp; >> -+ } >> -+ >> -+ template >> -+ typename messages<_CharT>::catalog >> -+ messages<_CharT>::open(const basic_string& __s, const loca= le& __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 !=3D _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 ca= n >> -+ // 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 !=3D locale::facet::_S_get_c_name(= )) >> -+ delete [] this->_M_name_messages; >> -+ char* __tmp =3D new char[std::strlen(__s) + 1]; >> -+ std::strcpy(__tmp, __s); >> -+ this->_M_name_messages =3D __tmp; >> -+ >> -+ if (std::strcmp(__s, "C") !=3D 0 && std::strcmp(__s, "POSIX")= !=3D 0) >> -+ { >> -+ this->_S_destroy_c_locale(this->_M_c_locale_messages); >> -+ this->_S_create_c_locale(this->_M_c_locale_messages, __s); >> -+ } >> -+ } >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc >> -@@ -0,0 +1,692 @@ >> -+// std::moneypunct implementation details, GNU version -*- C++ -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 combinati= on of: >> -+ // space none symbol sign value >> -+ money_base::pattern >> -+ money_base::_S_construct_pattern(char __precedes, char __space, ch= ar __posn) >> -+ { >> -+ pattern __ret; >> -+ >> -+ // This insanely complicated routine attempts to construct a val= id >> -+ // pattern for use with monyepunct. A couple of invariants: >> -+ >> -+ // if (__precedes) symbol -> value >> -+ // else value -> symbol >> -+ >> -+ // if (__space) space >> -+ // else none >> -+ >> -+ // none =3D=3D 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] =3D sign; >> -+ if (__space) >> -+ { >> -+ // Pattern starts with sign. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[1] =3D symbol; >> -+ __ret.field[3] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[1] =3D value; >> -+ __ret.field[3] =3D symbol; >> -+ } >> -+ __ret.field[2] =3D space; >> -+ } >> -+ else >> -+ { >> -+ // Pattern starts with sign and ends with none. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[1] =3D symbol; >> -+ __ret.field[2] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[1] =3D value; >> -+ __ret.field[2] =3D symbol; >> -+ } >> -+ __ret.field[3] =3D none; >> -+ } >> -+ break; >> -+ case 2: >> -+ // 2 The sign follows the value and symbol. >> -+ if (__space) >> -+ { >> -+ // Pattern either ends with sign. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[0] =3D symbol; >> -+ __ret.field[2] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[0] =3D value; >> -+ __ret.field[2] =3D symbol; >> -+ } >> -+ __ret.field[1] =3D space; >> -+ __ret.field[3] =3D sign; >> -+ } >> -+ else >> -+ { >> -+ // Pattern ends with sign then none. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[0] =3D symbol; >> -+ __ret.field[1] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[0] =3D value; >> -+ __ret.field[1] =3D symbol; >> -+ } >> -+ __ret.field[2] =3D sign; >> -+ __ret.field[3] =3D none; >> -+ } >> -+ break; >> -+ case 3: >> -+ // 3 The sign immediately precedes the symbol. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[0] =3D sign; >> -+ __ret.field[1] =3D symbol; >> -+ if (__space) >> -+ { >> -+ __ret.field[2] =3D space; >> -+ __ret.field[3] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[2] =3D value; >> -+ __ret.field[3] =3D none; >> -+ } >> -+ } >> -+ else >> -+ { >> -+ __ret.field[0] =3D value; >> -+ if (__space) >> -+ { >> -+ __ret.field[1] =3D space; >> -+ __ret.field[2] =3D sign; >> -+ __ret.field[3] =3D symbol; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[1] =3D sign; >> -+ __ret.field[2] =3D symbol; >> -+ __ret.field[3] =3D none; >> -+ } >> -+ } >> -+ break; >> -+ case 4: >> -+ // 4 The sign immediately follows the symbol. >> -+ if (__precedes) >> -+ { >> -+ __ret.field[0] =3D symbol; >> -+ __ret.field[1] =3D sign; >> -+ if (__space) >> -+ { >> -+ __ret.field[2] =3D space; >> -+ __ret.field[3] =3D value; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[2] =3D value; >> -+ __ret.field[3] =3D none; >> -+ } >> -+ } >> -+ else >> -+ { >> -+ __ret.field[0] =3D value; >> -+ if (__space) >> -+ { >> -+ __ret.field[1] =3D space; >> -+ __ret.field[2] =3D symbol; >> -+ __ret.field[3] =3D sign; >> -+ } >> -+ else >> -+ { >> -+ __ret.field[1] =3D symbol; >> -+ __ret.field[2] =3D sign; >> -+ __ret.field[3] =3D none; >> -+ } >> -+ } >> -+ break; >> -+ default: >> -+ ; >> -+ } >> -+ return __ret; >> -+ } >> -+ >> -+ template<> >> -+ void >> -+ moneypunct::_M_initialize_moneypunct(__c_locale __cl= oc, >> -+ const char*) >> -+ { >> -+ if (!_M_data) >> -+ _M_data =3D new __moneypunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_decimal_point =3D '.'; >> -+ _M_data->_M_thousands_sep =3D ','; >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_curr_symbol =3D ""; >> -+ _M_data->_M_curr_symbol_size =3D 0; >> -+ _M_data->_M_positive_sign =3D ""; >> -+ _M_data->_M_positive_sign_size =3D 0; >> -+ _M_data->_M_negative_sign =3D ""; >> -+ _M_data->_M_negative_sign_size =3D 0; >> -+ _M_data->_M_frac_digits =3D 0; >> -+ _M_data->_M_pos_format =3D money_base::_S_default_pattern; >> -+ _M_data->_M_neg_format =3D money_base::_S_default_pattern; >> -+ >> -+ for (size_t __i =3D 0; __i < money_base::_S_end; ++__i) >> -+ _M_data->_M_atoms[__i] =3D money_base::_S_atoms[__i]; >> -+ } >> -+ else >> -+ { >> -+ // Named locale. >> -+ _M_data->_M_decimal_point =3D *(__nl_langinfo_l(__MON_DECIMAL_POI= NT, >> -+ __cloc)); >> -+ _M_data->_M_thousands_sep =3D *(__nl_langinfo_l(__MON_THOUSANDS_S= EP, >> -+ __cloc)); >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(__MON_GROUPING, __cloc);= >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping); >> -+ _M_data->_M_positive_sign =3D __nl_langinfo_l(__POSITIVE_SIGN, __= cloc); >> -+ _M_data->_M_positive_sign_size =3D strlen(_M_data->_M_positive_si= gn); >> -+ >> -+ char __nposn =3D *(__nl_langinfo_l(__INT_N_SIGN_POSN, __cloc)); >> -+ if (!__nposn) >> -+ _M_data->_M_negative_sign =3D "()"; >> -+ else >> -+ _M_data->_M_negative_sign =3D __nl_langinfo_l(__NEGATIVE_SIGN, >> -+ __cloc); >> -+ _M_data->_M_negative_sign_size =3D strlen(_M_data->_M_negative_si= gn); >> -+ >> -+ // _Intl =3D=3D true >> -+ _M_data->_M_curr_symbol =3D __nl_langinfo_l(__INT_CURR_SYMBOL, __= cloc); >> -+ _M_data->_M_curr_symbol_size =3D strlen(_M_data->_M_curr_symbol);= >> -+ _M_data->_M_frac_digits =3D *(__nl_langinfo_l(__INT_FRAC_DIGITS, >> -+ __cloc)); >> -+ char __pprecedes =3D *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __clo= c)); >> -+ char __pspace =3D *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc)= ); >> -+ char __pposn =3D *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc)); >> -+ _M_data->_M_pos_format =3D _S_construct_pattern(__pprecedes, __ps= pace, >> -+ __pposn); >> -+ char __nprecedes =3D *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __clo= c)); >> -+ char __nspace =3D *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc)= ); >> -+ _M_data->_M_neg_format =3D _S_construct_pattern(__nprecedes, __ns= pace, >> -+ __nposn); >> -+ } >> -+ } >> -+ >> -+ template<> >> -+ void >> -+ moneypunct::_M_initialize_moneypunct(__c_locale __c= loc, >> -+ const char*) >> -+ { >> -+ if (!_M_data) >> -+ _M_data =3D new __moneypunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_decimal_point =3D '.'; >> -+ _M_data->_M_thousands_sep =3D ','; >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_curr_symbol =3D ""; >> -+ _M_data->_M_curr_symbol_size =3D 0; >> -+ _M_data->_M_positive_sign =3D ""; >> -+ _M_data->_M_positive_sign_size =3D 0; >> -+ _M_data->_M_negative_sign =3D ""; >> -+ _M_data->_M_negative_sign_size =3D 0; >> -+ _M_data->_M_frac_digits =3D 0; >> -+ _M_data->_M_pos_format =3D money_base::_S_default_pattern; >> -+ _M_data->_M_neg_format =3D money_base::_S_default_pattern; >> -+ >> -+ for (size_t __i =3D 0; __i < money_base::_S_end; ++__i) >> -+ _M_data->_M_atoms[__i] =3D money_base::_S_atoms[__i]; >> -+ } >> -+ else >> -+ { >> -+ // Named locale. >> -+ _M_data->_M_decimal_point =3D *(__nl_langinfo_l(__MON_DECIMAL_POI= NT, >> -+ __cloc)); >> -+ _M_data->_M_thousands_sep =3D *(__nl_langinfo_l(__MON_THOUSANDS_S= EP, >> -+ __cloc)); >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(__MON_GROUPING, __cloc);= >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping); >> -+ _M_data->_M_positive_sign =3D __nl_langinfo_l(__POSITIVE_SIGN, __= cloc); >> -+ _M_data->_M_positive_sign_size =3D strlen(_M_data->_M_positive_si= gn); >> -+ >> -+ char __nposn =3D *(__nl_langinfo_l(__N_SIGN_POSN, __cloc)); >> -+ if (!__nposn) >> -+ _M_data->_M_negative_sign =3D "()"; >> -+ else >> -+ _M_data->_M_negative_sign =3D __nl_langinfo_l(__NEGATIVE_SIGN, >> -+ __cloc); >> -+ _M_data->_M_negative_sign_size =3D strlen(_M_data->_M_negative_si= gn); >> -+ >> -+ // _Intl =3D=3D false >> -+ _M_data->_M_curr_symbol =3D __nl_langinfo_l(__CURRENCY_SYMBOL, __= cloc); >> -+ _M_data->_M_curr_symbol_size =3D strlen(_M_data->_M_curr_symbol);= >> -+ _M_data->_M_frac_digits =3D *(__nl_langinfo_l(__FRAC_DIGITS, __cl= oc)); >> -+ char __pprecedes =3D *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));= >> -+ char __pspace =3D *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc)); >> -+ char __pposn =3D *(__nl_langinfo_l(__P_SIGN_POSN, __cloc)); >> -+ _M_data->_M_pos_format =3D _S_construct_pattern(__pprecedes, __ps= pace, >> -+ __pposn); >> -+ char __nprecedes =3D *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));= >> -+ char __nspace =3D *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc)); >> -+ _M_data->_M_neg_format =3D _S_construct_pattern(__nprecedes, __ns= pace, >> -+ __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 =3D new __moneypunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_decimal_point =3D L'.'; >> -+ _M_data->_M_thousands_sep =3D L','; >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_curr_symbol =3D L""; >> -+ _M_data->_M_curr_symbol_size =3D 0; >> -+ _M_data->_M_positive_sign =3D L""; >> -+ _M_data->_M_positive_sign_size =3D 0; >> -+ _M_data->_M_negative_sign =3D L""; >> -+ _M_data->_M_negative_sign_size =3D 0; >> -+ _M_data->_M_frac_digits =3D 0; >> -+ _M_data->_M_pos_format =3D money_base::_S_default_pattern; >> -+ _M_data->_M_neg_format =3D money_base::_S_default_pattern; >> -+ >> -+ // Use ctype::widen code without the facet... >> -+ for (size_t __i =3D 0; __i < money_base::_S_end; ++__i) >> -+ _M_data->_M_atoms[__i] =3D >> -+ static_cast(money_base::_S_atoms[__i]); >> -+ } >> -+ else >> -+ { >> -+ // Named locale. >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(__cloc); >> -+#else >> -+ // Switch to named locale so that mbsrtowcs will work. >> -+ char* __old =3D 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 =3D __cloc->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __cloc->thousands_sep_wc; >> -+# else >> -+ _M_data->_M_decimal_point =3D __global_locale->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __global_locale->thousands_sep_wc; >> -+# endif >> -+#else >> -+ union { char *__s; wchar_t __w; } __u; >> -+ __u.__s =3D __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc= ); >> -+ _M_data->_M_decimal_point =3D __u.__w; >> -+ >> -+ __u.__s =3D __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc= ); >> -+ _M_data->_M_thousands_sep =3D __u.__w; >> -+#endif >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(__MON_GROUPING, __cloc);= >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping); >> -+ >> -+ const char* __cpossign =3D __nl_langinfo_l(__POSITIVE_SIGN, __clo= c); >> -+ const char* __cnegsign =3D __nl_langinfo_l(__NEGATIVE_SIGN, __clo= c); >> -+ const char* __ccurr =3D __nl_langinfo_l(__INT_CURR_SYMBOL, __cloc= ); >> -+ >> -+ wchar_t* __wcs_ps =3D 0; >> -+ wchar_t* __wcs_ns =3D 0; >> -+ const char __nposn =3D *(__nl_langinfo_l(__INT_N_SIGN_POSN, __clo= c)); >> -+ try >> -+ { >> -+ mbstate_t __state; >> -+ size_t __len =3D strlen(__cpossign); >> -+ if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ __wcs_ps =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state); >> -+ _M_data->_M_positive_sign =3D __wcs_ps; >> -+ } >> -+ else >> -+ _M_data->_M_positive_sign =3D L""; >> -+ _M_data->_M_positive_sign_size =3D wcslen(_M_data->_M_positiv= e_sign); >> -+ >> -+ __len =3D strlen(__cnegsign); >> -+ if (!__nposn) >> -+ _M_data->_M_negative_sign =3D L"()"; >> -+ else if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ __wcs_ns =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state); >> -+ _M_data->_M_negative_sign =3D __wcs_ns; >> -+ } >> -+ else >> -+ _M_data->_M_negative_sign =3D L""; >> -+ _M_data->_M_negative_sign_size =3D wcslen(_M_data->_M_negativ= e_sign); >> -+ >> -+ // _Intl =3D=3D true. >> -+ __len =3D strlen(__ccurr); >> -+ if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ wchar_t* __wcs =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state); >> -+ _M_data->_M_curr_symbol =3D __wcs; >> -+ } >> -+ else >> -+ _M_data->_M_curr_symbol =3D L""; >> -+ _M_data->_M_curr_symbol_size =3D wcslen(_M_data->_M_curr_symb= ol); >> -+ } >> -+ catch (...) >> -+ { >> -+ delete _M_data; >> -+ _M_data =3D 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 =3D *(__nl_langinfo_l(__INT_FRAC_DIGITS, >> -+ __cloc)); >> -+ char __pprecedes =3D *(__nl_langinfo_l(__INT_P_CS_PRECEDES, __clo= c)); >> -+ char __pspace =3D *(__nl_langinfo_l(__INT_P_SEP_BY_SPACE, __cloc)= ); >> -+ char __pposn =3D *(__nl_langinfo_l(__INT_P_SIGN_POSN, __cloc)); >> -+ _M_data->_M_pos_format =3D _S_construct_pattern(__pprecedes, __ps= pace, >> -+ __pposn); >> -+ char __nprecedes =3D *(__nl_langinfo_l(__INT_N_CS_PRECEDES, __clo= c)); >> -+ char __nspace =3D *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc)= ); >> -+ _M_data->_M_neg_format =3D _S_construct_pattern(__nprecedes, __ns= pace, >> -+ __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 =3D new __moneypunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_decimal_point =3D L'.'; >> -+ _M_data->_M_thousands_sep =3D L','; >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_curr_symbol =3D L""; >> -+ _M_data->_M_curr_symbol_size =3D 0; >> -+ _M_data->_M_positive_sign =3D L""; >> -+ _M_data->_M_positive_sign_size =3D 0; >> -+ _M_data->_M_negative_sign =3D L""; >> -+ _M_data->_M_negative_sign_size =3D 0; >> -+ _M_data->_M_frac_digits =3D 0; >> -+ _M_data->_M_pos_format =3D money_base::_S_default_pattern; >> -+ _M_data->_M_neg_format =3D money_base::_S_default_pattern; >> -+ >> -+ // Use ctype::widen code without the facet... >> -+ for (size_t __i =3D 0; __i < money_base::_S_end; ++__i) >> -+ _M_data->_M_atoms[__i] =3D >> -+ static_cast(money_base::_S_atoms[__i]); >> -+ } >> -+ else >> -+ { >> -+ // Named locale. >> -+#ifdef __UCLIBC_HAS_XLOCALE__ >> -+ __c_locale __old =3D __uselocale(__cloc); >> -+#else >> -+ // Switch to named locale so that mbsrtowcs will work. >> -+ char* __old =3D 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 =3D __cloc->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __cloc->thousands_sep_wc; >> -+# else >> -+ _M_data->_M_decimal_point =3D __global_locale->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __global_locale->thousands_sep_wc; >> -+# endif >> -+#else >> -+ union { char *__s; wchar_t __w; } __u; >> -+ __u.__s =3D __nl_langinfo_l(_NL_MONETARY_DECIMAL_POINT_WC, __cloc= ); >> -+ _M_data->_M_decimal_point =3D __u.__w; >> -+ >> -+ __u.__s =3D __nl_langinfo_l(_NL_MONETARY_THOUSANDS_SEP_WC, __cloc= ); >> -+ _M_data->_M_thousands_sep =3D __u.__w; >> -+#endif >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(__MON_GROUPING, __cloc);= >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping)= ; >> -+ >> -+ const char* __cpossign =3D __nl_langinfo_l(__POSITIVE_SIGN, __clo= c); >> -+ const char* __cnegsign =3D __nl_langinfo_l(__NEGATIVE_SIGN, __clo= c); >> -+ const char* __ccurr =3D __nl_langinfo_l(__CURRENCY_SYMBOL, __cloc= ); >> -+ >> -+ wchar_t* __wcs_ps =3D 0; >> -+ wchar_t* __wcs_ns =3D 0; >> -+ const char __nposn =3D *(__nl_langinfo_l(__N_SIGN_POSN, __cloc));= >> -+ try >> -+ { >> -+ mbstate_t __state; >> -+ size_t __len; >> -+ __len =3D strlen(__cpossign); >> -+ if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ __wcs_ps =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs_ps, &__cpossign, __len, &__state); >> -+ _M_data->_M_positive_sign =3D __wcs_ps; >> -+ } >> -+ else >> -+ _M_data->_M_positive_sign =3D L""; >> -+ _M_data->_M_positive_sign_size =3D wcslen(_M_data->_M_= positive_sign); >> -+ >> -+ __len =3D strlen(__cnegsign); >> -+ if (!__nposn) >> -+ _M_data->_M_negative_sign =3D L"()"; >> -+ else if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ __wcs_ns =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs_ns, &__cnegsign, __len, &__state); >> -+ _M_data->_M_negative_sign =3D __wcs_ns; >> -+ } >> -+ else >> -+ _M_data->_M_negative_sign =3D L""; >> -+ _M_data->_M_negative_sign_size =3D wcslen(_M_data->_M_= negative_sign); >> -+ >> -+ // _Intl =3D=3D true. >> -+ __len =3D strlen(__ccurr); >> -+ if (__len) >> -+ { >> -+ ++__len; >> -+ memset(&__state, 0, sizeof(mbstate_t)); >> -+ wchar_t* __wcs =3D new wchar_t[__len]; >> -+ mbsrtowcs(__wcs, &__ccurr, __len, &__state); >> -+ _M_data->_M_curr_symbol =3D __wcs; >> -+ } >> -+ else >> -+ _M_data->_M_curr_symbol =3D L""; >> -+ _M_data->_M_curr_symbol_size =3D wcslen(_M_data->_M_cu= rr_symbol); >> -+ } >> -+ catch (...) >> -+ { >> -+ delete _M_data; >> -+ _M_data =3D 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 =3D *(__nl_langinfo_l(__FRAC_DIGITS, __cl= oc)); >> -+ char __pprecedes =3D *(__nl_langinfo_l(__P_CS_PRECEDES, __cloc));= >> -+ char __pspace =3D *(__nl_langinfo_l(__P_SEP_BY_SPACE, __cloc)); >> -+ char __pposn =3D *(__nl_langinfo_l(__P_SIGN_POSN, __cloc)); >> -+ _M_data->_M_pos_format =3D _S_construct_pattern(__pprecedes, __ps= pace, >> -+ __pposn); >> -+ char __nprecedes =3D *(__nl_langinfo_l(__N_CS_PRECEDES, __cloc));= >> -+ char __nspace =3D *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc)); >> -+ _M_data->_M_neg_format =3D _S_construct_pattern(__nprecedes, __ns= pace, >> -+ __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"()") !=3D 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"()") !=3D 0) >> -+ delete [] _M_data->_M_negative_sign; >> -+ if (_M_data->_M_curr_symbol_size) >> -+ delete [] _M_data->_M_curr_symbol; >> -+ delete _M_data; >> -+ } >> -+#endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc >> -@@ -0,0 +1,160 @@ >> -+// std::numpunct implementation details, GNU version -*- C++ -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D new __numpunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_use_grouping =3D false; >> -+ >> -+ _M_data->_M_decimal_point =3D '.'; >> -+ _M_data->_M_thousands_sep =3D ','; >> -+ >> -+ for (size_t __i =3D 0; __i < __num_base::_S_oend; ++__i) >> -+ _M_data->_M_atoms_out[__i] =3D __num_base::_S_atoms_out[__i]; >> -+ >> -+ for (size_t __j =3D 0; __j < __num_base::_S_iend; ++__j) >> -+ _M_data->_M_atoms_in[__j] =3D __num_base::_S_atoms_in[__j]; >> -+ } >> -+ else >> -+ { >> -+ // Named locale. >> -+ _M_data->_M_decimal_point =3D *(__nl_langinfo_l(DECIMAL_POINT, >> -+ __cloc)); >> -+ _M_data->_M_thousands_sep =3D *(__nl_langinfo_l(THOUSANDS_SEP, >> -+ __cloc)); >> -+ >> -+ // Check for NULL, which implies no grouping. >> -+ if (_M_data->_M_thousands_sep =3D=3D '\0') >> -+ _M_data->_M_grouping =3D ""; >> -+ else >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(GROUPING, __cloc); >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping); >> -+ } >> -+ >> -+ // NB: There is no way to extact this info from posix locales.= >> -+ // _M_truename =3D __nl_langinfo_l(YESSTR, __cloc); >> -+ _M_data->_M_truename =3D "true"; >> -+ _M_data->_M_truename_size =3D 4; >> -+ // _M_falsename =3D __nl_langinfo_l(NOSTR, __cloc); >> -+ _M_data->_M_falsename =3D "false"; >> -+ _M_data->_M_falsename_size =3D 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 =3D new __numpunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_data->_M_grouping =3D ""; >> -+ _M_data->_M_grouping_size =3D 0; >> -+ _M_data->_M_use_grouping =3D false; >> -+ >> -+ _M_data->_M_decimal_point =3D L'.'; >> -+ _M_data->_M_thousands_sep =3D L','; >> -+ >> -+ // Use ctype::widen code without the facet... >> -+ for (size_t __i =3D 0; __i < __num_base::_S_oend; ++__i) >> -+ _M_data->_M_atoms_out[__i] =3D >> -+ static_cast(__num_base::_S_atoms_out[__i]); >> -+ >> -+ for (size_t __j =3D 0; __j < __num_base::_S_iend; ++__j) >> -+ _M_data->_M_atoms_in[__j] =3D >> -+ 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 =3D __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)= ; >> -+ _M_data->_M_decimal_point =3D __u.__w; >> -+ >> -+ __u.__s =3D __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)= ; >> -+ _M_data->_M_thousands_sep =3D __u.__w; >> -+ >> -+ if (_M_data->_M_thousands_sep =3D=3D L'\0') >> -+ _M_data->_M_grouping =3D ""; >> -+ else >> -+ _M_data->_M_grouping =3D __nl_langinfo_l(GROUPING, __cloc); >> -+ _M_data->_M_grouping_size =3D strlen(_M_data->_M_grouping); >> -+ } >> -+ >> -+ // NB: There is no way to extact this info from posix locales.= >> -+ // _M_truename =3D __nl_langinfo_l(YESSTR, __cloc); >> -+ _M_data->_M_truename =3D L"true"; >> -+ _M_data->_M_truename_size =3D 4; >> -+ // _M_falsename =3D __nl_langinfo_l(NOSTR, __cloc); >> -+ _M_data->_M_falsename =3D L"false"; >> -+ _M_data->_M_falsename_size =3D 5; >> -+ } >> -+ >> -+ template<> >> -+ numpunct::~numpunct() >> -+ { delete _M_data; } >> -+ #endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -@@ -0,0 +1,406 @@ >> -+// std::time_get, std::time_put implementation, GNU version -*- C++ = -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D __strftime_l(__s, __maxlen, __format, _= _tm, >> -+ _M_c_locale_timepunct); >> -+#else >> -+ char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ setlocale(LC_ALL, _M_name_timepunct); >> -+ const size_t __len =3D strftime(__s, __maxlen, __format, __tm)= ; >> -+ setlocale(LC_ALL, __old); >> -+ free(__old); >> -+#endif >> -+ // Make sure __s is null terminated. >> -+ if (__len =3D=3D 0) >> -+ __s[0] =3D '\0'; >> -+ } >> -+ >> -+ template<> >> -+ void >> -+ __timepunct::_M_initialize_timepunct(__c_locale __cloc) >> -+ { >> -+ if (!_M_data) >> -+ _M_data =3D new __timepunct_cache; >> -+ >> -+ if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_c_locale_timepunct =3D _S_get_c_locale(); >> -+ >> -+ _M_data->_M_date_format =3D "%m/%d/%y"; >> -+ _M_data->_M_date_era_format =3D "%m/%d/%y"; >> -+ _M_data->_M_time_format =3D "%H:%M:%S"; >> -+ _M_data->_M_time_era_format =3D "%H:%M:%S"; >> -+ _M_data->_M_date_time_format =3D ""; >> -+ _M_data->_M_date_time_era_format =3D ""; >> -+ _M_data->_M_am =3D "AM"; >> -+ _M_data->_M_pm =3D "PM"; >> -+ _M_data->_M_am_pm_format =3D ""; >> -+ >> -+ // Day names, starting with "C"'s Sunday. >> -+ _M_data->_M_day1 =3D "Sunday"; >> -+ _M_data->_M_day2 =3D "Monday"; >> -+ _M_data->_M_day3 =3D "Tuesday"; >> -+ _M_data->_M_day4 =3D "Wednesday"; >> -+ _M_data->_M_day5 =3D "Thursday"; >> -+ _M_data->_M_day6 =3D "Friday"; >> -+ _M_data->_M_day7 =3D "Saturday"; >> -+ >> -+ // Abbreviated day names, starting with "C"'s Sun. >> -+ _M_data->_M_aday1 =3D "Sun"; >> -+ _M_data->_M_aday2 =3D "Mon"; >> -+ _M_data->_M_aday3 =3D "Tue"; >> -+ _M_data->_M_aday4 =3D "Wed"; >> -+ _M_data->_M_aday5 =3D "Thu"; >> -+ _M_data->_M_aday6 =3D "Fri"; >> -+ _M_data->_M_aday7 =3D "Sat"; >> -+ >> -+ // Month names, starting with "C"'s January. >> -+ _M_data->_M_month01 =3D "January"; >> -+ _M_data->_M_month02 =3D "February"; >> -+ _M_data->_M_month03 =3D "March"; >> -+ _M_data->_M_month04 =3D "April"; >> -+ _M_data->_M_month05 =3D "May"; >> -+ _M_data->_M_month06 =3D "June"; >> -+ _M_data->_M_month07 =3D "July"; >> -+ _M_data->_M_month08 =3D "August"; >> -+ _M_data->_M_month09 =3D "September"; >> -+ _M_data->_M_month10 =3D "October"; >> -+ _M_data->_M_month11 =3D "November"; >> -+ _M_data->_M_month12 =3D "December"; >> -+ >> -+ // Abbreviated month names, starting with "C"'s Jan. >> -+ _M_data->_M_amonth01 =3D "Jan"; >> -+ _M_data->_M_amonth02 =3D "Feb"; >> -+ _M_data->_M_amonth03 =3D "Mar"; >> -+ _M_data->_M_amonth04 =3D "Apr"; >> -+ _M_data->_M_amonth05 =3D "May"; >> -+ _M_data->_M_amonth06 =3D "Jun"; >> -+ _M_data->_M_amonth07 =3D "Jul"; >> -+ _M_data->_M_amonth08 =3D "Aug"; >> -+ _M_data->_M_amonth09 =3D "Sep"; >> -+ _M_data->_M_amonth10 =3D "Oct"; >> -+ _M_data->_M_amonth11 =3D "Nov"; >> -+ _M_data->_M_amonth12 =3D "Dec"; >> -+ } >> -+ else >> -+ { >> -+ _M_c_locale_timepunct =3D _S_clone_c_locale(__cloc); >> -+ >> -+ _M_data->_M_date_format =3D __nl_langinfo_l(D_FMT, __cloc); >> -+ _M_data->_M_date_era_format =3D __nl_langinfo_l(ERA_D_FMT, __cloc= ); >> -+ _M_data->_M_time_format =3D __nl_langinfo_l(T_FMT, __cloc); >> -+ _M_data->_M_time_era_format =3D __nl_langinfo_l(ERA_T_FMT, __cloc= ); >> -+ _M_data->_M_date_time_format =3D __nl_langinfo_l(D_T_FMT, __cloc)= ; >> -+ _M_data->_M_date_time_era_format =3D __nl_langinfo_l(ERA_D_T_FMT,= >> -+ __cloc); >> -+ _M_data->_M_am =3D __nl_langinfo_l(AM_STR, __cloc); >> -+ _M_data->_M_pm =3D __nl_langinfo_l(PM_STR, __cloc); >> -+ _M_data->_M_am_pm_format =3D __nl_langinfo_l(T_FMT_AMPM, __cloc);= >> -+ >> -+ // Day names, starting with "C"'s Sunday. >> -+ _M_data->_M_day1 =3D __nl_langinfo_l(DAY_1, __cloc); >> -+ _M_data->_M_day2 =3D __nl_langinfo_l(DAY_2, __cloc); >> -+ _M_data->_M_day3 =3D __nl_langinfo_l(DAY_3, __cloc); >> -+ _M_data->_M_day4 =3D __nl_langinfo_l(DAY_4, __cloc); >> -+ _M_data->_M_day5 =3D __nl_langinfo_l(DAY_5, __cloc); >> -+ _M_data->_M_day6 =3D __nl_langinfo_l(DAY_6, __cloc); >> -+ _M_data->_M_day7 =3D __nl_langinfo_l(DAY_7, __cloc); >> -+ >> -+ // Abbreviated day names, starting with "C"'s Sun. >> -+ _M_data->_M_aday1 =3D __nl_langinfo_l(ABDAY_1, __cloc); >> -+ _M_data->_M_aday2 =3D __nl_langinfo_l(ABDAY_2, __cloc); >> -+ _M_data->_M_aday3 =3D __nl_langinfo_l(ABDAY_3, __cloc); >> -+ _M_data->_M_aday4 =3D __nl_langinfo_l(ABDAY_4, __cloc); >> -+ _M_data->_M_aday5 =3D __nl_langinfo_l(ABDAY_5, __cloc); >> -+ _M_data->_M_aday6 =3D __nl_langinfo_l(ABDAY_6, __cloc); >> -+ _M_data->_M_aday7 =3D __nl_langinfo_l(ABDAY_7, __cloc); >> -+ >> -+ // Month names, starting with "C"'s January. >> -+ _M_data->_M_month01 =3D __nl_langinfo_l(MON_1, __cloc); >> -+ _M_data->_M_month02 =3D __nl_langinfo_l(MON_2, __cloc); >> -+ _M_data->_M_month03 =3D __nl_langinfo_l(MON_3, __cloc); >> -+ _M_data->_M_month04 =3D __nl_langinfo_l(MON_4, __cloc); >> -+ _M_data->_M_month05 =3D __nl_langinfo_l(MON_5, __cloc); >> -+ _M_data->_M_month06 =3D __nl_langinfo_l(MON_6, __cloc); >> -+ _M_data->_M_month07 =3D __nl_langinfo_l(MON_7, __cloc); >> -+ _M_data->_M_month08 =3D __nl_langinfo_l(MON_8, __cloc); >> -+ _M_data->_M_month09 =3D __nl_langinfo_l(MON_9, __cloc); >> -+ _M_data->_M_month10 =3D __nl_langinfo_l(MON_10, __cloc); >> -+ _M_data->_M_month11 =3D __nl_langinfo_l(MON_11, __cloc); >> -+ _M_data->_M_month12 =3D __nl_langinfo_l(MON_12, __cloc); >> -+ >> -+ // Abbreviated month names, starting with "C"'s Jan. >> -+ _M_data->_M_amonth01 =3D __nl_langinfo_l(ABMON_1, __cloc); >> -+ _M_data->_M_amonth02 =3D __nl_langinfo_l(ABMON_2, __cloc); >> -+ _M_data->_M_amonth03 =3D __nl_langinfo_l(ABMON_3, __cloc); >> -+ _M_data->_M_amonth04 =3D __nl_langinfo_l(ABMON_4, __cloc); >> -+ _M_data->_M_amonth05 =3D __nl_langinfo_l(ABMON_5, __cloc); >> -+ _M_data->_M_amonth06 =3D __nl_langinfo_l(ABMON_6, __cloc); >> -+ _M_data->_M_amonth07 =3D __nl_langinfo_l(ABMON_7, __cloc); >> -+ _M_data->_M_amonth08 =3D __nl_langinfo_l(ABMON_8, __cloc); >> -+ _M_data->_M_amonth09 =3D __nl_langinfo_l(ABMON_9, __cloc); >> -+ _M_data->_M_amonth10 =3D __nl_langinfo_l(ABMON_10, __cloc); >> -+ _M_data->_M_amonth11 =3D __nl_langinfo_l(ABMON_11, __cloc); >> -+ _M_data->_M_amonth12 =3D __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_timepu= nct); >> -+ const size_t __len =3D __wcsftime_l(__s, __maxlen, __format, _= _tm, >> -+ _M_c_locale_timepunct); >> -+#else >> -+ char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ setlocale(LC_ALL, _M_name_timepunct); >> -+ const size_t __len =3D wcsftime(__s, __maxlen, __format, __tm)= ; >> -+ setlocale(LC_ALL, __old); >> -+ free(__old); >> -+#endif >> -+ // Make sure __s is null terminated. >> -+ if (__len =3D=3D 0) >> -+ __s[0] =3D L'\0'; >> -+ } >> -+ >> -+ template<> >> -+ void >> -+ __timepunct::_M_initialize_timepunct(__c_locale __cloc)= >> -+ { >> -+ if (!_M_data) >> -+ _M_data =3D new __timepunct_cache; >> -+ >> -+#warning wide time stuff >> -+// if (!__cloc) >> -+ { >> -+ // "C" locale >> -+ _M_c_locale_timepunct =3D _S_get_c_locale(); >> -+ >> -+ _M_data->_M_date_format =3D L"%m/%d/%y"; >> -+ _M_data->_M_date_era_format =3D L"%m/%d/%y"; >> -+ _M_data->_M_time_format =3D L"%H:%M:%S"; >> -+ _M_data->_M_time_era_format =3D L"%H:%M:%S"; >> -+ _M_data->_M_date_time_format =3D L""; >> -+ _M_data->_M_date_time_era_format =3D L""; >> -+ _M_data->_M_am =3D L"AM"; >> -+ _M_data->_M_pm =3D L"PM"; >> -+ _M_data->_M_am_pm_format =3D L""; >> -+ >> -+ // Day names, starting with "C"'s Sunday. >> -+ _M_data->_M_day1 =3D L"Sunday"; >> -+ _M_data->_M_day2 =3D L"Monday"; >> -+ _M_data->_M_day3 =3D L"Tuesday"; >> -+ _M_data->_M_day4 =3D L"Wednesday"; >> -+ _M_data->_M_day5 =3D L"Thursday"; >> -+ _M_data->_M_day6 =3D L"Friday"; >> -+ _M_data->_M_day7 =3D L"Saturday"; >> -+ >> -+ // Abbreviated day names, starting with "C"'s Sun. >> -+ _M_data->_M_aday1 =3D L"Sun"; >> -+ _M_data->_M_aday2 =3D L"Mon"; >> -+ _M_data->_M_aday3 =3D L"Tue"; >> -+ _M_data->_M_aday4 =3D L"Wed"; >> -+ _M_data->_M_aday5 =3D L"Thu"; >> -+ _M_data->_M_aday6 =3D L"Fri"; >> -+ _M_data->_M_aday7 =3D L"Sat"; >> -+ >> -+ // Month names, starting with "C"'s January. >> -+ _M_data->_M_month01 =3D L"January"; >> -+ _M_data->_M_month02 =3D L"February"; >> -+ _M_data->_M_month03 =3D L"March"; >> -+ _M_data->_M_month04 =3D L"April"; >> -+ _M_data->_M_month05 =3D L"May"; >> -+ _M_data->_M_month06 =3D L"June"; >> -+ _M_data->_M_month07 =3D L"July"; >> -+ _M_data->_M_month08 =3D L"August"; >> -+ _M_data->_M_month09 =3D L"September"; >> -+ _M_data->_M_month10 =3D L"October"; >> -+ _M_data->_M_month11 =3D L"November"; >> -+ _M_data->_M_month12 =3D L"December"; >> -+ >> -+ // Abbreviated month names, starting with "C"'s Jan. >> -+ _M_data->_M_amonth01 =3D L"Jan"; >> -+ _M_data->_M_amonth02 =3D L"Feb"; >> -+ _M_data->_M_amonth03 =3D L"Mar"; >> -+ _M_data->_M_amonth04 =3D L"Apr"; >> -+ _M_data->_M_amonth05 =3D L"May"; >> -+ _M_data->_M_amonth06 =3D L"Jun"; >> -+ _M_data->_M_amonth07 =3D L"Jul"; >> -+ _M_data->_M_amonth08 =3D L"Aug"; >> -+ _M_data->_M_amonth09 =3D L"Sep"; >> -+ _M_data->_M_amonth10 =3D L"Oct"; >> -+ _M_data->_M_amonth11 =3D L"Nov"; >> -+ _M_data->_M_amonth12 =3D L"Dec"; >> -+ } >> -+#if 0 >> -+ else >> -+ { >> -+ _M_c_locale_timepunct =3D _S_clone_c_locale(__cloc); >> -+ >> -+ union { char *__s; wchar_t *__w; } __u; >> -+ >> -+ __u.__s =3D __nl_langinfo_l(_NL_WD_FMT, __cloc); >> -+ _M_data->_M_date_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WERA_D_FMT, __cloc); >> -+ _M_data->_M_date_era_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WT_FMT, __cloc); >> -+ _M_data->_M_time_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WERA_T_FMT, __cloc); >> -+ _M_data->_M_time_era_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WD_T_FMT, __cloc); >> -+ _M_data->_M_date_time_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WERA_D_T_FMT, __cloc); >> -+ _M_data->_M_date_time_era_format =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WAM_STR, __cloc); >> -+ _M_data->_M_am =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WPM_STR, __cloc); >> -+ _M_data->_M_pm =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WT_FMT_AMPM, __cloc); >> -+ _M_data->_M_am_pm_format =3D __u.__w; >> -+ >> -+ // Day names, starting with "C"'s Sunday. >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_1, __cloc); >> -+ _M_data->_M_day1 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_2, __cloc); >> -+ _M_data->_M_day2 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_3, __cloc); >> -+ _M_data->_M_day3 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_4, __cloc); >> -+ _M_data->_M_day4 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_5, __cloc); >> -+ _M_data->_M_day5 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_6, __cloc); >> -+ _M_data->_M_day6 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WDAY_7, __cloc); >> -+ _M_data->_M_day7 =3D __u.__w; >> -+ >> -+ // Abbreviated day names, starting with "C"'s Sun. >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_1, __cloc); >> -+ _M_data->_M_aday1 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_2, __cloc); >> -+ _M_data->_M_aday2 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_3, __cloc); >> -+ _M_data->_M_aday3 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_4, __cloc); >> -+ _M_data->_M_aday4 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_5, __cloc); >> -+ _M_data->_M_aday5 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_6, __cloc); >> -+ _M_data->_M_aday6 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABDAY_7, __cloc); >> -+ _M_data->_M_aday7 =3D __u.__w; >> -+ >> -+ // Month names, starting with "C"'s January. >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_1, __cloc); >> -+ _M_data->_M_month01 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_2, __cloc); >> -+ _M_data->_M_month02 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_3, __cloc); >> -+ _M_data->_M_month03 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_4, __cloc); >> -+ _M_data->_M_month04 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_5, __cloc); >> -+ _M_data->_M_month05 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_6, __cloc); >> -+ _M_data->_M_month06 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_7, __cloc); >> -+ _M_data->_M_month07 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_8, __cloc); >> -+ _M_data->_M_month08 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_9, __cloc); >> -+ _M_data->_M_month09 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_10, __cloc); >> -+ _M_data->_M_month10 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_11, __cloc); >> -+ _M_data->_M_month11 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WMON_12, __cloc); >> -+ _M_data->_M_month12 =3D __u.__w; >> -+ >> -+ // Abbreviated month names, starting with "C"'s Jan. >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_1, __cloc); >> -+ _M_data->_M_amonth01 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_2, __cloc); >> -+ _M_data->_M_amonth02 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_3, __cloc); >> -+ _M_data->_M_amonth03 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_4, __cloc); >> -+ _M_data->_M_amonth04 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_5, __cloc); >> -+ _M_data->_M_amonth05 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_6, __cloc); >> -+ _M_data->_M_amonth06 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_7, __cloc); >> -+ _M_data->_M_amonth07 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_8, __cloc); >> -+ _M_data->_M_amonth08 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_9, __cloc); >> -+ _M_data->_M_amonth09 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_10, __cloc); >> -+ _M_data->_M_amonth10 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_11, __cloc); >> -+ _M_data->_M_amonth11 =3D __u.__w; >> -+ __u.__s =3D __nl_langinfo_l(_NL_WABMON_12, __cloc); >> -+ _M_data->_M_amonth12 =3D __u.__w; >> -+ } >> -+#endif // 0 >> -+ } >> -+#endif >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -@@ -0,0 +1,68 @@ >> -+// std::time_get, std::time_put implementation, GNU version -*- C++ = -*- >> -+ >> -+// Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, In= c. >> -+// >> -+// This file is part of the GNU ISO C++ Library. This library is fr= ee >> -+// 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 Fr= ee >> -+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 0211= 1-1307, >> -+// USA. >> -+ >> -+// As a special exception, you may use this file as part of a free s= oftware >> -+// library without restriction. Specifically, if other files instan= tiate >> -+// templates or use macros or inline functions from this file, or yo= u 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 cove= red by >> -+// the GNU General Public License. This exception does not however >> -+// invalidate any other reasons why the executable file might be cov= ered 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 =3D new char[std::strlen(__s) + 1]; >> -+ std::strcpy(__tmp, __s); >> -+ _M_name_timepunct =3D __tmp; >> -+ _M_initialize_timepunct(__cloc); >> -+ } >> -+ >> -+ template >> -+ __timepunct<_CharT>::~__timepunct() >> -+ { >> -+ if (_M_name_timepunct !=3D _S_get_c_name()) >> -+ delete [] _M_name_timepunct; >> -+ delete _M_data; >> -+ _S_destroy_c_locale(_M_c_locale_timepunct); >> -+ } >> -Index: gcc-4.6.0/libstdc++-v3/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/configure >> -+++ gcc-4.6.0/libstdc++-v3/configure >> -@@ -15642,7 +15642,7 @@ $as_echo "stdio" >&6; } >> - if test "${enable_clocale+set}" =3D set; then : >> - enableval=3D$enable_clocale; >> - case "$enableval" in >> -- generic|gnu|ieee_1003.1-2001|yes|no|auto) ;; >> -+ generic|gnu|ieee_1003.1-2001|uclibc|yes|no|auto) ;; >> - *) as_fn_error "Unknown argument to enable/disable clocale" "= $LINENO" 5 ;; >> - esac >> - >> -@@ -15674,6 +15674,9 @@ fi >> - # Default to "generic". >> - if test $enable_clocale_flag =3D auto; then >> - case ${target_os} in >> -+ *-uclibc*) >> -+ enable_clocale_flag=3Duclibc >> -+ ;; >> - linux* | gnu* | kfreebsd*-gnu | knetbsd*-gnu) >> - enable_clocale_flag=3Dgnu >> - ;; >> -@@ -15907,6 +15910,76 @@ $as_echo "IEEE 1003.1" >&6; } >> - CTIME_CC=3Dconfig/locale/generic/time_members.cc >> - CLOCALE_INTERNAL_H=3Dconfig/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 specif= ic >> -+ # languages. >> -+ # For some reason, ALL_LINGUAS has to be before AM-GNU-GETTEXT= >> -+ ALL_LINGUAS=3D"de fr" >> -+ >> -+ # Don't call AM-GNU-GETTEXT here. Instead, assume glibc. >> -+ # Extract the first word of "msgfmt", so it can be a program n= ame with args. >> -+set dummy msgfmt; ac_word=3D$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}" =3D set; then >> -+ echo $ECHO_N "(cached) $ECHO_C" >&6 >> -+else >> -+ if test -n "$check_msgfmt"; then >> -+ ac_cv_prog_check_msgfmt=3D"$check_msgfmt" # Let the user override = the test. >> -+else >> -+as_save_IFS=3D$IFS; IFS=3D$PATH_SEPARATOR >> -+for as_dir in $PATH >> -+do >> -+ IFS=3D$as_save_IFS >> -+ test -z "$as_dir" && as_dir=3D. >> -+ 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=3D"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=3D"n= o" >> -+fi >> -+fi >> -+check_msgfmt=3D$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" =3D x"yes" && test x"$enable_nls" =3D= x"yes"; then >> -+ USE_NLS=3Dyes >> -+ fi >> -+ # Export the build objects. >> -+ for ling in $ALL_LINGUAS; do \ >> -+ glibcxx_MOFILES=3D"$glibcxx_MOFILES $ling.mo"; \ >> -+ glibcxx_POFILES=3D"$glibcxx_POFILES $ling.po"; \ >> -+ done >> -+ >> -+ >> -+ >> -+ CLOCALE_H=3Dconfig/locale/uclibc/c_locale.h >> -+ CLOCALE_CC=3Dconfig/locale/uclibc/c_locale.cc >> -+ CCODECVT_CC=3Dconfig/locale/uclibc/codecvt_members.cc >> -+ CCOLLATE_CC=3Dconfig/locale/uclibc/collate_members.cc >> -+ CCTYPE_CC=3Dconfig/locale/uclibc/ctype_members.cc >> -+ CMESSAGES_H=3Dconfig/locale/uclibc/messages_members.h >> -+ CMESSAGES_CC=3Dconfig/locale/uclibc/messages_members.cc >> -+ CMONEY_CC=3Dconfig/locale/uclibc/monetary_members.cc >> -+ CNUMERIC_CC=3Dconfig/locale/uclibc/numeric_members.cc >> -+ CTIME_H=3Dconfig/locale/uclibc/time_members.h >> -+ CTIME_CC=3Dconfig/locale/uclibc/time_members.cc >> -+ CLOCALE_INTERNAL_H=3Dconfig/locale/uclibc/c++locale_internal.h= >> -+ ;; >> - esac >> - >> - # This is where the testsuite looks for locale catalogs, using the= >> -@@ -16957,6 +17030,7 @@ rm -f core conftest.err conftest.$ac_obj >> - >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> - /* end confdefs.h. */ >> -+#line 17016 "configure" >> - #include >> - int >> - main () >> -@@ -64172,7 +64246,6 @@ $as_echo_n "checking for shared libgcc.. >> - fi >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> - /* end confdefs.h. */ >> -- >> - int >> - main () >> - { >> -Index: gcc-4.6.0/libstdc++-v3/include/c_compatibility/wchar.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/include/c_compatibility/wchar.h >> -+++ gcc-4.6.0/libstdc++-v3/include/c_compatibility/wchar.h >> -@@ -101,7 +101,9 @@ using std::wmemcmp; >> - using std::wmemcpy; >> - using std::wmemmove; >> - using std::wmemset; >> -+#if _GLIBCXX_HAVE_WCSFTIME >> - using std::wcsftime; >> -+#endif >> - >> - #if _GLIBCXX_USE_C99 >> - using std::wcstold; >> -Index: gcc-4.6.0/libstdc++-v3/include/c_std/cwchar >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/include/c_std/cwchar >> -+++ gcc-4.6.0/libstdc++-v3/include/c_std/cwchar >> -@@ -177,7 +177,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >> - using ::wcscoll; >> - using ::wcscpy; >> - using ::wcscspn; >> -+#if _GLIBCXX_HAVE_WCSFTIME >> - using ::wcsftime; >> -+#endif >> - using ::wcslen; >> - using ::wcsncat; >> - using ::wcsncmp; >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/203-uclibc-l= ocale-no__x.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/203-ucli= bc-locale-no__x.patch >> deleted file mode 100644 >> index c602e91..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/203-uclibc-locale-n= o__x.patch >> +++ /dev/null >> @@ -1,235 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal= =2Eh >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c++locale_intern= al.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h >> -@@ -60,4 +60,49 @@ extern "C" __typeof(wcsxfrm_l) __wcsxfrm >> - 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 >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -@@ -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<> >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/collate_members.= cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/collate_members.cc >> -@@ -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 shou= ld >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members= =2Ecc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc >> -@@ -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 combinati= on of: >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.= cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc >> -@@ -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 >> - { >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -@@ -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 >> - { >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc= >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -@@ -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 >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members= =2Ecc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.cc >> -@@ -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 >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members= =2Eh >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h >> -@@ -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 @@ extern "C" char *__bindtextdomain(const >> - messages<_CharT>::open(const basic_string& __s, const loca= le& __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 @@ extern "C" char *__bindtextdomain(const >> - { >> - // No error checking is done, assume the catalog exists and ca= n >> - // be used. >> -- __textdomain(__s.c_str()); >> -+ textdomain(__s.c_str()); >> - return 0; >> - } >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -@@ -68,6 +68,7 @@ namespace __gnu_cxx >> - { >> - extern "C" __typeof(uselocale) __uselocale; >> - } >> -+#define __uselocale uselocale >> - #endif >> - >> - namespace std >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/204-uclibc-l= ocale-wchar_fix.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/204-= uclibc-locale-wchar_fix.patch >> deleted file mode 100644 >> index 896d2a5..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/204-uclibc-locale-w= char_fix.patch >> +++ /dev/null >> @@ -1,54 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members= =2Ecc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc >> -@@ -401,7 +401,7 @@ namespace std >> - # ifdef __UCLIBC_HAS_XLOCALE__ >> - _M_data->_M_decimal_point =3D __cloc->decimal_point_wc; >> - _M_data->_M_thousands_sep =3D __cloc->thousands_sep_wc; >> --# else >> -+# elif defined __UCLIBC_HAS_LOCALE__ >> - _M_data->_M_decimal_point =3D __global_locale->decimal_point_wc; >> - _M_data->_M_thousands_sep =3D __global_locale->thousands_sep_wc; >> - # endif >> -@@ -556,7 +556,7 @@ namespace std >> - # ifdef __UCLIBC_HAS_XLOCALE__ >> - _M_data->_M_decimal_point =3D __cloc->decimal_point_wc; >> - _M_data->_M_thousands_sep =3D __cloc->thousands_sep_wc; >> --# else >> -+# elif defined __UCLIBC_HAS_LOCALE__ >> - _M_data->_M_decimal_point =3D __global_locale->decimal_point_wc; >> - _M_data->_M_thousands_sep =3D __global_locale->thousands_sep_wc; >> - # endif >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.= cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc >> -@@ -127,12 +127,25 @@ namespace std >> - { >> - // 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 =3D __cloc->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __cloc->thousands_sep_wc; >> -+# elif defined __UCLIBC_HAS_LOCALE__ >> -+ _M_data->_M_decimal_point =3D __global_locale->decimal_point_wc; >> -+ _M_data->_M_thousands_sep =3D __global_locale->thousands_sep_wc; >> -+# endif >> -+#else >> - union { char *__s; wchar_t __w; } __u; >> - __u.__s =3D __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)= ; >> - _M_data->_M_decimal_point =3D __u.__w; >> - >> - __u.__s =3D __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)= ; >> - _M_data->_M_thousands_sep =3D __u.__w; >> -+#endif >> - >> - if (_M_data->_M_thousands_sep =3D=3D L'\0') >> - _M_data->_M_grouping =3D ""; >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/205-uclibc-l= ocale-update.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/205-ucl= ibc-locale-update.patch >> deleted file mode 100644 >> index 743017b..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/205-uclibc-locale-u= pdate.patch >> +++ /dev/null >> @@ -1,521 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.cc >> -@@ -39,23 +39,20 @@ >> - #include >> - #include >> - >> --namespace std >> --{ >> -+_GLIBCXX_BEGIN_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 =3D 0; >> -- float __f =3D __strtof_l(__s, &__sanity, __cloc); >> -- if (__sanity !=3D __s && errno !=3D ERANGE) >> -- __v =3D __f; >> -- else >> -- __err |=3D ios_base::failbit; >> -- } >> -+ char* __sanity; >> -+ errno =3D 0; >> -+ float __f =3D __strtof_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __f; >> -+ else >> -+ __err |=3D ios_base::failbit; >> - } >> - >> - template<> >> -@@ -63,16 +60,13 @@ namespace std >> - __convert_to_v(const char* __s, double& __v, ios_base::iostate& = __err, >> - const __c_locale& __cloc) >> - { >> -- if (!(__err & ios_base::failbit)) >> -- { >> -- char* __sanity; >> -- errno =3D 0; >> -- double __d =3D __strtod_l(__s, &__sanity, __cloc); >> -- if (__sanity !=3D __s && errno !=3D ERANGE) >> -- __v =3D __d; >> -- else >> -- __err |=3D ios_base::failbit; >> -- } >> -+ char* __sanity; >> -+ errno =3D 0; >> -+ double __d =3D __strtod_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __d; >> -+ else >> -+ __err |=3D ios_base::failbit; >> - } >> - >> - template<> >> -@@ -80,16 +74,13 @@ namespace std >> - __convert_to_v(const char* __s, long double& __v, ios_base::iost= ate& __err, >> - const __c_locale& __cloc) >> - { >> -- if (!(__err & ios_base::failbit)) >> -- { >> -- char* __sanity; >> -- errno =3D 0; >> -- long double __ld =3D __strtold_l(__s, &__sanity, __cloc); >> -- if (__sanity !=3D __s && errno !=3D ERANGE) >> -- __v =3D __ld; >> -- else >> -- __err |=3D ios_base::failbit; >> -- } >> -+ char* __sanity; >> -+ errno =3D 0; >> -+ long double __ld =3D __strtold_l(__s, &__sanity, __cloc); >> -+ if (__sanity !=3D __s && errno !=3D ERANGE) >> -+ __v =3D __ld; >> -+ else >> -+ __err |=3D ios_base::failbit; >> - } >> - >> - void >> -@@ -110,17 +101,18 @@ namespace std >> - void >> - locale::facet::_S_destroy_c_locale(__c_locale& __cloc) >> - { >> -- if (_S_get_c_locale() !=3D __cloc) >> -+ if (__cloc && _S_get_c_locale() !=3D __cloc) >> - __freelocale(__cloc); >> - } >> - >> - __c_locale >> - locale::facet::_S_clone_c_locale(__c_locale& __cloc) >> - { return __duplocale(__cloc); } >> --} // namespace std >> - >> --namespace __gnu_cxx >> --{ >> -+_GLIBCXX_END_NAMESPACE >> -+ >> -+_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) >> -+ >> - const char* const category_names[6 + _GLIBCXX_NUM_CATEGORIES] =3D >> - { >> - "LC_CTYPE", >> -@@ -138,9 +130,11 @@ namespace __gnu_cxx >> - "LC_IDENTIFICATION" >> - #endif >> - }; >> --} >> - >> --namespace std >> --{ >> -+_GLIBCXX_END_NAMESPACE >> -+ >> -+_GLIBCXX_BEGIN_NAMESPACE(std) >> -+ >> - const char* const* const locale::_S_categories =3D __gnu_cxx::cate= gory_names; >> --} // namespace std >> -+ >> -+_GLIBCXX_END_NAMESPACE >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/ctype_members.cc= >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/ctype_members.cc >> -@@ -33,16 +33,20 @@ >> - >> - // Written by Benjamin Kosnik >> - >> -+#include >> -+#ifdef __UCLIBC_HAS_LOCALE__ >> - #define _LIBC >> - #include >> - #undef _LIBC >> -+#else >> -+#include >> -+#endif >> - #include >> - >> --namespace std >> --{ >> -+_GLIBCXX_BEGIN_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) >> - { >> -@@ -57,6 +61,8 @@ namespace std >> - #endif >> - } >> - } >> -+ ctype_byname::~ctype_byname() >> -+ { } >> - >> - #ifdef _GLIBCXX_USE_WCHAR_T >> - ctype::__wmask_type >> -@@ -138,17 +144,33 @@ namespace std >> - ctype:: >> - do_is(mask __m, wchar_t __c) const >> - { >> -- // Highest bitmask in ctype_base =3D=3D 10, but extra in "C" >> -- // library for blank. >> -+ // The case of __m =3D=3D ctype_base::space is particularly impo= rtant, >> -+ // 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 encod= ing >> -+ // change would not affect correctness! >> -+ >> - bool __ret =3D false; >> -- const size_t __bitmasksize =3D 11; >> -- for (size_t __bitcur =3D 0; __bitcur <=3D __bitmasksize; ++__bit= cur) >> -- if (__m & _M_bit[__bitcur] >> -- && __iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype)) >> -- { >> -- __ret =3D true; >> -- break; >> -- } >> -+ if (__m =3D=3D _M_bit[5]) >> -+ __ret =3D __iswctype_l(__c, _M_wmask[5], _M_c_locale_ctype); >> -+ else >> -+ { >> -+ // Highest bitmask in ctype_base =3D=3D 10, but extra in "C" >> -+ // library for blank. >> -+ const size_t __bitmasksize =3D 11; >> -+ for (size_t __bitcur =3D 0; __bitcur <=3D __bitmasksize; ++__bitcur= ) >> -+ if (__m & _M_bit[__bitcur]) >> -+ { >> -+ if (__iswctype_l(__c, _M_wmask[__bitcur], _M_c_locale_ctype))= >> -+ { >> -+ __ret =3D true; >> -+ break; >> -+ } >> -+ else if (__m =3D=3D _M_bit[__bitcur]) >> -+ break; >> -+ } >> -+ } >> -+ >> - return __ret; >> - } >> - >> -@@ -290,4 +312,5 @@ namespace std >> - #endif >> - } >> - #endif // _GLIBCXX_USE_WCHAR_T >> --} >> -+ >> -+_GLIBCXX_END_NAMESPACE >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members= =2Eh >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h >> -@@ -53,12 +53,16 @@ >> - 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 =3D new char[std::strlen(__s) + 1]; >> -- std::strcpy(__tmp, __s); >> -+ const size_t __len =3D std::strlen(__s) + 1; >> -+ char* __tmp =3D new char[__len]; >> -+ std::memcpy(__tmp, __s, __len); >> - _M_name_messages =3D __tmp; >> -+ >> -+ // Last to avoid leaking memory if new throws. >> -+ _M_c_locale_messages =3D _S_clone_c_locale(__cloc); >> - } >> - >> - template >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.c= c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/monetary_members= =2Ecc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/monetary_members.cc >> -@@ -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 @@ namespace std >> - } >> - break; >> - default: >> -- ; >> -+ __ret =3D pattern(); >> - } >> - return __ret; >> - } >> -@@ -390,7 +395,9 @@ namespace std >> - __c_locale __old =3D __uselocale(__cloc); >> - #else >> - // Switch to named locale so that mbsrtowcs will work. >> -- char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ char* __old =3D setlocale(LC_ALL, NULL); >> -+ const size_t __llen =3D strlen(__old) + 1; >> -+ char* __sav =3D new char[__llen]; >> - setlocale(LC_ALL, __name); >> - #endif >> - >> -@@ -477,8 +484,8 @@ namespace std >> - #ifdef __UCLIBC_HAS_XLOCALE__ >> - __uselocale(__old); >> - #else >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - __throw_exception_again; >> - } >> -@@ -498,8 +505,8 @@ namespace std >> - #ifdef __UCLIBC_HAS_XLOCALE__ >> - __uselocale(__old); >> - #else >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - } >> - } >> -@@ -545,8 +552,11 @@ namespace std >> - __c_locale __old =3D __uselocale(__cloc); >> - #else >> - // Switch to named locale so that mbsrtowcs will work. >> -- char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -- setlocale(LC_ALL, __name); >> -+ char* __old =3D setlocale(LC_ALL, NULL); >> -+ const size_t __llen =3D strlen(__old) + 1; >> -+ char* __sav =3D new char[__llen]; >> -+ memcpy(__sav, __old, __llen); >> -+ setlocale(LC_ALL, __name); >> - #endif >> - >> - #ifdef __UCLIBC_MJN3_ONLY__ >> -@@ -633,8 +643,8 @@ namespace std >> - #ifdef __UCLIBC_HAS_XLOCALE__ >> - __uselocale(__old); >> - #else >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - __throw_exception_again; >> - } >> -@@ -653,8 +663,8 @@ namespace std >> - #ifdef __UCLIBC_HAS_XLOCALE__ >> - __uselocale(__old); >> - #else >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - } >> - } >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/numeric_members.= cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/numeric_members.cc >> -@@ -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__ >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -@@ -50,12 +50,21 @@ >> - __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 =3D new char[std::strlen(__s) + 1]; >> -- std::strcpy(__tmp, __s); >> -+ const size_t __len =3D std::strlen(__s) + 1; >> -+ char* __tmp =3D new char[__len]; >> -+ std::memcpy(__tmp, __s, __len); >> - _M_name_timepunct =3D __tmp; >> -- _M_initialize_timepunct(__cloc); >> -+ >> -+ try >> -+ { _M_initialize_timepunct(__cloc); } >> -+ catch(...) >> -+ { >> -+ delete [] _M_name_timepunct; >> -+ __throw_exception_again; >> -+ } >> -+ >> - } >> - >> - template >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c_locale.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c_locale.h >> -@@ -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::vsprin= tf >> - #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 >> - >> -@@ -78,23 +80,25 @@ namespace std >> - #else >> - typedef int* __c_locale; >> - #endif >> -- >> -- // Convert numeric value of type _Tv to string and return length o= f >> -- // string. If snprintf is available use it, otherwise fall back t= o >> -- // the unsafe sprintf which, in general, can be dangerous and shou= ld >> -+ // Convert numeric value of type double to string and return lengt= h of >> -+ // string. If vsnprintf is available use it, otherwise fall back = to >> -+ // the unsafe vsprintf which, in general, can be dangerous and sho= uld >> - // 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 =3D __gnu_cxx::__uselocale(__cloc); >> - #else >> -- _Tv __v, const __c_locale&, int __prec) >> -- { >> - # ifdef __UCLIBC_HAS_LOCALE__ >> - char* __old =3D std::setlocale(LC_ALL, NULL); >> - char* __sav =3D new char[std::strlen(__old) + 1]; >> -@@ -103,7 +107,9 @@ namespace std >> - # endif >> - #endif >> - >> -- const int __ret =3D std::snprintf(__out, __size, __fmt, __prec= , __v); >> -+ va_start(__args, __fmt); >> -+ const int __ret =3D std::vsnprintf(__out, __size, __fmt, __arg= s); >> -+ va_end(__args); >> - >> - #ifdef __UCLIBC_HAS_XCLOCALE__ >> - __gnu_cxx::__uselocale(__old); >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.cc >> -@@ -53,11 +53,14 @@ namespace std >> - const size_t __len =3D __strftime_l(__s, __maxlen, __format, _= _tm, >> - _M_c_locale_timepunct); >> - #else >> -- char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ char* __old =3D setlocale(LC_ALL, NULL); >> -+ const size_t __llen =3D strlen(__old) + 1; >> -+ char* __sav =3D new char[__llen]; >> -+ memcpy(__sav, __old, __llen); >> - setlocale(LC_ALL, _M_name_timepunct); >> - const size_t __len =3D strftime(__s, __maxlen, __format, __tm)= ; >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - // Make sure __s is null terminated. >> - if (__len =3D=3D 0) >> -@@ -207,11 +210,14 @@ namespace std >> - const size_t __len =3D __wcsftime_l(__s, __maxlen, __format, _= _tm, >> - _M_c_locale_timepunct); >> - #else >> -- char* __old =3D strdup(setlocale(LC_ALL, NULL)); >> -+ char* __old =3D setlocale(LC_ALL, NULL); >> -+ const size_t __llen =3D strlen(__old) + 1; >> -+ char* __sav =3D new char[__llen]; >> -+ memcpy(__sav, __old, __llen); >> - setlocale(LC_ALL, _M_name_timepunct); >> - const size_t __len =3D wcsftime(__s, __maxlen, __format, __tm)= ; >> -- setlocale(LC_ALL, __old); >> -- free(__old); >> -+ setlocale(LC_ALL, __sav); >> -+ delete [] __sav; >> - #endif >> - // Make sure __s is null terminated. >> - if (__len =3D=3D 0) >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal= =2Eh >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/c++locale_intern= al.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/c++locale_internal.h >> -@@ -31,6 +31,9 @@ >> - >> - #include >> - #include >> -+#include >> -+#include >> -+#include >> - >> - #ifdef __UCLIBC_MJN3_ONLY__ >> - #warning clean this up >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/301-missing-= execinfo_h.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/301-missi= ng-execinfo_h.patch >> deleted file mode 100644 >> index 9589822..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/301-missing-execinf= o_h.patch >> +++ /dev/null >> @@ -1,15 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/boehm-gc/include/gc.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/boehm-gc/include/gc.h >> -+++ gcc-4.6.0/boehm-gc/include/gc.h >> -@@ -503,7 +503,7 @@ GC_API GC_PTR GC_malloc_atomic_ignore_of >> - #if defined(__linux__) || defined(__GLIBC__) >> - # include >> - # if (__GLIBC__ =3D=3D 2 && __GLIBC_MINOR__ >=3D 1 || __GLIBC__ > 2)= \ >> -- && !defined(__ia64__) >> -+ && !defined(__ia64__) && !defined(__UCLIBC__) >> - # ifndef GC_HAVE_BUILTIN_BACKTRACE >> - # define GC_HAVE_BUILTIN_BACKTRACE >> - # endif >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/302-c99-snpr= intf.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/302-c99-snprint= f.patch >> deleted file mode 100644 >> index f02c98d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/302-c99-snprintf.pa= tch >> +++ /dev/null >> @@ -1,15 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/include/c_std/cstdio >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/include/c_std/cstdio >> -+++ gcc-4.6.0/libstdc++-v3/include/c_std/cstdio >> -@@ -136,7 +136,7 @@ namespace std >> - using ::vsprintf; >> - } // namespace std >> - >> --#if _GLIBCXX_USE_C99 >> -+#if _GLIBCXX_USE_C99 || defined(__UCLIBC__) >> - >> - #undef snprintf >> - #undef vfscanf >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/303-c99-comp= lex-ugly-hack.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/303-c9= 9-complex-ugly-hack.patch >> deleted file mode 100644 >> index db594cb..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/303-c99-complex-ugl= y-hack.patch >> +++ /dev/null >> @@ -1,16 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -Index: gcc-4.6.0/libstdc++-v3/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/configure >> -+++ gcc-4.6.0/libstdc++-v3/configure >> -@@ -18302,6 +18302,9 @@ $as_echo_n "checking for ISO C99 support >> - cat confdefs.h - <<_ACEOF >conftest.$ac_ext >> - /* end confdefs.h. */ >> - #include >> -+#ifdef __UCLIBC__ >> -+#error ugly hack to make sure configure test fails here for cross un= til uClibc supports the complex funcs >> -+#endif >> - int >> - main () >> - { >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/304-index_ma= cro.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/304-index_macro.= patch >> deleted file mode 100644 >> index f103765..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/304-index_macro.pat= ch >> +++ /dev/null >> @@ -1,30 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/include/ext/rope >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/include/ext/rope >> -+++ gcc-4.6.0/libstdc++-v3/include/ext/rope >> -@@ -54,6 +54,9 @@ >> - #include >> - #include >> - >> -+/* cope w/ index defined as macro, SuSv3 proposal */ >> -+#undef index >> -+ >> - # ifdef __GC >> - # define __GC_CONST const >> - # else >> -Index: gcc-4.6.0/libstdc++-v3/include/ext/ropeimpl.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/include/ext/ropeimpl.h >> -+++ gcc-4.6.0/libstdc++-v3/include/ext/ropeimpl.h >> -@@ -49,6 +49,9 @@ >> - #include // For uninitialized_copy_n >> - #include // For power >> - >> -+/* cope w/ index defined as macro, SuSv3 proposal */ >> -+#undef index >> -+ >> - namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) >> - { >> - _GLIBCXX_BEGIN_NAMESPACE_VERSION >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/305-libmudfl= ap-susv3-legacy.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/305-= libmudflap-susv3-legacy.patch >> deleted file mode 100644 >> index 8d9a4d8..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/305-libmudflap-susv= 3-legacy.patch >> +++ /dev/null >> @@ -1,51 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -Index: gcc-4.6.0/libmudflap/mf-hooks2.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libmudflap/mf-hooks2.c >> -+++ gcc-4.6.0/libmudflap/mf-hooks2.c >> -@@ -421,7 +421,7 @@ WRAPPER2(void, bzero, void *s, size_t n) >> - { >> - 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 @@ WRAPPER2(void, bcopy, const void *src, v >> - 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 @@ WRAPPER2(int, bcmp, const void *s1, cons >> - 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 =3D=3D 0 ? 0 : memcmp (s1, s2, n); >> - } >> - >> - >> -@@ -450,7 +450,7 @@ WRAPPER2(char *, index, const char *s, i >> - size_t n =3D strlen (s); >> - TRACE ("%s\n", __PRETTY_FUNCTION__); >> - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "index regi= on"); >> -- return index (s, c); >> -+ return strchr (s, c); >> - } >> - >> - >> -@@ -459,7 +459,7 @@ WRAPPER2(char *, rindex, const char *s, >> - size_t n =3D strlen (s); >> - TRACE ("%s\n", __PRETTY_FUNCTION__); >> - MF_VALIDATE_EXTENT(s, CLAMPADD(n, 1), __MF_CHECK_READ, "rindex reg= ion"); >> -- return rindex (s, c); >> -+ return strrchr (s, c); >> - } >> - >> - /* XXX: stpcpy, memccpy */ >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/306-libstdc+= +-namespace.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/306-libs= tdc++-namespace.patch >> deleted file mode 100644 >> index e99bf96..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/306-libstdc++-names= pace.patch >> +++ /dev/null >> @@ -1,40 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h= >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/messages_members= =2Eh >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/messages_members.h >> -@@ -32,7 +32,8 @@ >> - // >> - >> - // Written by Benjamin Kosnik >> -- >> -+namespace std >> -+{ >> - #ifdef __UCLIBC_MJN3_ONLY__ >> - #warning fix prototypes for *textdomain funcs >> - #endif >> -@@ -116,3 +117,4 @@ >> - this->_S_create_c_locale(this->_M_c_locale_messages, __s); >> - } >> - } >> -+} >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/uclibc/time_members.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/uclibc/time_members.h >> -@@ -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), >> -@@ -75,3 +76,4 @@ >> - delete _M_data; >> - _S_destroy_c_locale(_M_c_locale_timepunct); >> - } >> -+} >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/64bithack.pa= tch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/64bithack.patch >> deleted file mode 100644 >> index d35753a..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/64bithack.patch >> +++ /dev/null >> @@ -1,68 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -GCC has internal multilib handling code but it assumes a very specifi= c rigid directory >> -layout. The build system implementation of multilib layout is very ge= neric and allows >> -complete customisation of the library directories. >> - >> -This patch is a partial solution to allow any custom directories to b= e passed into gcc >> -and handled correctly. It forces gcc to use the base_libdir (which is= the current >> -directory, "."). We need to do this for each multilib that is configu= red as we don't >> -know which compiler options may be being passed into the compiler. Si= nce we have a compiler >> -per mulitlib at this point that isn't an issue. >> - >> -The one problem is the target compiler is only going to work for the = default multlilib at >> -this point. Ideally we'd figure out which multilibs were being enable= d with which paths >> -and be able to patch these entries with a complete set of correct pat= hs but this we >> -don't have such code at this point. This is something the target gcc = recipe should do >> -and override these platform defaults in its build config. >> - >> -RP 15/8/11 >> - >> -Index: gcc-4_6-branch/gcc/config/i386/t-linux64 >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/i386/t-linux64 2011-06-23 15:15:29= =2E000000000 +0100 >> -+++ gcc-4_6-branch/gcc/config/i386/t-linux64 2011-08-15 13:09:03.7724= 15848 +0100 >> -@@ -24,8 +24,8 @@ >> - # MULTILIB_OSDIRNAMES according to what is found on the target. >> - >> - MULTILIB_OPTIONS =3D m64/m32 >> --MULTILIB_DIRNAMES =3D 64 32 >> --MULTILIB_OSDIRNAMES =3D ../lib64 $(if $(wildcard $(shell echo $(SYST= EM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) >> -+MULTILIB_DIRNAMES =3D . . >> -+MULTILIB_OSDIRNAMES =3D ../$(shell basename $(base_libdir)) ../$(she= ll basename $(base_libdir)) >> - >> - LIBGCC =3D stmp-multilib >> - INSTALL_LIBGCC =3D install-multilib >> -Index: gcc-4_6-branch/gcc/config/mips/t-linux64 >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/mips/t-linux64 2011-08-15 13:06:13= =2E732415763 +0100 >> -+++ gcc-4_6-branch/gcc/config/mips/t-linux64 2011-08-15 13:09:11.4524= 19446 +0100 >> -@@ -17,8 +17,8 @@ >> - # . >> - >> - MULTILIB_OPTIONS =3D mabi=3Dn32/mabi=3D32/mabi=3D64 >> --MULTILIB_DIRNAMES =3D n32 32 64 >> --MULTILIB_OSDIRNAMES =3D ../lib32 ../lib ../lib64 >> -+MULTILIB_DIRNAMES =3D . . . >> -+MULTILIB_OSDIRNAMES =3D ../$(shell basename $(base_libdir)) ../$(she= ll basename $(base_libdir)) ../$(shell basename $(base_libdir)) >> - >> - EXTRA_MULTILIB_PARTS=3Dcrtbegin.o crtend.o crtbeginS.o crtendS.o crt= beginT.o >> - >> -Index: gcc-4_6-branch/gcc/config/rs6000/t-linux64 >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/rs6000/t-linux64 2011-08-15 13:06:= 25.272415822 +0100 >> -+++ gcc-4_6-branch/gcc/config/rs6000/t-linux64 2011-08-15 13:09:21.06= 2415878 +0100 >> -@@ -32,11 +32,11 @@ >> - # MULTILIB_OSDIRNAMES according to what is found on the target. >> - >> - MULTILIB_OPTIONS =3D m64/m32 msoft-float >> --MULTILIB_DIRNAMES =3D 64 32 nof >> -+MULTILIB_DIRNAMES =3D . . . >> - MULTILIB_EXTRA_OPTS =3D fPIC mstrict-align >> - MULTILIB_EXCEPTIONS =3D m64/msoft-float >> - MULTILIB_EXCLUSIONS =3D m64/!m32/msoft-float >> --MULTILIB_OSDIRNAMES =3D ../lib64 $(if $(wildcard $(shell echo $(SYST= EM_HEADER_DIR))/../../usr/lib32),../lib32,../lib) nof >> -+MULTILIB_OSDIRNAMES =3D ../$(shell basename $(base_libdir)) ../$(she= ll basename $(base_libdir)) ../$(shell basename $(base_libdir)) >> - MULTILIB_MATCHES =3D $(MULTILIB_MATCHES_FLOAT) >> - >> - softfp_wrap_start :=3D '\#ifndef __powerpc64__' >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/740-sh-pr248= 36.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/740-sh-pr24836.pa= tch >> deleted file mode 100644 >> index bc4ea5d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/740-sh-pr24836.patc= h >> +++ /dev/null >> @@ -1,31 +0,0 @@ >> -Upstream-Status: Pending >> - >> -http://sourceforge.net/mailarchive/forum.php?thread_id=3D8959304&foru= m_id=3D5348 >> -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D24836 >> - >> -Index: gcc-4.6.0/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure.ac >> -+++ gcc-4.6.0/gcc/configure.ac >> -@@ -2926,7 +2926,7 @@ foo: .long 25 >> - tls_first_minor=3D14 >> - tls_as_opt=3D"-m64 -Aesame --fatal-warnings" >> - ;; >> -- sh-*-* | sh[34]-*-*) >> -+ sh-*-* | sh[34]*-*-*) >> - conftest_s=3D' >> - .section ".tdata","awT",@progbits >> - foo: .long 25 >> -Index: gcc-4.6.0/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure >> -+++ gcc-4.6.0/gcc/configure >> -@@ -22756,7 +22756,7 @@ foo: .long 25 >> - tls_first_minor=3D14 >> - tls_as_opt=3D"-m64 -Aesame --fatal-warnings" >> - ;; >> -- sh-*-* | sh[34]-*-*) >> -+ sh-*-* | sh[34]*-*-*) >> - conftest_s=3D' >> - .section ".tdata","awT",@progbits >> - foo: .long 25 >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/800-arm-bige= ndian.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/800-arm-bigend= ian.patch >> deleted file mode 100644 >> index 8c8046d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/800-arm-bigendian.p= atch >> +++ /dev/null >> @@ -1,36 +0,0 @@ >> -Upstream-Status: Pending >> - >> -By Lennert Buytenhek >> -Adds support for arm*b-linux* big-endian ARM targets >> - >> -See http://gcc.gnu.org/PR16350 >> - >> -Index: gcc-4.6.0/gcc/config/arm/linux-elf.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h >> -+++ gcc-4.6.0/gcc/config/arm/linux-elf.h >> -@@ -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 >> -Index: gcc-4.6.0/gcc/config.gcc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/config.gcc >> -+++ gcc-4.6.0/gcc/config.gcc >> -@@ -822,6 +822,11 @@ arm*-*-linux*) # ARM GNU/Linux with EL >> - esac >> - tmake_file=3D"${tmake_file} t-linux arm/t-arm" >> - case ${target} in >> -+ arm*b-*) >> -+ tm_defines=3D"${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=3D1" >> -+ ;; >> -+ esac >> -+ case ${target} in >> - arm*-*-linux-*eabi) >> - tm_file=3D"$tm_file arm/bpabi.h arm/linux-eabi.h" >> - tm_file=3D"$tm_file ../../libgcc/config/arm/bpabi-lib.h" >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/904-flatten-= switch-stmt-00.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/904-f= latten-switch-stmt-00.patch >> deleted file mode 100644 >> index ce3e6b5..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/904-flatten-switch-= stmt-00.patch >> +++ /dev/null >> @@ -1,76 +0,0 @@ >> -Upstream-Status: Pending >> - >> -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=3Dus-ascii >> -Content-Disposition: attachment; filename=3D"gcc-4.3.gcc-flatten-swit= ch-stmt.00.diff" >> - >> -Index: gcc-4.6.0/gcc/stmt.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/stmt.c >> -+++ gcc-4.6.0/gcc/stmt.c >> -@@ -2478,7 +2478,11 @@ expand_case (gimple stmt) >> - default code is emitted. */ >> - >> - use_cost_table =3D 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); >> -@@ -3046,6 +3050,7 @@ emit_case_nodes (rtx index, case_node_pt >> - { >> - 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/toolchain-layer/recipes-devtools/gcc/gcc-4.6/COLLECT_GCC_= OPTIONS.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/COLLECT_GCC_= OPTIONS.patch >> deleted file mode 100644 >> index 38856c2..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/COLLECT_GCC_OPTIONS= =2Epatch >> +++ /dev/null >> @@ -1,25 +0,0 @@ >> -Upstream-Status: Pending >> - >> -#This patck added --sysroot into COLLECT_GCC_OPTIONS which is used to= >> -#invoke collect2. >> - >> -Index: gcc-4.6.0/gcc/gcc.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/gcc.c >> -+++ gcc-4.6.0/gcc/gcc.c >> -@@ -3948,6 +3948,15 @@ set_collect_gcc_options (void) >> - sizeof ("COLLECT_GCC_OPTIONS=3D") - 1); >> - >> - first_time =3D TRUE; >> -+#ifdef HAVE_LD_SYSROOT >> -+ if (target_system_root_changed && target_system_root) >> -+ { >> -+ obstack_grow (&collect_obstack, "'--sysroot=3D", sizeof("'--sy= sroot=3D")-1); >> -+ obstack_grow (&collect_obstack, target_system_root,strlen(targ= et_system_root)); >> -+ obstack_grow (&collect_obstack, "'", 1); >> -+ first_time =3D FALSE; >> -+ } >> -+#endif >> - for (i =3D 0; (int) i < n_switches; i++) >> - { >> - const char *const *args; >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/GPLUSPLUS_IN= CLUDE_DIR_with_sysroot.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4= =2E6/GPLUSPLUS_INCLUDE_DIR_with_sysroot.patch >> deleted file mode 100644 >> index 575e0e4..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/GPLUSPLUS_INCLUDE_D= IR_with_sysroot.patch >> +++ /dev/null >> @@ -1,186 +0,0 @@ >> -source: http://patchwork.ozlabs.org/patch/129800/ >> -Upstream-Status: Submitted >> - >> -ChangeLog >> - * Makefile.in (gcc_gxx_include_dir_add_sysroot): New. >> - (PREPROCESSOR_DEFINES): Define GPLUSPLUS_INCLUDE_DIR_ADD_SY= SROOT. >> - >> - * cppdefault.c (cpp_include_defaults): replace hard coded "1"= with >> - GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT for "add_sysroot" field. >> - >> - * configure.ac (AC_SUBST): Add gcc_gxx_include_dir_add_sysroo= t to >> - control whether sysroot should be prepended to gxx include = dir. >> - >> - * configure: Regenerate. >> - >> -Hi, this is a follow up for issue "http://codereview.appspot.com/4641= 076". >> - >> -The rationale for the patch copied from previous thread: >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> -The setup: >> - >> -Configuring a toolchain targeting x86-64 GNU Linux (Ubuntu Lucid), as= a >> -cross-compiler. Using a sysroot to provide the Lucid headers+librari= es, >> -with the sysroot path being within the GCC install tree. Want to use= the >> -Lucid system libstdc++ and headers, which means that I'm not >> -building/installing libstdc++-v3. >> - >> -So, configuring with: >> - --with-sysroot=3D"$SYSROOT" >> - --disable-libstdc++-v3 \ >> - --with-gxx-include-dir=3D"$SYSROOT/usr/include/c++/4.4" \ >> -(among other options). >> - >> -Hoping to support two usage models with this configuration, w.r.t. us= e of >> -the sysroot: >> - >> -(1) somebody installs the sysroot in the normal location relative to = the >> -GCC install, and relocates the whole bundle (sysroot+GCC). This work= s >> -great AFAICT, GCC finds its includes (including the C++ includes) tha= nks >> -to the add_standard_paths iprefix handling. >> - >> -(2) somebody installs the sysroot in a non-standard location, and use= s >> ---sysroot to try to access it. This works fine for the C headers, bu= t >> -doesn't work. >> - >> -For the C headers, add_standard_paths prepends the sysroot location t= o >> -the /usr/include path (since that's what's specified in cppdefault.c = for >> -that path). It doesn't do the same for the C++ include path, though >> -(again, as specified in cppdefault.c). >> - >> -add_standard_paths doesn't attempt to relocate built-in include paths= that >> -start with the compiled-in sysroot location (e.g., the g++ include di= r, in >> -this case). This isn't surprising really: normally you either prepen= d the >> -sysroot location or you don't (as specified by cppdefault.c); none of= the >> -built-in paths normally *start* with the sysroot location and need to= be >> -relocated. However, in this odd-ball case of trying to use the C++ h= eaders >> -from the sysroot, one of the paths *does* need to be relocated in thi= s way. >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D >> -Index: gcc-4_6-branch/gcc/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/Makefile.in 2012-03-04 09:33:36.000000000= -0800 >> -+++ gcc-4_6-branch/gcc/Makefile.in 2012-03-04 09:41:06.858672113 -080= 0 >> -@@ -587,6 +587,7 @@ >> - build_tooldir =3D $(exec_prefix)/$(target_noncanonical) >> - # Directory in which the compiler finds target-independent g++ inclu= des. >> - gcc_gxx_include_dir =3D @gcc_gxx_include_dir@ >> -+gcc_gxx_include_dir_add_sysroot =3D @gcc_gxx_include_dir_add_sysroot= @ >> - # Directory to search for site-specific includes. >> - local_includedir =3D $(local_prefix)/include >> - includedir =3D $(prefix)/include >> -@@ -3964,6 +3965,7 @@ >> - -DGCC_INCLUDE_DIR=3D\"$(libsubdir)/include\" \ >> - -DFIXED_INCLUDE_DIR=3D\"$(libsubdir)/include-fixed\" \ >> - -DGPLUSPLUS_INCLUDE_DIR=3D\"$(gcc_gxx_include_dir)\" \ >> -+ -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=3D$(gcc_gxx_include_dir_add_sy= sroot) \ >> - -DGPLUSPLUS_TOOL_INCLUDE_DIR=3D\"$(gcc_gxx_include_dir)/$(target_n= oncanonical)\" \ >> - -DGPLUSPLUS_BACKWARD_INCLUDE_DIR=3D\"$(gcc_gxx_include_dir)/backwa= rd\" \ >> - -DLOCAL_INCLUDE_DIR=3D\"$(local_includedir)\" \ >> -Index: gcc-4_6-branch/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure.ac 2012-03-04 09:33:36.00000000= 0 -0800 >> -+++ gcc-4_6-branch/gcc/configure.ac 2012-03-04 09:41:06.862671939 -08= 00 >> -@@ -144,6 +144,15 @@ >> - fi >> - fi >> - >> -+gcc_gxx_include_dir_add_sysroot=3D0 >> -+if test "${with_sysroot+set}" =3D set; then : >> -+ gcc_gxx_without_sysroot=3D`expr "${gcc_gxx_include_dir}" : "${with= _sysroot}"'\(.*\)'` >> -+ if test "${gcc_gxx_without_sysroot}"; then : >> -+ gcc_gxx_include_dir=3D"${gcc_gxx_without_sysroot}" >> -+ gcc_gxx_include_dir_add_sysroot=3D1 >> -+ fi >> -+fi >> -+ >> - AC_ARG_WITH(cpp_install_dir, >> - [ --with-cpp-install-dir=3DDIR >> - install the user visible C preprocessor in= DIR >> -@@ -4727,6 +4736,7 @@ >> - AC_SUBST(float_h_file) >> - AC_SUBST(gcc_config_arguments) >> - AC_SUBST(gcc_gxx_include_dir) >> -+AC_SUBST(gcc_gxx_include_dir_add_sysroot) >> - AC_SUBST(host_exeext) >> - AC_SUBST(host_xm_file_list) >> - AC_SUBST(host_xm_include_list) >> -Index: gcc-4_6-branch/gcc/cppdefault.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/cppdefault.c 2012-03-03 01:03:17.00000000= 0 -0800 >> -+++ gcc-4_6-branch/gcc/cppdefault.c 2012-03-04 09:41:06.862671939 -08= 00 >> -@@ -48,15 +48,18 @@ >> - =3D { >> - #ifdef GPLUSPLUS_INCLUDE_DIR >> - /* Pick up GNU C++ generic include files. */ >> -- { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, >> -+ { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1, >> -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, >> - #endif >> - #ifdef GPLUSPLUS_TOOL_INCLUDE_DIR >> - /* Pick up GNU C++ target-dependent include files. */ >> -- { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, 0, 1 }, >> -+ { GPLUSPLUS_TOOL_INCLUDE_DIR, "G++", 1, 1, >> -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 1 }, >> - #endif >> - #ifdef GPLUSPLUS_BACKWARD_INCLUDE_DIR >> - /* Pick up GNU C++ backward and deprecated include files. */ >> -- { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, 0, 0 }, >> -+ { GPLUSPLUS_BACKWARD_INCLUDE_DIR, "G++", 1, 1, >> -+ GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 }, >> - #endif >> - #ifdef GCC_INCLUDE_DIR >> - /* This is the dir for gcc's private headers. */ >> -Index: gcc-4_6-branch/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure 2012-03-04 09:33:36.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/configure 2012-03-04 09:41:12.462671816 -0800 >> -@@ -636,6 +636,7 @@ >> - host_xm_include_list >> - host_xm_file_list >> - host_exeext >> -+gcc_gxx_include_dir_add_sysroot >> - gcc_gxx_include_dir >> - gcc_config_arguments >> - float_h_file >> -@@ -3313,6 +3314,15 @@ >> - fi >> - fi >> - >> -+gcc_gxx_include_dir_add_sysroot=3D0 >> -+if test "${with_sysroot+set}" =3D set; then : >> -+ gcc_gxx_without_sysroot=3D`expr "${gcc_gxx_include_dir}" : "${with= _sysroot}"'\(.*\)'` >> -+ if test "${gcc_gxx_without_sysroot}"; then : >> -+ gcc_gxx_include_dir=3D"${gcc_gxx_without_sysroot}" >> -+ gcc_gxx_include_dir_add_sysroot=3D1 >> -+ fi >> -+fi >> -+ >> - >> - # Check whether --with-cpp_install_dir was given. >> - if test "${with_cpp_install_dir+set}" =3D set; then : >> -@@ -17504,7 +17514,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17507 "configure" >> -+#line 17517 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -17610,7 +17620,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17613 "configure" >> -+#line 17623 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -26141,6 +26151,7 @@ >> - >> - >> - >> -+ >> - >> - >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-nolibflo= at.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-nolibfloat.pa= tch >> deleted file mode 100644 >> index 59a9ec3..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-nolibfloat.patc= h >> +++ /dev/null >> @@ -1,26 +0,0 @@ >> -Upstream-Status: Pending >> - >> -# Dimitry Andric , 2004-05-01 >> -# >> -# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't= needed >> -# anymore. (The required functions are now in libgcc.) >> -# >> -# Fixes errors like >> -# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/b= in/ld: cannot find -lfloat >> -# collect2: ld returned 1 exit status >> -# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-g= libc/iconvdata/ISO8859-1.so] Error 1 >> -# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat >> - >> -Index: gcc-4.6.0/gcc/config/arm/linux-elf.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/config/arm/linux-elf.h >> -+++ gcc-4.6.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=3Dsoft*:-lf= loat} -lgcc" >> -+#define LIBGCC_SPEC "-lgcc" >> - >> - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2" >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-softfloa= t.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-softfloat.patc= h >> deleted file mode 100644 >> index 01bf80d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/arm-softfloat.patch= >> +++ /dev/null >> @@ -1,18 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/gcc/config/arm/t-linux >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/config/arm/t-linux >> -+++ gcc-4.6.0/gcc/config/arm/t-linux >> -@@ -23,7 +23,10 @@ TARGET_LIBGCC2_CFLAGS =3D -fomit-frame-poi >> - >> - LIB1ASMSRC =3D arm/lib1funcs.asm >> - LIB1ASMFUNCS =3D _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2= _clzdi2 \ >> -- _arm_addsubdf3 _arm_addsubsf3 >> -+ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixuns= dfsi \ >> -+ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \ >> -+ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatun= didf >> -+# _arm_addsubdf3 _arm_addsubsf3 >> - >> - # MULTILIB_OPTIONS =3D mhard-float/msoft-float >> - # MULTILIB_DIRNAMES =3D hard-float soft-float >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cache-amnesi= a.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cache-amnesia.patc= h >> deleted file mode 100644 >> index 72ead31..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cache-amnesia.patch= >> +++ /dev/null >> @@ -1,33 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> ---- >> - gcc/configure | 2 +- >> - gcc/configure.ac | 2 +- >> - 2 files changed, 2 insertions(+), 2 deletions(-) >> - >> -Index: gcc-4.6.0/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure >> -+++ gcc-4.6.0/gcc/configure >> -@@ -10898,7 +10898,7 @@ else >> - saved_CFLAGS=3D"${CFLAGS}" >> - CC=3D"${CC_FOR_BUILD}" CFLAGS=3D"${CFLAGS_FOR_BUILD}" \ >> - LDFLAGS=3D"${LDFLAGS_FOR_BUILD}" \ >> -- ${realsrcdir}/configure \ >> -+ CONFIG_SITE=3D ${realsrcdir}/configure --cache-file=3D./other.cache= \ >> - --enable-languages=3D${enable_languages-all} \ >> - --target=3D$target_alias --host=3D$build_alias --build=3D$build_al= ias >> - CFLAGS=3D"${saved_CFLAGS}" >> -Index: gcc-4.6.0/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure.ac >> -+++ gcc-4.6.0/gcc/configure.ac >> -@@ -1435,7 +1435,7 @@ else >> - saved_CFLAGS=3D"${CFLAGS}" >> - CC=3D"${CC_FOR_BUILD}" CFLAGS=3D"${CFLAGS_FOR_BUILD}" \ >> - LDFLAGS=3D"${LDFLAGS_FOR_BUILD}" \ >> -- ${realsrcdir}/configure \ >> -+ CONFIG_SITE=3D ${realsrcdir}/configure --cache-file=3D./other.cache= \ >> - --enable-languages=3D${enable_languages-all} \ >> - --target=3D$target_alias --host=3D$build_alias --build=3D$build_al= ias >> - CFLAGS=3D"${saved_CFLAGS}" >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cpp-honour-s= ysroot.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cpp-honour-sy= sroot.patch >> deleted file mode 100644 >> index 7310677..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/cpp-honour-sysroot.= patch >> +++ /dev/null >> @@ -1,40 +0,0 @@ >> -Currently, if the gcc toolchain is relocated and installed from sstat= e, then you try and compile >> -preprocessed source (.i or .ii files), the compiler will try and acce= ss the builtin sysroot location >> -rather than the --sysroot option specified on the commandline. If acc= ess to that directory is >> -permission denied (unreadable), gcc will error. >> - >> -This happens when ccache is in use due to the fact it uses preprocess= ed source files. >> - >> -The fix below adds %I to the cpp-output spec macro so the default sub= stitutions for -iprefix, >> --isystem, -isysroot happen and the correct sysroot is used. >> - >> -[YOCTO #2074] >> - >> -Upstream-Status: Pending >> - >> -RP 2012/04/13 >> - >> -Index: gcc-4_6-branch/gcc/gcc.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/gcc.c 2012-04-13 12:24:37.939671140 +0000= >> -+++ gcc-4_6-branch/gcc/gcc.c 2012-04-13 12:24:54.439670688 +0000 >> -@@ -953,7 +953,7 @@ >> - %W{o*:--output-pch=3D%*}}%V}}}}}}", 0, 0, 0}, >> - {".i", "@cpp-output", 0, 0, 0}, >> - {"@cpp-output", >> -- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-= only:%(invoke_as)}}}}", 0, 0, 0}, >> -+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsynt= ax-only:%(invoke_as)}}}}", 0, 0, 0}, >> - {".s", "@assembler", 0, 0, 0}, >> - {"@assembler", >> - "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}",= 0, 0, 0}, >> -Index: gcc-4_6-branch/gcc/cp/lang-specs.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/cp/lang-specs.h 2012-04-13 12:25:01.01967= 0594 +0000 >> -+++ gcc-4_6-branch/gcc/cp/lang-specs.h 2012-04-13 12:25:07.567670180 = +0000 >> -@@ -64,5 +64,5 @@ >> - {".ii", "@c++-cpp-output", 0, 0, 0}, >> - {"@c++-cpp-output", >> - "%{!M:%{!MM:%{!E:\ >> -- cc1plus -fpreprocessed %i %(cc1_options) %2\ >> -+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\ >> - %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0}, >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/disable_rela= x_pic_calls_flag.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/dis= able_relax_pic_calls_flag.patch >> deleted file mode 100644 >> index 22c106d..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/disable_relax_pic_c= alls_flag.patch >> +++ /dev/null >> @@ -1,48 +0,0 @@ >> -Upstream-Status: Inappropriate [configuration] >> - >> -GCC: disable MASK_RELAX_PIC_CALLS bit >> - >> -The new feature added after 4.3.3 >> -"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjal= r.html" >> -will cause cc1plus eat up all the system memory when build webkit-gtk= =2E >> -The function mips_get_pic_call_symbol keeps on recursively calling it= self. >> -Disable this feature to walk aside the bug. >> - >> -Signed-off-by: Dongxiao Xu >> - >> -Index: gcc-4.6.0/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure >> -+++ gcc-4.6.0/gcc/configure >> -@@ -24887,13 +24887,6 @@ $as_echo_n "checking assembler and linke >> - rm -f conftest.* >> - fi >> - fi >> -- if test $gcc_cv_as_ld_jalr_reloc =3D yes; then >> -- if test x$target_cpu_default =3D x; then >> -- target_cpu_default=3DMASK_RELAX_PIC_CALLS >> -- else >> -- target_cpu_default=3D"($target_cpu_default)|MASK_RELAX_PIC_C= ALLS" >> -- fi >> -- fi >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_j= alr_reloc" >&5 >> - $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } >> - >> -Index: gcc-4.6.0/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/configure.ac >> -+++ gcc-4.6.0/gcc/configure.ac >> -@@ -3764,13 +3764,6 @@ x: >> - rm -f conftest.* >> - fi >> - fi >> -- if test $gcc_cv_as_ld_jalr_reloc =3D yes; then >> -- if test x$target_cpu_default =3D x; then >> -- target_cpu_default=3DMASK_RELAX_PIC_CALLS >> -- else >> -- target_cpu_default=3D"($target_cpu_default)|MASK_RELAX_PIC_C= ALLS" >> -- fi >> -- fi >> - AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) >> - >> - AC_CACHE_CHECK([linker for .eh_frame personality relaxation], >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fix-for-ice-= 50099.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fix-for-ice-50= 099.patch >> deleted file mode 100644 >> index 57b03d2..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fix-for-ice-50099.p= atch >> +++ /dev/null >> @@ -1,49 +0,0 @@ >> - >> -This patch address an issue with the compiler generating an ICE >> -during compliation of lttng-ust. >> - >> -http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D50099 >> - >> -Upstream-Status: Pending >> - >> -Signed-off-by: Khem Raj >> -Signed-off-by: Saul Wold >> - >> -Index: gcc/config/arm/arm.md >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0/gcc/config/arm/arm.md (revision 178135) >> -+++ gcc-4.6.0/gcc/config/arm/arm.md (working copy) >> -@@ -4217,6 +4217,7 @@ (define_split >> - "TARGET_32BIT" >> - [(set (match_dup 0) (ashiftrt:SI (match_dup 1) (const_int 31)))] >> - { >> -+ rtx srcop =3D operands[1]; >> - rtx lo_part =3D gen_lowpart (SImode, operands[0]); >> - enum machine_mode src_mode =3D GET_MODE (operands[1]); >> - >> -@@ -4224,14 +4225,21 @@ (define_split >> - && !reg_overlap_mentioned_p (operands[0], operands[1])) >> - emit_clobber (operands[0]); >> - >> -+ if (TARGET_ARM && src_mode =3D=3D QImode >> -+ && !arm_reg_or_extendqisi_mem_op (srcop, QImode)) >> -+ { >> -+ rtx dest =3D gen_lowpart (QImode, lo_part); >> -+ emit_move_insn (dest, srcop); >> -+ srcop =3D dest; >> -+ } >> - if (!REG_P (lo_part) || src_mode !=3D SImode >> -- || !rtx_equal_p (lo_part, operands[1])) >> -+ || !rtx_equal_p (lo_part, srcop)) >> - { >> - if (src_mode =3D=3D SImode) >> -- emit_move_insn (lo_part, operands[1]); >> -+ emit_move_insn (lo_part, srcop); >> - else >> - emit_insn (gen_rtx_SET (VOIDmode, lo_part, >> -- gen_rtx_SIGN_EXTEND (SImode, operands[1]))); >> -+ gen_rtx_SIGN_EXTEND (SImode, srcop))); >> - operands[1] =3D lo_part; >> - } >> - operands[0] =3D gen_highpart (SImode, operands[0]); >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fortran-cros= s-compile-hack.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fortr= an-cross-compile-hack.patch >> deleted file mode 100644 >> index 5a89559..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/fortran-cross-compi= le-hack.patch >> +++ /dev/null >> @@ -1,32 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -* Fortran would have searched for arm-angstrom-gnueabi-gfortran but w= ould have used >> - used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler= from our cross >> - directory. >> - >> -Index: gcc-4.5+svnr155514/libgfortran/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.5+svnr155514.orig/libgfortran/configure 2009-12-29 22:02:01= =2E000000000 -0800 >> -+++ gcc-4.5+svnr155514/libgfortran/configure 2009-12-30 08:12:40.8890= 91657 -0800 >> -@@ -11655,7 +11655,7 @@ CC=3D"$lt_save_CC" >> - >> - # We need gfortran to compile parts of the library >> - #AC_PROG_FC(gfortran) >> --FC=3D"$GFORTRAN" >> -+#FC=3D"$GFORTRAN" >> - ac_ext=3D${ac_fc_srcext-f} >> - ac_compile=3D'$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&= 5' >> - ac_link=3D'$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_s= rcext conftest.$ac_ext $LIBS >&5' >> -Index: gcc-4.5+svnr155514/libgfortran/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.5+svnr155514.orig/libgfortran/configure.ac 2009-12-29 22:02= :01.000000000 -0800 >> -+++ gcc-4.5+svnr155514/libgfortran/configure.ac 2009-12-30 08:12:13.4= 53094218 -0800 >> -@@ -187,7 +187,7 @@ AC_SUBST(enable_static) >> - >> - # We need gfortran to compile parts of the library >> - #AC_PROG_FC(gfortran) >> --FC=3D"$GFORTRAN" >> -+#FC=3D"$GFORTRAN" >> - AC_PROG_FC(gfortran) >> - >> - # extra LD Flags which are required for targets >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.3.1-AR= CH_FLAGS_FOR_TARGET.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/= gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch >> deleted file mode 100644 >> index ce82740..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.3.1-ARCH_FLAG= S_FOR_TARGET.patch >> +++ /dev/null >> @@ -1,33 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> ---- >> - configure | 2 +- >> - configure.ac | 2 +- >> - 2 files changed, 2 insertions(+), 2 deletions(-) >> - >> -Index: gcc-4.6.0/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/configure.ac >> -+++ gcc-4.6.0/configure.ac >> -@@ -3073,7 +3073,7 @@ fi >> - # for target_alias and gcc doesn't manage it consistently. >> - target_configargs=3D"--cache-file=3D./config.cache ${target_configar= gs}" >> - >> --FLAGS_FOR_TARGET=3D >> -+FLAGS_FOR_TARGET=3D"$ARCH_FLAGS_FOR_TARGET" >> - case " $target_configdirs " in >> - *" newlib "*) >> - case " $target_configargs " in >> -Index: gcc-4.6.0/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/configure >> -+++ gcc-4.6.0/configure >> -@@ -7594,7 +7594,7 @@ fi >> - # for target_alias and gcc doesn't manage it consistently. >> - target_configargs=3D"--cache-file=3D./config.cache ${target_configar= gs}" >> - >> --FLAGS_FOR_TARGET=3D >> -+FLAGS_FOR_TARGET=3D"$ARCH_FLAGS_FOR_TARGET" >> - case " $target_configdirs " in >> - *" newlib "*) >> - case " $target_configargs " in >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.3.3-SY= SROOT_CFLAGS_FOR_TARGET.patch b/toolchain-layer/recipes-devtools/gcc/gcc-= 4.6/gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch >> deleted file mode 100644 >> index 6d02f71..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-4.3.3-SYSROOT_C= FLAGS_FOR_TARGET.patch >> +++ /dev/null >> @@ -1,116 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Before committing, I noticed that PR/32161 was marked as a dup of PR/= 32009, but my previous patch did not fix it. >> - >> -This alternative patch is better because it lets you just use CFLAGS_= FOR_TARGET to set the compilation flags for libgcc. Since bootstrapped ta= rget libraries are never compiled with the native compiler, it makes litt= le sense to use different flags for stage1 and later stages. And it also = makes little sense to use a different variable than CFLAGS_FOR_TARGET. >> - >> -Other changes I had to do include: >> - >> -- moving the creation of default CFLAGS_FOR_TARGET from Makefile.am t= o configure.ac, because otherwise the BOOT_CFLAGS are substituted into CF= LAGS_FOR_TARGET (which is "-O2 -g $(CFLAGS)") via $(CFLAGS). It is also c= leaner this way though. >> - >> -- passing the right CFLAGS to configure scripts as exported environme= nt variables >> - >> -I also stopped passing LIBCFLAGS to configure scripts since they are = unused in the whole src tree. And I updated the documentation as H-P remi= nded me to do. >> - >> -Bootstrapped/regtested i686-pc-linux-gnu, will commit to 4.4 shortly.= Ok for 4.3? >> - >> -Paolo >> - >> -2008-02-19 Paolo Bonzini >> - >> - PR bootstrap/32009 >> - PR bootstrap/32161 >> - >> - * configure.ac (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Compute her= e. >> - * configure: Regenerate. >> - >> - * Makefile.def: Define stage_libcflags for all bootstrap stages. >> - * Makefile.tpl (BOOT_LIBCFLAGS, STAGE2_LIBCFLAGS, STAGE3_LIBCFLAGS, >> - STAGE4_LIBCFLAGS): New. >> - (CFLAGS_FOR_TARGET, CXXFLAGS_FOR_TARGET): Subst from autoconf, witho= ut >> - $(SYSROOT_CFLAGS_FOR_TARGET) and $(DEBUG_PREFIX_CFLAGS_FOR_TARGET). >> - (BASE_TARGET_EXPORTS): Append them here to C{,XX}FLAGS. >> - (EXTRA_TARGET_FLAGS): Append them here to {LIB,}C{,XX}FLAGS. >> - (configure-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags >> - for target modules. Don't export LIBCFLAGS. >> - (all-stage[+id+]-[+prefix+][+module+]): Pass stage_libcflags; pass >> - $(BASE_FLAGS_TO_PASS) where [+args+] was passed, and [+args+] after >> - the overridden CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. >> - (invocations of `all'): Replace $(TARGET_FLAGS_TO_PASS) with >> - $(EXTRA_TARGET_FLAGS), $(FLAGS_TO_PASS) with $(EXTRA_HOST_FLAGS). >> - * Makefile.in: Regenerate. >> - >> -config: >> -2008-02-19 Paolo Bonzini >> - >> - PR bootstrap/32009 >> - * mh-ppc-darwin (BOOT_CFLAGS): Reenable. >> - >> -gcc: >> -2008-02-19 Paolo Bonzini >> - >> - PR bootstrap/32009 >> - * doc/install.texi: Correct references to CFLAGS, replacing them >> - with BOOT_CFLAGS. Document flags used during bootstrap for >> - target libraries. >> - >> - >> ---- >> - Makefile.def | 25 >> - Makefile.in | 1845 ++++++++++++++++++++++++++++++--------= ----------- >> - Makefile.tpl | 91 +- >> - config/mh-ppc-darwin | 3 >> - configure | 36 >> - configure.ac | 32 >> - gcc/Makefile.in | 2 >> - gcc/configure | 6 >> - gcc/configure.ac | 3 >> - gcc/doc/install.texi | 56 - >> - libiberty/Makefile.in | 162 ++-- >> - libiberty/configure | 46 - >> - libiberty/configure.ac | 43 - >> - 13 files changed, 1454 insertions(+), 896 deletions(-) >> - >> -Index: gcc-4.6.0/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/configure >> -+++ gcc-4.6.0/configure >> -@@ -6785,6 +6785,38 @@ if test "x$CXXFLAGS_FOR_TARGET" =3D x; the >> - fi >> - >> - >> -+# During gcc bootstrap, if we use some random cc for stage1 then CFL= AGS >> -+# might be empty or "-g". We don't require a C++ compiler, so CXXFL= AGS >> -+# might also be empty (or "-g", if a non-GCC C++ compiler is in the = path). >> -+# We want to ensure that TARGET libraries (which we know are built w= ith >> -+# gcc) are built with "-O2 -g", so include those options when settin= g >> -+# CFLAGS_FOR_TARGET and CXXFLAGS_FOR_TARGET. >> -+if test "x$CFLAGS_FOR_TARGET" =3D x; then >> -+ CFLAGS_FOR_TARGET=3D$CFLAGS >> -+ case " $CFLAGS " in >> -+ *" -O2 "*) ;; >> -+ *) CFLAGS_FOR_TARGET=3D"-O2 $CFLAGS" ;; >> -+ esac >> -+ case " $CFLAGS " in >> -+ *" -g "* | *" -g3 "*) ;; >> -+ *) CFLAGS_FOR_TARGET=3D"-g $CFLAGS" ;; >> -+ esac >> -+fi >> -+ >> -+ >> -+if test "x$CXXFLAGS_FOR_TARGET" =3D x; then >> -+ CXXFLAGS_FOR_TARGET=3D$CXXFLAGS >> -+ case " $CXXFLAGS " in >> -+ *" -O2 "*) ;; >> -+ *) CXXFLAGS_FOR_TARGET=3D"-O2 $CXXFLAGS" ;; >> -+ esac >> -+ case " $CXXFLAGS " in >> -+ *" -g "* | *" -g3 "*) ;; >> -+ *) CXXFLAGS_FOR_TARGET=3D"-g $CXXFLAGS" ;; >> -+ esac >> -+fi >> -+ >> -+ >> - # Handle --with-headers=3DXXX. If the value is not "yes", the conte= nts of >> - # the named directory are copied to $(tooldir)/sys-include. >> - if test x"${with_headers}" !=3D x && test x"${with_headers}" !=3D xn= o ; then >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-argument= -list-too-long.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-a= rgument-list-too-long.patch >> deleted file mode 100644 >> index 70d3c53..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-argument-list-t= oo-long.patch >> +++ /dev/null >> @@ -1,33 +0,0 @@ >> -There would be an "Argument list too long" error when the >> -build directory is longer than 200, this is caused by: >> - >> -headers=3D`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u` >> - >> -The PLUGIN_HEADERS is too long before sort, so the "echo" can't handl= e >> -it, use the $(sort list) of GNU make which can handle the too long li= st >> -would fix the problem, the header would be short enough after sorted.= >> -The "tr ' ' '\012'" was used for translating the space to "\n", the >> -$(sort list) doesn't need this. >> - >> -Signed-off-by: Robert Yang >> - >> -Upstream-Status: Pending >> ---- >> - gcc/Makefile.in | 2 +- >> - 1 file changed, 1 insertion(+), 1 deletion(-) >> - >> -diff --git a/gcc/Makefile.in b/gcc/Makefile.in >> ---- a/gcc/Makefile.in >> -+++ b/gcc/Makefile.in >> -@@ -4553,7 +4553,7 @@ install-plugin: installdirs lang.install-plugin= s-header-vars install-gengtype >> - # We keep the directory structure for files in config or c-family an= d .def >> - # files. All other files are flattened to a single directory. >> - $(mkinstalldirs) $(DESTDIR)$(plugin_includedir) >> -- headers=3D`echo $(PLUGIN_HEADERS) | tr ' ' '\012' | sort -u`; \ >> -+ headers=3D"$(sort $(PLUGIN_HEADERS))"; \ >> - srcdirstrip=3D`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`; \ >> - for file in $$headers; do \ >> - if [ -f $$file ] ; then \ >> --- >> -1.7.10.2 >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-= cost.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cos= t.patch >> deleted file mode 100644 >> index 4419a20..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-arm-set-cost.pa= tch >> +++ /dev/null >> @@ -1,35 +0,0 @@ >> -Upstream-Status:Backport >> -2011-08-18 Richard Sandiford >> - >> - gcc/ >> - Backport from mainline: >> - >> - 2011-08-18 Richard Sandiford >> - >> - * config/arm/arm.c (arm_rtx_costs_1): Don't modify the costs of SET.= >> - (arm_size_rtx_costs): Likewise. >> - >> -=3D=3D=3D modified file 'gcc/config/arm/arm.c' >> ---- old/gcc/config/arm/arm.c 2011-08-12 08:08:31 +0000 >> -+++ new/gcc/config/arm/arm.c 2011-08-18 13:53:37 +0000 >> -@@ -7464,6 +7464,9 @@ >> - *total =3D COSTS_N_INSNS (4); >> - return true; >> - >> -+ case SET: >> -+ return false; >> -+ >> - default: >> - *total =3D COSTS_N_INSNS (4); >> - return false; >> -@@ -7811,6 +7814,9 @@ >> - *total =3D COSTS_N_INSNS (1) + 1; >> - return true; >> - >> -+ case SET: >> -+ return false; >> -+ >> - default: >> - if (mode !=3D VOIDmode) >> - *total =3D COSTS_N_INSNS (ARM_NUM_REGS (mode)); >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-flags-fo= r-build.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-flags-fo= r-build.patch >> deleted file mode 100644 >> index 5eaeb05..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-flags-for-build= =2Epatch >> +++ /dev/null >> @@ -1,189 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4_6-branch/Makefile.def >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/Makefile.def 2012-03-03 01:08:03.000000000 -0= 800 >> -+++ gcc-4_6-branch/Makefile.def 2012-03-04 09:19:02.430607447 -0800 >> -@@ -242,6 +242,7 @@ >> - flags_to_pass =3D { flag=3D BISON ; }; >> - flags_to_pass =3D { flag=3D CC_FOR_BUILD ; }; >> - flags_to_pass =3D { flag=3D CFLAGS_FOR_BUILD ; }; >> -+flags_to_pass =3D { flag=3D CPPFLAGS_FOR_BUILD ; }; >> - flags_to_pass =3D { flag=3D CXX_FOR_BUILD ; }; >> - flags_to_pass =3D { flag=3D EXPECT ; }; >> - flags_to_pass =3D { flag=3D FLEX ; }; >> -Index: gcc-4_6-branch/gcc/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/Makefile.in 2012-03-03 01:03:17.000000000= -0800 >> -+++ gcc-4_6-branch/gcc/Makefile.in 2012-03-04 09:19:02.430607447 -080= 0 >> -@@ -770,7 +770,7 @@ >> - >> - # Native linker and preprocessor flags. For x-fragment overrides. >> - BUILD_LDFLAGS=3D@BUILD_LDFLAGS@ >> --BUILD_CPPFLAGS=3D$(ALL_CPPFLAGS) >> -+BUILD_CPPFLAGS=3D$(INCLUDES) @BUILD_CPPFLAGS@ $(X_CPPFLAGS) >> - >> - # Actual name to use when installing a native compiler. >> - GCC_INSTALL_NAME :=3D $(shell echo gcc|sed '$(program_transform_name= )') >> -Index: gcc-4_6-branch/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure.ac 2012-03-03 01:17:45.00000000= 0 -0800 >> -+++ gcc-4_6-branch/gcc/configure.ac 2012-03-04 09:19:02.430607447 -08= 00 >> -@@ -1774,16 +1774,18 @@ >> - # Also, we cannot run fixincludes. >> - >> - # These are the normal (build=3Dhost) settings: >> --CC_FOR_BUILD=3D'$(CC)' AC_SUBST(CC_FOR_BUILD) >> --BUILD_CFLAGS=3D'$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS) >> --BUILD_LDFLAGS=3D'$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) >> --STMP_FIXINC=3Dstmp-fixinc AC_SUBST(STMP_FIXINC) >> -+CC_FOR_BUILD=3D'$(CC)' AC_SUBST(CC_FOR_BUILD) >> -+BUILD_CFLAGS=3D'$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS) >> -+BUILD_LDFLAGS=3D'$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) >> -+BUILD_CPPFLAGS=3D'$(ALL_CPPFLAGS)' AC_SUBST(BUILD_CPPFLAGS) >> -+STMP_FIXINC=3Dstmp-fixinc AC_SUBST(STMP_FIXINC) >> - >> - # And these apply if build !=3D host, or we are generating coverage = data >> - if test x$build !=3D x$host || test "x$coverage_flags" !=3D x >> - then >> - BUILD_CFLAGS=3D'$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUIL= D)' >> - BUILD_LDFLAGS=3D'$(LDFLAGS_FOR_BUILD)' >> -+ BUILD_CPPFLAGS=3D'$(CPPFLAGS_FOR_BUILD)' >> - fi >> - >> - # Expand extra_headers to include complete path. >> -Index: gcc-4_6-branch/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/Makefile.in 2012-03-03 01:08:03.000000000 -08= 00 >> -+++ gcc-4_6-branch/Makefile.in 2012-03-04 09:19:02.446607448 -0800 >> -@@ -338,6 +338,7 @@ >> - AS_FOR_BUILD =3D @AS_FOR_BUILD@ >> - CC_FOR_BUILD =3D @CC_FOR_BUILD@ >> - CFLAGS_FOR_BUILD =3D @CFLAGS_FOR_BUILD@ >> -+CPPFLAGS_FOR_BUILD =3D @CPPFLAGS_FOR_BUILD@ >> - CXXFLAGS_FOR_BUILD =3D @CXXFLAGS_FOR_BUILD@ >> - CXX_FOR_BUILD =3D @CXX_FOR_BUILD@ >> - DLLTOOL_FOR_BUILD =3D @DLLTOOL_FOR_BUILD@ >> -@@ -691,6 +692,7 @@ >> - "BISON=3D$(BISON)" \ >> - "CC_FOR_BUILD=3D$(CC_FOR_BUILD)" \ >> - "CFLAGS_FOR_BUILD=3D$(CFLAGS_FOR_BUILD)" \ >> -+ "CPPFLAGS_FOR_BUILD=3D$(CPPFLAGS_FOR_BUILD)" \ >> - "CXX_FOR_BUILD=3D$(CXX_FOR_BUILD)" \ >> - "EXPECT=3D$(EXPECT)" \ >> - "FLEX=3D$(FLEX)" \ >> -Index: gcc-4_6-branch/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure 2012-03-03 01:17:45.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/configure 2012-03-04 09:19:15.638608087 -0800 >> -@@ -703,6 +703,7 @@ >> - LIBTOOL >> - collect2 >> - STMP_FIXINC >> -+BUILD_CPPFLAGS >> - BUILD_LDFLAGS >> - BUILD_CFLAGS >> - CC_FOR_BUILD >> -@@ -4842,7 +4843,7 @@ >> - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $acx_cv_cc_gcc_supp= orts_ada" >&5 >> - $as_echo "$acx_cv_cc_gcc_supports_ada" >&6; } >> - >> --if test x$GNATBIND !=3D xno && test x$GNATMAKE !=3D xno && test x$ac= x_cv_cc_gcc_supports_ada !=3D xno; then >> -+if test "x$GNATBIND" !=3D xno && test "x$GNATMAKE" !=3D xno && test = x$acx_cv_cc_gcc_supports_ada !=3D xno; then >> - have_gnat=3Dyes >> - else >> - have_gnat=3Dno >> -@@ -11372,6 +11373,7 @@ >> - CC_FOR_BUILD=3D'$(CC)' >> - BUILD_CFLAGS=3D'$(ALL_CFLAGS)' >> - BUILD_LDFLAGS=3D'$(LDFLAGS)' >> -+BUILD_CPPFLAGS=3D'$(ALL_CPPFLAGS)' >> - STMP_FIXINC=3Dstmp-fixinc >> - >> - # And these apply if build !=3D host, or we are generating coverage = data >> -@@ -11379,6 +11381,7 @@ >> - then >> - BUILD_CFLAGS=3D'$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUIL= D)' >> - BUILD_LDFLAGS=3D'$(LDFLAGS_FOR_BUILD)' >> -+ BUILD_CPPFLAGS=3D'$(CPPFLAGS_FOR_BUILD)' >> - fi >> - >> - # Expand extra_headers to include complete path. >> -@@ -17495,7 +17498,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17498 "configure" >> -+#line 17501 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -17601,7 +17604,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17604 "configure" >> -+#line 17607 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -Index: gcc-4_6-branch/Makefile.tpl >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/Makefile.tpl 2012-03-03 01:08:03.000000000 -0= 800 >> -+++ gcc-4_6-branch/Makefile.tpl 2012-03-04 09:19:02.454607448 -0800 >> -@@ -341,6 +341,7 @@ >> - AS_FOR_BUILD =3D @AS_FOR_BUILD@ >> - CC_FOR_BUILD =3D @CC_FOR_BUILD@ >> - CFLAGS_FOR_BUILD =3D @CFLAGS_FOR_BUILD@ >> -+CPPFLAGS_FOR_BUILD =3D @CPPFLAGS_FOR_BUILD@ >> - CXXFLAGS_FOR_BUILD =3D @CXXFLAGS_FOR_BUILD@ >> - CXX_FOR_BUILD =3D @CXX_FOR_BUILD@ >> - DLLTOOL_FOR_BUILD =3D @DLLTOOL_FOR_BUILD@ >> -Index: gcc-4_6-branch/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/configure.ac 2012-03-03 01:17:45.000000000 -0= 800 >> -+++ gcc-4_6-branch/configure.ac 2012-03-04 09:19:02.454607448 -0800 >> -@@ -3123,6 +3123,7 @@ >> - # our build compiler if desired. >> - if test x"${build}" =3D x"${host}" ; then >> - CFLAGS_FOR_BUILD=3D${CFLAGS_FOR_BUILD-${CFLAGS}} >> -+ CPPFLAGS_FOR_BUILD=3D${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} >> - CXXFLAGS_FOR_BUILD=3D${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} >> - LDFLAGS_FOR_BUILD=3D${LDFLAGS_FOR_BUILD-${LDFLAGS}} >> - fi >> -@@ -3189,6 +3190,7 @@ >> - AC_SUBST(AS_FOR_BUILD) >> - AC_SUBST(CC_FOR_BUILD) >> - AC_SUBST(CFLAGS_FOR_BUILD) >> -+AC_SUBST(CPPFLAGS_FOR_BUILD) >> - AC_SUBST(CXXFLAGS_FOR_BUILD) >> - AC_SUBST(CXX_FOR_BUILD) >> - AC_SUBST(DLLTOOL_FOR_BUILD) >> -Index: gcc-4_6-branch/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/configure 2012-03-03 01:17:45.000000000 -0800= >> -+++ gcc-4_6-branch/configure 2012-03-04 09:19:02.458607448 -0800 >> -@@ -617,6 +617,7 @@ >> - DLLTOOL_FOR_BUILD >> - CXX_FOR_BUILD >> - CXXFLAGS_FOR_BUILD >> -+CPPFLAGS_FOR_BUILD >> - CFLAGS_FOR_BUILD >> - CC_FOR_BUILD >> - AS_FOR_BUILD >> -@@ -7644,6 +7645,7 @@ >> - # our build compiler if desired. >> - if test x"${build}" =3D x"${host}" ; then >> - CFLAGS_FOR_BUILD=3D${CFLAGS_FOR_BUILD-${CFLAGS}} >> -+ CPPFLAGS_FOR_BUILD=3D${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} >> - CXXFLAGS_FOR_BUILD=3D${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} >> - LDFLAGS_FOR_BUILD=3D${LDFLAGS_FOR_BUILD-${LDFLAGS}} >> - fi >> -@@ -7709,6 +7711,7 @@ >> - >> - >> - >> -+ >> - >> - >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-poison-d= ir-extend.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-poison= -dir-extend.patch >> deleted file mode 100644 >> index 35170e2..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-poison-dir-exte= nd.patch >> +++ /dev/null >> @@ -1,27 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Add /sw/include and /opt/include based on the original >> -zecke-no-host-includes.patch patch. The original patch checked for >> -/usr/include, /sw/include and /opt/include and then triggered a failu= re and >> -aborted. >> - >> -Instead, we add the two missing items to the current scan. If the us= er >> -wants this to be a failure, they can add "-Werror=3Dpoison-system-dir= ectories". >> - >> -Signed-off-by: Mark Hatle >> - >> -Index: gcc-4.6.0/gcc/incpath.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/incpath.c >> -+++ gcc-4.6.0/gcc/incpath.c >> -@@ -363,7 +363,9 @@ merge_include_chains (const char *sysroo >> - { >> - if ((!strncmp (p->name, "/usr/include", 12)) >> - || (!strncmp (p->name, "/usr/local/include", 18)) >> -- || (!strncmp (p->name, "/usr/X11R6/include", 18))) >> -+ || (!strncmp (p->name, "/usr/X11R6/include", 18)) >> -+ || (!strncmp (p->name, "/sw/include", 11)) >> -+ || (!strncmp (p->name, "/opt/include", 12))) >> - warning (OPT_Wpoison_system_directories, >> - "include location \"%s\" is unsafe for " >> - "cross-compilation", >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-poison-s= ystem-directories.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gc= c-poison-system-directories.patch >> deleted file mode 100644 >> index a44e86c..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-poison-system-d= irectories.patch >> +++ /dev/null >> @@ -1,223 +0,0 @@ >> -Upstream-Status: Inappropriate [distribution: codesourcery] >> - >> - gcc/ >> - 2008-07-02 Joseph Myers >> - * c-incpath.c: Include toplev.h. >> - (merge_include_chains): Use warning instead of cpp_error for >> - system directory poisoning diagnostic. >> - * Makefile.in (c-incpath.o): Depend on toplev.h. >> - * gcc.c (LINK_COMMAND_SPEC): Pass >> - --error-poison-system-directories if >> - -Werror=3Dpoison-system-directories. >> - >> - 2007-06-13 Joseph Myers >> - * common.opt (--Wno-poison-system-directories): New. >> - * doc/invoke.texi (-Wno-poison-system-directories): Document. >> - * c-incpath.c: Include flags.h. >> - (merge_include_chains): Check flag_poison_system_directories. >> - * gcc.c (LINK_COMMAND_SPEC): Pass --no-poison-system-directori= es >> - to linker if -Wno-poison-system-directories. >> - * Makefile.in (c-incpath.o): Depend on $(FLAGS_H). >> - >> - 2007-03-20 Daniel Jacobowitz >> - Joseph Myers >> - * configure.ac (--enable-poison-system-directories): New optio= n. >> - * configure, config.in: Regenerate. >> - * c-incpath.c (merge_include_chains): If >> - ENABLE_POISON_SYSTEM_DIRECTORIES defined, warn for use of >> - /usr/include, /usr/local/include or /usr/X11R6/include. >> - >> -Index: gcc-4_6-branch/gcc/common.opt >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/common.opt 2012-03-03 01:03:17.000000000 = -0800 >> -+++ gcc-4_6-branch/gcc/common.opt 2012-03-04 09:24:54.410624483 -0800= >> -@@ -567,6 +567,10 @@ >> - Common Var(warn_padded) Warning >> - Warn when padding is required to align structure members >> - >> -+Wpoison-system-directories >> -+Common Var(flag_poison_system_directories) Init(1) Warning >> -+Warn for -I and -L options using system directories if cross compili= ng >> -+ >> - Wshadow >> - Common Var(warn_shadow) Warning >> - Warn when one local variable shadows another >> -Index: gcc-4_6-branch/gcc/config.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config.in 2012-03-03 01:03:17.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/config.in 2012-03-04 09:24:54.410624483 -0800 >> -@@ -144,6 +144,12 @@ >> - #endif >> - >> - >> -+/* Define to warn for use of native system header directories */ >> -+#ifndef USED_FOR_TARGET >> -+#undef ENABLE_POISON_SYSTEM_DIRECTORIES >> -+#endif >> -+ >> -+ >> - /* Define if you want all operations on RTL (the basic data structur= e of the >> - optimizer and back end) to be checked for dynamic type safety at = runtime. >> - This is quite expensive. */ >> -Index: gcc-4_6-branch/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure.ac 2012-03-04 09:22:07.00000000= 0 -0800 >> -+++ gcc-4_6-branch/gcc/configure.ac 2012-03-04 09:24:54.410624483 -08= 00 >> -@@ -4692,6 +4692,16 @@ >> - fi) >> - AC_SUBST(slibdir) >> - >> -+AC_ARG_ENABLE([poison-system-directories], >> -+ AS_HELP_STRING([--enable-poison-system-directories], >> -+ [warn for use of native system header di= rectories]),, >> -+ [enable_poison_system_directories=3Dno]) >> -+if test "x${enable_poison_system_directories}" =3D "xyes"; then >> -+ AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES], >> -+ [1], >> -+ [Define to warn for use of native system header directori= es]) >> -+fi >> -+ >> - # Substitute configuration variables >> - AC_SUBST(subdirs) >> - AC_SUBST(srcdir) >> -Index: gcc-4_6-branch/gcc/doc/invoke.texi >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/doc/invoke.texi 2012-03-03 00:46:39.00000= 0000 -0800 >> -+++ gcc-4_6-branch/gcc/doc/invoke.texi 2012-03-04 09:24:54.414624482 = -0800 >> -@@ -257,6 +257,7 @@ >> - -Woverlength-strings -Wpacked -Wpacked-bitfield-compat -Wpadded @= gol >> - -Wparentheses -Wpedantic-ms-format -Wno-pedantic-ms-format @gol >> - -Wpointer-arith -Wno-pointer-to-int-cast @gol >> -+-Wno-poison-system-directories @gol >> - -Wredundant-decls @gol >> - -Wreturn-type -Wsequence-point -Wshadow @gol >> - -Wsign-compare -Wsign-conversion -Wstack-protector @gol >> -@@ -3782,6 +3783,14 @@ >> - for most targets, it is made up of code and thus requires the stack= >> - to be made executable in order for the program to work properly. >> - >> -+@item -Wno-poison-system-directories >> -+@opindex Wno-poison-system-directories >> -+Do not warn for @option{-I} or @option{-L} options using system >> -+directories such as @file{/usr/include} when cross compiling. This >> -+option is intended for use in chroot environments when such >> -+directories contain the correct headers and libraries for the target= >> -+system rather than the host. >> -+ >> - @item -Wfloat-equal >> - @opindex Wfloat-equal >> - @opindex Wno-float-equal >> -Index: gcc-4_6-branch/gcc/gcc.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/gcc.c 2012-03-03 01:03:17.000000000 -0800= >> -+++ gcc-4_6-branch/gcc/gcc.c 2012-03-04 09:24:54.418624482 -0800 >> -@@ -659,6 +659,8 @@ >> - %{flto} %{flto=3D*} %l " LINK_PIE_SPEC \ >> - "%X %{o*} %{e*} %{N} %{n} %{r}\ >> - %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}}\ >> -+ %{Wno-poison-system-directories:--no-poison-system-directories}\= >> -+ %{Werror=3Dpoison-system-directories:--error-poison-system-direc= tories}\ >> - %{static:} %{L*} %(mfwrap) %(link_libgcc) %o\ >> - %{fopenmp|ftree-parallelize-loops=3D*:%:include(libgomp.spec)%(l= ink_gomp)}\ >> - %(mflib) " STACK_SPLIT_SPEC "\ >> -Index: gcc-4_6-branch/gcc/incpath.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/incpath.c 2012-03-03 01:03:17.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/incpath.c 2012-03-04 09:24:54.418624482 -0800 >> -@@ -353,6 +353,24 @@ >> - } >> - fprintf (stderr, _("End of search list.\n")); >> - } >> -+ >> -+#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES >> -+ if (flag_poison_system_directories) >> -+ { >> -+ struct cpp_dir *p; >> -+ >> -+ for (p =3D heads[QUOTE]; p; p =3D p->next) >> -+ { >> -+ if ((!strncmp (p->name, "/usr/include", 12)) >> -+ || (!strncmp (p->name, "/usr/local/include", 18)) >> -+ || (!strncmp (p->name, "/usr/X11R6/include", 18))) >> -+ warning (OPT_Wpoison_system_directories, >> -+ "include location \"%s\" is unsafe for " >> -+ "cross-compilation", >> -+ p->name); >> -+ } >> -+ } >> -+#endif >> - } >> - >> - /* Use given -I paths for #include "..." but not #include <...>, and= >> -Index: gcc-4_6-branch/gcc/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/Makefile.in 2012-03-04 09:22:05.000000000= -0800 >> -+++ gcc-4_6-branch/gcc/Makefile.in 2012-03-04 09:24:54.418624482 -080= 0 >> -@@ -2179,7 +2179,7 @@ >> - >> - incpath.o: incpath.c incpath.h $(CONFIG_H) $(SYSTEM_H) $(CPPLIB_H) \= >> - intl.h prefix.h coretypes.h $(TM_H) cppdefault.h $(TARGET_H) \ >> -- $(MACHMODE_H) >> -+ $(MACHMODE_H) $(FLAGS_H) toplev.h >> - >> - prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) prefi= x.h \ >> - Makefile $(BASEVER) >> -Index: gcc-4_6-branch/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure 2012-03-04 09:22:07.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/configure 2012-03-04 09:25:31.502626277 -0800 >> -@@ -912,6 +912,7 @@ >> - enable_maintainer_mode >> - enable_version_specific_runtime_libs >> - with_slibdir >> -+enable_poison_system_directories >> - enable_plugin >> - enable_libquadmath_support >> - ' >> -@@ -1623,6 +1624,8 @@ >> - --enable-version-specific-runtime-libs >> - specify that runtime libraries should be >> - installed in a compiler-specific directory= >> -+ --enable-poison-system-directories >> -+ warn for use of native system header direc= tories >> - --enable-plugin enable plugin support >> - --disable-libquadmath-support >> - disable libquadmath support for Fortran >> -@@ -17498,7 +17501,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17501 "configure" >> -+#line 17504 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -17604,7 +17607,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17607 "configure" >> -+#line 17610 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -26125,6 +26128,19 @@ >> - >> - >> - >> -+# Check whether --enable-poison-system-directories was given. >> -+if test "${enable_poison_system_directories+set}" =3D set; then : >> -+ enableval=3D$enable_poison_system_directories; >> -+else >> -+ enable_poison_system_directories=3Dno >> -+fi >> -+ >> -+if test "x${enable_poison_system_directories}" =3D "xyes"; then >> -+ >> -+$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h >> -+ >> -+fi >> -+ >> - # Substitute configuration variables >> - >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-uclibc-l= ocale-ctype_touplow_t.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.= 6/gcc-uclibc-locale-ctype_touplow_t.patch >> deleted file mode 100644 >> index 1648b3b..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-uclibc-locale-c= type_touplow_t.patch >> +++ /dev/null >> @@ -1,72 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/generic/c_locale.h >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.h >> -@@ -41,13 +41,22 @@ >> - >> - #include >> - >> -+#ifdef __UCLIBC__ >> -+#include >> -+#include >> -+#endif >> -+ >> - #define _GLIBCXX_NUM_CATEGORIES 0 >> - >> - namespace std _GLIBCXX_VISIBILITY(default) >> - { >> - _GLIBCXX_BEGIN_NAMESPACE_VERSION >> - >> -+#ifdef __UCLIBC__ >> -+ typedef __ctype_touplow_t* __c_locale; >> -+#else >> - typedef int* __c_locale; >> -+#endif >> - >> - // Convert numeric value of type double and long double to string = and >> - // return length of string. If vsnprintf is available use it, oth= erwise >> -Index: gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h >> -+++ gcc-4.6.0/libstdc++-v3/config/os/gnu-linux/ctype_base.h >> -@@ -34,6 +34,11 @@ >> - >> - // Information as gleaned from /usr/include/ctype.h >> - >> -+#ifdef __UCLIBC__ >> -+#include >> -+#include >> -+#endif >> -+ >> - namespace std _GLIBCXX_VISIBILITY(default) >> - { >> - _GLIBCXX_BEGIN_NAMESPACE_VERSION >> -@@ -42,7 +47,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >> - struct ctype_base >> - { >> - // Non-standard typedefs. >> -+#ifdef __UCLIBC__ >> -+ typedef const __ctype_touplow_t* __to_type; >> -+#else >> - typedef const int* __to_type; >> -+#endif >> - >> - // NB: Offsets into ctype::_M_table force a particular siz= e >> - // on the mask type. Because of this, we don't use an enum. >> -Index: gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.cc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/libstdc++-v3/config/locale/generic/c_locale.cc >> -+++ gcc-4.6.0/libstdc++-v3/config/locale/generic/c_locale.cc >> -@@ -264,5 +264,10 @@ _GLIBCXX_END_NAMESPACE_VERSION >> - #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT >> - #define _GLIBCXX_LDBL_COMPAT(dbl, ldbl) \ >> - extern "C" void ldbl (void) __attribute__ ((alias (#dbl))) >> -+#ifdef __UCLIBC__ >> -+// This is because __c_locale is of type __ctype_touplow_t* which is= short on uclibc. for glibc its int* >> -+_GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_Iostate= RKPs, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPs); >> -+#else >> - _GLIBCXX_LDBL_COMPAT(_ZSt14__convert_to_vIdEvPKcRT_RSt12_Ios_Iostate= RKPi, _ZSt14__convert_to_vIeEvPKcRT_RSt12_Ios_IostateRKPi); >> -+#endif >> - #endif // _GLIBCXX_LONG_DOUBLE_COMPAT >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-with-lin= ker-hash-style.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-w= ith-linker-hash-style.patch >> deleted file mode 100644 >> index 94b61cd..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/gcc-with-linker-has= h-style.patch >> +++ /dev/null >> @@ -1,196 +0,0 @@ >> -Upstream-Status: Backport >> -Signed-off-by: Khem Raj >> - >> -commit 3cb9bbfa927aa187048534f9069202c017a78e38 >> -Author: ppluzhnikov >> -Date: Wed May 11 18:28:14 2011 +0000 >> - >> - 2011-05-11 Satoru Takabayashi >> - Paul Pluzhnikov >> - >> - * gcc/doc/install.texi (Configuration): Document >> - --with-linker-hash-style. >> - * gcc/gcc.c (init_spec): Handle LINKER_HASH_STYLE. >> - * gcc/config.in: Add LINKER_HASH_STYLE. >> - * gcc/configure.ac: Add --with-linker-hash-style. >> - * gcc/configure: Regenerate. >> - >> - >> - >> - git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173668 138bc75d-0= d04-0410-961f-82ee72b054a4 >> - >> -Index: gcc-4_6-branch/gcc/config.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config.in 2012-03-04 09:30:04.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/config.in 2012-03-04 09:32:30.878646575 -0800 >> -@@ -1583,6 +1583,12 @@ >> - #endif >> - >> - >> -+/* The linker hash style */ >> -+#ifndef USED_FOR_TARGET >> -+#undef LINKER_HASH_STYLE >> -+#endif >> -+ >> -+ >> - /* Define to the name of the LTO plugin DSO that must be passed to t= he >> - linker's -plugin=3DLIB option. */ >> - #ifndef USED_FOR_TARGET >> -Index: gcc-4_6-branch/gcc/configure >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure 2012-03-04 09:30:05.000000000 -= 0800 >> -+++ gcc-4_6-branch/gcc/configure 2012-03-04 09:32:39.918647011 -0800 >> -@@ -915,6 +915,7 @@ >> - enable_poison_system_directories >> - enable_plugin >> - enable_libquadmath_support >> -+with_linker_hash_style >> - ' >> - ac_precious_vars=3D'build_alias >> - host_alias >> -@@ -1667,6 +1668,8 @@ >> - with the compiler >> - --with-system-zlib use installed libz >> - --with-slibdir=3DDIR shared libraries in DIR [LIBDIR] >> -+ --with-linker-hash-style=3D{sysv,gnu,both} >> -+ specify the linker hash style >> - >> - Some influential environment variables: >> - CC C compiler command >> -@@ -17501,7 +17504,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17504 "configure" >> -+#line 17507 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -17607,7 +17610,7 @@ >> - lt_dlunknown=3D0; lt_dlno_uscore=3D1; lt_dlneed_uscore=3D2 >> - lt_status=3D$lt_dlunknown >> - cat > conftest.$ac_ext <<_LT_EOF >> --#line 17610 "configure" >> -+#line 17613 "configure" >> - #include "confdefs.h" >> - >> - #if HAVE_DLFCN_H >> -@@ -26432,6 +26435,36 @@ >> - fi >> - >> - >> -+# Specify what hash style to use by default. >> -+ >> -+# Check whether --with-linker-hash-style was given. >> -+if test "${with_linker_hash_style+set}" =3D set; then : >> -+ withval=3D$with_linker_hash_style; case x"$withval" in >> -+ xsysv) >> -+ LINKER_HASH_STYLE=3Dsysv >> -+ ;; >> -+ xgnu) >> -+ LINKER_HASH_STYLE=3Dgnu >> -+ ;; >> -+ xboth) >> -+ LINKER_HASH_STYLE=3Dboth >> -+ ;; >> -+ *) >> -+ as_fn_error "$withval is an invalid option to --with-linker-has= h-style" "$LINENO" 5 >> -+ ;; >> -+ esac >> -+else >> -+ LINKER_HASH_STYLE=3D'' >> -+fi >> -+ >> -+if test x"${LINKER_HASH_STYLE}" !=3D x; then >> -+ >> -+cat >>confdefs.h <<_ACEOF >> -+#define LINKER_HASH_STYLE "$LINKER_HASH_STYLE" >> -+_ACEOF >> -+ >> -+fi >> -+ >> - # Configure the subdirectories >> - # AC_CONFIG_SUBDIRS($subdirs) >> - >> -Index: gcc-4_6-branch/gcc/configure.ac >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/configure.ac 2012-03-04 09:30:05.00000000= 0 -0800 >> -+++ gcc-4_6-branch/gcc/configure.ac 2012-03-04 09:32:30.890646574 -08= 00 >> -@@ -4905,6 +4905,30 @@ >> - fi >> - >> - >> -+# Specify what hash style to use by default. >> -+AC_ARG_WITH([linker-hash-style], >> -+[AC_HELP_STRING([--with-linker-hash-style=3D{sysv,gnu,both}], >> -+ [specify the linker hash style])], >> -+[case x"$withval" in >> -+ xsysv) >> -+ LINKER_HASH_STYLE=3Dsysv >> -+ ;; >> -+ xgnu) >> -+ LINKER_HASH_STYLE=3Dgnu >> -+ ;; >> -+ xboth) >> -+ LINKER_HASH_STYLE=3Dboth >> -+ ;; >> -+ *) >> -+ AC_MSG_ERROR([$withval is an invalid option to --with-linker-ha= sh-style]) >> -+ ;; >> -+ esac], >> -+[LINKER_HASH_STYLE=3D'']) >> -+if test x"${LINKER_HASH_STYLE}" !=3D x; then >> -+ AC_DEFINE_UNQUOTED(LINKER_HASH_STYLE, "$LINKER_HASH_STYLE", >> -+ [The linker hash style]) >> -+fi >> -+ >> - # Configure the subdirectories >> - # AC_CONFIG_SUBDIRS($subdirs) >> - >> -Index: gcc-4_6-branch/gcc/doc/install.texi >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/doc/install.texi 2012-03-03 00:46:39.0000= 00000 -0800 >> -+++ gcc-4_6-branch/gcc/doc/install.texi 2012-03-04 09:32:30.894646574= -0800 >> -@@ -1665,6 +1665,11 @@ >> - support @option{--build-id} option, a warning is issued and the >> - @option{--enable-linker-build-id} option is ignored. The default is= off. >> - >> -+@item --with-linker-hash-style=3D@var{choice} >> -+Tells GCC to pass @option{--hash-style=3D@var{choice}} option to the= >> -+linker for all final links. @var{choice} can be one of >> -+@samp{sysv}, @samp{gnu}, and @samp{both} where @samp{sysv} is the de= fault. >> -+ >> - @item --enable-gnu-unique-object >> - @itemx --disable-gnu-unique-object >> - Tells GCC to use the gnu_unique_object relocation for C++ template >> -Index: gcc-4_6-branch/gcc/gcc.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/gcc.c 2012-03-04 09:30:04.000000000 -0800= >> -+++ gcc-4_6-branch/gcc/gcc.c 2012-03-04 09:32:30.894646574 -0800 >> -@@ -1427,7 +1427,8 @@ >> - } >> - #endif >> - >> --#if defined LINK_EH_SPEC || defined LINK_BUILDID_SPEC >> -+#if defined LINK_EH_SPEC || defined LINK_BUILDID_SPEC || \ >> -+ defined LINKER_HASH_STYLE >> - # ifdef LINK_BUILDID_SPEC >> - /* Prepend LINK_BUILDID_SPEC to whatever link_spec we had before. = */ >> - obstack_grow (&obstack, LINK_BUILDID_SPEC, sizeof(LINK_BUILDID_SPE= C) - 1); >> -@@ -1436,6 +1437,16 @@ >> - /* Prepend LINK_EH_SPEC to whatever link_spec we had before. */ >> - obstack_grow (&obstack, LINK_EH_SPEC, sizeof(LINK_EH_SPEC) - 1); >> - # endif >> -+# ifdef LINKER_HASH_STYLE >> -+ /* Prepend --hash-style=3DLINKER_HASH_STYLE to whatever link_spec = we had >> -+ before. */ >> -+ { >> -+ static const char hash_style[] =3D "--hash-style=3D"; >> -+ obstack_grow (&obstack, hash_style, sizeof(hash_style) - 1); >> -+ obstack_grow (&obstack, LINKER_HASH_STYLE, sizeof(LINKER_HASH_ST= YLE) - 1); >> -+ obstack_1grow (&obstack, ' '); >> -+ } >> -+# endif >> - obstack_grow0 (&obstack, link_spec, strlen (link_spec)); >> - link_spec =3D XOBFINISH (&obstack, const char *); >> - #endif >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/mips64-defau= lt-n64.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/mips64-defaul= t-n64.patch >> deleted file mode 100644 >> index bf930ec..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/mips64-default-n64.= patch >> +++ /dev/null >> @@ -1,32 +0,0 @@ >> -MIPS64 defaults to n32 ABI, this patch makes it >> -so that it defaults to N64 ABI >> - >> -Upstream-Status: Inappropriate [OE config specific] >> - >> -Signed-off-by: Khem Raj >> -Index: gcc-4_6-branch/gcc/config.gcc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config.gcc 2012-04-22 19:12:12.431061229 = -0700 >> -+++ gcc-4_6-branch/gcc/config.gcc 2012-04-22 19:13:36.307065289 -0700= >> -@@ -1882,7 +1882,7 @@ >> - mips64*-*-linux* | mipsisa64*-*-linux*) >> - tm_file=3D"dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h ${tm_= file} mips/linux.h mips/linux64.h" >> - tmake_file=3D"${tmake_file} mips/t-linux64 mips/t-libgcc-mips16" >> -- tm_defines=3D"${tm_defines} MIPS_ABI_DEFAULT=3DABI_N32" >> -+ tm_defines=3D"${tm_defines} MIPS_ABI_DEFAULT=3DABI_64" >> - case ${target} in >> - mips64el-st-linux-gnu) >> - tm_file=3D"${tm_file} mips/st.h" >> -Index: gcc-4_6-branch/gcc/config/mips/linux64.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/mips/linux64.h 2012-04-22 19:10:59= =2E743057711 -0700 >> -+++ gcc-4_6-branch/gcc/config/mips/linux64.h 2012-04-22 19:11:56.9190= 60479 -0700 >> -@@ -26,7 +26,7 @@ >> - BASE_DRIVER_SELF_SPECS, \ >> - LINUX_DRIVER_SELF_SPECS \ >> - " %{!EB:%{!EL:%(endian_spec)}}" \ >> -- " %{!mabi=3D*: -mabi=3Dn32}" >> -+ " %{!mabi=3D*: -mabi=3D64}" >> - >> - #undef LIB_SPEC >> - #define LIB_SPEC "\ >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/optional_lib= stdc.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/optional_libstd= c.patch >> deleted file mode 100644 >> index fe157a8..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/optional_libstdc.pa= tch >> +++ /dev/null >> @@ -1,86 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -gcc-runtime builds libstdc++ separately from gcc-cross-*. Its configu= re tests using g++ >> -will not run correctly since by default the linker will try to link a= gainst libstdc++ >> -which shouldn't exist yet. We need an option to disable -lstdc++ >> -option whilst leaving -lc, -lgcc and other automatic library dependen= cies added by gcc >> -driver. This patch adds such an option which only disables the -lstdc= ++. >> - >> -A "standard" gcc build uses xgcc and hence avoids this. We should ask= upstream how to >> -do this officially, the likely answer is don't build libstdc++ separa= tely. >> - >> -RP 29/6/10 >> - >> -Index: gcc-4.6.0/gcc/cp/g++spec.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/cp/g++spec.c >> -+++ gcc-4.6.0/gcc/cp/g++spec.c >> -@@ -127,6 +127,7 @@ lang_specific_driver (struct cl_decoded_ >> - switch (decoded_options[i].opt_index) >> - { >> - case OPT_nostdlib: >> -+ case OPT_nostdlib__: >> - case OPT_nodefaultlibs: >> - library =3D -1; >> - break; >> -Index: gcc-4.6.0/gcc/doc/invoke.texi >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/doc/invoke.texi >> -+++ gcc-4.6.0/gcc/doc/invoke.texi >> -@@ -193,7 +193,7 @@ in the following sections. >> - -fno-pretty-templates @gol >> - -frepo -fno-rtti -fstats -ftemplate-depth=3D@var{n} @gol >> - -fno-threadsafe-statics -fuse-cxa-atexit -fno-weak -nostdinc++ @go= l >> ---fno-default-inline -fvisibility-inlines-hidden @gol >> -+-nostdlib++ -fno-default-inline -fvisibility-inlines-hidden @gol >> - -fvisibility-ms-compat @gol >> - -Wabi -Wconversion-null -Wctor-dtor-privacy @gol >> - -Wnoexcept -Wnon-virtual-dtor -Wreorder @gol >> -@@ -431,7 +431,7 @@ Objective-C and Objective-C++ Dialects}. >> - @gccoptlist{@var{object-file-name} -l@var{library} @gol >> - -nostartfiles -nodefaultlibs -nostdlib -pie -rdynamic @gol >> - -s -static -static-libgcc -static-libstdc++ -shared @gol >> ---shared-libgcc -symbolic @gol >> -+-shared-libgcc -symbolic -nostdlib++ @gol >> - -T @var{script} -Wl,@var{option} -Xlinker @var{option} @gol >> - -u @var{symbol}} >> - >> -@@ -9069,6 +9069,11 @@ These entries are usually resolved by en >> - libc. These entry points should be supplied through some other >> - mechanism when this option is specified. >> - >> -+@item -nostdlib++ >> -+@opindex nostdlib++ >> -+Do not use the standard system C++ runtime libraries when linking. >> -+Only the libraries you specify will be passed to the linker. >> -+ >> - @cindex @option{-lgcc}, use with @option{-nostdlib} >> - @cindex @option{-nostdlib} and unresolved references >> - @cindex unresolved references and @option{-nostdlib} >> -Index: gcc-4.6.0/gcc/c-family/c.opt >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/c-family/c.opt >> -+++ gcc-4.6.0/gcc/c-family/c.opt >> -@@ -1111,6 +1111,10 @@ nostdinc++ >> - C++ ObjC++ >> - Do not search standard system include directories for C++ >> - >> -+nostdlib++ >> -+Driver >> -+Do not link standard C++ runtime library >> -+ >> - o >> - C ObjC C++ ObjC++ Joined Separate >> - ; Documented in common.opt >> -Index: gcc-4.6.0/gcc/gcc.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/gcc/gcc.c >> -+++ gcc-4.6.0/gcc/gcc.c >> -@@ -666,6 +666,7 @@ proper position among the other output f >> - %(mflib) " STACK_SPLIT_SPEC "\ >> - %{fprofile-arcs|fprofile-generate*|coverage:-lgcov}\ >> - %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %(link_gcc_c_sequence)}= }\ >> -+ %{!nostdlib++:}\ >> - %{!nostdlib:%{!nostartfiles:%E}} %{T*} }}}}}}" >> - #endif >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/powerpc-e550= 0.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/powerpc-e5500.patc= h >> deleted file mode 100644 >> index 1f478f3..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/powerpc-e5500.patch= >> +++ /dev/null >> @@ -1,465 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Implements basic e5500 enablement in gcc, with a scheduler, -mcpu >> -flag, etc... >> - >> -Also splits the masks for popcntb, popcntd, and cmpb. Originally thos= e >> -masks would also control other instructions that e5500 does not >> -support (so, we either get none or all). >> - >> -For the lack of means to do tests, those instructions were never >> -enabled until now. The new instructions enabled with this patch are: >> -popcntb, popcntw, popcntd, bpermd, prtyw, prtyd, cmpb, ldbrx, and >> -stdbrx. >> - >> -Signed-off-by: Edmar Wienskoski >> -Signed-off-by: Kumar Gala >> - >> -Index: gcc-4_6-branch/gcc/config.gcc >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config.gcc >> -+++ gcc-4_6-branch/gcc/config.gcc >> -@@ -395,7 +395,7 @@ powerpc*-*-*) >> - extra_headers=3D"ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.= h spu2vmx.h vec_types.h si2vmx.h" >> - need_64bit_hwint=3Dyes >> - case x$with_cpu in >> -- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|x= rs64a|xcell|xa2|xe500mc64) >> -+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[34567]|xpower6x|x= rs64a|xcell|xa2|xe500mc64|xe5500) >> - cpu_is_64bit=3Dyes >> - ;; >> - esac >> -@@ -3493,7 +3493,7 @@ case "${target}" in >> - | 401 | 403 | 405 | 405fp | 440 | 440fp | 464 | 464fp \ >> - | 476 | 476fp | 505 | 601 | 602 | 603 | 603e | ec603e \ >> - | 604 | 604e | 620 | 630 | 740 | 750 | 7400 | 7450 \ >> -- | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | titan\ >> -+ | a2 | e300c[23] | 854[08] | e500mc | e500mc64 | e5500 | titan\ >> - | 801 | 821 | 823 | 860 | 970 | G3 | G4 | G5 | cell) >> - # OK >> - ;; >> -Index: gcc-4_6-branch/gcc/config/rs6000/e5500.md >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null >> -+++ gcc-4_6-branch/gcc/config/rs6000/e5500.md >> -@@ -0,0 +1,176 @@ >> -+;; Pipeline description for Freescale PowerPC e5500 core. >> -+;; Copyright (C) 2011 Free Software Foundation, Inc. >> -+;; Contributed by Edmar Wienskoski (edmar@freescale.com) >> -+;; >> -+;; This file is part of GCC. >> -+;; >> -+;; GCC 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 3, or (at your >> -+;; option) any later version. >> -+;; >> -+;; GCC is distributed in the hope that it will be useful, but WITHOU= T >> -+;; ANY WARRANTY; without even the implied warranty of MERCHANTABILIT= Y >> -+;; 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 GCC; see the file COPYING3. If not see >> -+;; . >> -+;; >> -+;; e5500 64-bit SFX(2), CFX, LSU, FPU, BU >> -+;; Max issue 3 insns/clock cycle (includes 1 branch) >> -+ >> -+(define_automaton "e5500_most,e5500_long") >> -+(define_cpu_unit "e5500_decode_0,e5500_decode_1" "e5500_most") >> -+ >> -+;; SFX. >> -+(define_cpu_unit "e5500_sfx_0,e5500_sfx_1" "e5500_most") >> -+ >> -+;; CFX. >> -+(define_cpu_unit "e5500_cfx_stage0,e5500_cfx_stage1" "e5500_most") >> -+ >> -+;; Non-pipelined division. >> -+(define_cpu_unit "e5500_cfx_div" "e5500_long") >> -+ >> -+;; LSU. >> -+(define_cpu_unit "e5500_lsu" "e5500_most") >> -+ >> -+;; FPU. >> -+(define_cpu_unit "e5500_fpu" "e5500_long") >> -+ >> -+;; BU. >> -+(define_cpu_unit "e5500_bu" "e5500_most") >> -+ >> -+;; The following units are used to make the automata deterministic. >> -+(define_cpu_unit "present_e5500_decode_0" "e5500_most") >> -+(define_cpu_unit "present_e5500_sfx_0" "e5500_most") >> -+(presence_set "present_e5500_decode_0" "e5500_decode_0") >> -+(presence_set "present_e5500_sfx_0" "e5500_sfx_0") >> -+ >> -+;; Some useful abbreviations. >> -+(define_reservation "e5500_decode" >> -+ "e5500_decode_0|e5500_decode_1+present_e5500_decode_0") >> -+(define_reservation "e5500_sfx" >> -+ "e5500_sfx_0|e5500_sfx_1+present_e5500_sfx_0") >> -+ >> -+;; SFX. >> -+(define_insn_reservation "e5500_sfx" 1 >> -+ (and (eq_attr "type" "integer,insert_word,insert_dword,delayed_com= pare,\ >> -+ shift,cntlz,exts") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx") >> -+ >> -+(define_insn_reservation "e5500_sfx2" 2 >> -+ (and (eq_attr "type" "cmp,compare,fast_compare,trap") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx") >> -+ >> -+(define_insn_reservation "e5500_delayed" 2 >> -+ (and (eq_attr "type" "var_shift_rotate,var_delayed_compare,popcnt"= ) >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx*2") >> -+ >> -+(define_insn_reservation "e5500_two" 2 >> -+ (and (eq_attr "type" "two") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_decode+e5500_sfx,e5500_sfx") >> -+ >> -+(define_insn_reservation "e5500_three" 3 >> -+ (and (eq_attr "type" "three") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,(e5500_decode+e5500_sfx)*2,e5500_sfx") >> -+ >> -+;; SFX - Mfcr. >> -+(define_insn_reservation "e5500_mfcr" 4 >> -+ (and (eq_attr "type" "mfcr") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx_0*4") >> -+ >> -+;; SFX - Mtcrf. >> -+(define_insn_reservation "e5500_mtcrf" 1 >> -+ (and (eq_attr "type" "mtcr") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx_0") >> -+ >> -+;; SFX - Mtjmpr. >> -+(define_insn_reservation "e5500_mtjmpr" 1 >> -+ (and (eq_attr "type" "mtjmpr,mfjmpr") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_sfx") >> -+ >> -+;; CFX - Multiply. >> -+(define_insn_reservation "e5500_multiply" 4 >> -+ (and (eq_attr "type" "imul") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_cfx_stage0,e5500_cfx_stage1") >> -+ >> -+(define_insn_reservation "e5500_multiply_i" 5 >> -+ (and (eq_attr "type" "imul2,imul3,imul_compare") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_cfx_stage0,\ >> -+ e5500_cfx_stage0+e5500_cfx_stage1,e5500_cfx_stage1") >> -+ >> -+;; CFX - Divide. >> -+(define_insn_reservation "e5500_divide" 16 >> -+ (and (eq_attr "type" "idiv") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_cfx_stage0+e5500_cfx_div,\ >> -+ e5500_cfx_div*15") >> -+ >> -+(define_insn_reservation "e5500_divide_d" 26 >> -+ (and (eq_attr "type" "ldiv") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_cfx_stage0+e5500_cfx_div,\ >> -+ e5500_cfx_div*25") >> -+ >> -+;; LSU - Loads. >> -+(define_insn_reservation "e5500_load" 3 >> -+ (and (eq_attr "type" "load,load_ext,load_ext_u,load_ext_ux,load_ux= ,load_u,\ >> -+ load_l,sync") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_lsu") >> -+ >> -+(define_insn_reservation "e5500_fpload" 4 >> -+ (and (eq_attr "type" "fpload,fpload_ux,fpload_u") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_lsu") >> -+ >> -+;; LSU - Stores. >> -+(define_insn_reservation "e5500_store" 3 >> -+ (and (eq_attr "type" "store,store_ux,store_u,store_c") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_lsu") >> -+ >> -+(define_insn_reservation "e5500_fpstore" 3 >> -+ (and (eq_attr "type" "fpstore,fpstore_ux,fpstore_u") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_lsu") >> -+ >> -+;; FP. >> -+(define_insn_reservation "e5500_float" 7 >> -+ (and (eq_attr "type" "fpsimple,fp,fpcompare,dmul") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_fpu") >> -+ >> -+(define_insn_reservation "e5500_sdiv" 20 >> -+ (and (eq_attr "type" "sdiv") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_fpu*20") >> -+ >> -+(define_insn_reservation "e5500_ddiv" 35 >> -+ (and (eq_attr "type" "ddiv") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_fpu*35") >> -+ >> -+;; BU. >> -+(define_insn_reservation "e5500_branch" 1 >> -+ (and (eq_attr "type" "jmpreg,branch,isync") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_bu") >> -+ >> -+;; BU - CR logical. >> -+(define_insn_reservation "e5500_cr_logical" 1 >> -+ (and (eq_attr "type" "cr_logical,delayed_cr") >> -+ (eq_attr "cpu" "ppce5500")) >> -+ "e5500_decode,e5500_bu") >> -Index: gcc-4_6-branch/gcc/config/rs6000/rs6000-opts.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/rs6000/rs6000-opts.h >> -+++ gcc-4_6-branch/gcc/config/rs6000/rs6000-opts.h >> -@@ -53,6 +53,7 @@ enum processor_type >> - PROCESSOR_PPCE300C3, >> - PROCESSOR_PPCE500MC, >> - PROCESSOR_PPCE500MC64, >> -+ PROCESSOR_PPCE5500, >> - PROCESSOR_POWER4, >> - PROCESSOR_POWER5, >> - PROCESSOR_POWER6, >> -Index: gcc-4_6-branch/gcc/config/rs6000/rs6000.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/rs6000/rs6000.c >> -+++ gcc-4_6-branch/gcc/config/rs6000/rs6000.c >> -@@ -779,6 +779,25 @@ struct processor_costs ppce500mc64_cost >> - 1, /* prefetch streams /*/ >> - }; >> - >> -+/* Instruction costs on PPCE5500 processors. */ >> -+static const >> -+struct processor_costs ppce5500_cost =3D { >> -+ COSTS_N_INSNS (5), /* mulsi */ >> -+ COSTS_N_INSNS (5), /* mulsi_const */ >> -+ COSTS_N_INSNS (5), /* mulsi_const9 */ >> -+ COSTS_N_INSNS (5), /* muldi */ >> -+ COSTS_N_INSNS (14), /* divsi */ >> -+ COSTS_N_INSNS (14), /* divdi */ >> -+ COSTS_N_INSNS (7), /* fp */ >> -+ COSTS_N_INSNS (10), /* dmul */ >> -+ COSTS_N_INSNS (36), /* sdiv */ >> -+ COSTS_N_INSNS (66), /* ddiv */ >> -+ 64, /* cache line size */ >> -+ 32, /* l1 cache */ >> -+ 128, /* l2 cache */ >> -+ 1, /* prefetch streams /*/ >> -+}; >> -+ >> - /* Instruction costs on AppliedMicro Titan processors. */ >> - static const >> - struct processor_costs titan_cost =3D { >> -@@ -1784,6 +1803,9 @@ static struct rs6000_ptt const processor >> - | MASK_ISEL}, >> - {"e500mc64", PROCESSOR_PPCE500MC64, POWERPC_BASE_MASK | MASK_POWER= PC64 >> - | MASK_PPC_GFXOPT | MASK_ISEL}, >> -+ {"e5500", PROCESSOR_PPCE5500, POWERPC_BASE_MASK | MASK_POWERPC64 >> -+ | MASK_PPC_GFXOPT | MASK_ISEL | MASK_CMPB | MASK_POPCNTB >> -+ | MASK_POPCNTD}, >> - {"860", PROCESSOR_MPCCORE, POWERPC_BASE_MASK | MASK_SOFT_FLOAT}, >> - {"970", PROCESSOR_POWER4, >> - POWERPC_7400_MASK | MASK_PPC_GPOPT | MASK_MFCRF | MASK_POWERPC64}= , >> -@@ -2741,7 +2763,8 @@ rs6000_option_override_internal (bool gl >> - : PROCESSOR_DEFAULT)); >> - >> - if (rs6000_cpu =3D=3D PROCESSOR_PPCE300C2 || rs6000_cpu =3D=3D PRO= CESSOR_PPCE300C3 >> -- || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC || rs6000_cpu =3D=3D = PROCESSOR_PPCE500MC64) >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC || rs6000_cpu =3D=3D = PROCESSOR_PPCE500MC64 >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE5500) >> - { >> - if (TARGET_ALTIVEC) >> - error ("AltiVec not supported in this target"); >> -@@ -2842,9 +2865,14 @@ rs6000_option_override_internal (bool gl >> - user's opinion, though. */ >> - if (rs6000_block_move_inline_limit =3D=3D 0 >> - && (rs6000_cpu =3D=3D PROCESSOR_PPCE500MC >> -- || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64)) >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64 >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE5500)) >> - rs6000_block_move_inline_limit =3D 128; >> - >> -+ /* Those machines does not have fsqrt instruction */ >> -+ if (rs6000_cpu =3D=3D PROCESSOR_PPCE5500) >> -+ target_flags &=3D ~MASK_PPC_GPOPT; >> -+ >> - /* store_one_arg depends on expand_block_move to handle at least t= he >> - size of reg_parm_stack_space. */ >> - if (rs6000_block_move_inline_limit < (TARGET_POWERPC64 ? 64 : 32))= >> -@@ -2976,7 +3004,8 @@ rs6000_option_override_internal (bool gl >> - #endif >> - >> - if (TARGET_E500 || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC >> -- || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64) >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64 >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE5500) >> - { >> - /* The e500 and e500mc do not have string instructions, and we= set >> - MASK_STRING above when optimizing for size. */ >> -@@ -3023,7 +3052,8 @@ rs6000_option_override_internal (bool gl >> - || rs6000_cpu =3D=3D PROCESSOR_POWER6 >> - || rs6000_cpu =3D=3D PROCESSOR_POWER7 >> - || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC >> -- || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64); >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE500MC64 >> -+ || rs6000_cpu =3D=3D PROCESSOR_PPCE5500); >> - >> - /* Allow debug switches to override the above settings. These are= set to -1 >> - in rs6000.opt to indicate the user hasn't directly set the swit= ch. */ >> -@@ -3245,6 +3275,10 @@ rs6000_option_override_internal (bool gl >> - rs6000_cost =3D &ppce500mc64_cost; >> - break; >> - >> -+ case PROCESSOR_PPCE5500: >> -+ rs6000_cost =3D &ppce5500_cost; >> -+ break; >> -+ >> - case PROCESSOR_TITAN: >> - rs6000_cost =3D &titan_cost; >> - break; >> -@@ -23227,6 +23261,7 @@ rs6000_adjust_cost (rtx insn, rtx link, >> - || rs6000_cpu_attr =3D=3D CPU_PPC750 >> - || rs6000_cpu_attr =3D=3D CPU_PPC7400 >> - || rs6000_cpu_attr =3D=3D CPU_PPC7450 >> -+ || rs6000_cpu_attr =3D=3D CPU_PPCE5500 >> - || rs6000_cpu_attr =3D=3D CPU_POWER4 >> - || rs6000_cpu_attr =3D=3D CPU_POWER5 >> - || rs6000_cpu_attr =3D=3D CPU_POWER7 >> -@@ -23771,6 +23806,7 @@ rs6000_issue_rate (void) >> - case CPU_PPCE300C3: >> - case CPU_PPCE500MC: >> - case CPU_PPCE500MC64: >> -+ case CPU_PPCE5500: >> - case CPU_TITAN: >> - return 2; >> - case CPU_RIOS2: >> -Index: gcc-4_6-branch/gcc/config/rs6000/rs6000.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/rs6000/rs6000.h >> -+++ gcc-4_6-branch/gcc/config/rs6000/rs6000.h >> -@@ -168,6 +168,7 @@ >> - %{mcpu=3De300c3: -me300} \ >> - %{mcpu=3De500mc: -me500mc} \ >> - %{mcpu=3De500mc64: -me500mc64} \ >> -+%{mcpu=3De5500: -me5500} \ >> - %{maltivec: -maltivec} \ >> - %{mvsx: -mvsx %{!maltivec: -maltivec} %{!mcpu*: %(asm_cpu_power7)}} = \ >> - -many" >> -@@ -477,13 +478,13 @@ extern int rs6000_vector_align[]; >> - >> - #define TARGET_FCTIDZ TARGET_FCFID >> - #define TARGET_STFIWX TARGET_PPC_GFXOPT >> --#define TARGET_LFIWAX TARGET_CMPB >> --#define TARGET_LFIWZX TARGET_POPCNTD >> --#define TARGET_FCFIDS TARGET_POPCNTD >> --#define TARGET_FCFIDU TARGET_POPCNTD >> --#define TARGET_FCFIDUS TARGET_POPCNTD >> --#define TARGET_FCTIDUZ TARGET_POPCNTD >> --#define TARGET_FCTIWUZ TARGET_POPCNTD >> -+#define TARGET_LFIWAX (TARGET_CMPB && rs6000_cpu !=3D PROCESSOR_PPCE= 5500) >> -+#define TARGET_LFIWZX (TARGET_POPCNTD && rs6000_cpu !=3D PROCESSOR_P= PCE5500) >> -+#define TARGET_FCFIDS TARGET_LFIWZX >> -+#define TARGET_FCFIDU TARGET_LFIWZX >> -+#define TARGET_FCFIDUS TARGET_LFIWZX >> -+#define TARGET_FCTIDUZ TARGET_LFIWZX >> -+#define TARGET_FCTIWUZ TARGET_LFIWZX >> - >> - /* E500 processors only support plain "sync", not lwsync. */ >> - #define TARGET_NO_LWSYNC TARGET_E500 >> -@@ -494,10 +495,12 @@ extern int rs6000_vector_align[]; >> - >> - #define TARGET_FRE (TARGET_HARD_FLOAT && TARGET_FPRS \ >> - && TARGET_DOUBLE_FLOAT \ >> -- && (TARGET_POPCNTB || VECTOR_UNIT_VSX_P (DFmode))) >> -+ && (TARGET_POPCNTB || VECTOR_UNIT_VSX_P (DFmode)) \ >> -+ && rs6000_cpu !=3D PROCESSOR_PPCE5500) >> - >> - #define TARGET_FRSQRTES (TARGET_HARD_FLOAT && TARGET_POPCNTB \ >> -- && TARGET_FPRS && TARGET_SINGLE_FLOAT) >> -+ && TARGET_FPRS && TARGET_SINGLE_FLOAT \ >> -+ && rs6000_cpu !=3D PROCESSOR_PPCE5500) >> - >> - #define TARGET_FRSQRTE (TARGET_HARD_FLOAT && TARGET_FPRS \ >> - && TARGET_DOUBLE_FLOAT \ >> -Index: gcc-4_6-branch/gcc/config/rs6000/rs6000.md >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/rs6000/rs6000.md >> -+++ gcc-4_6-branch/gcc/config/rs6000/rs6000.md >> -@@ -126,7 +126,7 @@ >> - >> - ;; Define an insn type attribute. This is used in function unit del= ay >> - ;; computations. >> --(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load= _ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,f= pstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,l= div,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delay= ed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr= ,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,b= rinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vec= fdiv,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,c= ntlz,exts,mffgpr,mftgpr,isel" >> -+(define_attr "type" "integer,two,three,load,load_ext,load_ext_u,load= _ext_ux,load_ux,load_u,store,store_ux,store_u,fpload,fpload_ux,fpload_u,f= pstore,fpstore_ux,fpstore_u,vecload,vecstore,imul,imul2,imul3,lmul,idiv,l= div,insert_word,branch,cmp,fast_compare,compare,var_delayed_compare,delay= ed_compare,imul_compare,lmul_compare,fpcompare,cr_logical,delayed_cr,mfcr= ,mfcrf,mtcr,mfjmpr,mtjmpr,fp,fpsimple,dmul,sdiv,ddiv,ssqrt,dsqrt,jmpreg,b= rinc,vecsimple,veccomplex,vecdiv,veccmp,veccmpsimple,vecperm,vecfloat,vec= fdiv,isync,sync,load_l,store_c,shift,trap,insert_dword,var_shift_rotate,c= ntlz,exts,mffgpr,mftgpr,isel,popcnt" >> - (const_string "integer")) >> - >> - ;; Define floating point instruction sub-types for use with Xfpu.md >> -@@ -148,7 +148,7 @@ >> - ;; Processor type -- this attribute must exactly match the processor= _type >> - ;; enumeration in rs6000.h. >> - >> --(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,p= pc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,p= pc8540,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,power4,power5,power6,pow= er7,cell,ppca2,titan" >> -+(define_attr "cpu" "rios1,rios2,rs64a,mpccore,ppc403,ppc405,ppc440,p= pc476,ppc601,ppc603,ppc604,ppc604e,ppc620,ppc630,ppc750,ppc7400,ppc7450,p= pc8540,ppce300c2,ppce300c3,ppce500mc,ppce500mc64,ppce5500,power4,power5,p= ower6,power7,cell,ppca2,titan" >> - (const (symbol_ref "rs6000_cpu_attr"))) >> - >> - >> -@@ -176,6 +176,7 @@ >> - (include "e300c2c3.md") >> - (include "e500mc.md") >> - (include "e500mc64.md") >> -+(include "e5500.md") >> - (include "power4.md") >> - (include "power5.md") >> - (include "power6.md") >> -@@ -2302,13 +2303,17 @@ >> - (unspec:GPR [(match_operand:GPR 1 "gpc_reg_operand" "r")] >> - UNSPEC_POPCNTB))] >> - "TARGET_POPCNTB" >> -- "popcntb %0,%1") >> -+ "popcntb %0,%1" >> -+ [(set_attr "length" "4") >> -+ (set_attr "type" "popcnt")]) >> - >> - (define_insn "popcntd2" >> - [(set (match_operand:GPR 0 "gpc_reg_operand" "=3Dr") >> - (popcount:GPR (match_operand:GPR 1 "gpc_reg_operand" "r")))] >> - "TARGET_POPCNTD" >> -- "popcnt %0,%1") >> -+ "popcnt %0,%1" >> -+ [(set_attr "length" "4") >> -+ (set_attr "type" "popcnt")]) >> - >> - (define_expand "popcount2" >> - [(set (match_operand:GPR 0 "gpc_reg_operand" "") >> -@@ -5957,10 +5962,10 @@ >> - && ((TARGET_PPC_GFXOPT >> - && !HONOR_NANS (mode) >> - && !HONOR_SIGNED_ZEROS (mode)) >> -- || TARGET_CMPB >> -+ || TARGET_LFIWAX >> - || VECTOR_UNIT_VSX_P (mode))" >> - { >> -- if (TARGET_CMPB || VECTOR_UNIT_VSX_P (mode)) >> -+ if (TARGET_LFIWAX || VECTOR_UNIT_VSX_P (mode)) >> - { >> - emit_insn (gen_copysign3_fcpsgn (operands[0], operands[1= ], >> - operands[2])); >> -@@ -5979,7 +5984,7 @@ >> - (unspec:SFDF [(match_operand:SFDF 1 "gpc_reg_operand" "") >> - (match_operand:SFDF 2 "gpc_reg_operand" "")] >> - UNSPEC_COPYSIGN))] >> -- "TARGET_CMPB && !VECTOR_UNIT_VSX_P (mode)" >> -+ "TARGET_LFIWAX && !VECTOR_UNIT_VSX_P (mode)" >> - "fcpsgn %0,%2,%1" >> - [(set_attr "type" "fp")]) >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr32219.patc= h b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr32219.patch >> deleted file mode 100644 >> index c0e3594..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr32219.patch >> +++ /dev/null >> @@ -1,72 +0,0 @@ >> -Upstream-Status:Backport >> -Hi, >> - >> -As suggested by richi. >> -regtested on i686-linux-gnu with all default languages and no regress= ions. >> -Ok for trunk? >> - >> -gcc/ChangeLog >> -2010-03-15 Bernhard Reutner-Fischer >> - >> - PR target/32219 >> - * varasm.c (default_binds_local_p_1): Weak data is not local. >> - >> -gcc/testsuite/ChangeLog >> -2010-03-15 Bernhard Reutner-Fischer >> - >> - PR target/32219 >> - * gcc.dg/visibility-21.c: New test. >> - >> -Signed-off-by: Bernhard Reutner-Fischer >> ---- >> - gcc/testsuite/gcc.dg/visibility-21.c | 14 ++++++++++++++ >> - gcc/varasm.c | 8 ++++---- >> - 2 files changed, 18 insertions(+), 4 deletions(-) >> - create mode 100644 gcc/testsuite/gcc.dg/visibility-21.c >> - >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.dg/visibility-21.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.dg/visibility-21.c 2011-10-18 17= :11:33.224827436 -0700 >> -@@ -0,0 +1,14 @@ >> -+/* PR target/32219 */ >> -+/* { dg-do run } */ >> -+/* { dg-require-visibility "" } */ >> -+/* { dg-options "-fPIC" { target fpic } } */ >> -+ >> -+extern void f() __attribute__((weak,visibility("hidden"))); >> -+extern int puts( char const* ); >> -+int main() >> -+{ >> -+ if (f) >> -+ f(); >> -+ return 0; >> -+} >> -+ >> -Index: gcc-4_6-branch/gcc/varasm.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/varasm.c 2011-09-16 19:58:21.000000000 -0= 700 >> -+++ gcc-4_6-branch/gcc/varasm.c 2011-10-18 17:19:06.431074788 -0700 >> -@@ -6760,6 +6760,10 @@ >> - /* Static variables are always local. */ >> - else if (! TREE_PUBLIC (exp)) >> - local_p =3D true; >> -+ /* hidden weak can't be overridden by something non-local, all >> -+ that is possible is that it is not defined at all. */ >> -+ else if (DECL_WEAK (exp)) >> -+ local_p =3D false; >> - /* A variable is local if the user has said explicitly that it wil= l >> - be. */ >> - else if ((DECL_VISIBILITY_SPECIFIED (exp) >> -@@ -6773,11 +6777,6 @@ >> - local. */ >> - else if (DECL_VISIBILITY (exp) !=3D VISIBILITY_DEFAULT) >> - local_p =3D true; >> -- /* Default visibility weak data can be overridden by a strong symb= ol >> -- in another module and so are not local. */ >> -- else if (DECL_WEAK (exp) >> -- && !resolved_locally) >> -- local_p =3D false; >> - /* If PIC, then assume that any global name can be overridden by >> - symbols resolved from other modules. */ >> - else if (shlib) >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr46934.patc= h b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr46934.patch >> deleted file mode 100644 >> index 60b7012..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr46934.patch >> +++ /dev/null >> @@ -1,393 +0,0 @@ >> -Upstream-Status:Backport >> -2011-09-19 chengbin >> - >> - Backport r174035 from mainline >> - 2011-05-22 Tom de Vries >> - >> - PR middle-end/48689 >> - * fold-const.c (fold_checksum_tree): Guard TREE_CHAIN use with >> - CODE_CONTAINS_STRUCT (TS_COMMON). >> - >> - Backport r172297 from mainline >> - 2011-04-11 Chung-Lin Tang >> - Richard Earnshaw >> - >> - PR target/48250 >> - * config/arm/arm.c (arm_legitimize_reload_address): Update cases >> - to use sign-magnitude offsets. Reject unsupported unaligned >> - cases. Add detailed description in comments. >> - * config/arm/arm.md (reload_outdf): Disable for ARM mode; change >> - condition from TARGET_32BIT to TARGET_ARM. >> - >> - Backport r171978 from mainline >> - 2011-04-05 Tom de Vries >> - >> - PR target/43920 >> - * config/arm/arm.h (BRANCH_COST): Set to 1 for Thumb-2 when optimizi= ng >> - for size. >> - >> - Backport r171632 from mainline >> - 2011-03-28 Richard Sandiford >> - >> - * builtins.c (expand_builtin_memset_args): Use gen_int_mode >> - instead of GEN_INT. >> - >> - Backport r171379 from mainline >> - 2011-03-23 Chung-Lin Tang >> - >> - PR target/46934 >> - * config/arm/arm.md (casesi): Use the gen_int_mode() function >> - to subtract lower bound instead of GEN_INT(). >> - >> - Backport r171251 from mainline >> - 2011-03-21 Daniel Jacobowitz >> - >> - * config/arm/unwind-arm.c (__gnu_unwind_pr_common): Correct test >> - for barrier handlers. >> - >> - Backport r171096 from mainline >> - 2011-03-17 Chung-Lin Tang >> - >> - PR target/43872 >> - * config/arm/arm.c (arm_get_frame_offsets): Adjust early >> - return condition with !cfun->calls_alloca. >> - >> -Index: gcc-4_6-branch/gcc/builtins.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/builtins.c 2011-10-17 17:45:32.050502963 = -0700 >> -+++ gcc-4_6-branch/gcc/builtins.c 2011-10-17 17:46:11.154696878 -0700= >> -@@ -3972,6 +3972,7 @@ >> - { >> - tree fndecl, fn; >> - enum built_in_function fcode; >> -+ enum machine_mode val_mode; >> - char c; >> - unsigned int dest_align; >> - rtx dest_mem, dest_addr, len_rtx; >> -@@ -4006,14 +4007,14 @@ >> - >> - len_rtx =3D expand_normal (len); >> - dest_mem =3D get_memory_rtx (dest, len); >> -+ val_mode =3D TYPE_MODE (unsigned_char_type_node); >> - >> - if (TREE_CODE (val) !=3D INTEGER_CST) >> - { >> - rtx val_rtx; >> - >> - val_rtx =3D expand_normal (val); >> -- val_rtx =3D convert_to_mode (TYPE_MODE (unsigned_char_type_nod= e), >> -- val_rtx, 0); >> -+ val_rtx =3D convert_to_mode (val_mode, val_rtx, 0); >> - >> - /* Assume that we can memset by pieces if we can store >> - * the coefficients by pieces (in the required modes). >> -@@ -4024,8 +4025,7 @@ >> - builtin_memset_read_str, &c, dest_align, >> - true)) >> - { >> -- val_rtx =3D force_reg (TYPE_MODE (unsigned_char_type_node), >> -- val_rtx); >> -+ val_rtx =3D force_reg (val_mode, val_rtx); >> - store_by_pieces (dest_mem, tree_low_cst (len, 1), >> - builtin_memset_gen_str, val_rtx, dest_align, >> - true, 0); >> -@@ -4051,7 +4051,8 @@ >> - true)) >> - store_by_pieces (dest_mem, tree_low_cst (len, 1), >> - builtin_memset_read_str, &c, dest_align, true, 0); >> -- else if (!set_storage_via_setmem (dest_mem, len_rtx, GEN_INT (= c), >> -+ else if (!set_storage_via_setmem (dest_mem, len_rtx, >> -+ gen_int_mode (c, val_mode), >> - dest_align, expected_align, >> - expected_size)) >> - goto do_libcall; >> -Index: gcc-4_6-branch/gcc/config/arm/arm.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/arm/arm.c 2011-10-17 17:45:41.9145= 51883 -0700 >> -+++ gcc-4_6-branch/gcc/config/arm/arm.c 2011-10-17 17:48:35.447412371= -0700 >> -@@ -6406,23 +6406,126 @@ >> - HOST_WIDE_INT val =3D INTVAL (XEXP (*p, 1)); >> - HOST_WIDE_INT low, high; >> - >> -- if (mode =3D=3D DImode || (mode =3D=3D DFmode && TARGET_SOFT_F= LOAT)) >> -- low =3D ((val & 0xf) ^ 0x8) - 0x8; >> -- else if (TARGET_MAVERICK && TARGET_HARD_FLOAT) >> -- /* Need to be careful, -256 is not a valid offset. */ >> -- low =3D val >=3D 0 ? (val & 0xff) : -((-val) & 0xff); >> -- else if (mode =3D=3D SImode >> -- || (mode =3D=3D SFmode && TARGET_SOFT_FLOAT) >> -- || ((mode =3D=3D HImode || mode =3D=3D QImode) && ! arm_arch= 4)) >> -- /* Need to be careful, -4096 is not a valid offset. */ >> -- low =3D val >=3D 0 ? (val & 0xfff) : -((-val) & 0xfff); >> -- else if ((mode =3D=3D HImode || mode =3D=3D QImode) && arm_arc= h4) >> -- /* Need to be careful, -256 is not a valid offset. */ >> -- low =3D val >=3D 0 ? (val & 0xff) : -((-val) & 0xff); >> -- else if (GET_MODE_CLASS (mode) =3D=3D MODE_FLOAT >> -- && TARGET_HARD_FLOAT && TARGET_FPA) >> -- /* Need to be careful, -1024 is not a valid offset. */ >> -- low =3D val >=3D 0 ? (val & 0x3ff) : -((-val) & 0x3ff); >> -+ /* Detect coprocessor load/stores. */ >> -+ bool coproc_p =3D ((TARGET_HARD_FLOAT >> -+ && (TARGET_VFP || TARGET_FPA || TARGET_MAVERICK) >> -+ && (mode =3D=3D SFmode || mode =3D=3D DFmode >> -+ || (mode =3D=3D DImode && TARGET_MAVERICK))) >> -+ || (TARGET_REALLY_IWMMXT >> -+ && VALID_IWMMXT_REG_MODE (mode)) >> -+ || (TARGET_NEON >> -+ && (VALID_NEON_DREG_MODE (mode) >> -+ || VALID_NEON_QREG_MODE (mode)))); >> -+ >> -+ /* For some conditions, bail out when lower two bits are unali= gned. */ >> -+ if ((val & 0x3) !=3D 0 >> -+ /* Coprocessor load/store indexes are 8-bits + '00' appended. */= >> -+ && (coproc_p >> -+ /* For DI, and DF under soft-float: */ >> -+ || ((mode =3D=3D DImode || mode =3D=3D DFmode) >> -+ /* Without ldrd, we use stm/ldm, which does not >> -+ fair well with unaligned bits. */ >> -+ && (! TARGET_LDRD >> -+ /* Thumb-2 ldrd/strd is [-1020,+1020] in steps of 4. */ >> -+ || TARGET_THUMB2)))) >> -+ return false; >> -+ >> -+ /* When breaking down a [reg+index] reload address into [(reg+= high)+low], >> -+ of which the (reg+high) gets turned into a reload add insn, >> -+ we try to decompose the index into high/low values that can often >> -+ also lead to better reload CSE. >> -+ For example: >> -+ ldr r0, [r2, #4100] // Offset too large >> -+ ldr r1, [r2, #4104] // Offset too large >> -+ >> -+ is best reloaded as: >> -+ add t1, r2, #4096 >> -+ ldr r0, [t1, #4] >> -+ add t2, r2, #4096 >> -+ ldr r1, [t2, #8] >> -+ >> -+ which post-reload CSE can simplify in most cases to eliminate the >> -+ second add instruction: >> -+ add t1, r2, #4096 >> -+ ldr r0, [t1, #4] >> -+ ldr r1, [t1, #8] >> -+ >> -+ The idea here is that we want to split out the bits of the constan= t >> -+ as a mask, rather than as subtracting the maximum offset that the >> -+ respective type of load/store used can handle. >> -+ >> -+ When encountering negative offsets, we can still utilize it even i= f >> -+ the overall offset is positive; sometimes this may lead to an imme= diate >> -+ that can be constructed with fewer instructions. >> -+ For example: >> -+ ldr r0, [r2, #0x3FFFFC] >> -+ >> -+ This is best reloaded as: >> -+ add t1, r2, #0x400000 >> -+ ldr r0, [t1, #-4] >> -+ >> -+ The trick for spotting this for a load insn with N bits of offset >> -+ (i.e. bits N-1:0) is to look at bit N; if it is set, then chose a >> -+ negative offset that is going to make bit N and all the bits below= >> -+ it become zero in the remainder part. >> -+ >> -+ The SIGN_MAG_LOW_ADDR_BITS macro below implements this, with respe= ct >> -+ to sign-magnitude addressing (i.e. separate +- bit, or 1's complem= ent), >> -+ used in most cases of ARM load/store instructions. */ >> -+ >> -+#define SIGN_MAG_LOW_ADDR_BITS(VAL, N) \ >> -+ (((VAL) & ((1 << (N)) - 1)) \ >> -+ ? (((VAL) & ((1 << ((N) + 1)) - 1)) ^ (1 << (N))) - (1 << (N)= ) \ >> -+ : 0) >> -+ >> -+ if (coproc_p) >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 10); >> -+ else if (GET_MODE_SIZE (mode) =3D=3D 8) >> -+ { >> -+ if (TARGET_LDRD) >> -+ low =3D (TARGET_THUMB2 >> -+ ? SIGN_MAG_LOW_ADDR_BITS (val, 10) >> -+ : SIGN_MAG_LOW_ADDR_BITS (val, 8)); >> -+ else >> -+ /* For pre-ARMv5TE (without ldrd), we use ldm/stm(db/da/ib) >> -+ to access doublewords. The supported load/store offsets are >> -+ -8, -4, and 4, which we try to produce here. */ >> -+ low =3D ((val & 0xf) ^ 0x8) - 0x8; >> -+ } >> -+ else if (GET_MODE_SIZE (mode) < 8) >> -+ { >> -+ /* NEON element load/stores do not have an offset. */ >> -+ if (TARGET_NEON_FP16 && mode =3D=3D HFmode) >> -+ return false; >> -+ >> -+ if (TARGET_THUMB2) >> -+ { >> -+ /* Thumb-2 has an asymmetrical index range of (-256,4096). >> -+ Try the wider 12-bit range first, and re-try if the result >> -+ is out of range. */ >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 12); >> -+ if (low < -255) >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 8); >> -+ } >> -+ else >> -+ { >> -+ if (mode =3D=3D HImode || mode =3D=3D HFmode) >> -+ { >> -+ if (arm_arch4) >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 8); >> -+ else >> -+ { >> -+ /* The storehi/movhi_bytes fallbacks can use only >> -+ [-4094,+4094] of the full ldrb/strb index range. */ >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 12); >> -+ if (low =3D=3D 4095 || low =3D=3D -4095) >> -+ return false; >> -+ } >> -+ } >> -+ else >> -+ low =3D SIGN_MAG_LOW_ADDR_BITS (val, 12); >> -+ } >> -+ } >> - else >> - return false; >> - >> -@@ -15415,7 +15518,10 @@ >> - offsets->soft_frame =3D offsets->saved_regs + CALLER_INTERWORKING_= SLOT_SIZE; >> - /* A leaf function does not need any stack alignment if it has not= hing >> - on the stack. */ >> -- if (leaf && frame_size =3D=3D 0) >> -+ if (leaf && frame_size =3D=3D 0 >> -+ /* However if it calls alloca(), we have a dynamically allocat= ed >> -+ block of BIGGEST_ALIGNMENT on stack, so still do stack alignment. = */ >> -+ && ! cfun->calls_alloca) >> - { >> - offsets->outgoing_args =3D offsets->soft_frame; >> - offsets->locals_base =3D offsets->soft_frame; >> -Index: gcc-4_6-branch/gcc/config/arm/arm.h >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/arm/arm.h 2011-10-17 17:45:41.9105= 51858 -0700 >> -+++ gcc-4_6-branch/gcc/config/arm/arm.h 2011-10-17 17:48:35.447412371= -0700 >> -@@ -2041,7 +2041,8 @@ >> - /* Try to generate sequences that don't involve branches, we can the= n use >> - conditional instructions */ >> - #define BRANCH_COST(speed_p, predictable_p) \ >> -- (TARGET_32BIT ? 4 : (optimize > 0 ? 2 : 0)) >> -+ (TARGET_32BIT ? (TARGET_THUMB2 && !speed_p ? 1 : 4) \ >> -+ : (optimize > 0 ? 2 : 0)) >> - >> - /* Position Independent Code. */ >> - /* We decide which register to use based on the compilation options = and >> -Index: gcc-4_6-branch/gcc/config/arm/arm.md >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/arm/arm.md 2011-10-17 17:46:11.002= 696119 -0700 >> -+++ gcc-4_6-branch/gcc/config/arm/arm.md 2011-10-17 17:46:11.20269711= 1 -0700 >> -@@ -6187,7 +6187,7 @@ >> - [(match_operand:DF 0 "arm_reload_memory_operand" "=3Do") >> - (match_operand:DF 1 "s_register_operand" "r") >> - (match_operand:SI 2 "s_register_operand" "=3D&r")] >> -- "TARGET_32BIT" >> -+ "TARGET_THUMB2" >> - " >> - { >> - enum rtx_code code =3D GET_CODE (XEXP (operands[0], 0)); >> -@@ -8359,7 +8359,8 @@ >> - rtx reg =3D gen_reg_rtx (SImode); >> - >> - emit_insn (gen_addsi3 (reg, operands[0], >> -- GEN_INT (-INTVAL (operands[1])))); >> -+ gen_int_mode (-INTVAL (operands[1]), >> -+ SImode))); >> - operands[0] =3D reg; >> - } >> - >> -Index: gcc-4_6-branch/gcc/config/arm/unwind-arm.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/config/arm/unwind-arm.c 2011-10-17 17:45:= 41.390549278 -0700 >> -+++ gcc-4_6-branch/gcc/config/arm/unwind-arm.c 2011-10-17 17:46:11.00= 0000000 -0700 >> -@@ -1196,8 +1196,6 @@ >> - ucbp->barrier_cache.bitpattern[4] =3D (_uw) &data[1]; >> - >> - if (data[0] & uint32_highbit) >> -- phase2_call_unexpected_after_unwind =3D 1; >> -- else >> - { >> - data +=3D rtti_count + 1; >> - /* Setup for entry to the handler. */ >> -@@ -1207,6 +1205,8 @@ >> - _Unwind_SetGR (context, 0, (_uw) ucbp); >> - return _URC_INSTALL_CONTEXT; >> - } >> -+ else >> -+ phase2_call_unexpected_after_unwind =3D 1; >> - } >> - if (data[0] & uint32_highbit) >> - data++; >> -Index: gcc-4_6-branch/gcc/fold-const.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/fold-const.c 2011-10-17 17:45:32.05050296= 3 -0700 >> -+++ gcc-4_6-branch/gcc/fold-const.c 2011-10-17 17:46:11.178696990 -07= 00 >> -@@ -13788,7 +13788,8 @@ >> - if (TREE_CODE_CLASS (code) !=3D tcc_type >> - && TREE_CODE_CLASS (code) !=3D tcc_declaration >> - && code !=3D TREE_LIST >> -- && code !=3D SSA_NAME) >> -+ && code !=3D SSA_NAME >> -+ && CODE_CONTAINS_STRUCT (code, TS_COMMON)) >> - fold_checksum_tree (TREE_CHAIN (expr), ctx, ht); >> - switch (TREE_CODE_CLASS (code)) >> - { >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr40887.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr40887.c 2011-0= 6-24 08:13:47.000000000 -0700 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr40887.c 2011-10-17 = 17:46:11.182697014 -0700 >> -@@ -1,5 +1,6 @@ >> - /* { dg-options "-O2 -march=3Darmv5te" } */ >> - /* { dg-final { scan-assembler "blx" } } */ >> -+/* { dg-prune-output "switch .* conflicts with" } */ >> - >> - int (*indirect_func)(); >> - >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr42575.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr42575.c 2011-0= 6-24 08:13:47.000000000 -0700 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr42575.c 2011-10-17 = 17:46:11.182697014 -0700 >> -@@ -1,4 +1,4 @@ >> --/* { dg-options "-O2 -march=3Darmv7-a" } */ >> -+/* { dg-options "-O2" } */ >> - /* Make sure RA does good job allocating registers and avoids >> - unnecessary moves. */ >> - /* { dg-final { scan-assembler-not "mov" } } */ >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr43698.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr43698.c 2011-0= 6-24 08:13:47.000000000 -0700 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr43698.c 2011-10-17 = 17:46:11.182697014 -0700 >> -@@ -1,5 +1,5 @@ >> - /* { dg-do run } */ >> --/* { dg-options "-Os -march=3Darmv7-a" } */ >> -+/* { dg-options "-Os" } */ >> - #include >> - #include >> - >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr44788.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/pr44788.c 2011-0= 6-24 08:13:47.000000000 -0700 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/pr44788.c 2011-10-17 = 17:46:11.182697014 -0700 >> -@@ -1,6 +1,6 @@ >> - /* { dg-do compile } */ >> - /* { dg-require-effective-target arm_thumb2_ok } */ >> --/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -march=3Darm= v7-a -mfpu=3Dvfp3 -mfloat-abi=3Dsoftfp" } */ >> -+/* { dg-options "-Os -fno-strict-aliasing -fPIC -mthumb -mfpu=3Dvfp3= -mfloat-abi=3Dsoftfp" } */ >> - >> - void joint_decode(float* mlt_buffer1, int t) { >> - int i; >> -Index: gcc-4_6-branch/gcc/testsuite/gcc.target/arm/sync-1.c >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4_6-branch.orig/gcc/testsuite/gcc.target/arm/sync-1.c 2011-06= -24 08:13:47.000000000 -0700 >> -+++ gcc-4_6-branch/gcc/testsuite/gcc.target/arm/sync-1.c 2011-10-17 1= 7:46:11.182697014 -0700 >> -@@ -1,5 +1,6 @@ >> --/* { dg-do run } */ >> --/* { dg-options "-O2 -march=3Darmv7-a" } */ >> -+ >> -+/* { dg-do run { target sync_int_long } } */ >> -+/* { dg-options "-O2" } */ >> - >> - volatile int mem; >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr47551.patc= h b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr47551.patch >> deleted file mode 100644 >> index 2c6bcda..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/pr47551.patch >> +++ /dev/null >> @@ -1,64 +0,0 @@ >> -Upstream-Status:Backport >> -2011-02-02 Richard Sandiford >> - >> - gcc/ >> - PR target/47551 >> - * config/arm/arm.c (coproc_secondary_reload_class): Handle >> - structure modes. Don't check neon_vector_mem_operand for >> - vector or structure modes. >> - >> - gcc/testsuite/ >> - PR target/47551 >> - * gcc.target/arm/neon-modes-2.c: New test. >> - >> -=3D=3D=3D modified file 'gcc/config/arm/arm.c' >> ---- old/gcc/config/arm/arm.c 2011-02-21 14:04:51 +0000 >> -+++ new/gcc/config/arm/arm.c 2011-03-02 11:38:43 +0000 >> -@@ -9139,11 +9139,14 @@ >> - return GENERAL_REGS; >> - } >> - >> -+ /* The neon move patterns handle all legitimate vector and struct >> -+ addresses. */ >> - if (TARGET_NEON >> -+ && MEM_P (x) >> - && (GET_MODE_CLASS (mode) =3D=3D MODE_VECTOR_INT >> -- || GET_MODE_CLASS (mode) =3D=3D MODE_VECTOR_FLOAT) >> -- && neon_vector_mem_operand (x, 0)) >> -- return NO_REGS; >> -+ || GET_MODE_CLASS (mode) =3D=3D MODE_VECTOR_FLOAT >> -+ || VALID_NEON_STRUCT_MODE (mode))) >> -+ return NO_REGS; >> - >> - if (arm_coproc_mem_operand (x, wb) || s_register_operand (x, mode)= ) >> - return NO_REGS; >> - >> -=3D=3D=3D added file 'gcc/testsuite/gcc.target/arm/neon-modes-2.c' >> ---- old/gcc/testsuite/gcc.target/arm/neon-modes-2.c 1970-01-01 00:00:= 00 +0000 >> -+++ new/gcc/testsuite/gcc.target/arm/neon-modes-2.c 2011-02-02 10:02:= 45 +0000 >> -@@ -0,0 +1,24 @@ >> -+/* { dg-do compile } */ >> -+/* { dg-require-effective-target arm_neon_ok } */ >> -+/* { dg-options "-O1" } */ >> -+/* { dg-add-options arm_neon } */ >> -+ >> -+#include "arm_neon.h" >> -+ >> -+#define SETUP(A) x##A =3D vld3_u32 (ptr + A * 0x20) >> -+#define MODIFY(A) x##A =3D vld3_lane_u32 (ptr + A * 0x20 + 0x10, x##= A, 1) >> -+#define STORE(A) vst3_u32 (ptr + A * 0x20, x##A) >> -+ >> -+#define MANY(A) A (0), A (1), A (2), A (3), A (4), A (5) >> -+ >> -+void >> -+bar (uint32_t *ptr, int y) >> -+{ >> -+ uint32x2x3_t MANY (SETUP); >> -+ int *x =3D __builtin_alloca (y); >> -+ int z[0x1000]; >> -+ foo (x, z); >> -+ MANY (MODIFY); >> -+ foo (x, z); >> -+ MANY (STORE); >> -+} >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/use-defaults= =2Eh-and-t-oe-in-B.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/u= se-defaults.h-and-t-oe-in-B.patch >> deleted file mode 100644 >> index b4351ee..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/use-defaults.h-and-= t-oe-in-B.patch >> +++ /dev/null >> @@ -1,80 +0,0 @@ >> -Upstream-Status: Pending >> - >> -Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}, so that= >> -the source can be shared between gcc-cross-initial, >> -gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk buil= d. >> ---- >> - gcc/Makefile.in | 2 +- >> - gcc/configure | 4 ++-- >> - gcc/configure.ac | 4 ++-- >> - gcc/mkconfig.sh | 4 ++-- >> - 4 files changed, 7 insertions(+), 7 deletions(-) >> - >> -diff --git a/gcc/Makefile.in b/gcc/Makefile.in >> -index 7790915..3a0c34a 100644 >> ---- a/gcc/Makefile.in >> -+++ b/gcc/Makefile.in >> -@@ -463,7 +463,7 @@ LIMITS_H_TEST =3D [ -f $(SYSTEM_HEADER_DIR)/limit= s.h ] >> - TARGET_SYSTEM_ROOT =3D @TARGET_SYSTEM_ROOT@ >> - >> - xmake_file=3D@xmake_file@ >> --tmake_file=3D@tmake_file@ >> -+tmake_file=3D@tmake_file@ ./t-oe >> - TM_ENDIAN_CONFIG=3D@TM_ENDIAN_CONFIG@ >> - TM_MULTILIB_CONFIG=3D@TM_MULTILIB_CONFIG@ >> - TM_MULTILIB_EXCEPTIONS_CONFIG=3D@TM_MULTILIB_EXCEPTIONS_CONFIG@ >> -diff --git a/gcc/configure b/gcc/configure >> -index 82fa3e4..d4711b5 100755 >> ---- a/gcc/configure >> -+++ b/gcc/configure >> -@@ -11227,8 +11227,8 @@ for f in $tm_file; do >> - tm_include_list=3D"${tm_include_list} $f" >> - ;; >> - defaults.h ) >> -- tm_file_list=3D"${tm_file_list} \$(srcdir)/$f" >> -- tm_include_list=3D"${tm_include_list} $f" >> -+ tm_file_list=3D"${tm_file_list} ./$f" >> -+ tm_include_list=3D"${tm_include_list} ./$f" >> - ;; >> - * ) >> - tm_file_list=3D"${tm_file_list} \$(srcdir)/config/$f" >> -diff --git a/gcc/configure.ac b/gcc/configure.ac >> -index 844d8da..a960343 100644 >> ---- a/gcc/configure.ac >> -+++ b/gcc/configure.ac >> -@@ -1628,8 +1628,8 @@ for f in $tm_file; do >> - tm_include_list=3D"${tm_include_list} $f" >> - ;; >> - defaults.h ) >> -- tm_file_list=3D"${tm_file_list} \$(srcdir)/$f" >> -- tm_include_list=3D"${tm_include_list} $f" >> -+ tm_file_list=3D"${tm_file_list} ./$f" >> -+ tm_include_list=3D"${tm_include_list} ./$f" >> - ;; >> - * ) >> - tm_file_list=3D"${tm_file_list} \$(srcdir)/config/$f" >> -diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh >> -index d56df8c..875d0f1 100644 >> ---- a/gcc/mkconfig.sh >> -+++ b/gcc/mkconfig.sh >> -@@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then >> - if [ $# -ge 1 ]; then >> - echo '#ifdef IN_GCC' >> ${output}T >> - for file in "$@"; do >> -- if test x"$file" =3D x"defaults.h"; then >> -+ if test x"$file" =3D x"./defaults.h"; then >> - postpone_defaults_h=3D"yes" >> - else >> - echo "# include \"$file\"" >> ${output}T >> -@@ -103,7 +103,7 @@ esac >> - >> - # If we postponed including defaults.h, add the #include now. >> - if test x"$postpone_defaults_h" =3D x"yes"; then >> -- echo "# include \"defaults.h\"" >> ${output}T >> -+ echo "# include \"./defaults.h\"" >> ${output}T >> - fi >> - >> - # Add multiple inclusion protection guard, part two. >> --- >> -1.7.1 >> - >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/zecke-xgcc-c= pp.patch b/toolchain-layer/recipes-devtools/gcc/gcc-4.6/zecke-xgcc-cpp.pa= tch >> deleted file mode 100644 >> index 6192c48..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-4.6/zecke-xgcc-cpp.patc= h >> +++ /dev/null >> @@ -1,30 +0,0 @@ >> -Upstream-Status: Inappropriate [embedded specific] >> - >> -upstream: n/a >> -comment: Use the preprocessor we have just compiled instead the one o= f >> -the system. There might be incompabilities between us and them. >> - >> -Index: gcc-4.6.0/Makefile.in >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/Makefile.in >> -+++ gcc-4.6.0/Makefile.in >> -@@ -270,6 +270,7 @@ BASE_TARGET_EXPORTS =3D \ >> - AR=3D"$(AR_FOR_TARGET)"; export AR; \ >> - AS=3D"$(COMPILER_AS_FOR_TARGET)"; export AS; \ >> - CC=3D"$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export C= C; \ >> -+ CPP=3D"$(CC_FOR_TARGET) -E"; export CPP; \ >> - CFLAGS=3D"$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ >> - CONFIG_SHELL=3D"$(SHELL)"; export CONFIG_SHELL; \ >> - CPPFLAGS=3D"$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ >> -Index: gcc-4.6.0/Makefile.tpl >> -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> ---- gcc-4.6.0.orig/Makefile.tpl >> -+++ gcc-4.6.0/Makefile.tpl >> -@@ -273,6 +273,7 @@ BASE_TARGET_EXPORTS =3D \ >> - AR=3D"$(AR_FOR_TARGET)"; export AR; \ >> - AS=3D"$(COMPILER_AS_FOR_TARGET)"; export AS; \ >> - CC=3D"$(CC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export C= C; \ >> -+ CPP=3D"$(CC_FOR_TARGET) -E"; export CPP; \ >> - CFLAGS=3D"$(CFLAGS_FOR_TARGET)"; export CFLAGS; \ >> - CONFIG_SHELL=3D"$(SHELL)"; export CONFIG_SHELL; \ >> - CPPFLAGS=3D"$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-common-4.6.inc b= /toolchain-layer/recipes-devtools/gcc/gcc-common-4.6.inc >> deleted file mode 100644 >> index f6b4929..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-common-4.6.inc >> +++ /dev/null >> @@ -1,4 +0,0 @@ >> -# this will prepend this layer to FILESPATH >> -FILESEXTRAPATHS :=3D "${THISDIR}/gcc-4.6" >> -PRINC :=3D "${@int(PRINC) + 6}" >> -ARM_INSTRUCTION_SET =3D "arm" >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-cross-canadian_4= =2E6.bb b/toolchain-layer/recipes-devtools/gcc/gcc-cross-canadian_4.6.bb >> deleted file mode 100644 >> index 29ddd67..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-cross-canadian_4.6.bb >> +++ /dev/null >> @@ -1,4 +0,0 @@ >> -inherit cross-canadian >> - >> -require recipes-devtools/gcc/gcc-${PV}.inc >> -require recipes-devtools/gcc/gcc-cross-canadian.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-cross-initial_4.= 6.bb b/toolchain-layer/recipes-devtools/gcc/gcc-cross-initial_4.6.bb >> deleted file mode 100644 >> index 22d4b05..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-cross-initial_4.6.bb >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-cross_${PV}.bb >> -require recipes-devtools/gcc/gcc-cross-initial.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-cross_4.6.bb b/t= oolchain-layer/recipes-devtools/gcc/gcc-cross_4.6.bb >> deleted file mode 100644 >> index cdaa7e8..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-cross_4.6.bb >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-${PV}.inc >> -require recipes-devtools/gcc/gcc-cross.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk-initial= _4.6.bb b/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk-initial_4.6.b= b >> deleted file mode 100644 >> index eff4df1..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk-initial_4.6.bb= >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-cross-initial_${PV}.bb >> -require recipes-devtools/gcc/gcc-crosssdk-initial.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk_4.6.bb = b/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk_4.6.bb >> deleted file mode 100644 >> index 0a9f98a..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-crosssdk_4.6.bb >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-cross_${PV}.bb >> -require recipes-devtools/gcc/gcc-crosssdk.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc-runtime_4.6.bb b= /toolchain-layer/recipes-devtools/gcc/gcc-runtime_4.6.bb >> deleted file mode 100644 >> index b755f55..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc-runtime_4.6.bb >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-${PV}.inc >> -require recipes-devtools/gcc/gcc-runtime.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/gcc_4.6.bb b/toolcha= in-layer/recipes-devtools/gcc/gcc_4.6.bb >> deleted file mode 100644 >> index 6ad8973..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/gcc_4.6.bb >> +++ /dev/null >> @@ -1,2 +0,0 @@ >> -require recipes-devtools/gcc/gcc-${PV}.inc >> -require recipes-devtools/gcc/gcc-target.inc >> diff --git a/toolchain-layer/recipes-devtools/gcc/libgcc_4.6.bb b/tool= chain-layer/recipes-devtools/gcc/libgcc_4.6.bb >> deleted file mode 100644 >> index fc2c1e3..0000000 >> --- a/toolchain-layer/recipes-devtools/gcc/libgcc_4.6.bb >> +++ /dev/null >> @@ -1,71 +0,0 @@ >> -require recipes-devtools/gcc/gcc-${PV}.inc >> - >> -INHIBIT_DEFAULT_DEPS =3D "1" >> - >> -DEPENDS =3D "virtual/${TARGET_PREFIX}gcc virtual/${TARGET_PREFIX}g++"= >> - >> -PKGSUFFIX =3D "" >> -PKGSUFFIX_class-nativesdk =3D "-nativesdk" >> - >> -PACKAGES =3D "\ >> - ${PN} \ >> - ${PN}-dev \ >> - ${PN}-dbg \ >> - libgcov${PKGSUFFIX}-dev \ >> -" >> - >> -FILES_${PN} =3D "${base_libdir}/libgcc*.so.*" >> -FILES_${PN}-dev =3D " \ >> - ${base_libdir}/libgcc*.so \ >> - ${libdir}/${TARGET_SYS}/${BINV}/*crt* \ >> - ${libdir}/${TARGET_SYS}/${BINV}/libgcc*" >> -FILES_libgcov${PKGSUFFIX}-dev =3D " \ >> - ${libdir}/${TARGET_SYS}/${BINV}/libgcov.a \ >> -" >> -FILES_${PN}-dbg +=3D "${base_libdir}/.debug/" >> - >> -do_configure () { >> - target=3D`echo ${MULTIMACH_TARGET_SYS} | sed -e s#-nativesdk##` >> - install -d ${D}${base_libdir} ${D}${libdir} >> - cp -fpPR ${STAGING_INCDIR_NATIVE}/gcc-build-internal-$target/* ${= B} >> - mkdir -p ${B}/${BPN} >> - cd ${B}/${BPN} >> - chmod a+x ${S}/${BPN}/configure >> - ${S}/${BPN}/configure ${CONFIGUREOPTS} ${EXTRA_OECONF} >> -} >> - >> -do_compile () { >> - target=3D`echo ${TARGET_SYS} | sed -e s#-nativesdk##` >> - cd ${B}/${BPN} >> - oe_runmake MULTIBUILDTOP=3D${B}/$target/${BPN}/ >> -} >> - >> -do_install () { >> - target=3D`echo ${TARGET_SYS} | sed -e s#-nativesdk##` >> - cd ${B}/${BPN} >> - oe_runmake 'DESTDIR=3D${D}' MULTIBUILDTOP=3D${B}/$target/${BPN}/ = install >> - >> - # Move libgcc_s into /lib >> - mkdir -p ${D}${base_libdir} >> - if [ -f ${D}${libdir}/nof/libgcc_s.so ]; then >> - mv ${D}${libdir}/nof/libgcc* ${D}${base_libdir} >> - else >> - mv ${D}${libdir}/libgcc* ${D}${base_libdir} || true >> - fi >> - >> - # install the runtime in /usr/lib/ not in /usr/lib/gcc on target >> - # so that cross-gcc can find it in the sysroot >> - >> - mv ${D}${libdir}/gcc/* ${D}${libdir} >> - rm -rf ${D}${libdir}/gcc/ >> -} >> - >> -do_package_write_ipk[depends] +=3D "virtual/${MLPREFIX}libc:do_packag= e" >> -do_package_write_deb[depends] +=3D "virtual/${MLPREFIX}libc:do_packag= e" >> -do_package_write_rpm[depends] +=3D "virtual/${MLPREFIX}libc:do_packag= e" >> - >> -BBCLASSEXTEND =3D "nativesdk" >> - >> -INSANE_SKIP_${PN}-dev =3D "staticdev" >> -INSANE_SKIP_libgcov${PKGSUFFIX}-dev =3D "staticdev" >> - >> -- >> 1.9.1 >> >> -- >> _______________________________________________ >> Openembedded-devel mailing list >> Openembedded-devel@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel >=20 >=20 >=20 --EpSjaQodXXNMlj2WjquTKC1fn0wmjsvMp Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWF4OnAAoJEMDJd4rr0merDG0H/iXHCM7vxvSejHGByZ0xAoxR RRiVlTu0jH8TgZ3pPdK0EKoKLWLM+rT0cXjcehlhuFZusvWdLRo4wd4iKfcDXMuq 0M3pIQ0sA9ZWF/cwpVFXW0yfIPGPplvQej34opRx1HeaVxQYDKpUZEUCPQ+JWj76 SQn8so6O9e2kVg2jKPBm2RFBZd1lA5YcIa3JehHUtLS+rO35sTP3HTy7fJosb3Gm ufg+gz4+omhNJq+cdLkHBMpDITbvBmrjtzDd9p7U3i0p6XTxbnxesiudu/u36MBh H4H+JbqOnfv7+8wgkATB4GAdk9unWemZgJpWV8sa88NovA4/Qbcdf8L8chhm4l8= =h7DE -----END PGP SIGNATURE----- --EpSjaQodXXNMlj2WjquTKC1fn0wmjsvMp--