Unlike with GCC-3.*, building GCC-4.1.1 PPC crosscompiler from a bootstrapped native GCC-4.1.1 and binutils-2.17 on cygwin fails because of a small error. Using a new and up to date Cygwin install.
xgcc -v (after fix) gives: Using built-in specs. Target: powerpc-ibm-eabi Configured with: ../gcc-4.1.1/configure --prefix=/cygdrive/c/cygwin-gcc/local --program-prefix=x --target=powerpc-ibm-eabi --with-cpu=440 --with-newlib --enable-languages=c Thread model: single gcc version 4.1.1 The error message is: ........ ../../gcc-4.1.1/gcc/unwind-c.c:1: warning: -msoft-float and -mlong-double-128 no t supported rm -f ./libgcc.a powerpc-ibm-eabi-ar rc ./libgcc.a libgcc/./_muldi3.o libgcc/./_negdi2.o libgcc/ ./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ashrdi3.o libgcc/./_cmpdi2.o libgcc/. /_ucmpdi2.o libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o l ibgcc/./_fixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o libgcc/./_fixun ssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc/./_fixunsxfdi.o libgcc/./ _floatdixf.o libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o l ibgcc/./_floatditf.o libgcc/./_clear_cache.o libgcc/./_enable_execute_stack.o li bgcc/./_trampoline.o libgcc/./__main.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o l ibgcc/./_addvsi3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o libgcc/./_subvdi3.o l ibgcc/./_mulvsi3.o libgcc/./_mulvdi3.o libgcc/./_negvsi2.o libgcc/./_negvdi2.o l ibgcc/./_ctors.o libgcc/./_ffssi2.o libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./ _clzsi2.o libgcc/./_clzdi2.o libgcc/./_ctzsi2.o libgcc/./_ctzdi2.o libgcc/./_pop count_tab.o libgcc/./_popcountsi2.o libgcc/./_popcountdi2.o libgcc/./_paritysi2. o libgcc/./_paritydi2.o libgcc/./_powisf2.o libgcc/./_powidf2.o libgcc/./_powixf 2.o libgcc/./_powitf2.o libgcc/./_mulsc3.o libgcc/./_muldc3.o libgcc/./_mulxc3.o libgcc/./_multc3.o libgcc/./_divsc3.o libgcc/./_divdc3.o libgcc/./_divxc3.o lib gcc/./_divtc3.o libgcc/./_eprintf.o libgcc/./__gcc_bcmp.o libgcc/./_divdi3.o lib gcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./_udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./_pack_sf.o libgcc/./_unpack_sf.o libgcc/./_addsu b_sf.o libgcc/./_mul_sf.o libgcc/./_div_sf.o libgcc/./_fpcmp_parts_sf.o libgcc/. /_compare_sf.o libgcc/./_eq_sf.o libgcc/./_ne_sf.o libgcc/./_gt_sf.o libgcc/./_g e_sf.o libgcc/./_lt_sf.o libgcc/./_le_sf.o libgcc/./_unord_sf.o libgcc/./_si_to_ sf.o libgcc/./_sf_to_si.o libgcc/./_negate_sf.o libgcc/./_make_sf.o libgcc/./_sf _to_df.o libgcc/./_thenan_sf.o libgcc/./_sf_to_usi.o libgcc/./_usi_to_sf.o libgc c/./_pack_df.o libgcc/./_unpack_df.o libgcc/./_addsub_df.o libgcc/./_mul_df.o li bgcc/./_div_df.o libgcc/./_fpcmp_parts_df.o libgcc/./_compare_df.o libgcc/./_eq_ df.o libgcc/./_ne_df.o libgcc/./_gt_df.o libgcc/./_ge_df.o libgcc/./_lt_df.o lib gcc/./_le_df.o libgcc/./_unord_df.o libgcc/./_si_to_df.o libgcc/./_df_to_si.o li bgcc/./_negate_df.o libgcc/./_make_df.o libgcc/./_df_to_sf.o libgcc/./_thenan_df .o libgcc/./_df_to_usi.o libgcc/./_usi_to_df.o libgcc/./tramp.o libgcc/./darwin- ldouble.o libgcc/./eabi.o libgcc/./unwind-dw2.o libgcc/./unwind-dw2-fde.o libgcc /./unwind-sjlj.o libgcc/./gthr-gnat.o libgcc/./unwind-c.o make[4]: powerpc-ibm-eabi-ar: Command not found make[4]: *** [libgcc.a] Error 127 make[4]: Leaving directory `/cygdrive/c/cygwin-gcc/build/ppc_gcc/gcc' make[3]: *** [stmp-multilib] Error 2 make[3]: Leaving directory `/cygdrive/c/cygwin-gcc/build/ppc_gcc/gcc' make[2]: *** [all-gcc] Error 2 make[2]: Leaving directory `/cygdrive/c/cygwin-gcc/build/ppc_gcc' make[1]: *** [all] Error 2 To fix this problem, just do: $ cd /cygdrive/c/cygwin-gcc/local/bin $ cp xar.exe powerpc-ibm-eabi-ar.exe and rerun "make ; make install" in `/cygdrive/c/cygwin-gcc/build/ppc_gcc/gcc' Extract of Makefile used to rebuild everything: ------------------------------- FTPMIRROR := http://www.mirrorservice.org/sites/ GCC_VERSION := 4.1.1 BINUTILS_VERSION := 2.17 HOME = /cygdrive/c/cygwin-gcc PATH := $(HOME)/local/bin/:/usr/local/bin:/usr/bin:/bin src: mkdir src build: mkdir build local: mkdir local lib: mkdir lib target: mkdir target src/gcc-core-$(GCC_VERSION).tar.bz2: wget --directory-prefix=src $(FTPMIRROR)/sources.redhat.com/pub/gcc/releases/gcc-$(GCC_VERSION)/gcc-core-$(GCC_VERSION).tar.bz2 src/binutils-$(BINUTILS_VERSION).tar.bz2: wget --directory-prefix=src $(FTPMIRROR)/sources.redhat.com/pub/binutils/releases/binutils-$(BINUTILS_VERSION).tar.bz2 src/gcc-g++-$(GCC_VERSION).tar.bz2: wget --directory-prefix=src $(FTPMIRROR)/sources.redhat.com/pub/gcc/releases/gcc-$(GCC_VERSION)/gcc-g++-$(GCC_VERSION).tar.bz2 toolchain-src: src build src/gcc-core-$(GCC_VERSION).tar.bz2 src/gcc-g++-$(GCC_VERSION).tar.bz2 src/binutils-$(BINUTILS_VERSION).tar.bz2 rm -rf build/* cd build && tar -xjf ../src/binutils-$(BINUTILS_VERSION).tar.bz2 cd build && tar -xjf ../src/gcc-core-$(GCC_VERSION).tar.bz2 cd build && tar -xjf ../src/gcc-g++-$(GCC_VERSION).tar.bz2 # PATH has to contains $(HOME)/local/bin/ before anything else here # Add in /etc/profile the lines (after cd "$HOME") : # export HOME=/cygdrive/c/cygwin-gcc # export PATH=~/local/bin/:/usr/local/bin:/usr/bin:/bin # export INFOPATH=~/local/info:/usr/local/info:/usr/info # export MANPATH=~/local/man:/usr/local/man:/usr/man native-toolchain: local [ -d build ] || $(MAKE) toolchain-src cd build && rm -rf native_binutils native_gcc && mkdir native_binutils native_gcc cd build/native_binutils && ../binutils-$(BINUTILS_VERSION)/configure --prefix=$(HOME)/local cd build/native_binutils && make && make install cd build/native_gcc && ../gcc-$(GCC_VERSION)/configure --prefix=$(HOME)/local cd build/native_gcc && make bootstrap # - cd build/native_gcc && make -k check > check.log 2>&1 cd build/native_gcc && make install # That will fail if --prefix=... is not in the $PATH. ppc-toolchain: [ -x local/bin/gcc ] || $(MAKE) native-toolchain cd build && rm -rf ppc_binutils ppc_gcc && mkdir ppc_binutils ppc_gcc cd build/ppc_binutils && ../binutils-$(BINUTILS_VERSION)/configure --prefix=$(HOME)/local --program-prefix=x --target=powerpc-ibm-eabi cd build/ppc_binutils && make && make install # rm -rf build/ppc_gcc && mkdir build/ppc_gcc cd build/ppc_gcc && ../gcc-$(GCC_VERSION)/configure --prefix=$(HOME)/local --program-prefix=x --target=powerpc-ibm-eabi \ --with-cpu=440 --with-newlib --enable-languages=c cd build/ppc_gcc && make && make install ------------------------------- -- Summary: one reference to powerpc-ibm-eabi-ar.exe when only xar.exe installed Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: etienne_lorrain at yahoo dot fr GCC build triplet: i686-pc-cygwin GCC host triplet: i686-pc-cygwin GCC target triplet: powerpc-ibm-eabi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28770