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