This is similar to #14895.

On arm-elf target, the compiler defaults to soft-float even when no option is
passed.  Binutils defaults to hard-float (it sets the SOFTFLOAT only if the
soft-float option is given).  When libgcc is built for soft-float, gas receives
no option from gcc and therefore does not set the SOFTFLOAT flag.

This is shown using arm-elf-objdump -p on the libgcc.a file ([software FP]
missing).

A workaround is to provide an explicit --with-float=soft at configure time. In
this case, this is added to configure_default_options, and OPTION_DEFAULT_SPECS
saves us.

Configured with: /home/nico/arm/gcc-arm-elf-4.3.2/src/configure
--prefix=/usr/lib --infodir=/usr/share/info --mandir=/usr/share/man
--datadir=/usr/share --bindir=/usr/bin --libexecdir=/usr/lib --libdir=/usr/lib
--build=i486-linux-gnu --host=i486-linux-gnu --target=arm-elf
--enable-languages=c --enable-shared --with-system-zlib --enable-nls
--without-included-gettext --disable-checking --disable-libssp
--enable-interwork --enable-multilib

I use a customised t-arm-elf to build multilib with hard and soft float.

Thanks.


-- 
           Summary: soft float flags missings from libgcc.a (and others) if
                    no --with-float given at configure time
           Product: gcc
           Version: 4.3.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: schodet at efrei dot fr
 GCC build triplet: all
  GCC host triplet: all
GCC target triplet: arm-elf


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42100

Reply via email to