Hi all,

While trying to generate a ARM-GCC for Linux with hard and soft FP multilibs, I have noticed that: - arm/linux-elf.h says the default float ABI is "hard" and multilib_defaults includes "mhard-float"

- arm/linux-eabi.h says the default float ABI is "soft" but does not change the multilibs_defaults.

This means that when building a linux-eabi GCC, no hard-float multilib will be generated even though you ask for
MULTILIB_OPTIONS        = msoft-float/mhard-float

Indeed, the multilib system will decide that -mhard-float does not need a special multilib build because -mhard-float is defined as a default.

So you end up with 2 multilibs:
1- the default one, also used with -mhard-float
2- -msoft-float

But in linux-eabi, the default is "soft float", so the 2 variants are actually the same.

There are several ways of fixing this, one is to redefine multilib_defaults in arm/linux-eabi.h so that it includes soft-float instead of hard-float.

Any opinions?

Christophe

Reply via email to