This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: Compiling soft-fp in libgcc
- From: "Marc BALEMBOY" <marc dot balemboy at c-s dot fr>
- To: "'Marc BALEMBOY'" <marc dot balemboy at c-s dot fr>, <gcc-help at gcc dot gnu dot org>
- Date: Fri, 9 Sep 2016 13:27:45 +0200
- Subject: RE: Compiling soft-fp in libgcc
- Authentication-results: sourceware.org; auth=none
- References:
So, I figured it out.
In case anyone stumble on the same problem here is what has changed:
With commit 0e36a0d79ccb2e472df9e2274a5a988427507800,
Symbol for soft-fp handling change in libgcc ;
this patch makes soft-fp symbols used for those targets into
compat symbols when building with glibc >= 2.19, so that they are
only
in shared libgcc for existing binaries requiring them, not in static
libgcc and not available for new links using shared libgcc.
Instead,
new links will get the symbols from libc, which has exported all of
them since 2.19. (Actually all the symbols were exported from glibc
since 2.4, but some of them were exported by glibc as compat symbols
only - because of a confusion between deliberately present soft-fp
symbols and old accidental reexports of libgcc functions from glibc
2.0 - until 2.19.)
Further in commit message, there is an option --with-glibc-version=2.18 that
one can use. It will revert to previous behaviour.
Marc
-----Message d'origine-----
De : Marc BALEMBOY [mailto:marc.balemboy@c-s.fr]
Envoyé : jeudi 1 septembre 2016 15:13
À : 'gcc-help@gcc.gnu.org'
Objet : Compiling soft-fp in libgcc
Hello,
I'm trying to update from gcc 4.8.3 to gcc 5.4.0 in our cross compiler.
Everything builds fine, but I stumble on a problem with libgcc.
With the new version, I'm missing all symbols in gcc-5.4.0/libgcc/soft-fp/
ppc-linux-nm ./ppc-linux/nof/libgcc/libgcc.a | grep -C 2 floatdidf
fixunsdfdi.o:
floatdidf.o:
floatundidf.o:
I've tried adding --with-float=soft to the configure line with no success :
../gcc-5.4.0/configure --target=ppc-linux
--with-headers=yes
--with-cpu=860
--prefix=/opt/cldk
--bindir=/opt/cldk/bin
--sbindir=/opt/cldk/sbin
--libexecdir=/opt/cldk/libexec
--datadir=/opt/cldk/share
--sysconfdir=/opt/cldk/etc
--libdir=/opt/cldk/lib
--includedir=/opt/cldk/usr/include
--oldincludedir=/opt/cldk/usr/include
--infodir=/opt/cldk/share/info
--mandir=/opt/cldk/share/man
--with-float=soft
--enable-languages=c,c++
I'm also updating glibc 2.18 to glibc 2.23; since I understand that soft-fp
comes from glibc it might be related?
I don't know what I'm missing here.
Regards,
Marc