Subject: Re: Build failure with MKSOFTFLOAT=yes
To: Nick Hudson <skrll@netbsd.org>
From: M L Riechers <mlr@rse.com>
List: current-users
Date: 01/17/2004 17:42:05
Nick Hudson <skrll@netbsd.org>, Sat, 17 Jan 2004 18:34:32 +0000:

> On Saturday 17 January 2004 5:00 pm, Masao Uebayashi wrote:
> > Mike,
> >
> > > -G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz 
> > > _cmpdi2 _ucmpdi2 _floatd idf _floatdisf _fixunsdfsi _fixunssfsi 
> > > _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixu nsxfdi
> > > +G_LIB2FUNCS_1=_muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz 
> > > _cmpdi2 _ucmpdi2 _floatd idf _floatdisf _fixunssfsi  _fixunsdfdi _fixdfdi
> > > _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi G_LIB2FUNCS_2=_floatdixf
> > > _fixunsxfsi _fixtfdi _fixunstfdi _floatditf  _clear_cache _trampoline
> >
> > Thanks, this is what I'm figuring out...
> >
> > I hope this can be approached more easily after incorpolating Nick's
> > libgcc change.
> 
> My changes to libgcc doesn't change how G_LIB2FUNCS_1 is generated. Everything 
> in libgcc3/arch/*.mk is pulled by mknative-gcc from a Makefile generated by 
> configuring gcc. If the right fix is to re-order these functions then this 
> should be done in gnu/dist/gcc/gcc/Makefile.in where LIB2FUNCS_1 is defined.
> 
> I briefly looked at gnu/dist/gcc/gcc/libgcc2.c which is the source for these 
> functions and some do use the others, e.g. _fixdfdi uses _fixunsdfdi so I can 
> see why the order is important.
> 
> Nick

Actually, I only wanted to point out what worked for the naunce. There
seemed to be other, potential conflicts between our libc and the gcc
lib -- perhaps _all_ are duplicated? -- conflicts that don't currently
arise because of (as you say,) ordering.

Mr. Jason Thorpe has averred that our soft float library is superior
to the gcc soft float, and I'm not inclined to dispute that.  It is
our soft float that fills libc with the duplicates, if I'm not
mistaken.  So, it seems to me that the gcc lib might be due for a
massive deletion: the gcc functions would seem to be redundant, and
perhaps dangerous, if they are somehow drawn into supporting our soft
lib.

Kind regards,

-Mike