1# Extra DImode libgcc2 functions to build.
2lib2difuncs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2
3
4# Build lib2difuncs.
5lib2difuncs-o = $(patsubst %,%_di$(objext),$(lib2difuncs))
6$(lib2difuncs-o): %_di$(objext): $(srcdir)/libgcc2.c
7	$(gcc_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< $(vis_hide)
8libgcc-objects += $(lib2difuncs-o)
9
10ifeq ($(enable_shared),yes)
11lib2difuncs-s-o = $(patsubst %,%_di_s$(objext),$(lib2difuncs))
12$(lib2difuncs-s-o): %_di_s$(objext): $(srcdir)/libgcc2.c
13	$(gcc_s_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $<
14libgcc-s-objects += $(lib2difuncs-s-o)
15endif
16
17# Extra DImode divmod functions to build.
18lib2didivmodfuncs = _divdi3 _moddi3 _udivdi3 _umoddi3
19
20# Build lib2didivmodfuncs.
21lib2didivmod-o = $(patsubst %,%_di$(objext),$(lib2didivmodfuncs))
22$(lib2didivmod-o): %_di$(objext): $(srcdir)/libgcc2.c
23	$(gcc_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< \
24	  $(LIB2_DIVMOD_EXCEPTION_FLAGS) $(vis_hide)
25libgcc-objects += $(lib2didivmod-o)
26
27ifeq ($(enable_shared),yes)
28lib2didivmod-s-o = $(patsubst %,%_di_s$(objext),$(lib2didivmodfuncs))
29$(lib2didivmod-s-o): %_di_s$(objext): $(srcdir)/libgcc2.c
30	$(gcc_s_compile) -DLIBGCC2_UNITS_PER_WORD=4 -DL$* -c $< \
31	  $(LIB2_DIVMOD_EXCEPTION_FLAGS)
32libgcc-s-objects += $(lib2didivmod-s-o)
33endif
34