Makefile.in (LIB2_DIVMOD_FUNCS): New.
authorAndrew Haley <aph@redhat.com>
Fri, 6 Jul 2001 14:41:52 +0000 (14:41 +0000)
committerAndrew Haley <aph@gcc.gnu.org>
Fri, 6 Jul 2001 14:41:52 +0000 (14:41 +0000)
2001-07-05  Andrew Haley  <aph@redhat.com>

        * Makefile.in (LIB2_DIVMOD_FUNCS): New.
        (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
        * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.

From-SVN: r43809

gcc/ChangeLog
gcc/Makefile.in
gcc/mklibgcc.in

index d08abdf03649bef62f80a68d13213686e7c44072..c134b5b6bda4b77b519dd377f1359534dc669baf 100644 (file)
@@ -1,3 +1,9 @@
+2001-07-05  Andrew Haley  <aph@redhat.com>
+
+       * Makefile.in (LIB2_DIVMOD_FUNCS): New.
+       (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
+       * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
+
 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
 
        * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
index 4131fc3fa2b4d0147de21be82bfb4a85d2b8d82f..b6689c6411503e3df91216d868c7bdb9d289e263 100644 (file)
@@ -780,16 +780,14 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
  $(LANG_STAGESTUFF)
 
 # Library members defined in libgcc2.c.
-LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
-     _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
-    _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf \
-    _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
-    _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
-    _fixtfdi _fixunstfdi _floatditf \
+LIB2FUNCS = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
+    _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi \
+    _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi \
+    _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi \
+    _floatditf \
     _clear_cache _trampoline __main _exit \
     _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3 _subvdi3 \
-    _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 \
-    _ctors
+    _mulvsi3 _mulvdi3 _negvsi2 _negvdi2 _ctors
 
 # Defined in libgcc2.c, included only in the static library.
 LIB2FUNCS_ST = _eprintf _bb __gcc_bcmp 
@@ -804,6 +802,10 @@ DPBIT_FUNCS = _pack_df _unpack_df _addsub_df _mul_df _div_df \
     _lt_df _le_df _unord_df _si_to_df _df_to_si _negate_df _make_df \
     _df_to_sf _thenan_df _df_to_usi _usi_to_df
 
+# These might cause a divide overflow trap and so are compiled with
+# unwinder info.
+LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
+
 #\f
 # Language makefile fragments.
 
@@ -1008,6 +1010,7 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
        LIB2ADDEHDEP='$(LIB2ADDEHDEP)' \
        FPBIT='$(FPBIT)' \
        FPBIT_FUNCS='$(FPBIT_FUNCS)' \
+       LIB2_DIVMOD_FUNCS='$(LIB2_DIVMOD_FUNCS)' \
        DPBIT='$(DPBIT)' \
        DPBIT_FUNCS='$(DPBIT_FUNCS)' \
        MULTILIBS=`$(GCC_FOR_TARGET) --print-multi-lib` \
index 512529d9e9c1a879173526cbe916b401e9ca3a38..151dd4977531ea32cc1cf8db8832aa6a5bbe5c4d 100644 (file)
@@ -17,6 +17,7 @@
 # LIB2ADDEHDEP
 # FPBIT
 # FPBIT_FUNCS
+# LIB2_DIVMOD_FUNCS
 # DPBIT
 # DPBIT_FUNCS
 # LIBGCC
@@ -120,6 +121,19 @@ for name in $LIB2FUNCS_ST; do
   libgcc2_st_objs="$libgcc2_st_objs ${name}${objext}"
 done
 
+for name in $LIB2_DIVMOD_FUNCS; do
+  for ml in $MULTILIBS; do
+    dir=`echo ${ml} | sed -e 's/;.*$//' -e 's/=/$(EQ)/g'`
+    flags=`echo ${ml} | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`;
+    out="libgcc/${dir}/${name}${objext}"
+
+    echo $out: $libgcc2_c_dep
+    echo "     $gcc_compile" '$(MAYBE_USE_COLLECT2)' $flags -DL$name \
+      -c '$(srcdir)/libgcc2.c' -fexceptions -fnon-call-exceptions -o $out
+  done
+  libgcc2_objs="$libgcc2_objs ${name}${objext}"
+done
+
 if [ "$FPBIT" ]; then
   for name in $FPBIT_FUNCS; do
     for ml in $MULTILIBS; do