This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug driver/66849] Incorrect multilib chosen with -mthumb -mfloat-abi=hard


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66849

Jim Wilson <wilson at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilson at gcc dot gnu.org

--- Comment #4 from Jim Wilson <wilson at gcc dot gnu.org> ---
The problem is that we can't have thumb1 hard-float code, so the thumb/hard
multilib is explicitly disabled.  However, we can have thumb2 hard-float code,
and hence this should be enabled for targets that support thumb2, but isn't
yet, as there is no easy and obvious way to do this without breaking support
for older thumb1 targets.

If you don't care whether you have arm or thumb code, then you can just use the
arm hard-float library with an override like you already did.

If you want a proper thumb2 hard multilib, then in the file
gcc/config/arm/t-arm-elf see the line
MULTILIB_EXCEPTIONS    += *mthumb/*mfloat-abi=hard*
Put a # in front of it to disable it, rebuild gcc, and then you will have
thumb2 hard-float libraries.  See also the comments before this section of
code.

The t-aprofile that Ramana mentioned does support thumb/hard multilibs, but
makes this work by requiring armv7 or higher.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]