On Sun, Jan 21, 2007 at 02:00:06PM -0500, Daniel Jacobowitz wrote:
> On Sat, Jan 20, 2007 at 01:15:19PM +0100, Rask Ingemann Lambertsen wrote:
> >    Somewhere in the libgcc build machinery, there is mechanism to override
> > the default LIBGCC2_UNITS_PER_WORD setting when compilng a function, so you
> > could in principle provide e.g. _divsi3 as well as _divdi3. It there a way
> > of making use of this facility in a more elegant way than putting the whole
> > gcc command line in a target makefile fragment?
> 
> I'm not sure I understand what you want to do.  Could you give me a
> bigger example?  Those bits are only used for fix/float conversions.

   I would like to be able to add something like

LIBGCC2_EXTRA_FUNCS = _ashldi3:2 _ashrdi3:2 _lshrdi3:2 _divdi3:2 _moddi3:2

to t-machine instead of

LIB2FUNCS_EXTRA = ashlsi3.c ashrsi3.c lshrsi3.c ...

ashlsi3.c: $(srcdir)/libgcc2.c $(srcdir)/libgcc2.h
       ./xgcc -B./ -E -Dinhibit_libc -DLIBGCC2_UNITS_PER_WORD=2 -DL_ashldi3 \
         -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I . -I $(srcdir) \
         -I $(srcdir)/../include $(srcdir)/libgcc2.c -o ashlsi3.c

and so on, to provide the functions _ashlsi3, _ashrsi3, _lshrsi3, _divsi3
and _modsi3 in addition to the default DImode ones.

-- 
Rask Ingemann Lambertsen

Reply via email to