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