On 16 August 2012 17:32, Manjunath S Matti <81matti@xxxxxxxxx> wrote: > Hi, > > I am trying to build multilib arm toolchain using gcc-linaro-4.7-2012.06 > I am targeting cpu=cortex-a15 and multilib for softfp and hard. > > i have added a file t-mlibs > {{{ > comma := , > space := > space += > > MULTILIB_OPTIONS = mfloat-abi=softfp > MULTILIB_DIRNAMES = softfp > > MULTILIB_EXCEPTIONS = > > MULTILIB_REQUIRED = marm/mfloat-abi=softfp > > MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o > }}} > > The reason i have not added mfloat-abi=hard, in this file is because the > default i guess is hard, as mentioned in the file > linux-elf.h > {{{ > * Run-time Target Specification. */ > #undef TARGET_DEFAULT_FLOAT_ABI > #define TARGET_DEFAULT_FLOAT_ABI ARM_FLOAT_ABI_HARD > }}} > > I am able to boot strap gcc which is configured with the following options > {{{ > COLLECT_GCC=./install/bin/arm-cortex_a15-linux-gnueabi-gcc > COLLECT_LTO_WRAPPER=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install/libexec/gcc/arm-cortex_a15-linux-gnueabi/4.7.1/lto-wrapper > Target: arm-cortex_a15-linux-gnueabi > Configured with: > /home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/sources/gcc-linaro-4.7-2012.06/configure > --target=arm-cortex_a15-linux-gnueabi > --prefix=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-local-prefix=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install/arm-cortex_a15-linux-gnueabi/sysroot > --with-sysroot=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install/arm-cortex_a15-linux-gnueabi/sysroot > --with-gmp=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-mpfr=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-mpc=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-ppl=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-cloog=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-libelf=/home/manjunath/workspace/linaro_arm_tc/manual/cortex_multilib/install > --with-newlib --enable-__cxa_atexit --enable-threads=no --enable-lto > --enable-languages=c,c++ --disable-libmudflap --disable-libgomp > --disable-libmudflap --disable-nls --disable-libstdcxx-pch --disable-shared > --with-arch=armv7-a --with-cpu=cortex-a15 --with-tune=cortex-a15 > --with-float=hard --with-multilib-list > }}} > > And the build directory has the following > > ./arm-cortex_a15-linux-gnueabi/libgcc/libgcc.a > ./arm-cortex_a15-linux-gnueabi/softfp/libgcc/libgcc.a > > I am even able to build the glibc with softfp and hard for cortex-a15 > respectively, but while building the final gcc i get the following error: > Error msg: > {{{ > /install/arm-cortex_a15-linux-gnueabi/bin/ld: error: > softfp/libgcc_s.so.1.tmp uses VFP register arguments, > /workspace/linaro_arm_tc/manual/cortex_multilib/build/gcc_obj/./gcc/softfp/crtbeginS.o > does not > }}} > > Please let me know what am I missing or is this approach wrong? > > Thanks in advance > > Regards, > Manjunath S Matti. Hi, Try adding --with-fpu=neon-vfpv4 to the configure line of GCC. For ARM targets -mcpu=FOO does not specify a floating-point unit, you have to specify -mfpu=BAR as well. Thanks, Matt -- Matthew Gretton-Dann Linaro Toolchain Working Group matthew.gretton-dann@xxxxxxxxxx