Cannot build GCC for Cortex-M0

Andriy Sukhynyuk asukhynyuk@yahoo.com
Fri Sep 10 14:58:00 GMT 2010


At last I got it.

I am sure it will save a lot of time fot other poor buggers so I paste a 
solution here.

Empirically I found the necessary directives for "gcc/config/arm/t_arm_elf" file 
in order to build all 4 major GCC C/C++ library versions for ARM CPUs, arm, 
thumb, interwork, fpu and cortex-m0


------------------------------------------------------------------------------------------------------------------------------------------------

MULTILIB_OPTIONS     = marm/mthumb
MULTILIB_DIRNAMES    = arm thumb

MULTILIB_OPTIONS    += mcpu=cortex-m0
MULTILIB_DIRNAMES   += cortex-m0
MULTILIB_EXCEPTIONS  += marm/mcpu=cortex-m0
MULTILIB_EXCEPTIONS  += mcpu=cortex-m0

MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
MULTILIB_DIRNAMES   += normal interwork

MULTILIB_OPTIONS    += mhard-float/msoft-float
MULTILIB_DIRNAMES   += fpu soft
MULTILIB_EXCEPTIONS += mthumb/mhard-float

MULTILIB_EXCEPTIONS += mcpu=cortex-m0/m*float
MULTILIB_EXCEPTIONS += mcpu=cortex-m0/m*interwork
MULTILIB_EXCEPTIONS += mcpu=cortex-m0/m*interwork/m*float
MULTILIB_EXCEPTIONS += mcpu=cortex-m0/m*interwork/m*float

MULTILIB_EXCEPTIONS += marm/mcpu=cortex-m0/m*interwork
MULTILIB_EXCEPTIONS += marm/mcpu=cortex-m0/m*interwork/m*float
MULTILIB_EXCEPTIONS += marm/mcpu=cortex-m0/m*float

MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m0/mthumb-interwork 
MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m0/mthumb-interwork/m*float
MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m0/mno-thumb-interwork/mhard-float 
MULTILIB_EXCEPTIONS += mthumb/mcpu=cortex-m0/mhard-float
------------------------------------------------------------------------------------------------------------------------------------------------



after that done, run configure with the following arguments 

../gcc-4.5.0/configure --target=arm-elf --build=i686-pc-mingw32 
--host=i686-pc-mingw32 --prefix=/f/cross-gcc/4.5.0 --disable-nls 
--disable-shared --disable-threads --with-gnu-gcc --with-gnu-ld --with-gnu-as 
--with-dwarf2 --enable-languages=c,c++ --enable-interwork --enable-multilib 
--with-gmp=/f/cross-gcc/4.5.0 --with-mpfr=/f/cross-gcc/4.5.0 
--with-mpc=/f/cross-gcc/4.5.0 --with-newlib 
--with-headers=../../newlib-1.18.0/newlib-1.18.0/newlib/libc/include 
--disable-libssp --disable-libstdcxx-pch --disable-libmudflap --disable-libgomp 
-v

in a few hours you will have a complete toolchain for arm-elf target

Regards,
Andriy



      



More information about the Gcc-help mailing list