Arm toolchain with gcc / newlib / VFP / hard float - can it be done?

Freddie Chopin
Tue Feb 26 09:27:00 GMT 2013

W dniu 2013-02-26 10:09, Joe Button pisze:
> Ok, I don't really know what I'm doing here, but I can see that
> gcc/config/arm/arm-cores.def has this:
> ARM_CORE("arm1176jzf-s",  arm1176jzfs,  6ZK, FL_LDSCHED | FL_VFPV2, 9e)
> and gcc/config/arm/arm-arches.def has this:
> ARM_ARCH("armv6zk", arm1176jzs, 6ZK, FL_CO_PROC | FL_FOR_ARCH6ZK)
> Which leads me to think perhaps all I need to do is stick "armv6zk" in
> my MULTILIB_LIST. Does that sound even slightly plausible?

I'm not saying "no", but I doubt that - multilib config is a bit more 
complicated in this scenario...

> By the way I'm still not sure how this is going to solve the problem of
> newlib getting built without the hardfloat abi - my gcc can already
> build with hardfloat, it's just newlib that doesn't seem to end up with it.

This multilib config you select for GCC is also used for newlib. This is 
done automatically, as newlib is built for each multilib config of gcc. 
It is also built for "default" config of GCC, but from what I know 
default is ARMv4 and you cannot (?) change that...

BTW - each arch you add to that list can have several multilib configs 
like arm+hardfloat, thumb+hardfloat, arm, thumb, arm+softfloat, etc.

If you take a look at this file:
in the gcc repo of /branches/ARM/embedded-4_7-branch you'll see how 
multilib is configured...

I'm not into ARM9, so info about bare-metal toolchain for 
microcontrollers is all I can help you...


More information about the Newlib mailing list