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