From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32367 invoked by alias); 9 Dec 2013 19:05:00 -0000 Mailing-List: contact crossgcc-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: crossgcc-owner@sourceware.org Received: (qmail 32353 invoked by uid 89); 9 Dec 2013 19:04:59 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.2 required=5.0 tests=AWL,BAYES_50,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f175.google.com Received: from Unknown (HELO mail-wi0-f175.google.com) (209.85.212.175) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 09 Dec 2013 19:04:51 +0000 Received: by mail-wi0-f175.google.com with SMTP id hi5so4292038wib.14 for ; Mon, 09 Dec 2013 11:04:41 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.194.78.77 with SMTP id z13mr17440774wjw.27.1386615881246; Mon, 09 Dec 2013 11:04:41 -0800 (PST) Received: by 10.227.151.195 with HTTP; Mon, 9 Dec 2013 11:04:41 -0800 (PST) In-Reply-To: <65771b86df01ef768aa3.1386017534@blackmint> References: <65771b86df01ef768aa3.1386017534@blackmint> Date: Mon, 09 Dec 2013 19:05:00 -0000 Message-ID: Subject: Re: [PATCH 1 of 1] cc/gcc: Split gcc configurations and functions from cc ones From: Ray Donnelly To: Yann Diorcet Cc: "Yann E. MORIN" , crossgcc@sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes X-SW-Source: 2013-12/txt/msg00013.txt.bz2 Any chance of getting this patch reviewed? It's important as the basis for the rest of the clang/llvm patches. Cheers, Ray. On Mon, Dec 2, 2013 at 8:52 PM, Yann Diorcet wrote: > # HG changeset patch > # User Yann Diorcet > # Date 1386017469 -3600 > # Mon Dec 02 21:51:09 2013 +0100 > # Node ID 65771b86df01ef768aa36b6db1491a198cbf2811 > # Parent 7e569a9cb5fd3ab591bb307328b947a5b7312cba > cc/gcc: Split gcc configurations and functions from cc ones > > Signed-off-by: Yann Diorcet > > diff -r 7e569a9cb5fd -r 65771b86df01 config/cc.in > --- a/config/cc.in Sat Nov 16 18:14:45 2013 +0100 > +++ b/config/cc.in Mon Dec 02 21:51:09 2013 +0100 > @@ -4,9 +4,7 @@ > > config CC > string > - > -config CC_VERSION > - string > + default "gcc" > > config CC_CORE_PASSES_NEEDED > bool > @@ -126,6 +124,4 @@ > > endif # ! BARE_METAL > > -source "config.gen/cc.in.2" > - > endmenu > diff -r 7e569a9cb5fd -r 65771b86df01 config/cc/gcc.in > --- a/config/cc/gcc.in Sat Nov 16 18:14:45 2013 +0100 > +++ b/config/cc/gcc.in Mon Dec 02 21:51:09 2013 +0100 > @@ -1,5 +1,6 @@ > # Compiler options > # > +## default y > ## select CC_SUPPORT_CXX > ## select CC_SUPPORT_FORTRAN > ## select CC_SUPPORT_JAVA > @@ -36,215 +37,215 @@ > # Don't remove next line > # CT_INSERT_VERSION_BELOW > > -config CC_V_linaro_4_8 > +config CC_GCC_V_linaro_4_8 > bool > prompt "linaro-4.8-2013.06-1" > depends on CC_GCC_SHOW_LINARO > select CC_GCC_4_8 > > -config CC_V_4_8_2 > +config CC_GCC_V_4_8_2 > bool > prompt "4.8.2" > select CC_GCC_4_8 > > -config CC_V_4_8_1 > +config CC_GCC_V_4_8_1 > bool > prompt "4.8.1" > select CC_GCC_4_8 > > -config CC_V_4_8_0 > +config CC_GCC_V_4_8_0 > bool > prompt "4.8.0" > select CC_GCC_4_8 > > -config CC_V_linaro_4_7 > +config CC_GCC_V_linaro_4_7 > bool > prompt "linaro-4.7-2013.06-1" > depends on CC_GCC_SHOW_LINARO > select CC_GCC_4_7 > > -config CC_V_4_7_3 > +config CC_GCC_V_4_7_3 > bool > prompt "4.7.3" > select CC_GCC_4_7 > > -config CC_V_4_7_2 > +config CC_GCC_V_4_7_2 > bool > prompt "4.7.2" > select CC_GCC_4_7 > > -config CC_V_4_7_1 > +config CC_GCC_V_4_7_1 > bool > prompt "4.7.1" > select CC_GCC_4_7 > > -config CC_V_4_7_0 > +config CC_GCC_V_4_7_0 > bool > prompt "4.7.0" > select CC_GCC_4_7 > > -config CC_V_linaro_4_6 > +config CC_GCC_V_linaro_4_6 > bool > prompt "linaro-4.6-2013.05" > depends on CC_GCC_SHOW_LINARO > select CC_GCC_4_6 > > -config CC_V_4_6_4 > +config CC_GCC_V_4_6_4 > bool > prompt "4.6.4" > select CC_GCC_4_6 > > -config CC_V_4_6_3 > +config CC_GCC_V_4_6_3 > bool > prompt "4.6.3" > select CC_GCC_4_6 > > -config CC_V_4_6_2 > +config CC_GCC_V_4_6_2 > bool > prompt "4.6.2" > select CC_GCC_4_6 > > -config CC_V_4_6_1 > +config CC_GCC_V_4_6_1 > bool > prompt "4.6.1" > select CC_GCC_4_6 > > -config CC_V_4_6_0 > +config CC_GCC_V_4_6_0 > bool > prompt "4.6.0" > select CC_GCC_4_6 > > -config CC_V_linaro_4_5 > +config CC_GCC_V_linaro_4_5 > bool > prompt "linaro-4.5-2012.03" > depends on CC_GCC_SHOW_LINARO > select CC_GCC_4_5 > > -config CC_V_4_5_3 > +config CC_GCC_V_4_5_3 > bool > prompt "4.5.3" > select CC_GCC_4_5 > > -config CC_V_4_5_2 > +config CC_GCC_V_4_5_2 > bool > prompt "4.5.2" > select CC_GCC_4_5 > > -config CC_V_4_5_1 > +config CC_GCC_V_4_5_1 > bool > prompt "4.5.1" > select CC_GCC_4_5 > > -config CC_V_4_5_0 > +config CC_GCC_V_4_5_0 > bool > prompt "4.5.0" > select CC_GCC_4_5 > > > -config CC_V_linaro_4_4 > +config CC_GCC_V_linaro_4_4 > bool > prompt "linaro-4.4-2011.02-0" > depends on CC_GCC_SHOW_LINARO > select CC_GCC_4_4 > > -config CC_V_4_4_7 > +config CC_GCC_V_4_4_7 > bool > prompt "4.4.7" > select CC_GCC_4_4 > > -config CC_V_4_4_6 > +config CC_GCC_V_4_4_6 > bool > prompt "4.4.6" > select CC_GCC_4_4 > > -config CC_V_4_4_5 > +config CC_GCC_V_4_4_5 > bool > prompt "4.4.5" > select CC_GCC_4_4 > > -config CC_V_4_4_4 > +config CC_GCC_V_4_4_4 > bool > prompt "4.4.4" > select CC_GCC_4_4 > > -config CC_V_4_4_3 > +config CC_GCC_V_4_4_3 > bool > prompt "4.4.3" > select CC_GCC_4_4 > > -config CC_V_4_4_2 > +config CC_GCC_V_4_4_2 > bool > prompt "4.4.2" > select CC_GCC_4_4 > > -config CC_V_4_4_1 > +config CC_GCC_V_4_4_1 > bool > prompt "4.4.1" > select CC_GCC_4_4 > > -config CC_V_4_4_0 > +config CC_GCC_V_4_4_0 > bool > prompt "4.4.0" > select CC_GCC_4_4 > > -config CC_V_4_3_6 > +config CC_GCC_V_4_3_6 > bool > prompt "4.3.6" > select CC_GCC_4_3 > > -config CC_V_4_3_5 > +config CC_GCC_V_4_3_5 > bool > prompt "4.3.5" > select CC_GCC_4_3 > > -config CC_V_4_3_4 > +config CC_GCC_V_4_3_4 > bool > prompt "4.3.4" > select CC_GCC_4_3 > > -config CC_V_4_3_3 > +config CC_GCC_V_4_3_3 > bool > prompt "4.3.3" > select CC_GCC_4_3 > > -config CC_V_4_3_2 > +config CC_GCC_V_4_3_2 > bool > prompt "4.3.2" > select CC_GCC_4_3 > > -config CC_V_4_3_1 > +config CC_GCC_V_4_3_1 > bool > prompt "4.3.1" > select CC_GCC_4_3 > > -config CC_V_4_2_4 > +config CC_GCC_V_4_2_4 > bool > prompt "4.2.4" > select CC_GCC_4_2 > > # We need that one, it's the only version with avr32 support > # because we have a patch for it > -config CC_V_4_2_2 > +config CC_GCC_V_4_2_2 > bool > prompt "4.2.2" > select CC_GCC_4_2 > > -config CC_V_4_1_2 > +config CC_GCC_V_4_1_2 > bool > prompt "4.1.2 (OBSOLETE)" > depends on OBSOLETE > > -config CC_V_4_0_4 > +config CC_GCC_V_4_0_4 > bool > prompt "4.0.4 (OBSOLETE)" > depends on OBSOLETE > > -config CC_V_3_4_6 > +config CC_GCC_V_3_4_6 > bool > prompt "3.4.6 (OBSOLETE)" > depends on OBSOLETE > > -config CC_CUSTOM > +config CC_GCC_CUSTOM > bool > prompt "Custom gcc" > depends on EXPERIMENTAL > @@ -252,9 +253,9 @@ > > endchoice > > -if CC_CUSTOM > +if CC_GCC_CUSTOM > > -config CC_CUSTOM_LOCATION > +config CC_GCC_CUSTOM_LOCATION > string > prompt "Full path to custom gcc source" > default "" > @@ -262,7 +263,7 @@ > Enter the path to the directory (or tarball) of your source for gcc, > or leave blank to use default CT_CUSTOM_LOCATION_ROOT_DIR/gcc > > -endif #CC_CUSTOM > +endif #CC_GCC_CUSTOM > > config CC_GCC_4_2 > bool > @@ -434,6 +435,8 @@ > select GMP_NEEDED > select MPFR_NEEDED > > + select CLOOG_NEEDED > + > config CC_GCC_USE_MPC > bool > select MPC_NEEDED > @@ -445,52 +448,52 @@ > config CC_GCC_HAS_LIBQUADMATH > bool > > -config CC_VERSION > +config CC_GCC_VERSION > string > # Don't remove next line > # CT_INSERT_VERSION_STRING_BELOW > - default "linaro-4.8-2013.06-1" if CC_V_linaro_4_8 > - default "4.8.2" if CC_V_4_8_2 > - default "4.8.1" if CC_V_4_8_1 > - default "4.8.0" if CC_V_4_8_0 > - default "linaro-4.7-2013.06-1" if CC_V_linaro_4_7 > - default "4.7.3" if CC_V_4_7_3 > - default "4.7.2" if CC_V_4_7_2 > - default "4.7.1" if CC_V_4_7_1 > - default "4.7.0" if CC_V_4_7_0 > - default "linaro-4.6-2013.05" if CC_V_linaro_4_6 > - default "4.6.4" if CC_V_4_6_4 > - default "4.6.3" if CC_V_4_6_3 > - default "4.6.2" if CC_V_4_6_2 > - default "4.6.1" if CC_V_4_6_1 > - default "4.6.0" if CC_V_4_6_0 > - default "linaro-4.5-2012.03" if CC_V_linaro_4_5 > - default "4.5.3" if CC_V_4_5_3 > - default "4.5.2" if CC_V_4_5_2 > - default "4.5.1" if CC_V_4_5_1 > - default "4.5.0" if CC_V_4_5_0 > - default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4 > - default "4.4.7" if CC_V_4_4_7 > - default "4.4.6" if CC_V_4_4_6 > - default "4.4.5" if CC_V_4_4_5 > - default "4.4.4" if CC_V_4_4_4 > - default "4.4.3" if CC_V_4_4_3 > - default "4.4.2" if CC_V_4_4_2 > - default "4.4.1" if CC_V_4_4_1 > - default "4.4.0" if CC_V_4_4_0 > - default "4.3.6" if CC_V_4_3_6 > - default "4.3.5" if CC_V_4_3_5 > - default "4.3.4" if CC_V_4_3_4 > - default "4.3.3" if CC_V_4_3_3 > - default "4.3.2" if CC_V_4_3_2 > - default "4.3.1" if CC_V_4_3_1 > - default "4.3.0" if CC_V_4_3_0 > - default "4.2.4" if CC_V_4_2_4 > - default "4.2.2" if CC_V_4_2_2 > - default "4.1.2" if CC_V_4_1_2 > - default "4.0.4" if CC_V_4_0_4 > - default "3.4.6" if CC_V_3_4_6 > - default "custom" if CC_CUSTOM > + default "linaro-4.8-2013.06-1" if CC_GCC_V_linaro_4_8 > + default "4.8.2" if CC_GCC_V_4_8_2 > + default "4.8.1" if CC_GCC_V_4_8_1 > + default "4.8.0" if CC_GCC_V_4_8_0 > + default "linaro-4.7-2013.06-1" if CC_GCC_V_linaro_4_7 > + default "4.7.3" if CC_GCC_V_4_7_3 > + default "4.7.2" if CC_GCC_V_4_7_2 > + default "4.7.1" if CC_GCC_V_4_7_1 > + default "4.7.0" if CC_GCC_V_4_7_0 > + default "linaro-4.6-2013.05" if CC_GCC_V_linaro_4_6 > + default "4.6.4" if CC_GCC_V_4_6_4 > + default "4.6.3" if CC_GCC_V_4_6_3 > + default "4.6.2" if CC_GCC_V_4_6_2 > + default "4.6.1" if CC_GCC_V_4_6_1 > + default "4.6.0" if CC_GCC_V_4_6_0 > + default "linaro-4.5-2012.03" if CC_GCC_V_linaro_4_5 > + default "4.5.3" if CC_GCC_V_4_5_3 > + default "4.5.2" if CC_GCC_V_4_5_2 > + default "4.5.1" if CC_GCC_V_4_5_1 > + default "4.5.0" if CC_GCC_V_4_5_0 > + default "linaro-4.4-2011.02-0" if CC_GCC_V_linaro_4_4 > + default "4.4.7" if CC_GCC_V_4_4_7 > + default "4.4.6" if CC_GCC_V_4_4_6 > + default "4.4.5" if CC_GCC_V_4_4_5 > + default "4.4.4" if CC_GCC_V_4_4_4 > + default "4.4.3" if CC_GCC_V_4_4_3 > + default "4.4.2" if CC_GCC_V_4_4_2 > + default "4.4.1" if CC_GCC_V_4_4_1 > + default "4.4.0" if CC_GCC_V_4_4_0 > + default "4.3.6" if CC_GCC_V_4_3_6 > + default "4.3.5" if CC_GCC_V_4_3_5 > + default "4.3.4" if CC_GCC_V_4_3_4 > + default "4.3.3" if CC_GCC_V_4_3_3 > + default "4.3.2" if CC_GCC_V_4_3_2 > + default "4.3.1" if CC_GCC_V_4_3_1 > + default "4.3.0" if CC_GCC_V_4_3_0 > + default "4.2.4" if CC_GCC_V_4_2_4 > + default "4.2.2" if CC_GCC_V_4_2_2 > + default "4.1.2" if CC_GCC_V_4_1_2 > + default "4.0.4" if CC_GCC_V_4_0_4 > + default "3.4.6" if CC_GCC_V_3_4_6 > + default "custom" if CC_GCC_CUSTOM > > config CC_LANG_JAVA_USE_ECJ > bool > @@ -501,3 +504,5 @@ > # Fortran always requires GMP+MPFR, whatever the gcc version > config CC_LANG_FORTRAN > select CC_GCC_USE_GMP_MPFR > + > +source "config/cc/gcc.in.2" > diff -r 7e569a9cb5fd -r 65771b86df01 config/cc/gcc.in.2 > --- a/config/cc/gcc.in.2 Sat Nov 16 18:14:45 2013 +0100 > +++ b/config/cc/gcc.in.2 Mon Dec 02 21:51:09 2013 +0100 > @@ -1,6 +1,6 @@ > # gcc configuration options > > -config CC_ENABLE_CXX_FLAGS > +config CC_GCC_ENABLE_CXX_FLAGS > string > prompt "Flags to pass to --enable-cxx-flags" > default "" > @@ -11,7 +11,7 @@ > Note: just pass in the option _value_, that is only the part that goes > after the '=' sign. > > -config CC_CORE_EXTRA_CONFIG_ARRAY > +config CC_GCC_CORE_EXTRA_CONFIG_ARRAY > string > prompt "Core gcc extra config" > default "" > @@ -25,7 +25,7 @@ > if they are properly quoted (or escaped, but prefer quotes). Eg.: > --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space > > -config CC_EXTRA_CONFIG_ARRAY > +config CC_GCC_EXTRA_CONFIG_ARRAY > string > prompt "gcc extra config" > default "" > @@ -38,9 +38,9 @@ > --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space > > config STATIC_TOOLCHAIN > - select CC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later > + select CC_GCC_STATIC_LIBSTDCXX if CC_GCC_4_4_or_later > > -config CC_STATIC_LIBSTDCXX > +config CC_GCC_STATIC_LIBSTDCXX > bool > prompt "Link libstdc++ statically into the gcc binary" > default y > diff -r 7e569a9cb5fd -r 65771b86df01 config/config.mk > --- a/config/config.mk Sat Nov 16 18:14:45 2013 +0100 > +++ b/config/config.mk Mon Dec 02 21:51:09 2013 +0100 > @@ -83,7 +83,7 @@ > > config.gen/cc.in: $(CC_CONFIG_FILES) $(CC_CONFIG_FILES_2) > @$(ECHO) ' IN $(@)' > - $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh choice "$@" "C compiler" "CC" "config/cc" "N" $(CCS) > + $(SILENT)$(CT_LIB_DIR)/scripts/gen_in_frags.sh menu "$@" "C compiler" "CC" "config/cc" $(CCS) > > config.gen/binutils.in: $(CC_BINUTILS_FILES) $(CC_BINUTILS_FILES_2) > @$(ECHO) ' IN $(@)' > diff -r 7e569a9cb5fd -r 65771b86df01 samples/alphaev56-unknown-linux-gnu/crosstool.config > --- a/samples/alphaev56-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/alphaev56-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -10,7 +10,7 @@ > CT_BINUTILS_V_2_21_1a=y > CT_BINUTILS_PLUGINS=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_5=y > +CT_CC_GCC_V_4_4_5=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/alphaev67-unknown-linux-gnu/crosstool.config > --- a/samples/alphaev67-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/alphaev67-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_38=y > CT_BINUTILS_V_2_21_1a=y > -CT_CC_V_4_3_5=y > +CT_CC_GCC_V_4_3_5=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config > --- a/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -11,7 +11,7 @@ > CT_TARGET_VENDOR="bare_newlib_cortex_m3_nommu" > CT_ARCH_BINFMT_FLAT=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_4_1=y > +CT_CC_GCC_V_4_4_1=y > CT_CC_LANG_CXX=y > CT_LIBC_NEWLIB_V_1_18_0=y > CT_GMP_V_4_3_2=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-cortex_a8-linux-gnueabi/crosstool.config > --- a/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-cortex_a8-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -10,7 +10,7 @@ > CT_KERNEL_linux=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_6=y > +CT_CC_GCC_V_4_4_6=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config > --- a/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-cortexa9_neon-linux-gnueabihf/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -18,7 +18,7 @@ > CT_BINUTILS_PLUGINS=y > CT_BINUTILS_FOR_TARGET=y > CT_CC_GCC_SHOW_LINARO=y > -CT_CC_V_linaro_4_7=y > +CT_CC_GCC_V_linaro_4_7=y > CT_CC_LANG_CXX=y > CT_CC_CORE_EXTRA_CONFIG_ARRAY="\"--with-specs=%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}\" --enable-poison-system-directories" > CT_CC_EXTRA_CONFIG_ARRAY="\"--with-specs=%{save-temps: -fverbose-asm} %{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}\" --enable-poison-system-directories" > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-davinci-linux-gnueabi/crosstool.config > --- a/samples/arm-davinci-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-davinci-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -11,7 +11,7 @@ > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-eabi/crosstool.config > --- a/samples/arm-unknown-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-unknown-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -4,7 +4,7 @@ > CT_ARCH_FLOAT_SW=y > CT_ARCH_arm=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_4=y > +CT_CC_GCC_V_4_3_4=y > CT_CC_LANG_CXX=y > CT_LIBC_NEWLIB_V_1_17_0=y > CT_DEBUG_gdb=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-linux-gnueabi/crosstool.config > --- a/samples/arm-unknown-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-unknown-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_linux=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/arm-unknown-linux-uclibcgnueabi/crosstool.config > --- a/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/arm-unknown-linux-uclibcgnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -11,7 +11,7 @@ > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_3=y > +CT_CC_GCC_V_4_4_3=y > CT_CC_LANG_CXX=y > CT_LIBC_uClibc=y > CT_LIBC_UCLIBC_V_0_9_30_2=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-eabi/crosstool.config > --- a/samples/armeb-unknown-eabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/armeb-unknown-eabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -5,7 +5,7 @@ > CT_ARCH_FLOAT_SW=y > CT_ARCH_arm=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_LIBC_none=y > CT_DEBUG_gdb=y > CT_GDB_V_6_8a=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-linux-gnueabi/crosstool.config > --- a/samples/armeb-unknown-linux-gnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/armeb-unknown-linux-gnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -11,7 +11,7 @@ > CT_KERNEL_linux=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_3=y > +CT_CC_GCC_V_4_4_3=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config > --- a/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/armeb-unknown-linux-uclibcgnueabi/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -16,7 +16,7 @@ > CT_BINUTILS_LD_WRAPPER=y > CT_BINUTILS_PLUGINS=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_6_4=y > +CT_CC_GCC_V_4_6_4=y > CT_CC_LANG_CXX=y > CT_CC_GCC_DISABLE_PCH=y > # CT_CC_GCC_SJLJ_EXCEPTIONS is not set > diff -r 7e569a9cb5fd -r 65771b86df01 samples/avr32-unknown-none/crosstool.config > --- a/samples/avr32-unknown-none/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/avr32-unknown-none/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -4,7 +4,7 @@ > CT_LOG_EXTRA=y > CT_ARCH_avr32=y > CT_BINUTILS_V_2_18a=y > -CT_CC_V_4_2_2=y > +CT_CC_GCC_V_4_2_2=y > CT_LIBC_NEWLIB_V_1_17_0=y > CT_LIBC_NEWLIB_IO_LL=y > CT_LIBC_NEWLIB_IO_FLOAT=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/bfin-unknown-linux-uclibc/crosstool.config > --- a/samples/bfin-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/bfin-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -6,7 +6,7 @@ > CT_KERNEL_V_2_6_33=y > CT_ARCH_BINFMT_FDPIC=y > CT_BINUTILS_V_2_20_1a=y > -CT_CC_V_4_3_4=y > +CT_CC_GCC_V_4_3_4=y > CT_LIBC_UCLIBC_V_0_9_30_2=y > CT_LIBC_UCLIBC_CONFIG_FILE="${CT_LIB_DIR}/samples/${CT_TARGET}/${CT_LIBC}-${CT_LIBC_VERSION}.config" > CT_GMP_V_4_3_2=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/i586-geode-linux-uclibc/crosstool.config > --- a/samples/i586-geode-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/i586-geode-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_V_2_6_36=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_5=y > +CT_CC_GCC_V_4_4_5=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config > --- a/samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/i586-mingw32msvc,i686-none-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -12,7 +12,7 @@ > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-targets=i686-none-linux-gnu" > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/i686-nptl-linux-gnu/crosstool.config > --- a/samples/i686-nptl-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/i686-nptl-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -13,7 +13,7 @@ > CT_BINUTILS_LD_WRAPPER=y > CT_BINUTILS_PLUGINS=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_5_2=y > +CT_CC_GCC_V_4_5_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/i686-unknown-mingw32/crosstool.config > --- a/samples/i686-unknown-mingw32/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/i686-unknown-mingw32/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_windows=y > CT_BINUTILS_V_2_21_1a=y > CT_BINUTILS_PLUGINS=y > -CT_CC_V_4_5_2=y > +CT_CC_GCC_V_4_5_2=y > CT_CC_LANG_CXX=y > CT_MINGW_DIRECTX=y > CT_MINGW_DDK=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/m68k-unknown-elf/crosstool.config > --- a/samples/m68k-unknown-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/m68k-unknown-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -6,7 +6,7 @@ > CT_ARCH_m68k=y > CT_ARCH_BINFMT_FLAT=y > CT_BINUTILS_V_2_20_1a=y > -CT_CC_V_4_3_4=y > +CT_CC_GCC_V_4_3_4=y > CT_LIBC_none=y > CT_GMP_V_4_3_2=y > CT_MPFR_V_2_4_2=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-ar2315-linux-gnu/crosstool.config > --- a/samples/mips-ar2315-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips-ar2315-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -10,7 +10,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_EGLIBC_V_2_9=y > CT_EGLIBC_REVISION="{2009-07-21}" > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-malta-linux-gnu/crosstool.config > --- a/samples/mips-malta-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips-malta-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_38=y > CT_BINUTILS_V_2_21_1a=y > -CT_CC_V_4_4_6=y > +CT_CC_GCC_V_4_4_6=y > # CT_CC_GCC_USE_GRAPHITE is not set > CT_LIBC_EGLIBC_V_2_13=y > CT_DEBUG_gdb=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-unknown-elf/crosstool.config > --- a/samples/mips-unknown-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips-unknown-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -4,7 +4,7 @@ > CT_ARCH_FLOAT_SW=y > CT_ARCH_mips=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_LIBC_none=y > CT_DEBUG_gdb=y > CT_GDB_V_6_8a=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips-unknown-linux-uclibc/crosstool.config > --- a/samples/mips-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_3_6=y > CT_BINUTILS_V_2_21_1a=y > -CT_CC_V_4_6_4=y > +CT_CC_GCC_V_4_6_4=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_LIBC_uClibc=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips64el-n32-linux-uclibc/crosstool.config > --- a/samples/mips64el-n32-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips64el-n32-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -10,7 +10,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_uClibc=y > CT_LIBC_UCLIBC_V_0_9_30_1=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mips64el-n64-linux-uclibc/crosstool.config > --- a/samples/mips64el-n64-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mips64el-n64-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -11,7 +11,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_uClibc=y > CT_LIBC_UCLIBC_V_0_9_30_1=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mipsel-sde-elf/crosstool.config > --- a/samples/mipsel-sde-elf/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mipsel-sde-elf/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -6,7 +6,7 @@ > CT_ARCH_mips=y > CT_TARGET_VENDOR="sde" > CT_BINUTILS_V_2_21_1a=y > -CT_CC_V_4_4_6=y > +CT_CC_GCC_V_4_4_6=y > # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set > CT_LIBC_none=y > CT_DEBUG_gdb=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/mipsel-unknown-linux-gnu/crosstool.config > --- a/samples/mipsel-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/mipsel-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -9,7 +9,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-405-linux-gnu/crosstool.config > --- a/samples/powerpc-405-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-405-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -10,7 +10,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-860-linux-gnu/crosstool.config > --- a/samples/powerpc-860-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-860-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -9,7 +9,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_EXTRA_CONFIG_ARRAY="--with-cpu=860 --enable-cxx-flags=-mcpu=860 --with-float=soft --enable-cxx-flags=-msoft-float" > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-e300c3-linux-gnu/crosstool.config > --- a/samples/powerpc-e300c3-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-e300c3-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -9,7 +9,7 @@ > CT_KERNEL_V_2_6_36=y > CT_BINUTILS_V_2_21_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_5_2=y > +CT_CC_GCC_V_4_5_2=y > CT_CC_LANG_CXX=y > CT_CC_EXTRA_CONFIG_ARRAY="--with-long-double-128" > # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-e500v2-linux-gnuspe/crosstool.config > --- a/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-e500v2-linux-gnuspe/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -14,7 +14,7 @@ > CT_BINUTILS_EXTRA_CONFIG_ARRAY="--enable-spe=yes --enable-e500x2 --with-e500x2" > CT_BINUTILS_FOR_TARGET=y > CT_CC_GCC_SHOW_LINARO=y > -CT_CC_V_4_6_4=y > +CT_CC_GCC_V_4_6_4=y > CT_CC_LANG_CXX=y > CT_CC_EXTRA_CONFIG_ARRAY="--with-long-double-128" > # CT_CC_GCC_ENABLE_TARGET_OPTSPACE is not set > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown-linux-gnu/crosstool.config > --- a/samples/powerpc-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -6,7 +6,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown-linux-uclibc/crosstool.config > --- a/samples/powerpc-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_2_4=y > +CT_CC_GCC_V_4_2_4=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_LIBC_uClibc=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config > --- a/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc-unknown_nofpu-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/powerpc64-unknown-linux-gnu/crosstool.config > --- a/samples/powerpc64-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/powerpc64-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_5_2=y > +CT_CC_GCC_V_4_5_2=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/s390-ibm-linux-gnu/crosstool.config > --- a/samples/s390-ibm-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/s390-ibm-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -6,7 +6,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_20_1a=y > -CT_CC_V_4_3_4=y > +CT_CC_GCC_V_4_3_4=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/s390x-ibm-linux-gnu/crosstool.config > --- a/samples/s390x-ibm-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/s390x-ibm-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -8,7 +8,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_31=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_4_5=y > +CT_CC_GCC_V_4_4_5=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/sh4-unknown-linux-gnu/crosstool.config > --- a/samples/sh4-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/sh4-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_linux=y > CT_KERNEL_V_2_6_27=y > CT_BINUTILS_V_2_19_1a=y > -CT_CC_V_4_3_2=y > +CT_CC_GCC_V_4_3_2=y > CT_CC_LANG_CXX=y > CT_LIBC_glibc=y > CT_LIBC_GLIBC_V_2_9=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-linux-gnu/crosstool.config > --- a/samples/x86_64-unknown-linux-gnu/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/x86_64-unknown-linux-gnu/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_3=y > +CT_CC_GCC_V_4_4_3=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-linux-uclibc/crosstool.config > --- a/samples/x86_64-unknown-linux-uclibc/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/x86_64-unknown-linux-uclibc/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_V_2_6_33=y > CT_BINUTILS_V_2_20_1a=y > CT_BINUTILS_FOR_TARGET=y > -CT_CC_V_4_4_3=y > +CT_CC_GCC_V_4_4_3=y > CT_CC_LANG_FORTRAN=y > CT_CC_LANG_CXX=y > CT_CC_LANG_JAVA=y > diff -r 7e569a9cb5fd -r 65771b86df01 samples/x86_64-unknown-mingw32/crosstool.config > --- a/samples/x86_64-unknown-mingw32/crosstool.config Sat Nov 16 18:14:45 2013 +0100 > +++ b/samples/x86_64-unknown-mingw32/crosstool.config Mon Dec 02 21:51:09 2013 +0100 > @@ -7,7 +7,7 @@ > CT_KERNEL_windows=y > CT_BINUTILS_V_2_21_1a=y > CT_BINUTILS_PLUGINS=y > -CT_CC_V_4_5_2=y > +CT_CC_GCC_V_4_5_2=y > CT_CC_LANG_CXX=y > CT_MINGW_DIRECTX=y > CT_MINGW_DDK=y > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc.sh > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/scripts/build/cc.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -0,0 +1,59 @@ > +# Wrapper to build the companion tools facilities > + > +# List all companion tools facilities, and parse their scripts > +CT_CC_FACILITY_LIST= > +for f in "${CT_LIB_DIR}/scripts/build/cc/"*.sh; do > + _f="$(basename "${f}" .sh)" > + _f="${_f#???-}" > + __f="CT_CC_${_f}" > + if [ "${!__f}" = "y" ]; then > + CT_DoLog DEBUG "Enabling cc '${_f}'" > + . "${f}" > + CT_CC_FACILITY_LIST="${CT_CC_FACILITY_LIST} ${_f}" > + else > + CT_DoLog DEBUG "Disabling cc '${_f}'" > + fi > +done > + > +# Download the cc facilities > +do_cc_get() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_get > + done > +} > + > +# Extract and patch the cc facilities > +do_cc_extract() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_extract > + done > +} > + > +# Core pass 1 the cc facilities > +do_cc_core_pass_1() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_core_pass_1 > + done > +} > + > +# Core pass 2 the cc facilities > +do_cc_core_pass_2() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_core_pass_2 > + done > +} > + > +# Build for build the cc facilities > +do_cc_for_build() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_for_build > + done > +} > + > +# Build for host the cc facilities > +do_cc_for_host() { > + for f in ${CT_CC_FACILITY_LIST}; do > + do_${f}_for_host > + done > +} > + > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc/100-gcc.sh > --- /dev/null Thu Jan 01 00:00:00 1970 +0000 > +++ b/scripts/build/cc/100-gcc.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -0,0 +1,874 @@ > +# This file adds the function to build the gcc C compiler > +# Copyright 2007 Yann E. MORIN > +# Licensed under the GPL v2. See COPYING in the root of this package > + > +# Download gcc > +do_gcc_get() { > + local linaro_version > + local linaro_series > + local linaro_base_url="http://launchpad.net/gcc-linaro" > + > + if [ "${CT_CC_GCC_CUSTOM}" = "y" ]; then > + CT_GetCustom "gcc" "${CT_CC_GCC_VERSION}" "${CT_CC_GCC_CUSTOM_LOCATION}" > + else > + # Account for the Linaro versioning > + linaro_version="$( echo "${CT_CC_GCC_VERSION}" \ > + |sed -r -e 's/^linaro-//;' \ > + )" > + linaro_series="$( echo "${linaro_version}" \ > + |sed -r -e 's/-.*//;' \ > + )" > + > + # Ah! gcc folks are kind of 'different': they store the tarballs in > + # subdirectories of the same name! > + # Arrgghh! Some of those versions does not follow this convention: > + # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a > + # subdirectory! > + CT_GetFile "gcc-${CT_CC_GCC_VERSION}" \ > + {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_GCC_VERSION}} \ > + ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_GCC_VERSION} \ > + ftp://ftp.uvsq.fr/pub/gcc/snapshots/${CT_CC_GCC_VERSION} \ > + "${linaro_base_url}/${linaro_series}/${linaro_version}/+download" > + fi # ! custom location > + # Starting with GCC 4.3, ecj is used for Java, and will only be > + # built if the configure script finds ecj.jar at the top of the > + # GCC source tree, which will not be there unless we get it and > + # put it there ourselves > + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then > + CT_GetFile ecj-latest .jar ftp://gcc.gnu.org/pub/java \ > + ftp://sourceware.org/pub/java > + fi > +} > + > +# Extract gcc > +do_gcc_extract() { > + # If using custom directory location, nothing to do > + if [ "${CT_CC_GCC_CUSTOM}" = "y" \ > + -a -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}" ]; then > + return 0 > + fi > + > + CT_Extract "gcc-${CT_CC_GCC_VERSION}" > + CT_Patch "gcc" "${CT_CC_GCC_VERSION}" > + > + # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree > + if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \ > + -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar" \ > + ]; then > + CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/ecj.jar" > + fi > +} > + > +#------------------------------------------------------------------------------ > +# This function builds up the set of languages to enable > +# No argument expected, returns the comma-separated language list on stdout > +cc_gcc_lang_list() { > + local lang_list > + > + lang_list="c" > + [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++" > + [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran" > + [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada" > + [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java" > + [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc" > + [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++" > + [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go" > + lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}" > + > + printf "%s" "${lang_list}" > +} > + > +#------------------------------------------------------------------------------ > +# Core gcc pass 1 > +do_gcc_core_pass_1() { > + local -a core_opts > + > + if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then > + return 0 > + fi > + > + core_opts+=( "mode=static" ) > + core_opts+=( "host=${CT_BUILD}" ) > + core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > + core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > + core_opts+=( "lang_list=c" ) > + > + CT_DoStep INFO "Installing pass-1 core C gcc compiler" > + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-1" > + > + do_gcc_core_backend "${core_opts[@]}" > + > + CT_Popd > + CT_EndStep > +} > + > +# Core gcc pass 2 > +do_gcc_core_pass_2() { > + local -a core_opts > + > + if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then > + return 0 > + fi > + > + # Common options: > + core_opts+=( "host=${CT_BUILD}" ) > + core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > + core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > + core_opts+=( "lang_list=c" ) > + > + # Different conditions are at stake here: > + # - In case the threading model is NPTL, we need a shared-capable core > + # gcc; in all other cases, we need a static-only core gcc. > + # - In case the threading model is NPTL or win32, or gcc is 4.3 or > + # later, we need to build libgcc > + case "${CT_THREADS}" in > + nptl) > + core_opts+=( "mode=shared" ) > + core_opts+=( "build_libgcc=yes" ) > + ;; > + win32) > + core_opts+=( "mode=static" ) > + core_opts+=( "build_libgcc=yes" ) > + ;; > + *) > + core_opts+=( "mode=static" ) > + if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then > + core_opts+=( "build_libgcc=yes" ) > + fi > + ;; > + esac > + > + CT_DoStep INFO "Installing pass-2 core C gcc compiler" > + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-core-pass-2" > + > + do_gcc_core_backend "${core_opts[@]}" > + > + CT_Popd > + CT_EndStep > +} > + > +#------------------------------------------------------------------------------ > +# Build core gcc > +# This function is used to build the core C compiler. > +# Usage: do_gcc_core_backend param=value [...] > +# Parameter : Definition : Type : Default > +# mode : build a 'static', 'shared' or 'baremetal' : string : (none) > +# host : the machine the core will run on : tuple : (none) > +# prefix : dir prefix to install into : dir : (none) > +# complibs : dir where complibs are isntalled : dir : (none) > +# lang_list : the list of languages to build : string : (empty) > +# build_libgcc : build libgcc or not : bool : no > +# build_libstdcxx : build libstdc++ or not : bool : no > +# build_staticlinked : build statically linked or not : bool : no > +# build_manuals : whether to build manuals or not : bool : no > +# cflags : cflags to use : string : (empty) > +# ldflags : ldflags to use : string : (empty) > +# Usage: do_gcc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no] > +do_gcc_core_backend() { > + local mode > + local build_libgcc=no > + local build_libstdcxx=no > + local build_staticlinked=no > + local build_manuals=no > + local host > + local prefix > + local complibs > + local lang_list > + local cflags > + local ldflags > + local tmp > + local -a host_libstdcxx_flags > + local -a extra_config > + local -a core_LDFLAGS > + local -a core_targets > + local arg > + local exeext > + > + for arg in "$@"; do > + eval "${arg// /\\ }" > + done > + > + CT_DoLog EXTRA "Configuring core C gcc compiler" > + > + case "${mode}" in > + static) > + extra_config+=("--with-newlib") > + extra_config+=("--enable-threads=no") > + extra_config+=("--disable-shared") > + copy_headers=y # For baremetal, as there's no headers to copy, > + # we copy an empty directory. So, who cares? > + ;; > + shared) > + extra_config+=("--enable-shared") > + copy_headers=y > + ;; > + baremetal) > + extra_config+=("--with-newlib") > + extra_config+=("--enable-threads=no") > + extra_config+=("--disable-shared") > + copy_headers=n > + ;; > + *) > + CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'" > + ;; > + esac > + > + if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then > + # Bare metal delivers the core compiler as final compiler, so add version info and bugurl > + extra_config+=("--with-pkgversion=${CT_PKGVERSION}") > + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") > + fi > + > + if [ "${copy_headers}" = "y" ]; then > + CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2" > + CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include" > + fi > + > + for tmp in ARCH ABI CPU TUNE FPU FLOAT; do > + eval tmp="\${CT_ARCH_WITH_${tmp}}" > + if [ -n "${tmp}" ]; then > + extra_config+=("${tmp}") > + fi > + done > + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then > + extra_config+=("--enable-__cxa_atexit") > + else > + extra_config+=("--disable-__cxa_atexit") > + fi > + > + core_LDFLAGS+=("${ldflags}") > + > + # *** WARNING ! *** > + # Keep this full if-else-if-elif-fi-fi block in sync > + # with the same block in do_gcc, below. > + if [ "${build_staticlinked}" = "yes" ]; then > + core_LDFLAGS+=("-static") > + host_libstdcxx_flags+=("-static-libgcc") > + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++") > + host_libstdcxx_flags+=("-lm") > + # Companion libraries are build static (eg !shared), so > + # the libstdc++ is not pulled automatically, although it > + # is needed. Shoe-horn it in our LDFLAGS > + # Ditto libm on some Fedora boxen > + core_LDFLAGS+=("-lstdc++") > + core_LDFLAGS+=("-lm") > + else > + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then > + # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2 > + # build script > + # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++, > + # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html > + host_libstdcxx_flags+=("-static-libgcc") > + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic") > + host_libstdcxx_flags+=("-lm") > + elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then > + # When companion libraries are build static (eg !shared), > + # the libstdc++ is not pulled automatically, although it > + # is needed. Shoe-horn it in our LDFLAGS > + # Ditto libm on some Fedora boxen > + core_LDFLAGS+=("-lstdc++") > + core_LDFLAGS+=("-lm") > + fi > + fi > + > + if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then > + extra_config+=("--with-gmp=${complibs}") > + extra_config+=("--with-mpfr=${complibs}") > + fi > + if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then > + extra_config+=("--with-mpc=${complibs}") > + fi > + if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then > + if [ "${CT_PPL}" = "y" ]; then > + extra_config+=("--with-ppl=${complibs}") > + # With PPL 0.11+, also pull libpwl if needed > + if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then > + host_libstdcxx_flags+=("-L${complibs}/lib") > + host_libstdcxx_flags+=("-lpwl") > + fi > + fi > + if [ "${CT_ISL}" = "y" ]; then > + extra_config+=("--with-isl=${complibs}") > + fi > + extra_config+=("--with-cloog=${complibs}") > + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then > + extra_config+=("--with-ppl=no") > + extra_config+=("--with-isl=no") > + extra_config+=("--with-cloog=no") > + fi > + if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then > + extra_config+=("--with-libelf=${complibs}") > + extra_config+=("--enable-lto") > + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then > + extra_config+=("--with-libelf=no") > + extra_config+=("--disable-lto") > + fi > + > + if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then > + extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") > + fi > + > + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then > + extra_config+=("--enable-target-optspace") > + fi > + > + case "${CT_CC_GCC_LDBL_128}" in > + y) extra_config+=("--with-long-double-128");; > + m) ;; > + "") extra_config+=("--without-long-double-128");; > + esac > + > + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then > + extra_config+=( --enable-linker-build-id ) > + fi > + > + case "${CT_CC_GCC_LNK_HASH_STYLE}" in > + "") ;; > + *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );; > + esac > + > + case "${CT_ARCH}" in > + mips) > + case "${CT_CC_GCC_mips_llsc}" in > + y) extra_config+=( --with-llsc );; > + m) ;; > + *) extra_config+=( --without-llsc );; > + esac > + case "${CT_CC_GCC_mips_synci}" in > + y) extra_config+=( --with-synci );; > + m) ;; > + *) extra_config+=( --without-synci );; > + esac > + if [ "${CT_CC_GCC_mips_plt}" ]; then > + extra_config+=( --with-mips-plt ) > + fi > + ;; # ARCH is mips > + esac > + > + extra_config+=(--disable-libgomp) > + extra_config+=(--disable-libmudflap) > + > + [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls") > + > + [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ] && extra_config+=("--disable-libstdcxx-pch") > + > + if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then > + extra_config+=("--with-system-zlib") > + fi > + > + if [ "${CT_MULTILIB}" = "y" ]; then > + extra_config+=("--enable-multilib") > + else > + extra_config+=("--disable-multilib") > + fi > + > + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" > + > + # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) > + CT_DoExecLog CFG \ > + CC_FOR_BUILD="${CT_BUILD}-gcc" \ > + CFLAGS_FOR_BUILD="${CT_EXTRA_CFLAGS_FOR_BUILD-${cflags}}" \ > + CFLAGS="${cflags}" \ > + CXXFLAGS="${cflags}" \ > + LDFLAGS="${core_LDFLAGS[*]}" \ > + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \ > + --build=${CT_BUILD} \ > + --host=${host} \ > + --target=${CT_TARGET} \ > + --prefix="${prefix}" \ > + --with-local-prefix="${CT_SYSROOT_DIR}" \ > + --disable-libmudflap \ > + ${CC_CORE_SYSROOT_ARG} \ > + "${extra_config[@]}" \ > + --enable-languages="${lang_list}" \ > + "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" > + > + if [ "${build_libgcc}" = "yes" ]; then > + # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or > + # gcc/config/t-libunwind so -lc is removed from the link for > + # libgcc_s.so, as we do not have a target -lc yet. > + # This is not as ugly as it appears to be ;-) All symbols get resolved > + # during the glibc build, and we provide a proper libgcc_s.so for the > + # cross toolchain during the final gcc build. > + # > + # As we cannot modify the source tree, nor override SHLIB_LC itself > + # during configure or make, we have to edit the resultant > + # gcc/libgcc.mk itself to remove -lc from the link. > + # This causes us to have to jump through some hoops... > + # > + # To produce libgcc.mk to edit we firstly require libiberty.a, > + # so we configure then build it. > + # Next we have to configure gcc, create libgcc.mk then edit it... > + # So much easier if we just edit the source tree, but hey... > + if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then > + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty > + CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a > + CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp > + CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp > + else > + CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty > + CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty > + fi > + # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here. > + if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libdecnumber" ]; then > + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber > + CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a > + fi > + # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here. > + if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/libbacktrace" ]; then > + CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace > + CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace > + fi > + > + # Starting with GCC 4.3, libgcc.mk is no longer built, > + # and libgcc.mvars is used instead. > + > + if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then > + libgcc_rule="libgcc.mvars" > + core_targets=( gcc target-libgcc ) > + else > + libgcc_rule="libgcc.mk" > + core_targets=( gcc ) > + fi > + > + # On bare metal and canadian build the host-compiler is used when > + # actually the build-system compiler is required. Choose the correct > + # compilers for canadian build and use the defaults on other > + # configurations. > + if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then > + repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \ > + CXX_FOR_BUILD=${CT_BUILD}-g++ \ > + GCC_FOR_TARGET=${CT_TARGET}-gcc" > + else > + repair_cc="" > + fi > + > + CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \ > + ${repair_cc} > + sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule} > + else # build_libgcc > + core_targets=( gcc ) > + fi # ! build libgcc > + if [ "${build_libstdcxx}" = "yes" \ > + -a "${CT_CC_LANG_CXX}" = "y" \ > + ]; then > + core_targets+=( target-libstdc++-v3 ) > + fi > + > + CT_DoLog EXTRA "Building core C gcc compiler" > + CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/all-}" > + > + CT_DoLog EXTRA "Installing core C gcc compiler" > + CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/install-}" > + > + if [ "${build_manuals}" = "yes" ]; then > + CT_DoLog EXTRA "Building the gcc manuals" > + CT_DoExecLog ALL make pdf html > + CT_DoLog EXTRA "Installing the gcc manuals" > + CT_DoExecLog ALL make install-{pdf,html}-gcc > + fi > + > + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able > + # to call the C compiler with the same, somewhat canonical name. > + # check whether compiler has an extension > + file="$( ls -1 "${prefix}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" > + [ -z "${file}" ] || ext=".${file##*.}" > + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" > + > + if [ "${CT_MULTILIB}" = "y" ]; then > + if [ "${CT_CANADIAN}" = "y" -a "${mode}" = "baremetal" \ > + -a "${host}" = "${CT_HOST}" ]; then > + CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly" > + else > + multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \ > + |tail -n +2 ) ) > + if [ ${#multilibs[@]} -ne 0 ]; then > + CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):" > + for i in "${multilibs[@]}"; do > + dir="${i%%;*}" > + flags="${i#*;}" > + CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/" > + done > + else > + CT_DoLog WARN "gcc configured for multilib, but none available" > + fi > + fi > + fi > +} > + > +#------------------------------------------------------------------------------ > +# Build complete gcc to run on build > +do_gcc_for_build() { > + local -a build_final_opts > + local build_final_backend > + > + # In case we're canadian or cross-native, it seems that a > + # real, complete compiler is needed?!? WTF? Sigh... > + # Otherwise, there is nothing to do. > + case "${CT_TOOLCHAIN_TYPE}" in > + native|cross) return 0;; > + esac > + > + build_final_opts+=( "host=${CT_BUILD}" ) > + build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > + build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" ) > + if [ "${CT_BARE_METAL}" = "y" ]; then > + # In the tests I've done, bare-metal was not impacted by the > + # lack of such a compiler, but better safe than sorry... > + build_final_opts+=( "mode=baremetal" ) > + build_final_opts+=( "build_libgcc=yes" ) > + build_final_opts+=( "build_libstdcxx=yes" ) > + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > + build_final_opts+=( "build_staticlinked=yes" ) > + fi > + build_final_backend=do_gcc_core_backend > + else > + build_final_backend=do_gcc_backend > + fi > + > + CT_DoStep INFO "Installing final gcc compiler for build" > + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final-build-${CT_BUILD}" > + > + "${build_final_backend}" "${build_final_opts[@]}" > + > + CT_Popd > + CT_EndStep > +} > + > +#------------------------------------------------------------------------------ > +# Build final gcc to run on host > +do_gcc_for_host() { > + local -a final_opts > + local final_backend > + > + final_opts+=( "host=${CT_HOST}" ) > + final_opts+=( "prefix=${CT_PREFIX_DIR}" ) > + final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" ) > + final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > + final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > + final_opts+=( "lang_list=$( cc_gcc_lang_list )" ) > + if [ "${CT_BUILD_MANUALS}" = "y" ]; then > + final_opts+=( "build_manuals=yes" ) > + fi > + if [ "${CT_BARE_METAL}" = "y" ]; then > + final_opts+=( "mode=baremetal" ) > + final_opts+=( "build_libgcc=yes" ) > + final_opts+=( "build_libstdcxx=yes" ) > + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > + final_opts+=( "build_staticlinked=yes" ) > + fi > + final_backend=do_gcc_core_backend > + else > + final_backend=do_gcc_backend > + fi > + > + CT_DoStep INFO "Installing final gcc compiler" > + CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-gcc-final" > + > + "${final_backend}" "${final_opts[@]}" > + > + CT_Popd > + CT_EndStep > +} > + > +#------------------------------------------------------------------------------ > +# Build the final gcc > +# Usage: do_gcc_backend param=value [...] > +# Parameter : Definition : Type : Default > +# host : the host we run onto : tuple : (none) > +# prefix : the runtime prefix : dir : (none) > +# complibs : the companion libraries prefix : dir : (none) > +# cflags : cflags to use : string : (empty) > +# ldflags : ldflags to use : string : (empty) > +# lang_list : the list of languages to build : string : (empty) > +# build_manuals : whether to build manuals or not : bool : no > +do_gcc_backend() { > + local host > + local prefix > + local complibs > + local cflags > + local ldflags > + local lang_list > + local build_manuals > + local -a host_libstdcxx_flags > + local -a extra_config > + local -a final_LDFLAGS > + local tmp > + local arg > + local exeext > + > + for arg in "$@"; do > + eval "${arg// /\\ }" > + done > + > + CT_DoLog EXTRA "Configuring final gcc compiler" > + > + # Enable selected languages > + extra_config+=("--enable-languages=${lang_list}") > + > + for tmp in ARCH ABI CPU TUNE FPU FLOAT; do > + eval tmp="\${CT_ARCH_WITH_${tmp}}" > + if [ -n "${tmp}" ]; then > + extra_config+=("${tmp}") > + fi > + done > + > + [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared") > + if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then > + extra_config+=("--with-pkgversion=${CT_PKGVERSION}") > + [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") > + fi > + case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in > + y) extra_config+=("--enable-sjlj-exceptions");; > + m) ;; > + "") extra_config+=("--disable-sjlj-exceptions");; > + esac > + if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then > + extra_config+=("--enable-__cxa_atexit") > + else > + extra_config+=("--disable-__cxa_atexit") > + fi > + if [ -n "${CT_CC_GCC_ENABLE_CXX_FLAGS}" ]; then > + extra_config+=("--enable-cxx-flags=${CT_CC_GCC_ENABLE_CXX_FLAGS}") > + fi > + if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then > + extra_config+=(--enable-libmudflap) > + else > + extra_config+=(--disable-libmudflap) > + fi > + if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then > + extra_config+=(--enable-libgomp) > + else > + extra_config+=(--disable-libgomp) > + fi > + if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then > + extra_config+=(--enable-libssp) > + else > + extra_config+=(--disable-libssp) > + fi > + if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then > + if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then > + extra_config+=(--enable-libquadmath) > + extra_config+=(--enable-libquadmath-support) > + else > + extra_config+=(--disable-libquadmath) > + extra_config+=(--disable-libquadmath-support) > + fi > + fi > + > + final_LDFLAGS+=("${ldflags}") > + > + # *** WARNING ! *** > + # Keep this full if-else-if-elif-fi-fi block in sync > + # with the same block in do_gcc_core, above. > + if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > + final_LDFLAGS+=("-static") > + host_libstdcxx_flags+=("-static-libgcc") > + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++") > + host_libstdcxx_flags+=("-lm") > + # Companion libraries are build static (eg !shared), so > + # the libstdc++ is not pulled automatically, although it > + # is needed. Shoe-horn it in our LDFLAGS > + # Ditto libm on some Fedora boxen > + final_LDFLAGS+=("-lstdc++") > + final_LDFLAGS+=("-lm") > + else > + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then > + # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2 > + # build script > + # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++, > + # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html > + host_libstdcxx_flags+=("-static-libgcc") > + host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic") > + host_libstdcxx_flags+=("-lm") > + elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then > + # When companion libraries are build static (eg !shared), > + # the libstdc++ is not pulled automatically, although it > + # is needed. Shoe-horn it in our LDFLAGS > + # Ditto libm on some Fedora boxen > + final_LDFLAGS+=("-lstdc++") > + final_LDFLAGS+=("-lm") > + fi > + fi > + > + if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then > + extra_config+=("--with-gmp=${complibs}") > + extra_config+=("--with-mpfr=${complibs}") > + fi > + if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then > + extra_config+=("--with-mpc=${complibs}") > + fi > + if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then > + if [ "${CT_PPL}" = "y" ]; then > + extra_config+=("--with-ppl=${complibs}") > + # With PPL 0.11+, also pull libpwl if needed > + if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then > + host_libstdcxx_flags+=("-L${complibs}/lib") > + host_libstdcxx_flags+=("-lpwl") > + fi > + fi > + if [ "${CT_ISL}" = "y" ]; then > + extra_config+=("--with-isl=${complibs}") > + fi > + extra_config+=("--with-cloog=${complibs}") > + elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then > + extra_config+=("--with-ppl=no") > + extra_config+=("--with-isl=no") > + extra_config+=("--with-cloog=no") > + fi > + if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then > + extra_config+=("--with-libelf=${complibs}") > + elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then > + extra_config+=("--with-libelf=no") > + fi > + > + if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then > + extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") > + fi > + > + if [ "${CT_THREADS}" = "none" ]; then > + extra_config+=("--disable-threads") > + if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then > + CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y" > + extra_config+=("--disable-libgomp") > + fi > + else > + if [ "${CT_THREADS}" = "win32" ]; then > + extra_config+=("--enable-threads=win32") > + extra_config+=("--disable-win32-registry") > + else > + extra_config+=("--enable-threads=posix") > + fi > + fi > + > + if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then > + extra_config+=("--enable-target-optspace") > + fi > + if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then > + extra_config+=("--disable-libstdcxx-pch") > + fi > + > + case "${CT_CC_GCC_LDBL_128}" in > + y) extra_config+=("--with-long-double-128");; > + m) ;; > + "") extra_config+=("--without-long-double-128");; > + esac > + > + if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then > + extra_config+=( --enable-linker-build-id ) > + fi > + > + case "${CT_CC_GCC_LNK_HASH_STYLE}" in > + "") ;; > + *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );; > + esac > + > + if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then > + extra_config+=( --enable-plugin ) > + fi > + if [ "${CT_CC_GCC_GOLD}" = "y" ]; then > + extra_config+=( --enable-gold ) > + fi > + > + case "${CT_ARCH}" in > + mips) > + case "${CT_CC_GCC_mips_llsc}" in > + y) extra_config+=( --with-llsc );; > + m) ;; > + *) extra_config+=( --without-llsc );; > + esac > + case "${CT_CC_GCC_mips_synci}" in > + y) extra_config+=( --with-synci );; > + m) ;; > + *) extra_config+=( --without-synci );; > + esac > + if [ "${CT_CC_GCC_mips_plt}" ]; then > + extra_config+=( --with-mips-plt ) > + fi > + ;; # ARCH is mips > + esac > + > + [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls") > + > + if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then > + extra_config+=("--with-system-zlib") > + fi > + > + if [ "${CT_MULTILIB}" = "y" ]; then > + extra_config+=("--enable-multilib") > + else > + extra_config+=("--disable-multilib") > + fi > + > + CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" > + > + CT_DoExecLog CFG \ > + CC_FOR_BUILD="${CT_BUILD}-gcc" \ > + CFLAGS_FOR_BUILD="${CT_EXTRA_CFLAGS_FOR_BUILD-${cflags}}" \ > + CFLAGS="${cflags}" \ > + CXXFLAGS="${cflags}" \ > + LDFLAGS="${final_LDFLAGS[*]}" \ > + CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ > + CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ > + LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \ > + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/configure" \ > + --build=${CT_BUILD} \ > + --host=${host} \ > + --target=${CT_TARGET} \ > + --prefix="${prefix}" \ > + ${CC_SYSROOT_ARG} \ > + "${extra_config[@]}" \ > + --with-local-prefix="${CT_SYSROOT_DIR}" \ > + --enable-c99 \ > + --enable-long-long \ > + "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" > + > + if [ "${CT_CANADIAN}" = "y" ]; then > + CT_DoLog EXTRA "Building libiberty" > + CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty > + fi > + > + CT_DoLog EXTRA "Building final gcc compiler" > + CT_DoExecLog ALL make ${JOBSFLAGS} all > + > + CT_DoLog EXTRA "Installing final gcc compiler" > + CT_DoExecLog ALL make ${JOBSFLAGS} install > + > + if [ "${build_manuals}" = "yes" ]; then > + CT_DoLog EXTRA "Building the gcc manuals" > + CT_DoExecLog ALL make pdf html > + CT_DoLog EXTRA "Installing the gcc manuals" > + CT_DoExecLog ALL make install-{pdf,html}-gcc > + fi > + > + # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able > + # to call the C compiler with the same, somewhat canonical name. > + # check whether compiler has an extension > + file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" > + [ -z "${file}" ] || ext=".${file##*.}" > + CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${CT_PREFIX_DIR}/bin/${CT_TARGET}-cc${ext}" > + > + if [ "${CT_MULTILIB}" = "y" ]; then > + if [ "${CT_CANADIAN}" = "y" ]; then > + CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly" > + else > + multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \ > + |tail -n +2 ) ) > + if [ ${#multilibs[@]} -ne 0 ]; then > + CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):" > + for i in "${multilibs[@]}"; do > + dir="${i%%;*}" > + flags="${i#*;}" > + CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/" > + done > + else > + CT_DoLog WARN "gcc configured for multilib, but none available" > + fi > + fi > + fi > +} > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/cc/gcc.sh > --- a/scripts/build/cc/gcc.sh Sat Nov 16 18:14:45 2013 +0100 > +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 > @@ -1,869 +0,0 @@ > -# This file adds the function to build the gcc C compiler > -# Copyright 2007 Yann E. MORIN > -# Licensed under the GPL v2. See COPYING in the root of this package > - > -# Download gcc > -do_cc_get() { > - local linaro_version > - local linaro_series > - local linaro_base_url="http://launchpad.net/gcc-linaro" > - > - if [ "${CT_CC_CUSTOM}" = "y" ]; then > - CT_GetCustom "gcc" "${CT_CC_VERSION}" "${CT_CC_CUSTOM_LOCATION}" > - else > - # Account for the Linaro versioning > - linaro_version="$( echo "${CT_CC_VERSION}" \ > - |sed -r -e 's/^linaro-//;' \ > - )" > - linaro_series="$( echo "${linaro_version}" \ > - |sed -r -e 's/-.*//;' \ > - )" > - > - # Ah! gcc folks are kind of 'different': they store the tarballs in > - # subdirectories of the same name! > - # Arrgghh! Some of those versions does not follow this convention: > - # gcc-3.3.3 lives in releases/gcc-3.3.3, while gcc-2.95.* isn't in a > - # subdirectory! > - CT_GetFile "gcc-${CT_CC_VERSION}" \ > - {ftp,http}://ftp.gnu.org/gnu/gcc{,{,/releases}/gcc-${CT_CC_VERSION}} \ > - ftp://ftp.irisa.fr/pub/mirrors/gcc.gnu.org/gcc/releases/gcc-${CT_CC_VERSION} \ > - ftp://ftp.uvsq.fr/pub/gcc/snapshots/${CT_CC_VERSION} \ > - "${linaro_base_url}/${linaro_series}/${linaro_version}/+download" > - > - fi # ! custom location > - # Starting with GCC 4.3, ecj is used for Java, and will only be > - # built if the configure script finds ecj.jar at the top of the > - # GCC source tree, which will not be there unless we get it and > - # put it there ourselves > - if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" ]; then > - CT_GetFile ecj-latest .jar ftp://gcc.gnu.org/pub/java \ > - ftp://sourceware.org/pub/java > - fi > -} > - > -# Extract gcc > -do_cc_extract() { > - # If using custom directory location, nothing to do > - if [ "${CT_CC_CUSTOM}" = "y" \ > - -a -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}" ]; then > - return 0 > - fi > - > - CT_Extract "gcc-${CT_CC_VERSION}" > - CT_Patch "gcc" "${CT_CC_VERSION}" > - > - # Copy ecj-latest.jar to ecj.jar at the top of the GCC source tree > - if [ "${CT_CC_LANG_JAVA_USE_ECJ}" = "y" \ > - -a ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" \ > - ]; then > - CT_DoExecLog ALL cp -v "${CT_TARBALLS_DIR}/ecj-latest.jar" "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/ecj.jar" > - fi > -} > - > -#------------------------------------------------------------------------------ > -# This function builds up the set of languages to enable > -# No argument expected, returns the comma-separated language list on stdout > -cc_gcc_lang_list() { > - local lang_list > - > - lang_list="c" > - [ "${CT_CC_LANG_CXX}" = "y" ] && lang_list+=",c++" > - [ "${CT_CC_LANG_FORTRAN}" = "y" ] && lang_list+=",fortran" > - [ "${CT_CC_LANG_ADA}" = "y" ] && lang_list+=",ada" > - [ "${CT_CC_LANG_JAVA}" = "y" ] && lang_list+=",java" > - [ "${CT_CC_LANG_OBJC}" = "y" ] && lang_list+=",objc" > - [ "${CT_CC_LANG_OBJCXX}" = "y" ] && lang_list+=",obj-c++" > - [ "${CT_CC_LANG_GOLANG}" = "y" ] && lang_list+=",go" > - lang_list+="${CT_CC_LANG_OTHERS:+,${CT_CC_LANG_OTHERS}}" > - > - printf "%s" "${lang_list}" > -} > - > -#------------------------------------------------------------------------------ > -# Core gcc pass 1 > -do_cc_core_pass_1() { > - local -a core_opts > - > - if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then > - return 0 > - fi > - > - core_opts+=( "mode=static" ) > - core_opts+=( "host=${CT_BUILD}" ) > - core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > - core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > - core_opts+=( "lang_list=c" ) > - > - CT_DoStep INFO "Installing pass-1 core C compiler" > - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-core-pass-1" > - > - do_cc_core_backend "${core_opts[@]}" > - > - CT_Popd > - CT_EndStep > -} > - > -# Core gcc pass 2 > -do_cc_core_pass_2() { > - local -a core_opts > - > - if [ "${CT_CC_CORE_PASSES_NEEDED}" != "y" ]; then > - return 0 > - fi > - > - # Common options: > - core_opts+=( "host=${CT_BUILD}" ) > - core_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - core_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - core_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > - core_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > - core_opts+=( "lang_list=c" ) > - > - # Different conditions are at stake here: > - # - In case the threading model is NPTL, we need a shared-capable core > - # gcc; in all other cases, we need a static-only core gcc. > - # - In case the threading model is NPTL or win32, or gcc is 4.3 or > - # later, we need to build libgcc > - case "${CT_THREADS}" in > - nptl) > - core_opts+=( "mode=shared" ) > - core_opts+=( "build_libgcc=yes" ) > - ;; > - win32) > - core_opts+=( "mode=static" ) > - core_opts+=( "build_libgcc=yes" ) > - ;; > - *) > - core_opts+=( "mode=static" ) > - if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then > - core_opts+=( "build_libgcc=yes" ) > - fi > - ;; > - esac > - > - CT_DoStep INFO "Installing pass-2 core C compiler" > - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-core-pass-2" > - > - do_cc_core_backend "${core_opts[@]}" > - > - CT_Popd > - CT_EndStep > -} > - > -#------------------------------------------------------------------------------ > -# Build core gcc > -# This function is used to build the core C compiler. > -# Usage: do_cc_core_backend param=value [...] > -# Parameter : Definition : Type : Default > -# mode : build a 'static', 'shared' or 'baremetal' : string : (none) > -# host : the machine the core will run on : tuple : (none) > -# prefix : dir prefix to install into : dir : (none) > -# complibs : dir where complibs are isntalled : dir : (none) > -# lang_list : the list of languages to build : string : (empty) > -# build_libgcc : build libgcc or not : bool : no > -# build_libstdcxx : build libstdc++ or not : bool : no > -# build_staticlinked : build statically linked or not : bool : no > -# build_manuals : whether to build manuals or not : bool : no > -# cflags : cflags to use : string : (empty) > -# ldflags : ldflags to use : string : (empty) > -# Usage: do_cc_core_backend mode=[static|shared|baremetal] build_libgcc=[yes|no] build_staticlinked=[yes|no] > -do_cc_core_backend() { > - local mode > - local build_libgcc=no > - local build_libstdcxx=no > - local build_staticlinked=no > - local build_manuals=no > - local host > - local prefix > - local complibs > - local lang_list > - local cflags > - local ldflags > - local tmp > - local -a host_libstdcxx_flags > - local -a extra_config > - local -a core_LDFLAGS > - local -a core_targets > - local arg > - > - for arg in "$@"; do > - eval "${arg// /\\ }" > - done > - > - CT_DoLog EXTRA "Configuring gcc" > - > - case "${mode}" in > - static) > - extra_config+=("--with-newlib") > - extra_config+=("--enable-threads=no") > - extra_config+=("--disable-shared") > - copy_headers=y # For baremetal, as there's no headers to copy, > - # we copy an empty directory. So, who cares? > - ;; > - shared) > - extra_config+=("--enable-shared") > - copy_headers=y > - ;; > - baremetal) > - extra_config+=("--with-newlib") > - extra_config+=("--enable-threads=no") > - extra_config+=("--disable-shared") > - copy_headers=n > - ;; > - *) > - CT_Abort "Internal Error: 'mode' must be one of: 'static', 'shared' or 'baremetal', not '${mode:-(empty)}'" > - ;; > - esac > - > - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then > - # Bare metal delivers the core compiler as final compiler, so add version info and bugurl > - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") > - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") > - fi > - > - if [ "${copy_headers}" = "y" ]; then > - CT_DoLog DEBUG "Copying headers to install area of bootstrap gcc, so it can build libgcc2" > - CT_DoExecLog ALL cp -a "${CT_HEADERS_DIR}" "${prefix}/${CT_TARGET}/include" > - fi > - > - for tmp in ARCH ABI CPU TUNE FPU FLOAT; do > - eval tmp="\${CT_ARCH_WITH_${tmp}}" > - if [ -n "${tmp}" ]; then > - extra_config+=("${tmp}") > - fi > - done > - if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then > - extra_config+=("--enable-__cxa_atexit") > - else > - extra_config+=("--disable-__cxa_atexit") > - fi > - > - core_LDFLAGS+=("${ldflags}") > - > - # *** WARNING ! *** > - # Keep this full if-else-if-elif-fi-fi block in sync > - # with the same block in do_cc, below. > - if [ "${build_staticlinked}" = "yes" ]; then > - core_LDFLAGS+=("-static") > - host_libstdcxx_flags+=("-static-libgcc") > - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++") > - host_libstdcxx_flags+=("-lm") > - # Companion libraries are build static (eg !shared), so > - # the libstdc++ is not pulled automatically, although it > - # is needed. Shoe-horn it in our LDFLAGS > - # Ditto libm on some Fedora boxen > - core_LDFLAGS+=("-lstdc++") > - core_LDFLAGS+=("-lm") > - else > - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then > - # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2 > - # build script > - # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++, > - # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html > - host_libstdcxx_flags+=("-static-libgcc") > - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic") > - host_libstdcxx_flags+=("-lm") > - elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then > - # When companion libraries are build static (eg !shared), > - # the libstdc++ is not pulled automatically, although it > - # is needed. Shoe-horn it in our LDFLAGS > - # Ditto libm on some Fedora boxen > - core_LDFLAGS+=("-lstdc++") > - core_LDFLAGS+=("-lm") > - fi > - fi > - > - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then > - extra_config+=("--with-gmp=${complibs}") > - extra_config+=("--with-mpfr=${complibs}") > - fi > - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then > - extra_config+=("--with-mpc=${complibs}") > - fi > - if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then > - if [ "${CT_PPL}" = "y" ]; then > - extra_config+=("--with-ppl=${complibs}") > - # With PPL 0.11+, also pull libpwl if needed > - if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then > - host_libstdcxx_flags+=("-L${complibs}/lib") > - host_libstdcxx_flags+=("-lpwl") > - fi > - fi > - if [ "${CT_ISL}" = "y" ]; then > - extra_config+=("--with-isl=${complibs}") > - fi > - extra_config+=("--with-cloog=${complibs}") > - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then > - extra_config+=("--with-ppl=no") > - extra_config+=("--with-isl=no") > - extra_config+=("--with-cloog=no") > - fi > - if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then > - extra_config+=("--with-libelf=${complibs}") > - extra_config+=("--enable-lto") > - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then > - extra_config+=("--with-libelf=no") > - extra_config+=("--disable-lto") > - fi > - > - if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then > - extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") > - fi > - > - if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then > - extra_config+=("--enable-target-optspace") > - fi > - > - case "${CT_CC_GCC_LDBL_128}" in > - y) extra_config+=("--with-long-double-128");; > - m) ;; > - "") extra_config+=("--without-long-double-128");; > - esac > - > - if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then > - extra_config+=( --enable-linker-build-id ) > - fi > - > - case "${CT_CC_GCC_LNK_HASH_STYLE}" in > - "") ;; > - *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );; > - esac > - > - case "${CT_ARCH}" in > - mips) > - case "${CT_CC_GCC_mips_llsc}" in > - y) extra_config+=( --with-llsc );; > - m) ;; > - *) extra_config+=( --without-llsc );; > - esac > - case "${CT_CC_GCC_mips_synci}" in > - y) extra_config+=( --with-synci );; > - m) ;; > - *) extra_config+=( --without-synci );; > - esac > - if [ "${CT_CC_GCC_mips_plt}" ]; then > - extra_config+=( --with-mips-plt ) > - fi > - ;; # ARCH is mips > - esac > - > - extra_config+=(--disable-libgomp) > - extra_config+=(--disable-libmudflap) > - > - [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls") > - > - [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ] && extra_config+=("--disable-libstdcxx-pch") > - > - if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then > - extra_config+=("--with-system-zlib") > - fi > - > - if [ "${CT_MULTILIB}" = "y" ]; then > - extra_config+=("--enable-multilib") > - else > - extra_config+=("--disable-multilib") > - fi > - > - CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" > - > - # Use --with-local-prefix so older gccs don't look in /usr/local (http://gcc.gnu.org/PR10532) > - CT_DoExecLog CFG \ > - CC_FOR_BUILD="${CT_BUILD}-gcc" \ > - CFLAGS="${cflags}" \ > - LDFLAGS="${core_LDFLAGS[*]}" \ > - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \ > - --build=${CT_BUILD} \ > - --host=${host} \ > - --target=${CT_TARGET} \ > - --prefix="${prefix}" \ > - --with-local-prefix="${CT_SYSROOT_DIR}" \ > - --disable-libmudflap \ > - ${CC_CORE_SYSROOT_ARG} \ > - "${extra_config[@]}" \ > - --enable-languages="${lang_list}" \ > - "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" > - > - if [ "${build_libgcc}" = "yes" ]; then > - # HACK: we need to override SHLIB_LC from gcc/config/t-slibgcc-elf-ver or > - # gcc/config/t-libunwind so -lc is removed from the link for > - # libgcc_s.so, as we do not have a target -lc yet. > - # This is not as ugly as it appears to be ;-) All symbols get resolved > - # during the glibc build, and we provide a proper libgcc_s.so for the > - # cross toolchain during the final gcc build. > - # > - # As we cannot modify the source tree, nor override SHLIB_LC itself > - # during configure or make, we have to edit the resultant > - # gcc/libgcc.mk itself to remove -lc from the link. > - # This causes us to have to jump through some hoops... > - # > - # To produce libgcc.mk to edit we firstly require libiberty.a, > - # so we configure then build it. > - # Next we have to configure gcc, create libgcc.mk then edit it... > - # So much easier if we just edit the source tree, but hey... > - if [ ! -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then > - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libiberty > - CT_DoExecLog ALL make ${JOBSFLAGS} -C libiberty libiberty.a > - CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp > - CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp > - else > - CT_DoExecLog CFG make ${JOBSFLAGS} configure-gcc configure-libcpp configure-build-libiberty > - CT_DoExecLog ALL make ${JOBSFLAGS} all-libcpp all-build-libiberty > - fi > - # HACK: gcc-4.2 uses libdecnumber to build libgcc.mk, so build it here. > - if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libdecnumber" ]; then > - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libdecnumber > - CT_DoExecLog ALL make ${JOBSFLAGS} -C libdecnumber libdecnumber.a > - fi > - # HACK: gcc-4.8 uses libbacktrace to make libgcc.mvars, so make it here. > - if [ -d "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/libbacktrace" ]; then > - CT_DoExecLog CFG make ${JOBSFLAGS} configure-libbacktrace > - CT_DoExecLog ALL make ${JOBSFLAGS} -C libbacktrace > - fi > - > - # Starting with GCC 4.3, libgcc.mk is no longer built, > - # and libgcc.mvars is used instead. > - > - if [ "${CT_CC_GCC_4_3_or_later}" = "y" ]; then > - libgcc_rule="libgcc.mvars" > - core_targets=( gcc target-libgcc ) > - else > - libgcc_rule="libgcc.mk" > - core_targets=( gcc ) > - fi > - > - # On bare metal and canadian build the host-compiler is used when > - # actually the build-system compiler is required. Choose the correct > - # compilers for canadian build and use the defaults on other > - # configurations. > - if [ "${CT_BARE_METAL},${CT_CANADIAN}" = "y,y" ]; then > - repair_cc="CC_FOR_BUILD=${CT_BUILD}-gcc \ > - CXX_FOR_BUILD=${CT_BUILD}-g++ \ > - GCC_FOR_TARGET=${CT_TARGET}-gcc" > - else > - repair_cc="" > - fi > - > - CT_DoExecLog ALL make ${JOBSFLAGS} -C gcc ${libgcc_rule} \ > - ${repair_cc} > - sed -r -i -e 's@-lc@@g' gcc/${libgcc_rule} > - else # build_libgcc > - core_targets=( gcc ) > - fi # ! build libgcc > - if [ "${build_libstdcxx}" = "yes" \ > - -a "${CT_CC_LANG_CXX}" = "y" \ > - ]; then > - core_targets+=( target-libstdc++-v3 ) > - fi > - > - CT_DoLog EXTRA "Building gcc" > - CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/all-}" > - > - CT_DoLog EXTRA "Installing gcc" > - CT_DoExecLog ALL make ${JOBSFLAGS} "${core_targets[@]/#/install-}" > - > - if [ "${build_manuals}" = "yes" ]; then > - CT_DoLog EXTRA "Building the GCC manuals" > - CT_DoExecLog ALL make pdf html > - CT_DoLog EXTRA "Installing the GCC manuals" > - CT_DoExecLog ALL make install-{pdf,html}-gcc > - fi > - > - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able > - # to call the C compiler with the same, somewhat canonical name. > - # check whether compiler has an extension > - file="$( ls -1 "${prefix}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" > - [ -z "${file}" ] || ext=".${file##*.}" > - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${prefix}/bin/${CT_TARGET}-cc${ext}" > - > - if [ "${CT_MULTILIB}" = "y" ]; then > - if [ "${CT_CANADIAN}" = "y" -a "${mode}" = "baremetal" \ > - -a "${host}" = "${CT_HOST}" ]; then > - CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly" > - else > - multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \ > - |tail -n +2 ) ) > - if [ ${#multilibs[@]} -ne 0 ]; then > - CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):" > - for i in "${multilibs[@]}"; do > - dir="${i%%;*}" > - flags="${i#*;}" > - CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/" > - done > - else > - CT_DoLog WARN "gcc configured for multilib, but none available" > - fi > - fi > - fi > -} > - > -#------------------------------------------------------------------------------ > -# Build complete gcc to run on build > -do_cc_for_build() { > - local -a build_final_opts > - local build_final_backend > - > - # In case we're canadian or cross-native, it seems that a > - # real, complete compiler is needed?!? WTF? Sigh... > - # Otherwise, there is nothing to do. > - case "${CT_TOOLCHAIN_TYPE}" in > - native|cross) return 0;; > - esac > - > - build_final_opts+=( "host=${CT_BUILD}" ) > - build_final_opts+=( "prefix=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - build_final_opts+=( "complibs=${CT_BUILDTOOLS_PREFIX_DIR}" ) > - build_final_opts+=( "lang_list=$( cc_gcc_lang_list )" ) > - if [ "${CT_BARE_METAL}" = "y" ]; then > - # In the tests I've done, bare-metal was not impacted by the > - # lack of such a compiler, but better safe than sorry... > - build_final_opts+=( "mode=baremetal" ) > - build_final_opts+=( "build_libgcc=yes" ) > - build_final_opts+=( "build_libstdcxx=yes" ) > - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > - build_final_opts+=( "build_staticlinked=yes" ) > - fi > - build_final_backend=do_cc_core_backend > - else > - build_final_backend=do_cc_backend > - fi > - > - CT_DoStep INFO "Installing final compiler for build" > - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-final-build-${CT_BUILD}" > - > - "${build_final_backend}" "${build_final_opts[@]}" > - > - CT_Popd > - CT_EndStep > -} > - > -#------------------------------------------------------------------------------ > -# Build final gcc to run on host > -do_cc_for_host() { > - local -a final_opts > - local final_backend > - > - final_opts+=( "host=${CT_HOST}" ) > - final_opts+=( "prefix=${CT_PREFIX_DIR}" ) > - final_opts+=( "complibs=${CT_HOST_COMPLIBS_DIR}" ) > - final_opts+=( "cflags=${CT_CFLAGS_FOR_HOST}" ) > - final_opts+=( "ldflags=${CT_LDFLAGS_FOR_HOST}" ) > - final_opts+=( "lang_list=$( cc_gcc_lang_list )" ) > - if [ "${CT_BUILD_MANUALS}" = "y" ]; then > - final_opts+=( "build_manuals=yes" ) > - fi > - if [ "${CT_BARE_METAL}" = "y" ]; then > - final_opts+=( "mode=baremetal" ) > - final_opts+=( "build_libgcc=yes" ) > - final_opts+=( "build_libstdcxx=yes" ) > - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > - final_opts+=( "build_staticlinked=yes" ) > - fi > - final_backend=do_cc_core_backend > - else > - final_backend=do_cc_backend > - fi > - > - CT_DoStep INFO "Installing final compiler" > - CT_mkdir_pushd "${CT_BUILD_DIR}/build-cc-final" > - > - "${final_backend}" "${final_opts[@]}" > - > - CT_Popd > - CT_EndStep > -} > - > -#------------------------------------------------------------------------------ > -# Build the final gcc > -# Usage: do_cc_backend param=value [...] > -# Parameter : Definition : Type : Default > -# host : the host we run onto : tuple : (none) > -# prefix : the runtime prefix : dir : (none) > -# complibs : the companion libraries prefix : dir : (none) > -# cflags : cflags to use : string : (empty) > -# ldflags : ldflags to use : string : (empty) > -# lang_list : the list of languages to build : string : (empty) > -# build_manuals : whether to build manuals or not : bool : no > -do_cc_backend() { > - local host > - local prefix > - local complibs > - local cflags > - local ldflags > - local lang_list > - local build_manuals > - local -a host_libstdcxx_flags > - local -a extra_config > - local -a final_LDFLAGS > - local tmp > - local arg > - > - for arg in "$@"; do > - eval "${arg// /\\ }" > - done > - > - CT_DoLog EXTRA "Configuring gcc" > - > - # Enable selected languages > - extra_config+=("--enable-languages=${lang_list}") > - > - for tmp in ARCH ABI CPU TUNE FPU FLOAT; do > - eval tmp="\${CT_ARCH_WITH_${tmp}}" > - if [ -n "${tmp}" ]; then > - extra_config+=("${tmp}") > - fi > - done > - > - [ "${CT_SHARED_LIBS}" = "y" ] || extra_config+=("--disable-shared") > - if [ "${CT_CC_GCC_HAS_PKGVERSION_BUGURL}" = "y" ]; then > - extra_config+=("--with-pkgversion=${CT_PKGVERSION}") > - [ -n "${CT_TOOLCHAIN_BUGURL}" ] && extra_config+=("--with-bugurl=${CT_TOOLCHAIN_BUGURL}") > - fi > - case "${CT_CC_GCC_SJLJ_EXCEPTIONS}" in > - y) extra_config+=("--enable-sjlj-exceptions");; > - m) ;; > - "") extra_config+=("--disable-sjlj-exceptions");; > - esac > - if [ "${CT_CC_CXA_ATEXIT}" = "y" ]; then > - extra_config+=("--enable-__cxa_atexit") > - else > - extra_config+=("--disable-__cxa_atexit") > - fi > - if [ -n "${CT_CC_ENABLE_CXX_FLAGS}" ]; then > - extra_config+=("--enable-cxx-flags=${CT_CC_ENABLE_CXX_FLAGS}") > - fi > - if [ "${CT_CC_GCC_LIBMUDFLAP}" = "y" ]; then > - extra_config+=(--enable-libmudflap) > - else > - extra_config+=(--disable-libmudflap) > - fi > - if [ "${CT_CC_GCC_LIBGOMP}" = "y" ]; then > - extra_config+=(--enable-libgomp) > - else > - extra_config+=(--disable-libgomp) > - fi > - if [ "${CT_CC_GCC_LIBSSP}" = "y" ]; then > - extra_config+=(--enable-libssp) > - else > - extra_config+=(--disable-libssp) > - fi > - if [ "${CT_CC_GCC_HAS_LIBQUADMATH}" = "y" ]; then > - if [ "${CT_CC_GCC_LIBQUADMATH}" = "y" ]; then > - extra_config+=(--enable-libquadmath) > - extra_config+=(--enable-libquadmath-support) > - else > - extra_config+=(--disable-libquadmath) > - extra_config+=(--disable-libquadmath-support) > - fi > - fi > - > - final_LDFLAGS+=("${ldflags}") > - > - # *** WARNING ! *** > - # Keep this full if-else-if-elif-fi-fi block in sync > - # with the same block in do_cc_core, above. > - if [ "${CT_STATIC_TOOLCHAIN}" = "y" ]; then > - final_LDFLAGS+=("-static") > - host_libstdcxx_flags+=("-static-libgcc") > - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++") > - host_libstdcxx_flags+=("-lm") > - # Companion libraries are build static (eg !shared), so > - # the libstdc++ is not pulled automatically, although it > - # is needed. Shoe-horn it in our LDFLAGS > - # Ditto libm on some Fedora boxen > - final_LDFLAGS+=("-lstdc++") > - final_LDFLAGS+=("-lm") > - else > - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then > - # this is from CodeSourcery arm-2010q1-202-arm-none-linux-gnueabi.src.tar.bz2 > - # build script > - # INFO: if the host gcc is gcc-4.5 then presumably we could use -static-libstdc++, > - # see http://gcc.gnu.org/ml/gcc-patches/2009-06/msg01635.html > - host_libstdcxx_flags+=("-static-libgcc") > - host_libstdcxx_flags+=("-Wl,-Bstatic,-lstdc++,-Bdynamic") > - host_libstdcxx_flags+=("-lm") > - elif [ "${CT_COMPLIBS_SHARED}" != "y" ]; then > - # When companion libraries are build static (eg !shared), > - # the libstdc++ is not pulled automatically, although it > - # is needed. Shoe-horn it in our LDFLAGS > - # Ditto libm on some Fedora boxen > - final_LDFLAGS+=("-lstdc++") > - final_LDFLAGS+=("-lm") > - fi > - fi > - > - if [ "${CT_CC_GCC_USE_GMP_MPFR}" = "y" ]; then > - extra_config+=("--with-gmp=${complibs}") > - extra_config+=("--with-mpfr=${complibs}") > - fi > - if [ "${CT_CC_GCC_USE_MPC}" = "y" ]; then > - extra_config+=("--with-mpc=${complibs}") > - fi > - if [ "${CT_CC_GCC_USE_GRAPHITE}" = "y" ]; then > - if [ "${CT_PPL}" = "y" ]; then > - extra_config+=("--with-ppl=${complibs}") > - # With PPL 0.11+, also pull libpwl if needed > - if [ "${CT_PPL_NEEDS_LIBPWL}" = "y" ]; then > - host_libstdcxx_flags+=("-L${complibs}/lib") > - host_libstdcxx_flags+=("-lpwl") > - fi > - fi > - if [ "${CT_ISL}" = "y" ]; then > - extra_config+=("--with-isl=${complibs}") > - fi > - extra_config+=("--with-cloog=${complibs}") > - elif [ "${CT_CC_GCC_HAS_GRAPHITE}" = "y" ]; then > - extra_config+=("--with-ppl=no") > - extra_config+=("--with-isl=no") > - extra_config+=("--with-cloog=no") > - fi > - if [ "${CT_CC_GCC_USE_LTO}" = "y" ]; then > - extra_config+=("--with-libelf=${complibs}") > - elif [ "${CT_CC_GCC_HAS_LTO}" = "y" ]; then > - extra_config+=("--with-libelf=no") > - fi > - > - if [ ${#host_libstdcxx_flags[@]} -ne 0 ]; then > - extra_config+=("--with-host-libstdcxx=${host_libstdcxx_flags[*]}") > - fi > - > - if [ "${CT_THREADS}" = "none" ]; then > - extra_config+=("--disable-threads") > - if [ "${CT_CC_GCC_4_2_or_later}" = y ]; then > - CT_Test "Disabling libgomp for no-thread gcc>=4.2" "${CT_CC_GCC_LIBGOMP}" = "Y" > - extra_config+=("--disable-libgomp") > - fi > - else > - if [ "${CT_THREADS}" = "win32" ]; then > - extra_config+=("--enable-threads=win32") > - extra_config+=("--disable-win32-registry") > - else > - extra_config+=("--enable-threads=posix") > - fi > - fi > - > - if [ "${CT_CC_GCC_ENABLE_TARGET_OPTSPACE}" = "y" ]; then > - extra_config+=("--enable-target-optspace") > - fi > - if [ "${CT_CC_GCC_DISABLE_PCH}" = "y" ]; then > - extra_config+=("--disable-libstdcxx-pch") > - fi > - > - case "${CT_CC_GCC_LDBL_128}" in > - y) extra_config+=("--with-long-double-128");; > - m) ;; > - "") extra_config+=("--without-long-double-128");; > - esac > - > - if [ "${CT_CC_GCC_BUILD_ID}" = "y" ]; then > - extra_config+=( --enable-linker-build-id ) > - fi > - > - case "${CT_CC_GCC_LNK_HASH_STYLE}" in > - "") ;; > - *) extra_config+=( "--with-linker-hash-style=${CT_CC_GCC_LNK_HASH_STYLE}" );; > - esac > - > - if [ "${CT_CC_GCC_ENABLE_PLUGINS}" = "y" ]; then > - extra_config+=( --enable-plugin ) > - fi > - if [ "${CT_CC_GCC_GOLD}" = "y" ]; then > - extra_config+=( --enable-gold ) > - fi > - > - case "${CT_ARCH}" in > - mips) > - case "${CT_CC_GCC_mips_llsc}" in > - y) extra_config+=( --with-llsc );; > - m) ;; > - *) extra_config+=( --without-llsc );; > - esac > - case "${CT_CC_GCC_mips_synci}" in > - y) extra_config+=( --with-synci );; > - m) ;; > - *) extra_config+=( --without-synci );; > - esac > - if [ "${CT_CC_GCC_mips_plt}" ]; then > - extra_config+=( --with-mips-plt ) > - fi > - ;; # ARCH is mips > - esac > - > - [ "${CT_TOOLCHAIN_ENABLE_NLS}" != "y" ] && extra_config+=("--disable-nls") > - > - if [ "${CT_CC_GCC_SYSTEM_ZLIB}" = "y" ]; then > - extra_config+=("--with-system-zlib") > - fi > - > - if [ "${CT_MULTILIB}" = "y" ]; then > - extra_config+=("--enable-multilib") > - else > - extra_config+=("--disable-multilib") > - fi > - > - CT_DoLog DEBUG "Extra config passed: '${extra_config[*]}'" > - > - CT_DoExecLog CFG \ > - CC_FOR_BUILD="${CT_BUILD}-gcc" \ > - CFLAGS="${cflags}" \ > - LDFLAGS="${final_LDFLAGS[*]}" \ > - CFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ > - CXXFLAGS_FOR_TARGET="${CT_TARGET_CFLAGS}" \ > - LDFLAGS_FOR_TARGET="${CT_TARGET_LDFLAGS}" \ > - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/configure" \ > - --build=${CT_BUILD} \ > - --host=${host} \ > - --target=${CT_TARGET} \ > - --prefix="${prefix}" \ > - ${CC_SYSROOT_ARG} \ > - "${extra_config[@]}" \ > - --with-local-prefix="${CT_SYSROOT_DIR}" \ > - --enable-c99 \ > - --enable-long-long \ > - "${CT_CC_EXTRA_CONFIG_ARRAY[@]}" > - > - if [ "${CT_CANADIAN}" = "y" ]; then > - CT_DoLog EXTRA "Building libiberty" > - CT_DoExecLog ALL make ${JOBSFLAGS} all-build-libiberty > - fi > - > - CT_DoLog EXTRA "Building gcc" > - CT_DoExecLog ALL make ${JOBSFLAGS} all > - > - CT_DoLog EXTRA "Installing gcc" > - CT_DoExecLog ALL make ${JOBSFLAGS} install > - > - if [ "${build_manuals}" = "yes" ]; then > - CT_DoLog EXTRA "Building the GCC manuals" > - CT_DoExecLog ALL make pdf html > - CT_DoLog EXTRA "Installing the GCC manuals" > - CT_DoExecLog ALL make install-{pdf,html}-gcc > - fi > - > - # Create a symlink ${CT_TARGET}-cc to ${CT_TARGET}-gcc to always be able > - # to call the C compiler with the same, somewhat canonical name. > - # check whether compiler has an extension > - file="$( ls -1 "${CT_PREFIX_DIR}/bin/${CT_TARGET}-gcc."* 2>/dev/null || true )" > - [ -z "${file}" ] || ext=".${file##*.}" > - CT_DoExecLog ALL ln -sfv "${CT_TARGET}-gcc${ext}" "${CT_PREFIX_DIR}/bin/${CT_TARGET}-cc${ext}" > - > - if [ "${CT_MULTILIB}" = "y" ]; then > - if [ "${CT_CANADIAN}" = "y" ]; then > - CT_DoLog WARN "Canadian Cross unable to confirm multilibs configured correctly" > - else > - multilibs=( $( "${prefix}/bin/${CT_TARGET}-gcc" -print-multi-lib \ > - |tail -n +2 ) ) > - if [ ${#multilibs[@]} -ne 0 ]; then > - CT_DoLog EXTRA "gcc configured with these multilibs (besides the default):" > - for i in "${multilibs[@]}"; do > - dir="${i%%;*}" > - flags="${i#*;}" > - CT_DoLog EXTRA " ${flags//@/ -} --> ${dir}/" > - done > - else > - CT_DoLog WARN "gcc configured for multilib, but none available" > - fi > - fi > - fi > -} > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/debug/300-gdb.sh > --- a/scripts/build/debug/300-gdb.sh Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/build/debug/300-gdb.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -181,11 +181,11 @@ > if [ "${CT_GDB_INSTALL_GDBINIT}" = "y" ]; then > CT_DoLog EXTRA "Installing '.gdbinit' template" > # See in scripts/build/internals.sh for why we do this > - if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then > - gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ) > + if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then > + gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ) > else > - gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ > - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \ > + gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ > + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \ > ) > fi > ${sed} -r \ > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/internals.sh > --- a/scripts/build/internals.sh Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/build/internals.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -28,33 +28,35 @@ > CT_DoExecLog ALL "${CT_TARGET}-strip" ${strip_args} \ > "${CT_TARGET}/debug-root/usr/bin/gdbserver" > fi > - # We can not use the version in CT_CC_VERSION because > - # of the Linaro stuff. So, harvest the version string > - # directly from the gcc sources... > - # All gcc 4.x seem to have the version in gcc/BASE-VER > - # while version prior to 4.x have the version in gcc/version.c > - # Of course, here is not the better place to do that... > - if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ]; then > - gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/BASE-VER" ) > - else > - gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ > - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/version.c" \ > - ) > + if [ "${CT_CC_gcc}" = "y" ]; then > + # We can not use the version in CT_CC_GCC_VERSION because > + # of the Linaro stuff. So, harvest the version string > + # directly from the gcc sources... > + # All gcc 4.x seem to have the version in gcc/BASE-VER > + # while version prior to 4.x have the version in gcc/version.c > + # Of course, here is not the better place to do that... > + if [ -f "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ]; then > + gcc_version=$( cat "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/BASE-VER" ) > + else > + gcc_version=$( sed -r -e '/version_string/!d; s/^.+= "([^"]+)".*$/\1/;' \ > + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/version.c" \ > + ) > + fi > + for _t in "bin/${CT_TARGET}-"* \ > + "${CT_TARGET}/bin/"* \ > + "libexec/gcc/${CT_TARGET}/${gcc_version}/"* \ > + "libexec/gcc/${CT_TARGET}/${gcc_version}/install-tools/"* \ > + ; do > + _type="$( file "${_t}" |cut -d ' ' -f 2- )" > + case "${_type}" in > + *script*executable*) > + ;; > + *executable*) > + CT_DoExecLog ALL ${CT_HOST}-strip ${strip_args} "${_t}" > + ;; > + esac > + done > fi > - for _t in "bin/${CT_TARGET}-"* \ > - "${CT_TARGET}/bin/"* \ > - "libexec/gcc/${CT_TARGET}/${gcc_version}/"* \ > - "libexec/gcc/${CT_TARGET}/${gcc_version}/install-tools/"* \ > - ; do > - _type="$( file "${_t}" |cut -d ' ' -f 2- )" > - case "${_type}" in > - *script*executable*) > - ;; > - *executable*) > - CT_DoExecLog ALL ${CT_HOST}-strip ${strip_args} "${_t}" > - ;; > - esac > - done > CT_Popd > fi > > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/build/test_suite/gcc.sh > --- a/scripts/build/test_suite/gcc.sh Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/build/test_suite/gcc.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -15,10 +15,10 @@ > CT_DoStep INFO "Installing GCC test suite" > > CT_DoExecLog ALL mkdir -p "${CT_TEST_SUITE_DIR}/gcc" > - CT_DoExecLog ALL cp -av "${CT_LIB_DIR}/contrib/gcc-test-suite/default.cfg" \ > - "${CT_LIB_DIR}/contrib/gcc-test-suite/Makefile" \ > - "${CT_LIB_DIR}/contrib/gcc-test-suite/README" \ > - "${CT_SRC_DIR}/gcc-${CT_CC_VERSION}/gcc/testsuite" \ > + CT_DoExecLog ALL cp -av "${CT_LIB_DIR}/contrib/gcc-test-suite/default.cfg" \ > + "${CT_LIB_DIR}/contrib/gcc-test-suite/Makefile" \ > + "${CT_LIB_DIR}/contrib/gcc-test-suite/README" \ > + "${CT_SRC_DIR}/gcc-${CT_CC_GCC_VERSION}/gcc/testsuite" \ > "${CT_TEST_SUITE_DIR}/gcc" > > CT_DoExecLog ALL sed -i -r -e "s/@@DG_TARGET@@/${CT_TARGET}/g;" \ > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/crosstool-NG.sh.in > --- a/scripts/crosstool-NG.sh.in Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/crosstool-NG.sh.in Mon Dec 02 21:51:09 2013 +0100 > @@ -140,7 +140,7 @@ > . "${CT_LIB_DIR}/scripts/build/companion_libs.sh" > . "${CT_LIB_DIR}/scripts/build/binutils/${CT_BINUTILS}.sh" > . "${CT_LIB_DIR}/scripts/build/libc/${CT_LIBC}.sh" > -. "${CT_LIB_DIR}/scripts/build/cc/${CT_CC}.sh" > +. "${CT_LIB_DIR}/scripts/build/cc.sh" > . "${CT_LIB_DIR}/scripts/build/debug.sh" > . "${CT_LIB_DIR}/scripts/build/test_suite.sh" > > @@ -162,8 +162,8 @@ > # Put user-supplied flags at the end, so that they take precedence. > CT_TARGET_CFLAGS="${CT_ARCH_TARGET_CFLAGS} ${CT_TARGET_CFLAGS}" > CT_TARGET_LDFLAGS="${CT_ARCH_TARGET_LDFLAGS} ${CT_TARGET_LDFLAGS}" > -CT_CC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_CORE_EXTRA_CONFIG_ARRAY[@]}" ) > -CT_CC_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_EXTRA_CONFIG} "${CT_CC_EXTRA_CONFIG_ARRAY[@]}" ) > +CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_CORE_EXTRA_CONFIG} "${CT_CC_GCC_CORE_EXTRA_CONFIG_ARRAY[@]}" ) > +CT_CC_GCC_EXTRA_CONFIG_ARRAY=( ${CT_ARCH_CC_EXTRA_CONFIG} "${CT_CC_GCC_EXTRA_CONFIG_ARRAY[@]}" ) > > # Compute the package version string > CT_PKGVERSION="crosstool-NG ${CT_VERSION}${CT_TOOLCHAIN_PKGVERSION:+ - ${CT_TOOLCHAIN_PKGVERSION}}" > @@ -545,8 +545,8 @@ > CT_EndStep > fi > > - if [ "${CT_CC_STATIC_LIBSTDCXX}" = "y" ]; then > - CT_DoStep DEBUG "Checking that gcc can statically link libstdc++ (CT_CC_STATIC_LIBSTDCXX)" > + if [ "${CT_CC_GCC_STATIC_LIBSTDCXX}" = "y" ]; then > + CT_DoStep DEBUG "Checking that gcc can statically link libstdc++ (CT_CC_GCC_STATIC_LIBSTDCXX)" > CT_DoLog DEBUG "You may need to ensure that libstdc++.a is installed on your system" > CT_DoExecLog DEBUG "${CT_HOST}-gcc" ${CT_CFLAGS_FOR_HOST} ${CT_LDFLAGS_FOR_HOST} "${testc}" -static -lstdc++ -o "${gccout}" > rm -f "${gccout}" > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/gen_in_frags.sh > --- a/scripts/gen_in_frags.sh Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/gen_in_frags.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -138,6 +138,9 @@ > _entry=$(printf '%s\n' "${entry}" |"${sed}" -r -s -e 's/[-.+]/_/g;') > printf 'menuconfig %s_%s\n' "${cfg_prefix}" "${_entry}" > printf ' bool\n' > + if "${grep}" -E '^## default' ${file} >/dev/null 2>&1; then > + "${sed}" -r -e '/^## default ?/!d; s/^## default ?/ default /;' ${file} 2>/dev/null > + fi > printf ' prompt "%s"\n' "${entry}" > "${sed}" -r -e '/^## depends on /!d; s/^## / /;' ${file} 2>/dev/null > "${sed}" -r -e '/^## select /!d; s/^## / /;' ${file} 2>/dev/null > diff -r 7e569a9cb5fd -r 65771b86df01 scripts/showSamples.sh > --- a/scripts/showSamples.sh Sat Nov 16 18:14:45 2013 +0100 > +++ b/scripts/showSamples.sh Mon Dec 02 21:51:09 2013 +0100 > @@ -76,7 +76,7 @@ > [ -z "${CT_LIBELF}" -a -z "${CT_LIBELF_TARGET}" ] || printf " libelf-%s" "${CT_LIBELF_VERSION}" > [ -z "${complibs}" ] || printf "\n" > printf " %-*s : %s\n" ${width} "binutils" "binutils-${CT_BINUTILS_VERSION}" > - printf " %-*s : %s" ${width} "C compiler" "${CT_CC}-${CT_CC_VERSION} (C" > + printf " %-*s : %s" ${width} "C compiler" "${CT_CC}-${CT_CC_GCC_VERSION} (C" > [ "${CT_CC_LANG_CXX}" = "y" ] && printf ",C++" > [ "${CT_CC_LANG_FORTRAN}" = "y" ] && printf ",Fortran" > [ "${CT_CC_LANG_JAVA}" = "y" ] && printf ",Java" > @@ -121,7 +121,7 @@ > fi > printf "| ${CT_BINUTILS_VERSION} " > printf "| ''${CT_CC}'' " > - printf "| ${CT_CC_VERSION} " > + printf "| ${CT_CC_GCC_VERSION} " > printf "| ''${CT_LIBC}'' |" > if [ "${CT_LIBC}" != "none" ]; then > printf " ${CT_LIBC_VERSION} " > > -- > For unsubscribe information see http://sourceware.org/lists.html#faq > -- For unsubscribe information see http://sourceware.org/lists.html#faq