Compiling soft-fp in libgcc

Marc BALEMBOY marc.balemboy@c-s.fr
Fri Sep 9 11:29:00 GMT 2016


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



More information about the Gcc-help mailing list