LIB1ASMSRC = avr/lib1funcs.S LIB1ASMFUNCS = \ _mulqi3 \ _mulhi3 \ _mulhisi3 \ _umulhisi3 \ _usmulhisi3 \ _muluhisi3 \ _mulshisi3 \ _mulsi3 \ _udivmodqi4 \ _divmodqi4 \ _udivmodhi4 \ _divmodhi4 \ _divmodpsi4 _udivmodpsi4 \ _udivmodsi4 \ _divmodsi4 \ _divdi3 _udivdi3 \ _muldi3 \ _udivmod64 \ _negdi2 \ _prologue \ _epilogue \ _exit \ _cleanup \ _tablejump \ _tablejump_elpm \ _load_3 _load_4 \ _xload_2 _xload_3 _xload_4 \ _copy_data \ _clear_bss \ _ctors \ _dtors \ _ffssi2 \ _ffshi2 \ _loop_ffsqi2 \ _ctzsi2 \ _ctzhi2 \ _clzdi2 \ _clzsi2 \ _clzhi2 \ _paritydi2 \ _paritysi2 \ _parityhi2 \ _popcounthi2 \ _popcountsi2 \ _popcountdi2 \ _popcountqi2 \ _bswapsi2 \ _bswapdi2 \ _ashldi3 \ _ashrdi3 \ _lshrdi3 \ _fmul _fmuls _fmulsu LIB2FUNCS_EXCLUDE = \ _moddi3 _umoddi3 \ _clz # We do not have the DF type. # Most of the C functions in libgcc2 use almost all registers, # so use -mcall-prologues for smaller code size. HOST_LIBGCC2_CFLAGS += -DDF=SF -Dinhibit_libc -mcall-prologues -Os # Extra 16-bit integer functions. intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2 hiintfuncs16 = $(subst XX,hi,$(intfuncs16)) siintfuncs16 = $(subst XX,si,$(intfuncs16)) iter-items := $(hiintfuncs16) iter-labels := $(siintfuncs16) iter-sizes := $(patsubst %,2,$(siintfuncs16)) $(patsubst %,2,$(hiintfuncs16)) include $(srcdir)/empty.mk $(patsubst %,$(srcdir)/siditi-object.mk,$(iter-items)) libgcc-objects += $(patsubst %,%$(objext),$(hiintfuncs16)) ifeq ($(enable_shared),yes) libgcc-s-objects += $(patsubst %,%_s$(objext),$(hiintfuncs16)) endif