This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: i386 LIBGCC1


On Fri, May 11, 2001 at 05:24:29PM +0000, Golubev I. N. wrote:
> Version: 2.95.3
> Platform: any i386 target
> 
> Why does not gcc set `LIBGCC1=' (empty) in Makefile?  Instead, it
> compiles `libgcc1.a', possibly with gcc itself (another compiler may
> be not available), consuming unnecessary time and space and causing
> people to worry about what happens if we compile it with gcc.  In fact
> it appears that gcc never generates references to stuff defined in
> `libgcc1.a'.  (This also means that there is no infinite recursion in
> `libgcc1.a', so compiling it with gcc is safe.)

Funny you should mention that.

The appended - completely untested; I'll be running a bootstrap
shortly, but won't be back to check on it till late tonight - patch
rips out all remaining traces of libgcc1.  You can still get extra
assembly routines stuck into libgcc.a with LIB1ASMFUNCS, and you don't
have to set LIBGCC1 anymore.

Being rather brutal, it may change behavior on some targets.  For
instance, it appears that most ARM targets ask for assembly routines
only when they're cross-compile targets.  I do not understand why they
are not needed in a native build.  This toggle could be restored if
it's genuinely necessary.

Also, the i370 targets all disabled libgcc.a entirely.  This cannot
possibly be correct.

Suggested for mainline only.  I have to run out the door, so the
changelog can wait.

-- 
zw   Actually, we have scientifically determined that Heisenberg did indeed
     sleep exactly here. However, we have no idea whatsoever just how fast
     asleep he was.
     	-- Dave Aronson

===================================================================
Index: Makefile.in
--- Makefile.in	2001/05/11 17:03:00	1.659
+++ Makefile.in	2001/05/11 19:02:38
@@ -147,20 +147,6 @@ ZLIBINC = @zlibinc@
 # Substitution type for target's getgroups 2nd arg.
 TARGET_GETGROUPS_T = @TARGET_GETGROUPS_T@
 
-# Compiler to use for compiling libgcc1.a.
-# OLDCC should not be the GNU C compiler,
-# since that would compile typical libgcc1.a functions such as mulsi3
-# into infinite recursions.
-OLDCC = cc
-
-# CFLAGS for use with OLDCC, for compiling libgcc1.a.
-# NOTE: -O does not work on some Unix systems!
-CCLIBFLAGS = -O
-
-# Version of ar to use when compiling libgcc1.a.
-OLDAR = ar
-OLDAR_FLAGS = qc
-
 # Target to use when installing include directory.  Either
 # install-headers-tar or install-headers-cpio.
 INSTALL_HEADERS_DIR = @build_install_headers_dir@
@@ -172,7 +158,7 @@ USER_H = $(srcdir)/ginclude/stdarg.h $(s
     $(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \
     $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS)
 
-# The GCC to use for compiling libgcc.a, enquire, and libgcc1-test.
+# The GCC to use for compiling libgcc.a, enquire, and crt*.o.
 # Usually the one we just built.
 # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS).
 GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include
@@ -363,20 +349,11 @@ VFPRINTF=@vfprintf@
 DOPRINT=@doprint@
 STRSTR=@strstr@
 
-# Specify the rule for actually making libgcc.a,
+# libgcc.a may be built directly or via stmp-multilib,
+# and installed likewise.  Overridden by t-fragment.
 LIBGCC = libgcc.a
-# and the rule for installing it.
 INSTALL_LIBGCC = install-libgcc
 
-# Specify the rule for actually making libgcc1.a.
-# The value may be empty; that means to do absolutely nothing
-# with or for libgcc1.a.
-LIBGCC1 = libgcc1.a
-
-# Specify the rule for making libgcc1.a for a cross-compiler.
-# The default rule assumes that libgcc1.a is supplied by the user.
-CROSS_LIBGCC1 = libgcc1.cross
-
 # Options to use when compiling libgcc2.a.
 # -g1 causes output of debug info only for file-scope entities.
 # we use this here because that should be enough, and also
@@ -397,9 +374,6 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(src
   $(srcdir)/unwind-sjlj.c
 LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
 
-# libgcc1-test target (must also be overridable for a target)
-LIBGCC1_TEST = libgcc1-test
-
 # nm flags to list global symbols in libgcc object files.
 SHLIB_NM_FLAGS = -pg
 
@@ -431,16 +405,12 @@ EXTRA_HEADERS =@extra_headers_list@
 USE_COLLECT2 = @will_use_collect2@
 # If we might be using collect2, then this variable will be set to
 # -DUSE_COLLECT2.  toplev.c, collect2.c and libgcc2.c all need to
-# if we may be using collect2.
+# know if we may be using collect2.
 MAYBE_USE_COLLECT2 = @maybe_use_collect2@
 # It is convenient for configure to add the assignment at the beginning,
 # so don't override it here.
 USE_COLLECT2 = collect2$(exeext)
 
-# List of extra C and assembler files to add to libgcc1.a.
-# Assembler files should have names ending in `.asm'.
-LIB1FUNCS_EXTRA =
-
 # List of extra C and assembler files to add to static and shared libgcc2.
 # Assembler files should have names ending in `.asm'.
 LIB2FUNCS_EXTRA =
@@ -771,15 +741,6 @@ STAGESTUFF = *$(objext) insn-flags.h ins
  gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk \
  $(LANG_STAGESTUFF)
 
-# Members of libgcc1.a.
-LIB1FUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
-   _lshrsi3 _ashrsi3 _ashlsi3 \
-   _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \
-   _fixdfsi _fixsfsi _floatsidf _floatsisf _truncdfsf2 _extendsfdf2 \
-   _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \
-   _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
-   _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
-
 # Library members defined in libgcc2.c.
 LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
      _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
@@ -945,7 +906,7 @@ all.internal: start.encap rest.encap doc
 # Note that we can compile enquire using the cross-compiler just built,
 # although we can't run it on this machine.
 all.cross: native gcc-cross cpp$(exeext) specs \
-	$(LIBGCC) $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
+	$(LIBGCC) $(EXTRA_PARTS) lang.all.cross doc
 # This is what to compile if making gcc with a cross-compiler.
 all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
 # This is what must be made before installing GCC and converting libraries.
@@ -969,15 +930,6 @@ PROTO: proto
 # This does the things that can't be done on the host machine.
 rest.cross: $(LIBGCC) specs
 
-# Verify that it works to compile and link libgcc1-test.
-# If it does, then there are sufficient replacements for libgcc1.a.
-libgcc1-test: libgcc1-test.o native $(GCC_PARTS)
-	@echo "Testing libgcc1.  Ignore linker warning messages."
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
-	  -nostartfiles -nostdlib `$(GCC_FOR_TARGET) --print-libgcc-file-name`
-libgcc1-test.o: libgcc1-test.c native xgcc$(exeext) stmp-int-hdrs
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(ALL_CPPFLAGS) -c $(srcdir)/libgcc1-test.c
-
 # Recompile all the language-independent object files.
 # This is used only if the user explicitly asks for it.
 compilations: $(BACKEND)
@@ -1035,11 +987,7 @@ LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
 
 libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext)
 	objext='$(objext)' \
-	OLDCC='$(OLDCC)' \
-	LIBGCC1='$(LIBGCC1)' \
-	LIB1FUNCS='$(LIB1FUNCS)' \
 	LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \
-	LIB1FUNCS_EXTRA='$(LIB1FUNCS_EXTRA)' \
 	LIB2FUNCS='$(LIB2FUNCS)' \
 	LIB2ADD='$(LIB2ADD)' \
 	LIB2ADD_ST='$(LIB2ADD_ST)' \
@@ -1063,10 +1011,10 @@ libgcc.mk: config.status Makefile mklibg
 
 # All the things that might cause us to want to recompile bits of libgcc.
 LIBGCC_DEPS = $(GCC_PASSES) $(LANGUAGES) stmp-int-hdrs $(STMP_FIXPROTO) \
-	libgcc.mk $(srcdir)/libgcc1.c $(srcdir)/libgcc2.c $(TCONFIG_H) \
+	libgcc.mk $(srcdir)/libgcc2.c $(TCONFIG_H) \
 	$(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs \
 	tsystem.h $(FPBIT) $(DPBIT) $(LIB2ADD) $(LIB2ADD_ST) $(LIB2ADDEH) \
-	$(LIB2ADDEHDEP) $(EXTRA_PARTS)
+	$(LIB2ADDEHDEP) $(EXTRA_PARTS) $(LIB1ASMSRC)
 
 libgcc.a: $(LIBGCC_DEPS)
 	$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
@@ -1074,7 +1022,6 @@ libgcc.a: $(LIBGCC_DEPS)
 	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
 	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
 	  AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
-	  OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
 	  CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
 	  RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \
 	  RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
@@ -1109,7 +1056,6 @@ stmp-multilib: $(LIBGCC_DEPS)
 	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
 	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
 	  AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
-	  OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
 	  CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
 	  RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \
 	  RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
@@ -2315,8 +2261,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mo
 	-rm -f $(HOST_PREFIX_1)rtl.c
 	-rm -f $(HOST_PREFIX_1)obstack.c
 # Delete the temp files made in the course of building libgcc.a.
-	-rm -f xlimits.h libgcc1-test
-	for name in $(LIB1FUNCS); do rm -f $${name}.c; done
+	-rm -f xlimits.h
 # Delete other built files.
 	-rm -f t-float.h-cross xsys-protos.hT
 # Delete the stamp and temporary files.
@@ -2643,7 +2588,6 @@ install-libgcc: libgcc.mk libgcc.a insta
 	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
 	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
 	  AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
-	  OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
 	  CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
 	  RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
 	  NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \
@@ -2670,7 +2614,6 @@ install-multilib: stmp-multilib installd
 	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
 	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
 	  AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
-	  OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
 	  CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
 	  RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
 	  NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \
===================================================================
Index: config.gcc
--- config.gcc	2001/05/08 06:26:49	1.59
+++ config.gcc	2001/05/11 19:02:39
@@ -517,7 +517,7 @@ arm-semi-aout | armel-semi-aout)
 	;;
 arm-semi-aof | armel-semi-aof)
 	tm_file=arm/semiaof.h
-	tmake_file=arm/t-semiaof
+	tmake_file=arm/t-semi
 	;;
 arm*-*-netbsd*)
 	tm_file=arm/netbsd.h
@@ -866,17 +866,15 @@ i370-*-opened*)			 # IBM 360/370/390 Arc
 	xm_defines='POSIX FATAL_EXIT_CODE=12'
 	tm_file=i370/oe.h
 	xmake_file=i370/x-oe
-	tmake_file=i370/t-oe
 	;;
 i370-*-mvs*)
 	xm_defines='POSIX FATAL_EXIT_CODE=12'
 	tm_file=i370/mvs.h
-	tmake_file=i370/t-mvs
 	;;
 i370-*-linux*)
 	xmake_file=x-linux
 	tm_file="i370/linux.h ${tm_file}"
-	tmake_file="t-linux i370/t-linux"
+	tmake_file=t-linux
 	# broken_install=yes
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	# extra_parts="crtbegin.o crtend.o"
@@ -982,12 +980,10 @@ i386-sun-sunos*)		# Sun i386 roadrunner
 	;;
 i[34567]86-wrs-vxworks*)
 	tm_file=i386/vxi386.h
-	tmake_file=i386/t-i386bare
 	thread_file='vxworks'
 	;;
 i[34567]86-*-aout*)
 	tm_file=i386/i386-aout.h
-	tmake_file=i386/t-i386bare
 	;;
 i[34567]86-*-beoself* | i[34567]86-*-beos*)
 	xm_defines=POSIX
@@ -1007,11 +1003,11 @@ i[34567]86-*-bsd*)
 #	use_collect2=yes
 	;;
 i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
-	tm_file="i386/freebsd-aout.h i386/perform.h"
+	tm_file=i386/freebsd-aout.h
 	tmake_file=t-freebsd
 	;;
 i[34567]86-*-freebsd*)
-	tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
+	tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h"
 	extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
 	tmake_file=t-freebsd
 	gas=yes
@@ -1035,7 +1031,6 @@ i[34567]86-*-openbsd*)
 	;;
 i[34567]86-*-coff*)
 	tm_file=i386/i386-coff.h
-	tmake_file=i386/t-i386bare
 	;;
 i[34567]86-*-isc*)		# 80386 running ISC system
 	xm_defines=POSIX
@@ -1049,7 +1044,6 @@ i[34567]86-*-isc*)		# 80386 running ISC 
 		tmake_file=i386/t-crtstuff
 		extra_parts="crtbegin.o crtend.o"
 	fi
-	tmake_file="$tmake_file i386/t-i386bare"
 	install_headers_dir=install-headers-cpio
 	;;
 i[34567]86-*-linux*oldld*)	# Intel 80386's running GNU/Linux
@@ -1103,7 +1097,6 @@ i[34567]86-go32-msdos | i[34567]86-*-go3
 i[34567]86-pc-msdosdjgpp*)
 	xm_file=i386/xm-djgpp.h
 	tm_file=i386/djgpp.h
-	tmake_file=i386/t-djgpp
 	xmake_file=i386/x-djgpp
 	gnu_ld=yes
 	gas=yes
@@ -1127,7 +1120,6 @@ i[34567]86-*-lynxos*)
 	else
 		tm_file=i386/lynx-ng.h
 	fi
-	tmake_file=i386/t-i386bare
 	;;
 i[34567]86-*-mach*)
 	tm_file=i386/mach.h
@@ -1157,7 +1149,7 @@ i[34567]86-go32-rtems*)
 i[34567]86-*-rtemscoff*)
 	cpu_type=i386
 	tm_file=i386/rtems.h
-	tmake_file="i386/t-i386bare t-rtems"
+	tmake_file=t-rtems
 	if test x$enable_threads = xyes; then
 	  thread_file='rtems'
 	fi
@@ -1183,7 +1175,6 @@ i[34567]86-*-sco3.2v5*)	# 80386 running 
 	else
 		tmake_file=i386/t-sco5
 	fi
-	tmake_file="$tmake_file i386/t-i386bare"
 	extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
 	;;
 i[34567]86-*-solaris2*)
@@ -1193,7 +1184,7 @@ i[34567]86-*-solaris2*)
 		# Only needed if gas does not support -s
 		tm_file="i386/sol2gas.h ${tm_file}"
 	fi
-	tmake_file="i386/t-i386bare i386/t-sol2"
+	tmake_file=i386/t-sol2
 	extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
 	xmake_file=x-svr4
 	if test x${enable_threads} = x; then
@@ -1217,7 +1208,7 @@ i[34567]86-*-sysv5*)           # Intel x
        then
                tm_file="${tm_file} dbx.h"
        fi
-       tmake_file="i386/t-i386bare i386/t-crtpic"
+       tmake_file=i386/t-crtpic
        xmake_file=x-svr4
        extra_parts="crtbegin.o crtend.o"
        if test x$enable_threads = xyes; then
@@ -1231,14 +1222,14 @@ i[34567]86-*-sysv4*)		# Intel 80386's ru
 	then
 		tm_file="${tm_file} dbx.h"
 	fi
-	tmake_file="i386/t-i386bare i386/t-crtpic"
+	tmake_file=i386/t-crtpic
 	xmake_file=x-svr4
 	extra_parts="crtbegin.o crtend.o"
 	;;
 i[34567]86-*-udk*)      # Intel x86 on SCO UW/OSR5 Dev Kit
 	xm_defines=POSIX
 	tm_file=i386/udk.h
-	tmake_file="i386/t-i386bare i386/t-crtpic i386/t-udk"
+	tmake_file="i386/t-crtpic i386/t-udk"
 	xmake_file=x-svr4
 	extra_parts="crtbegin.o crtend.o"
 	install_headers_dir=install-headers-cpio
@@ -1280,7 +1271,6 @@ i[34567]86-*-sysv*)		# Intel 80386's run
 i386-*-vsta)			# Intel 80386's running VSTa kernel
 	xm_file=i386/xm-vsta.h
 	tm_file=i386/vsta.h
-	tmake_file=i386/t-vsta
 	;;
 i[34567]86-*-win32)
 	xm_defines=POSIX
@@ -1463,7 +1453,6 @@ ia64*-*-linux*)
 	;;
 ia64*-*-hpux*)
 	tm_file="ia64/ia64.h svr4.h ia64/sysv4.h ia64/hpux.h"
-	tmake_file="ia64/t-ia64 ia64/t-hpux"
 	target_cpu_default="MASK_GNU_AS"
 	if test x$enable_threads = xyes; then
 		thread_file='posix'
@@ -2035,7 +2024,6 @@ mips-sni-sysv4)
 		tm_file=mips/sni-svr4.h
 	fi
 	xm_defines=POSIX
-        tmake_file=mips/t-mips-gas
         if test x$gnu_ld != xyes
         then
                 use_collect2=yes
@@ -2056,7 +2044,6 @@ mips-sgi-irix5*)		# SGI System V.4., IRI
 	xm_file=mips/xm-iris5.h
 	xmake_file=mips/x-iris
 	# mips-tfile doesn't work yet
-	tmake_file=mips/t-mips-gas
 	# See comment in mips/iris5.h file.
 	use_collect2=yes
 #	if test x$enable_threads = xyes; then
@@ -2071,8 +2058,7 @@ mips-sgi-irix4loser*)		# Mostly like a M
 	xm_defines=POSIX
 	xmake_file=mips/x-iris
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2092,8 +2078,7 @@ mips-sgi-irix4*)		# Mostly like a MIPS.
 	xm_defines=POSIX
 	xmake_file=mips/x-iris
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2112,8 +2097,7 @@ mips-sgi-*)			# Mostly like a MIPS.
 	fi
 	xm_defines=POSIX
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2124,7 +2108,6 @@ mips-sgi-*)			# Mostly like a MIPS.
 	;;
 mips-dec-osfrose*)		# Decstation running OSF/1 reference port with OSF/rose.
 	tm_file="mips/osfrose.h ${tm_file}"
-	tmake_file=mips/t-osfrose
 	extra_objs=halfpic.o
 	use_collect2=yes
 	;;
@@ -2134,8 +2117,7 @@ mips-dec-osf*)			# Decstation running OS
 		tm_file="${tm_file} dbx.h"
 	fi
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		tmake_file=mips/t-ultrix
 		extra_passes="mips-tfile mips-tdump"
@@ -2148,8 +2130,7 @@ mips-dec-osf*)			# Decstation running OS
 mips-dec-bsd*)                  # Decstation running 4.4 BSD
       tm_file=mips/dec-bsd.h
       if test x$gas = xyes
-      then
-	   	tmake_file=mips/t-mips-gas
+      then	:
       else
 		tmake_file=mips/t-ultrix
 		extra_passes="mips-tfile mips-tdump"
@@ -2191,8 +2172,7 @@ mips-sony-bsd* | mips-sony-newsos*)	# So
 		tm_file="${tm_file} dbx.h"
 	fi
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2210,8 +2190,7 @@ mips-sony-sysv*)		# Sony NEWS 3800 with 
 	fi
 	xm_defines=POSIX
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2228,10 +2207,8 @@ mips-tandem-sysv4*)		# Tandem S2 running
 	xm_defines=POSIX
 	if test x$gas = xyes
 	then
-		tmake_file=mips/t-mips-gas
 		extra_parts="crtbegin.o crtend.o"
 	else
-		tmake_file=mips/t-mips
 		extra_passes="mips-tfile mips-tdump"
 	fi
 	if test x$gnu_ld != xyes
@@ -2245,8 +2222,7 @@ mips-*-ultrix* | mips-dec-mach3)	# Decst
 		tm_file="${tm_file} dbx.h"
 	fi
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		tmake_file=mips/t-ultrix
 		extra_passes="mips-tfile mips-tdump"
@@ -2367,8 +2343,7 @@ mips-*-riscos[56789]*)		# Default MIPS R
 		tm_file="${tm_file} dbx.h"
 	fi
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2444,8 +2419,7 @@ mips-*-*)				# Default MIPS RISC-OS 4.0.
 		tm_file="${tm_file} dbx.h"
 	fi
 	if test x$gas = xyes
-	then
-		tmake_file=mips/t-mips-gas
+	then	:
 	else
 		extra_passes="mips-tfile mips-tdump"
 	fi
@@ -2969,7 +2943,6 @@ sparc-*-solaris2*)
 	;;
 sparc-*-sunos4.0*)
 	tm_file=sparc/sunos4.h
-	tmake_file=sparc/t-sunos40
 	use_collect2=yes
 	;;
 sparc-*-sunos4*)
@@ -3022,11 +2995,9 @@ sparc86x-*-elf*)	
         extra_parts="crtbegin.o crtend.o"
 	;;
 sparc64-*-aout*)
-	tmake_file=sparc/t-sp64
 	tm_file=sparc/sp64-aout.h
 	;;
 sparc64-*-elf*)
-	tmake_file=sparc/t-sp64
 	tm_file=sparc/sp64-elf.h
 	extra_parts="crtbegin.o crtend.o"
 	;;
@@ -3107,7 +3078,6 @@ vax-*-netbsd*)
 	use_collect2=yes
 	;;
 vax-*-openbsd*)
-	tmake_file="${tmake_file} vax/t-openbsd"
 	tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
 	float_format=vax
 	use_collect2=yes
===================================================================
Index: cross-make
--- cross-make	2001/05/11 17:03:01	1.8
+++ cross-make	2001/05/11 19:02:39
@@ -1,8 +1,3 @@
-# Build libgcc1.a for a cross-compiler.
-# By default this expects the user to provide libgcc1.a,
-# and gives up immediately if the user has not done so.
-LIBGCC1 = $(CROSS_LIBGCC1)
-
 # Dir to search for system headers.  Normally /usr/include.
 # Use CROSS_INCLUDE_DIR not TOOL_INCLUDE_DIR for other vendor's headers.
 SYSTEM_HEADER_DIR = $(CROSS_SYSTEM_HEADER_DIR)
===================================================================
Index: crtstuff.c
--- crtstuff.c	2001/03/28 11:03:49	1.36
+++ crtstuff.c	2001/05/11 19:02:40
@@ -30,7 +30,7 @@ along with GNU CC; see the file COPYING.
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-/* This file is a bit like libgcc1.c/libgcc2.c in that it is compiled
+/* This file is a bit like libgcc2.c in that it is compiled
    multiple times and yields multiple .o files.
 
    This file is useful on target machines where the object file format
===================================================================
Index: floatlib.c
--- floatlib.c	1999/01/27 01:42:18	1.5
+++ floatlib.c	2001/05/11 19:02:40
@@ -10,8 +10,7 @@
 Warning! Only single-precision is actually implemented.  This file
 won't really be much use until double-precision is supported.
 
-However, once that is done, this file might eventually become a
-replacement for libgcc1.c.  It might also make possible
+However, once that is done, this file might make possible
 cross-compilation for an IEEE target machine from a non-IEEE
 host such as a VAX.
 
===================================================================
Index: gcc.texi
--- gcc.texi	2001/05/09 14:16:46	1.85
+++ gcc.texi	2001/05/11 19:02:41
@@ -3452,18 +3452,11 @@ with @samp{-msoft-float}.  Some standard
 @code{bcopy} or @code{memcpy}, are also called automatically.  The usual
 function call interface is used for calling the library routines.
 
-These library routines should be defined in the library @file{libgcc.a},
-which GCC automatically searches whenever it links a program.  On
-machines that have multiply and divide instructions, if hardware
-floating point is in use, normally @file{libgcc.a} is not needed, but it
-is searched just in case.
-
-Each arithmetic function is defined in @file{libgcc1.c} to use the
-corresponding C arithmetic operator.  As long as the file is compiled
-with another C compiler, which supports all the C arithmetic operators,
-this file will work portably.  However, @file{libgcc1.c} does not work if
-compiled with GCC, because each arithmetic function would compile
-into a call to itself!
+Some of these routines can be defined in mostly machine-independent C;
+they appear in @file{libgcc2.c}.  Others must be hand-written in
+assembly language for each processor.  Wherever they are defined, they
+are compiled into the support library, @file{libgcc.a}, which is
+automatically searched when you link programs with GCC.
 @end ifset
 
 @ifset INTERNALS
@@ -4208,19 +4201,6 @@ The target makefile fragment, @file{t-@v
 target dependent variables and targets used in the @file{Makefile}:
 
 @table @code
-@findex LIBGCC1
-@item LIBGCC1
-The rule to use to build @file{libgcc1.a}.
-If your target does not need to use the functions in @file{libgcc1.a},
-set this to empty.
-@xref{Interface}.
-
-@findex CROSS_LIBGCC1
-@item CROSS_LIBGCC1
-The rule to use to build @file{libgcc1.a} when building a cross
-compiler.  If your target does not need to use the functions in
-@file{libgcc1.a}, set this to empty.  @xref{Cross Runtime}.
-
 @findex LIBGCC2_CFLAGS
 @item LIBGCC2_CFLAGS
 Compiler flags to use when compiling @file{libgcc2.c}.
@@ -4342,20 +4322,6 @@ dependent variables and targets used in 
 @findex CC
 @item CC
 The compiler to use when building the first stage.
-
-@findex CLIB
-@item CLIB
-Additional host libraries to link with.
-
-@findex OLDCC
-@item OLDCC
-The compiler to use when building @file{libgcc1.a} for a native
-compilation.
-
-@findex OLDAR
-@item OLDAR
-The version of @code{ar} to use when building @file{libgcc1.a} for a native
-compilation.
 
 @findex INSTALL
 @item INSTALL
===================================================================
Index: install.texi
--- install.texi	2001/04/16 14:02:50	1.53
+++ install.texi	2001/05/11 19:02:42
@@ -1592,7 +1592,6 @@ for the target machine that you can inst
 * Tools and Libraries:: Where to put the linker and assembler, and the C library.
 * Cross Headers::       Finding and installing header files
                           for a cross-compiler.
-* Cross Runtime::       Supplying arithmetic runtime routines (@file{libgcc1.a}).
 * Build Cross::         Actually compiling the cross-compiler.
 @end menu
 
@@ -1716,97 +1715,6 @@ mget *crt*.o
 quit
 @end example
 
-@node Cross Runtime
-@subsection @file{libgcc.a} and Cross-Compilers
-
-Code compiled by GNU CC uses certain runtime support functions
-implicitly.  Some of these functions can be compiled successfully with
-GNU CC itself, but a few cannot be.  These problem functions are in the
-source file @file{libgcc1.c}; the library made from them is called
-@file{libgcc1.a}.
-
-When you build a native compiler, these functions are compiled with some
-other compiler--the one that you use for bootstrapping GNU CC.
-Presumably it knows how to open code these operations, or else knows how
-to call the run-time emulation facilities that the machine comes with.
-But this approach doesn't work for building a cross-compiler.  The
-compiler that you use for building knows about the host system, not the
-target system.
-
-So, when you build a cross-compiler you have to supply a suitable
-library @file{libgcc1.a} that does the job it is expected to do.
-
-To compile @file{libgcc1.c} with the cross-compiler itself does not
-work.  The functions in this file are supposed to implement arithmetic
-operations that GNU CC does not know how to open code for your target
-machine.  If these functions are compiled with GNU CC itself, they
-will compile into infinite recursion.
-
-On any given target, most of these functions are not needed.  If GNU CC
-can open code an arithmetic operation, it will not call these functions
-to perform the operation.  It is possible that on your target machine,
-none of these functions is needed.  If so, you can supply an empty
-library as @file{libgcc1.a}.
-
-Many targets need library support only for multiplication and division.
-If you are linking with a library that contains functions for
-multiplication and division, you can tell GNU CC to call them directly
-by defining the macros @code{MULSI3_LIBCALL}, and the like.  These
-macros need to be defined in the target description macro file.  For
-some targets, they are defined already.  This may be sufficient to
-avoid the need for libgcc1.a; if so, you can supply an empty library.
-
-Some targets do not have floating point instructions; they need other
-functions in @file{libgcc1.a}, which do floating arithmetic.
-Recent versions of GNU CC have a file which emulates floating point.
-With a certain amount of work, you should be able to construct a
-floating point emulator that can be used as @file{libgcc1.a}.  Perhaps
-future versions will contain code to do this automatically and
-conveniently.  That depends on whether someone wants to implement it.
-
-Some embedded targets come with all the necessary @file{libgcc1.a}
-routines written in C or assembler.  These targets build
-@file{libgcc1.a} automatically and you do not need to do anything
-special for them.  Other embedded targets do not need any
-@file{libgcc1.a} routines since all the necessary operations are
-supported by the hardware.
-
-If your target system has another C compiler, you can configure GNU CC
-as a native compiler on that machine, build just @file{libgcc1.a} with
-@samp{make libgcc1.a} on that machine, and use the resulting file with
-the cross-compiler.  To do this, execute the following on the target
-machine:
-
-@example
-cd @var{target-build-dir}
-./configure --host=sparc --target=sun3
-make libgcc1.a
-@end example
-
-@noindent
-And then this on the host machine:
-
-@example
-ftp @var{target-machine}
-binary
-cd @var{target-build-dir}
-get libgcc1.a
-quit
-@end example
-
-Another way to provide the functions you need in @file{libgcc1.a} is to
-define the appropriate @code{perform_@dots{}} macros for those
-functions.  If these definitions do not use the C arithmetic operators
-that they are meant to implement, you should be able to compile them
-with the cross-compiler you are building.  (If these definitions already
-exist for your target file, then you are all set.)
-
-To build @file{libgcc1.a} using the perform macros, use
-@samp{LIBGCC1=libgcc1.a OLDCC=./xgcc} when building the compiler.
-Otherwise, you should place your replacement library under the name
-@file{libgcc1.a} in the directory in which you will build the
-cross-compiler, before you run @code{make}.
-
 @node Cross Headers
 @subsection Cross-Compilers and Header Files
 
@@ -1863,22 +1771,17 @@ tar xf tarfile
 @subsection Actually Building the Cross-Compiler
 
 Now you can proceed just as for compiling a single-machine compiler
-through the step of building stage 1.  If you have not provided some
-sort of @file{libgcc1.a}, then compilation will give up at the point
-where it needs that file, printing a suitable error message.  If you
-do provide @file{libgcc1.a}, then building the compiler will automatically
-compile and link a test program called @file{libgcc1-test}; if you get
-errors in the linking, it means that not all of the necessary routines
-in @file{libgcc1.a} are available.
-
-You must provide the header file @file{float.h}.  One way to do this is
-to compile @file{enquire} and run it on your target machine.  The job of
-@file{enquire} is to run on the target machine and figure out by
-experiment the nature of its floating point representation.
-@file{enquire} records its findings in the header file @file{float.h}.
-If you can't produce this file by running @file{enquire} on the target
-machine, then you will need to come up with a suitable @file{float.h} in
-some other way (or else, avoid using it in your programs).
+through the step of building stage 1.
+
+If your target is exotic, you may need to provide the header file
+@file{float.h}.One way to do this is to compile @file{enquire} and run
+it on your target machine.  The job of @file{enquire} is to run on the
+target machine and figure out by experiment the nature of its floating
+point representation.  @file{enquire} records its findings in the header
+file @file{float.h}.  If you can't produce this file by running
+@file{enquire} on the target machine, then you will need to come up with
+a suitable @file{float.h} in some other way (or else, avoid using it in
+your programs).
 
 Do not try to build stage 2 for a cross-compiler.  It doesn't work to
 rebuild GNU CC as a cross-compiler using the cross-compiler, because
===================================================================
Index: invoke.texi
--- invoke.texi	2001/05/06 17:10:52	1.299
+++ invoke.texi	2001/05/11 19:02:45
@@ -7125,7 +7125,7 @@ These @samp{-m} options are defined for 
 @itemx -msoft-float
 Use (do not use) the hardware floating-point instructions for
 floating-point operations.  When @option{-msoft-float} is specified,
-functions in @file{libgcc1.c} will be used to perform floating-point
+functions in @file{libgcc.a} will be used to perform floating-point
 operations.  Unless they are replaced by routines that emulate the
 floating-point operations, or compiled in such a way as to call such
 emulations routines, these routines will issue floating-point
===================================================================
Index: libgcc1-test.c
--- libgcc1-test.c	Fri May 11 12:02:54 2001
+++ libgcc1-test.c	Tue May  5 13:32:27 1998
@@ -1,119 +0,0 @@
-/* This small function uses all the arithmetic operators that
-   libgcc1.c can handle.  If you can link it, then
-   you have provided replacements for all the libgcc1.c functions that
-   your target machine needs.  */
-
-#include <stddef.h>
-
-int foo ();
-double dfoo ();
-void discard (int);
-void ddiscard (double);
-
-/* We don't want __main here because that can drag in atexit (among other
-   things) which won't necessarily exist yet.  */
-
-int
-main_without__main ()
-{
-  int a = foo (), b = foo ();
-  unsigned int au = foo (), bu = foo ();
-  float af = dfoo (), bf = dfoo ();
-  double ad = dfoo (), bd = dfoo ();
-
-  discard (a * b);
-  discard (a / b);
-  discard (a % b);
-
-  discard (au / bu);
-  discard (au % bu);
-
-  discard (a >> b);
-  discard (a << b);
-
-  discard (au >> bu);
-  discard (au << bu);
-
-  ddiscard (ad + bd);
-  ddiscard (ad - bd);
-  ddiscard (ad * bd);
-  ddiscard (ad / bd);
-  ddiscard (-ad);
-
-  ddiscard (af + bf);
-  ddiscard (af - bf);
-  ddiscard (af * bf);
-  ddiscard (af / bf);
-  ddiscard (-af);
-
-  discard ((int) ad);
-  discard ((int) af);
-
-  ddiscard ((double) a);
-  ddiscard ((float) a);
-  ddiscard ((float) ad);
-
-  discard (ad == bd);
-  discard (ad < bd);
-  discard (ad > bd);
-  discard (ad != bd);
-  discard (ad <= bd);
-  discard (ad >= bd);
-
-  discard (af == bf);
-  discard (af < bf);
-  discard (af > bf);
-  discard (af != bf);
-  discard (af <= bf);
-  discard (af >= bf);
-
-  return 0;
-}
-
-void
-discard (x)
-     int x __attribute__((__unused__));
-{}
-
-void
-ddiscard (x)
-     double x __attribute__((__unused__));
-{}
-
-int
-foo ()
-{
-  static int table[] = {20, 69, 4, 12};
-  static int idx;
-
-  return table[idx++];
-}
-
-double
-dfoo ()
-{
-  static double table[] = {20.4, 69.96, 4.4, 202.202};
-  static int idx;
-
-  return table[idx++];
-}
-
-/* Provide functions that some versions of the linker use to default
-   the start address if -e symbol is not used, to avoid the warning
-   message saying the start address is defaulted.  */
-extern void start() __asm__("start");
-extern void _start() __asm__("_start");
-extern void __start() __asm__("__start");
-
-/* Provide functions that might be needed by soft-float emulation routines.  */
-void *memcpy(void *to,
-	     const void *from __attribute__((__unused__)),
-	     size_t len __attribute__((__unused__)))
-{
-  return to;
-}
-
-void start() {}
-void _start() {}
-void __start() {}
-void mainCRTStartup() {}
===================================================================
Index: libgcc1.c
--- libgcc1.c	Fri May 11 12:02:54 2001
+++ libgcc1.c	Tue May  5 13:32:27 1998
@@ -1,590 +0,0 @@
-/* Subroutines needed by GCC output code on some machines.  */
-/* Compile this file with the Unix C compiler!  */
-/* Copyright (C) 1987, 1988, 1992, 1994, 1995 Free Software Foundation, Inc.
-
-This file is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file into combinations with other programs,
-and to distribute those combinations without any restriction coming
-from the use of this file.  (The General Public License restrictions
-do apply in other respects; for example, they cover modification of
-the file, and distribution when not linked into a combine
-executable.)
-
-This file is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-#include "config.h"
-
-/* Don't use `fancy_abort' here even if config.h says to use it.  */
-#ifdef abort
-#undef abort
-#endif
-
-/* On some machines, cc is really GCC.  For these machines, we can't
-   expect these functions to be properly compiled unless GCC open codes
-   the operation (which is precisely when the function won't be used).
-   So allow tm.h to specify ways of accomplishing the operations
-   by defining the macros perform_*.
-
-   On a machine where cc is some other compiler, there is usually no
-   reason to define perform_*.  The other compiler normally has other ways
-   of implementing all of these operations.
-
-   In some cases a certain machine may come with GCC installed as cc
-   or may have some other compiler.  Then it may make sense for tm.h
-   to define perform_* only if __GNUC__ is defined.  */
-
-#ifndef perform_mulsi3
-#define perform_mulsi3(a, b) return a * b
-#endif
-
-#ifndef perform_divsi3
-#define perform_divsi3(a, b) return a / b
-#endif
-
-#ifndef perform_udivsi3
-#define perform_udivsi3(a, b) return a / b
-#endif
-
-#ifndef perform_modsi3
-#define perform_modsi3(a, b) return a % b
-#endif
-
-#ifndef perform_umodsi3
-#define perform_umodsi3(a, b) return a % b
-#endif
-
-#ifndef perform_lshrsi3
-#define perform_lshrsi3(a, b) return a >> b
-#endif
-
-#ifndef perform_ashrsi3
-#define perform_ashrsi3(a, b) return a >> b
-#endif
-
-#ifndef perform_ashlsi3
-#define perform_ashlsi3(a, b) return a << b
-#endif
-
-#ifndef perform_adddf3
-#define perform_adddf3(a, b) return a + b
-#endif
-
-#ifndef perform_subdf3
-#define perform_subdf3(a, b) return a - b
-#endif
-
-#ifndef perform_muldf3
-#define perform_muldf3(a, b) return a * b
-#endif
-
-#ifndef perform_divdf3
-#define perform_divdf3(a, b) return a / b
-#endif
-
-#ifndef perform_addsf3
-#define perform_addsf3(a, b) return INTIFY (a + b)
-#endif
-
-#ifndef perform_subsf3
-#define perform_subsf3(a, b) return INTIFY (a - b)
-#endif
-
-#ifndef perform_mulsf3
-#define perform_mulsf3(a, b) return INTIFY (a * b)
-#endif
-
-#ifndef perform_divsf3
-#define perform_divsf3(a, b) return INTIFY (a / b)
-#endif
-
-#ifndef perform_negdf2
-#define perform_negdf2(a) return -a
-#endif
-
-#ifndef perform_negsf2
-#define perform_negsf2(a) return INTIFY (-a)
-#endif
-
-#ifndef perform_fixdfsi
-#define perform_fixdfsi(a) return (nongcc_SI_type) a;
-#endif
-
-#ifndef perform_fixsfsi
-#define perform_fixsfsi(a) return (nongcc_SI_type) a
-#endif
-
-#ifndef perform_floatsidf
-#define perform_floatsidf(a) return (double) a
-#endif
-
-#ifndef perform_floatsisf
-#define perform_floatsisf(a)  return INTIFY ((float) a)
-#endif
-
-#ifndef perform_extendsfdf2
-#define perform_extendsfdf2(a)  return a
-#endif
-
-#ifndef perform_truncdfsf2
-#define perform_truncdfsf2(a)  return INTIFY (a)
-#endif
-
-/* Note that eqdf2 returns a value for "true" that is == 0,
-   nedf2 returns a value for "true" that is != 0,
-   gtdf2 returns a value for "true" that is > 0,
-   and so on.  */
-
-#ifndef perform_eqdf2
-#define perform_eqdf2(a, b) return !(a == b)
-#endif
-
-#ifndef perform_nedf2
-#define perform_nedf2(a, b) return a != b
-#endif
-
-#ifndef perform_gtdf2
-#define perform_gtdf2(a, b) return a > b
-#endif
-
-#ifndef perform_gedf2
-#define perform_gedf2(a, b) return (a >= b) - 1
-#endif
-
-#ifndef perform_ltdf2
-#define perform_ltdf2(a, b) return -(a < b)
-#endif
-
-#ifndef perform_ledf2
-#define perform_ledf2(a, b) return 1 - (a <= b)
-#endif
-
-#ifndef perform_eqsf2
-#define perform_eqsf2(a, b) return !(a == b)
-#endif
-
-#ifndef perform_nesf2
-#define perform_nesf2(a, b) return a != b
-#endif
-
-#ifndef perform_gtsf2
-#define perform_gtsf2(a, b) return a > b
-#endif
-
-#ifndef perform_gesf2
-#define perform_gesf2(a, b) return (a >= b) - 1
-#endif
-
-#ifndef perform_ltsf2
-#define perform_ltsf2(a, b) return -(a < b)
-#endif
-
-#ifndef perform_lesf2
-#define perform_lesf2(a, b) return 1 - (a <= b);
-#endif
-
-/* Define the C data type to use for an SImode value.  */
-
-#ifndef nongcc_SI_type
-#define nongcc_SI_type long int
-#endif
-
-/* Define the C data type to use for a value of word size */
-#ifndef nongcc_word_type
-#define nongcc_word_type nongcc_SI_type
-#endif
-
-/* Define the type to be used for returning an SF mode value
-   and the method for turning a float into that type.
-   These definitions work for machines where an SF value is
-   returned in the same register as an int.  */
-
-#ifndef FLOAT_VALUE_TYPE  
-#define FLOAT_VALUE_TYPE int
-#endif
-
-#ifndef INTIFY
-#define INTIFY(FLOATVAL)  (intify.f = (FLOATVAL), intify.i)
-#endif
-
-#ifndef FLOATIFY
-#define FLOATIFY(INTVAL)  ((INTVAL).f)
-#endif
-
-#ifndef FLOAT_ARG_TYPE
-#define FLOAT_ARG_TYPE union flt_or_int
-#endif
-
-union flt_or_value { FLOAT_VALUE_TYPE i; float f; };
-
-union flt_or_int { int i; float f; };
-
-
-#ifdef L_mulsi3
-nongcc_SI_type
-__mulsi3 (a, b)
-     nongcc_SI_type a, b;
-{
-  perform_mulsi3 (a, b);
-}
-#endif
-
-#ifdef L_udivsi3
-nongcc_SI_type
-__udivsi3 (a, b)
-     unsigned nongcc_SI_type a, b;
-{
-  perform_udivsi3 (a, b);
-}
-#endif
-
-#ifdef L_divsi3
-nongcc_SI_type
-__divsi3 (a, b)
-     nongcc_SI_type a, b;
-{
-  perform_divsi3 (a, b);
-}
-#endif
-
-#ifdef L_umodsi3
-nongcc_SI_type
-__umodsi3 (a, b)
-     unsigned nongcc_SI_type a, b;
-{
-  perform_umodsi3 (a, b);
-}
-#endif
-
-#ifdef L_modsi3
-nongcc_SI_type
-__modsi3 (a, b)
-     nongcc_SI_type a, b;
-{
-  perform_modsi3 (a, b);
-}
-#endif
-
-#ifdef L_lshrsi3
-nongcc_SI_type
-__lshrsi3 (a, b)
-     unsigned nongcc_SI_type a, b;
-{
-  perform_lshrsi3 (a, b);
-}
-#endif
-
-#ifdef L_ashrsi3
-nongcc_SI_type
-__ashrsi3 (a, b)
-     nongcc_SI_type a, b;
-{
-  perform_ashrsi3 (a, b);
-}
-#endif
-
-#ifdef L_ashlsi3
-nongcc_SI_type
-__ashlsi3 (a, b)
-     nongcc_SI_type a, b;
-{
-  perform_ashlsi3 (a, b);
-}
-#endif
-
-#ifdef L_divdf3
-double
-__divdf3 (a, b)
-     double a, b;
-{
-  perform_divdf3 (a, b);
-}
-#endif
-
-#ifdef L_muldf3
-double
-__muldf3 (a, b)
-     double a, b;
-{
-  perform_muldf3 (a, b);
-}
-#endif
-
-#ifdef L_negdf2
-double
-__negdf2 (a)
-     double a;
-{
-  perform_negdf2 (a);
-}
-#endif
-
-#ifdef L_adddf3
-double
-__adddf3 (a, b)
-     double a, b;
-{
-  perform_adddf3 (a, b);
-}
-#endif
-
-#ifdef L_subdf3
-double
-__subdf3 (a, b)
-     double a, b;
-{
-  perform_subdf3 (a, b);
-}
-#endif
-
-/* Note that eqdf2 returns a value for "true" that is == 0,
-   nedf2 returns a value for "true" that is != 0,
-   gtdf2 returns a value for "true" that is > 0,
-   and so on.  */
-
-#ifdef L_eqdf2
-nongcc_word_type
-__eqdf2 (a, b)
-     double a, b;
-{
-  /* Value == 0 iff a == b.  */
-  perform_eqdf2 (a, b);
-}
-#endif
-
-#ifdef L_nedf2
-nongcc_word_type
-__nedf2 (a, b)
-     double a, b;
-{
-  /* Value != 0 iff a != b.  */
-  perform_nedf2 (a, b);
-}
-#endif
-
-#ifdef L_gtdf2
-nongcc_word_type
-__gtdf2 (a, b)
-     double a, b;
-{
-  /* Value > 0 iff a > b.  */
-  perform_gtdf2 (a, b);
-}
-#endif
-
-#ifdef L_gedf2
-nongcc_word_type
-__gedf2 (a, b)
-     double a, b;
-{
-  /* Value >= 0 iff a >= b.  */
-  perform_gedf2 (a, b);
-}
-#endif
-
-#ifdef L_ltdf2
-nongcc_word_type
-__ltdf2 (a, b)
-     double a, b;
-{
-  /* Value < 0 iff a < b.  */
-  perform_ltdf2 (a, b);
-}
-#endif
-
-#ifdef L_ledf2
-nongcc_word_type
-__ledf2 (a, b)
-     double a, b;
-{
-  /* Value <= 0 iff a <= b.  */
-  perform_ledf2 (a, b);
-}
-#endif
-
-#ifdef L_fixdfsi
-nongcc_SI_type
-__fixdfsi (a)
-     double a;
-{
-  perform_fixdfsi (a);
-}
-#endif
-
-#ifdef L_fixsfsi
-nongcc_SI_type
-__fixsfsi (a)
-     FLOAT_ARG_TYPE a;
-{
-  union flt_or_value intify;
-  perform_fixsfsi (FLOATIFY (a));
-}
-#endif
-
-#ifdef L_floatsidf
-double
-__floatsidf (a)
-     nongcc_SI_type a;
-{
-  perform_floatsidf (a);
-}
-#endif
-
-#ifdef L_floatsisf
-FLOAT_VALUE_TYPE
-__floatsisf (a)
-     nongcc_SI_type a;
-{
-  union flt_or_value intify;
-  perform_floatsisf (a);
-}
-#endif
-
-#ifdef L_addsf3
-FLOAT_VALUE_TYPE
-__addsf3 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_value intify;
-  perform_addsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_negsf2
-FLOAT_VALUE_TYPE
-__negsf2 (a)
-     FLOAT_ARG_TYPE a;
-{
-  union flt_or_value intify;
-  perform_negsf2 (FLOATIFY (a));
-}
-#endif
-
-#ifdef L_subsf3
-FLOAT_VALUE_TYPE
-__subsf3 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_value intify;
-  perform_subsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_eqsf2
-nongcc_word_type
-__eqsf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value == 0 iff a == b.  */
-  perform_eqsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_nesf2
-nongcc_word_type
-__nesf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value != 0 iff a != b.  */
-  perform_nesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_gtsf2
-nongcc_word_type
-__gtsf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value > 0 iff a > b.  */
-  perform_gtsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_gesf2
-nongcc_word_type
-__gesf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value >= 0 iff a >= b.  */
-  perform_gesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_ltsf2
-nongcc_word_type
-__ltsf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value < 0 iff a < b.  */
-  perform_ltsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_lesf2
-nongcc_word_type
-__lesf2 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_int intify;
-  /* Value <= 0 iff a <= b.  */
-  perform_lesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_mulsf3
-FLOAT_VALUE_TYPE
-__mulsf3 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_value intify;
-  perform_mulsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_divsf3
-FLOAT_VALUE_TYPE
-__divsf3 (a, b)
-     FLOAT_ARG_TYPE a, b;
-{
-  union flt_or_value intify;
-  perform_divsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_truncdfsf2
-FLOAT_VALUE_TYPE
-__truncdfsf2 (a)
-     double a;
-{
-  union flt_or_value intify;
-  perform_truncdfsf2 (a);
-}
-#endif
-
-#ifdef L_extendsfdf2
-double
-__extendsfdf2 (a)
-     FLOAT_ARG_TYPE a;
-{
-  union flt_or_value intify;
-  perform_extendsfdf2 (FLOATIFY (a));
-}
-#endif
===================================================================
Index: longlong.h
--- longlong.h	2001/03/03 19:38:14	1.24
+++ longlong.h	2001/05/11 19:02:45
@@ -222,7 +222,7 @@ extern const UQItype __clz_tab[];
 	     "rIJ" ((USItype) (bh)),					\
 	     "r" ((USItype) (al)),					\
 	     "rIJ" ((USItype) (bl)))
-/* Call libgcc1 routine.  */
+/* Call libgcc routine.  */
 #define umul_ppmm(w1, w0, u, v) \
 do {									\
   DWunion __w;								\
===================================================================
Index: mklibgcc.in
--- mklibgcc.in	2001/04/09 23:43:03	1.26
+++ mklibgcc.in	2001/05/11 19:02:45
@@ -8,11 +8,7 @@
 # of them, and positional args becomes quite ugly.
 #
 # objext
-# OLDCC
-# LIBGCC1
-# LIB1FUNCS
 # LIB1ASMFUNCS
-# LIB1FUNCS_EXTRA
 # LIB2FUNCS
 # LIB2ADD
 # LIB2ADD_ST 
@@ -41,23 +37,6 @@ echo
 echo 'force:'
 echo
 
-# Detect gcc as OLDCC.  This indicates a target for which LIB1FUNCS
-# is not needed.  This is not quite the same as libgcc1.null, even
-# on a target not using libgcc1-asm.a.
-
-if [ "@build_canonical@" = "@target@" ]; then
-  tmp="tmp-$$.c"
-  cat > $tmp <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-  if $OLDCC -E $tmp | grep yes > /dev/null 2>&1; then
-    LIB1FUNCS=""
-  fi
-  rm -f $tmp
-fi
-
 # Disable SHLIB_LINK if shared libgcc not enabled.
 if [ "@enable_shared@" = "no" ]; then
   SHLIB_LINK=""
@@ -66,7 +45,6 @@ fi
 # Build lines.
 
 gcc_compile='$(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES)'
-oldcc_compile='$(OLDCC) -DIN_LIBGCC1 $(CCLIBFLAGS) $(INCLUDES)'
 make_compile='$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
 	  AR_FOR_TARGET="$(AR_FOR_TARGET)" \
 	  AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
@@ -76,14 +54,11 @@ make_compile='$(MAKE) GCC_FOR_TARGET="$(
 	  HOST_PREFIX="$(HOST_PREFIX)" \
 	  HOST_PREFIX_1="$(HOST_PREFIX_1)" \
 	  LANGUAGES="$(LANGUAGES)"'
-
-# Dependancies for libgcc1.c
-libgcc1_c_dep='stmp-dirs $(srcdir)/libgcc1.c $(CONFIG_H)'
 
-# Dependancies for libgcc2.c
+# Dependencies for libgcc2.c
 libgcc2_c_dep='stmp-dirs $(srcdir)/libgcc2.c $(CONFIG_H) $(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs tsystem.h'" $LIB2ADDEHDEP"
 
-# Dependancies for fp-bit.c
+# Dependencies for fp-bit.c
 fpbit_c_dep='stmp-dirs config.status tsystem.h'
 
 #
@@ -92,76 +67,24 @@ fpbit_c_dep='stmp-dirs config.status tsy
 
 libgcc1_objs=""
 
-case X"$LIBGCC1" in
-  Xlibgcc1.null | X)
-    ;;
-
-  Xlibgcc1.cross)
-    echo "You must find a way to make libgcc1 components yourself" 1>&2
-    ;;
-
-  Xlibgcc1-asm.a)
-    for name in $LIB1ASMFUNCS; 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}"
+for name in $LIB1ASMFUNCS; 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}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)'
-	echo "	$gcc_compile" $flags -DL$name -xassembler-with-cpp \
+    echo ${out}: stmp-dirs '$(srcdir)/config/$(LIB1ASMSRC)'
+    echo "	$gcc_compile" $flags -DL$name -xassembler-with-cpp \
 	  -c '$(srcdir)/config/$(LIB1ASMSRC)' -o $out
-
-	# Remove any objects from LIB2FUNCS that are defined as optimized
-	# assembly code in LIB1ASMFUNCS.
-	LIB2FUNCS=`echo $LIB2FUNCS | sed -e 's/^'$name' //' \
-				         -e 's/ '$name' / /' \
-					 -e 's/ '$name'$//'`
-      done
-      libgcc1_objs="$libgcc1_objs ${name}${objext}"
-    done
-    ;;
 
-  Xlibgcc1.a)
-    for name in $LIB1FUNCS; do
-      out="libgcc/${name}${objext}"
-
-      echo $out: $libgcc1_c_dep
-      if [ -z "@NO_MINUS_C_MINUS_O@" ]; then
-	echo "	$oldcc_compile" -DL$name $flags -c '$(srcdir)/libgcc1.c' -o $out
-      else
-	echo "	$oldcc_compile" -DL$name $flags -c '$(srcdir)/libgcc1.c'
-	echo "	mv libgcc1${objext} $out"
-      fi
-
-      libgcc1_objs="$libgcc1_objs ${name}${objext}"
-    done
-
-    for file in $LIB1FUNCS_EXTRA; do
-      name=`echo $file | sed -e 's/[.][cS]$//' -e 's/[.]asm$//'`
-      out="libgcc/${name}${objext}"
-
-      echo $out: $file
-      if [ ${name}.asm = $file ]; then
-        echo "	cp $file ${name}.s"
-        file=${name}.s
-      fi
-
-      if [ -z "@NO_MINUS_C_MINUS_O@" ]; then
-	echo "	$oldcc_compile" -c $file -o $out
-      else
-	echo "	$oldcc_compile" -c $file
-	tmp=`echo $file | sed -e 's/[.][cs]$/'${objext}/ -e 's,.*/,,'`
-	echo "	mv $tmp $out"
-      fi
-
-      libgcc1_objs="$libgcc1_objs ${name}${objext}"
-    done
-    ;;
-  *)
-    echo "I'm confused about libgcc1." 1>&2
-    exit 1
-    ;;
-esac
+    # Remove any objects from LIB2FUNCS that are defined as optimized
+    # assembly code in LIB1ASMFUNCS.
+    LIB2FUNCS=`echo $LIB2FUNCS | sed -e 's/^'$name' //' \
+				     -e 's/ '$name' / /' \
+				     -e 's/ '$name'$//'`
+  done
+  libgcc1_objs="$libgcc1_objs ${name}${objext}"
+done
 
 #
 # Build libgcc2 components.
@@ -276,11 +199,7 @@ for ml in $MULTILIBS; do
 
   libgcc_objs=""
   for o in $libgcc1_objs; do
-    if [ "$LIBGCC1" = libgcc1-asm.a ]; then
-      libgcc_objs="$libgcc_objs libgcc/${dir}/$o"
-    else
-      libgcc_objs="$libgcc_objs libgcc/$o"
-    fi
+    libgcc_objs="$libgcc_objs libgcc/${dir}/$o"
   done
   for o in $libgcc2_objs; do
     libgcc_objs="$libgcc_objs libgcc/${dir}/$o"
===================================================================
Index: tm.texi
--- tm.texi	2001/04/29 00:12:50	1.184
+++ tm.texi	2001/05/11 19:02:47
@@ -4409,88 +4409,12 @@ Define this macro if GCC should generate
 
 @findex LIBGCC_NEEDS_DOUBLE
 @item LIBGCC_NEEDS_DOUBLE
-Define this macro if only @code{float} arguments cannot be passed to
-library routines (so they must be converted to @code{double}).  This
-macro affects both how library calls are generated and how the library
-routines in @file{libgcc1.c} accept their arguments.  It is useful on
+Define this macro if @code{float} arguments cannot be passed to library
+routines (so they must be converted to @code{double}).  This macro
+affects both how library calls are generated and how the library
+routines in @file{libgcc.a} accept their arguments.  It is useful on
 machines where floating and fixed point arguments are passed
 differently, such as the i860.
-
-@findex FLOAT_ARG_TYPE
-@item FLOAT_ARG_TYPE
-Define this macro to override the type used by the library routines to
-pick up arguments of type @code{float}.  (By default, they use a union
-of @code{float} and @code{int}.)
-
-The obvious choice would be @code{float}---but that won't work with
-traditional C compilers that expect all arguments declared as @code{float}
-to arrive as @code{double}.  To avoid this conversion, the library routines
-ask for the value as some other type and then treat it as a @code{float}.
-
-On some systems, no other type will work for this.  For these systems,
-you must use @code{LIBGCC_NEEDS_DOUBLE} instead, to force conversion of
-the values @code{double} before they are passed.
-
-@findex FLOATIFY
-@item FLOATIFY (@var{passed-value})
-Define this macro to override the way library routines redesignate a
-@code{float} argument as a @code{float} instead of the type it was
-passed as.  The default is an expression which takes the @code{float}
-field of the union.
-
-@findex FLOAT_VALUE_TYPE
-@item FLOAT_VALUE_TYPE
-Define this macro to override the type used by the library routines to
-return values that ought to have type @code{float}.  (By default, they
-use @code{int}.)
-
-The obvious choice would be @code{float}---but that won't work with
-traditional C compilers gratuitously convert values declared as
-@code{float} into @code{double}.
-
-@findex INTIFY
-@item INTIFY (@var{float-value})
-Define this macro to override the way the value of a
-@code{float}-returning library routine should be packaged in order to
-return it.  These functions are actually declared to return type
-@code{FLOAT_VALUE_TYPE} (normally @code{int}).
-
-These values can't be returned as type @code{float} because traditional
-C compilers would gratuitously convert the value to a @code{double}.
-
-A local variable named @code{intify} is always available when the macro
-@code{INTIFY} is used.  It is a union of a @code{float} field named
-@code{f} and a field named @code{i} whose type is
-@code{FLOAT_VALUE_TYPE} or @code{int}.
-
-If you don't define this macro, the default definition works by copying
-the value through that union.
-
-@findex nongcc_SI_type
-@item nongcc_SI_type
-Define this macro as the name of the data type corresponding to
-@code{SImode} in the system's own C compiler.
-
-You need not define this macro if that type is @code{long int}, as it usually
-is.
-
-@findex nongcc_word_type
-@item nongcc_word_type
-Define this macro as the name of the data type corresponding to the
-word_mode in the system's own C compiler.
-
-You need not define this macro if that type is @code{long int}, as it usually
-is.
-
-@findex perform_@dots{}
-@item perform_@dots{}
-Define these macros to supply explicit C statements to carry out various
-arithmetic operations on types @code{float} and @code{double} in the
-library routines in @file{libgcc1.c}.  See that file for a full list
-of these macros and their arguments.
-
-On most machines, you don't need to define any of these macros, because
-the C compiler that comes with the system takes care of doing them.
 
 @findex NEXT_OBJC_RUNTIME
 @item NEXT_OBJC_RUNTIME
===================================================================
Index: config/fp-bit.c
--- config/fp-bit.c	2001/03/03 03:32:00	1.26
+++ config/fp-bit.c	2001/05/11 19:02:47
@@ -1,6 +1,5 @@
-/* This is a software floating point library which can be used instead of
-   the floating point routines in libgcc1.c for targets without hardware
-   floating point. 
+/* This is a software floating point library which can be used
+   for targets without hardware floating point. 
    Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001
    Free Software Foundation, Inc.
 
@@ -57,8 +56,7 @@ Boston, MA 02111-1307, USA.  */
    CMPtype: Specify the type that floating point compares should return.
      This defaults to SItype, aka int.
    US_SOFTWARE_GOFAST: This makes all entry points use the same names as the
-     US Software goFast library.  If this is not defined, the entry points use
-     the same names as libgcc1.c.
+     US Software goFast library.
    _DEBUG_BITFLOAT: This makes debugging the code a little easier, by adding
      two integers to the FLO_union_type.
    NO_DENORMALS: Disable handling of denormals.
===================================================================
Index: config/t-libc-ok
--- config/t-libc-ok	1998/12/16 21:00:08	1.2
+++ config/t-libc-ok	2001/05/11 19:02:47
@@ -1,3 +1 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
 CRTSTUFF_T_FLAGS_S=-fPIC
===================================================================
Index: config/t-linux
--- config/t-linux	2001/05/11 17:03:01	1.9
+++ config/t-linux	2001/05/11 19:02:47
@@ -20,9 +20,3 @@ SHLIB_INSTALL = $(INSTALL_DATA) @shlib_b
 	$(LN_S) @shlib_base_name@.so.0 $$(slibdir)/@shlib_base_name@.so
 SHLIB_MKMAP = $(srcdir)/mkmap-symver.awk
 SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver $(srcdir)/config/libgcc-glibc.ver
-
-# Do not build libgcc1. Let gcc generate those functions. The GNU/Linux
-# C library can handle them.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
===================================================================
Index: config/t-linux-aout
--- config/t-linux-aout	2001/05/11 17:03:01	1.4
+++ config/t-linux-aout	2001/05/11 19:02:47
@@ -1,8 +1,2 @@
 # Don't run fixproto
 STMP_FIXPROTO =
-
-# Do not build libgcc1. Let gcc generate those functions. The GNU/Linux
-# C library can handle them.
-LIBGCC1 = 
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
===================================================================
Index: config/t-netbsd
--- config/t-netbsd	2001/05/11 17:03:01	1.4
+++ config/t-netbsd	2001/05/11 19:02:47
@@ -1,6 +1,2 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
-LIBGCC1_TEST=
-
 # Don't run fixproto
 STMP_FIXPROTO =
===================================================================
Index: config/a29k/t-a29k
--- config/a29k/t-a29k	Fri May 11 12:02:54 2001
+++ config/a29k/t-a29k	Tue May  5 13:32:27 1998
@@ -1,5 +0,0 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# We need crt0.o.
-LIBGCC1_TEST =
===================================================================
Index: config/a29k/t-a29kbare
--- config/a29k/t-a29kbare	1999/08/05 03:27:46	1.3
+++ config/a29k/t-a29kbare	2001/05/11 19:02:47
@@ -1,9 +1,3 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# We need crt0.o.
-LIBGCC1_TEST =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/a29k/t-vx29k
--- config/a29k/t-vx29k	1999/08/05 03:27:46	1.4
+++ config/a29k/t-vx29k	2001/05/11 19:02:47
@@ -1,9 +1,3 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# We need crt0.o.
-LIBGCC1_TEST =
-
 # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
 # does not have _exit.
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
===================================================================
Index: config/alpha/alpha.h
--- config/alpha/alpha.h	2001/05/04 15:06:33	1.116
+++ config/alpha/alpha.h	2001/05/11 19:02:48
@@ -392,23 +392,6 @@ extern const char *alpha_mlat_string;	/*
 /* Define to enable software floating point emulation. */
 #define REAL_ARITHMETIC
 
-/* The following #defines are used when compiling the routines in
-   libgcc1.c.  Since the Alpha calling conventions require single
-   precision floats to be passed in the floating-point registers
-   (rather than in the general registers) we have to build the
-   libgcc1.c routines in such a way that they know the actual types
-   of their formal arguments and the actual types of their return
-   values.  Otherwise, gcc will generate calls to the libgcc1.c
-   routines, passing arguments in the floating-point registers,
-   but the libgcc1.c routines will expect their arguments on the
-   stack (where the Alpha calling conventions require structs &
-   unions to be passed).  */
-
-#define FLOAT_VALUE_TYPE	double
-#define INTIFY(FLOATVAL)	(FLOATVAL)
-#define FLOATIFY(INTVAL)	(INTVAL)
-#define FLOAT_ARG_TYPE		double
-
 /* Define the size of `int'.  The default is the same as the word size.  */
 #define INT_TYPE_SIZE 32
 
===================================================================
Index: config/alpha/t-interix
--- config/alpha/t-interix	1999/04/14 18:53:02	1.2
+++ config/alpha/t-interix	2001/05/11 19:02:48
@@ -4,13 +4,5 @@
 # Even LANG_EXTRA_HEADERS may be temporary.
 USER_H=$(LANG_EXTRA_HEADERS)
 
-# We don't want this one either.
-INSTALL_ASSERT_H=
-
-
-
-CROSS_LIBGCC1 = libgcc1-asm.a
-LIBGCC1 = libgcc1-asm.a
-
 LIB1ASMSRC = alpha/lib1funcs.asm
 LIB1ASMFUNCS = _divqu _divq _divlu _divl _remqu _remq _remlu _reml
===================================================================
Index: config/alpha/t-osf
--- config/alpha/t-osf	2000/10/04 20:53:29	1.1
+++ config/alpha/t-osf	2001/05/11 19:02:48
@@ -1,6 +1 @@
-# Do not build libgcc1. Let gcc generate those functions.
-LIBGCC1 = 
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
-
 EXTRA_HEADERS = $(srcdir)/config/alpha/va_list.h
===================================================================
Index: config/alpha/t-vms
--- config/alpha/t-vms	1998/12/16 21:01:06	1.2
+++ config/alpha/t-vms	2001/05/11 19:02:48
@@ -1,6 +1 @@
-# Do not build libgcc1.
-LIBGCC1 = 
-CROSS_LIBGCC1 =
-
 LIB2FUNCS_EXTRA = tramp.s
-
===================================================================
Index: config/arc/lib1funcs.asm
--- config/arc/lib1funcs.asm	2000/05/15 23:14:15	1.3
+++ config/arc/lib1funcs.asm	2001/05/11 19:02:48
@@ -1,4 +1,4 @@
-; libgcc1 routines for ARC cpu.
+; libgcc routines for ARC cpu.
 
 /* Copyright (C) 1995, 1997 Free Software Foundation, Inc.
 
===================================================================
Index: config/arc/t-arc
--- config/arc/t-arc	1999/08/05 03:27:46	1.3
+++ config/arc/t-arc	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arc/lib1funcs.asm
 LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _divmod_tools
 
===================================================================
Index: config/arm/lib1funcs.asm
--- config/arm/lib1funcs.asm	2000/12/04 23:05:17	1.17
+++ config/arm/lib1funcs.asm	2001/05/11 19:02:48
@@ -1,4 +1,4 @@
-@ libgcc1 routines for ARM cpu.
+@ libgcc routines for ARM cpu.
 @ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk)
 
 /* Copyright 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
===================================================================
Index: config/arm/t-arm-aout
--- config/arm/t-arm-aout	2000/04/08 14:29:52	1.2
+++ config/arm/t-arm-aout	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX  _interwork_call_via_rX
 
===================================================================
Index: config/arm/t-arm-coff
--- config/arm/t-arm-coff	2000/04/08 14:29:52	1.2
+++ config/arm/t-arm-coff	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
 
@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 # Currently there is a bug somwehere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-arm-elf
--- config/arm/t-arm-elf	2000/09/21 17:36:19	1.12
+++ config/arm/t-arm-elf	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
 
@@ -77,6 +76,6 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 # Currently there is a bug somewhere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-linux
--- config/arm/t-linux	2000/12/03 09:47:29	1.7
+++ config/arm/t-linux	2001/05/11 19:02:48
@@ -6,10 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0
 # Don't build enquire
 ENQUIRE=
 
-# Since libgcc1 is an assembler file, we can build it automatically for the
-# cross-compiler.
-CROSS_LIBGCC1 = libgcc1-asm.a
-LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
 
===================================================================
Index: config/arm/t-pe
--- config/arm/t-pe	2000/04/08 14:29:52	1.4
+++ config/arm/t-pe	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
 
===================================================================
Index: config/arm/t-semi
--- config/arm/t-semi	1999/08/05 03:27:46	1.7
+++ config/arm/t-semi	2001/05/11 19:02:48
@@ -6,11 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0
 # Don't build enquire
 ENQUIRE=
 
-# Can't test libgcc1 since it tries to bring in things like malloc, and
-# there probably isn't a libc to link against until we have a compiler.
-LIBGCC1_TEST =
-
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
 
===================================================================
Index: config/arm/t-semiaof
--- config/arm/t-semiaof	Fri May 11 12:02:54 2001
+++ config/arm/t-semiaof	Tue May  5 13:32:27 1998
@@ -1,67 +0,0 @@
-OLDCC = armcc -w
-# Don't build enquire
-ENQUIRE=
-CROSS_LIBGCC1 = libgcc1-aof.a
-LIBGCC2 = libgcc2-aof.a
-LIBGCC = libgcc-aof.a
-TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer
-LIBGCC2_DEBUG_CFLAGS = -g0
-
-LIBGCC1_TEST = #libgcc1-atest
-EXTRA_PARTS = crtbegin.o crtend.o
-STMP_FIXPROTO =
-
-# Rule to build libgcc1.a and libgcc2.a and libgcc.a, since the librarian 
-# for the ARM tools is somewhat quirky, and needs a special rule to use it.
-libgcc1-aof.a: libgcc1.c $(CONFIG_H) config.status
-	-rm -rf tmplib libgcc1.a libgcc1-aof.a tmplibgcc1.a
-	mkdir tmplib
-	for name in $(LIB1FUNCS); \
-	do \
-	  echo $${name}; \
-	  rm -f $${name}$(objext); \
-	  $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \
-	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-	  mv libgcc1$(objext) tmplib/$${name}$(objext); \
-	done
-	(cd tmplib; \
-	 armlib -c tmplibgcc1.a *; \
-	 mv tmplibgcc1.a ..)
-	mv tmplibgcc1.a libgcc1-aof.a
-	rm -rf tmplib
-
-libgcc2-aof.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
-   machmode.h longlong.h gbl-ctors.h config.status
-	-rm -f tmplibgcc2.a
-	-rm -rf tmplib
-	mkdir tmplib
-	for name in $(LIB2FUNCS); \
-	do \
-	  echo $${name}; \
-	  $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
-	      $(srcdir)/libgcc2.c -o tmplib/$${name}$(objext); \
-	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
-	done
-	(cd tmplib; \
-	 armlib -c tmplibgcc2.a *; \
-	 mv tmplibgcc2.a ..)
-	mv tmplibgcc2.a libgcc2-aof.a
-	rm -rf tmplib
-
-# Combine the various libraries into a single library, libgcc.a.
-libgcc-aof.a: $(CROSS_LIBGCC1) $(LIBGCC2)
-	-rm -rf tmplibgcc.a libgcc.a tmpcopy libgcc-aof.a
-	mkdir tmpcopy
-	(cd tmpcopy; armlib -e ../$(LIBGCC1) \*)
-	-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
-	(cd tmpcopy; armlib -e ../$(LIBGCC2) \*)
-	(cd tmpcopy; armlib -co ../tmplibgcc.a *$(objext))
-	rm -rf tmpcopy
-	mv tmplibgcc.a libgcc.a
-	ln libgcc.a libgcc-aof.a
-
-libgcc1-atest: libgcc1-test.o native $(GCC_PARTS) $(EXTRA_PARTS)
-	@echo "Testing libgcc1.  Ignore linker warning messages."
-	$(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
-	-v
-
===================================================================
Index: config/arm/t-strongarm-coff
--- config/arm/t-strongarm-coff	2000/12/04 00:23:35	1.1
+++ config/arm/t-strongarm-coff	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
 
@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 # Currently there is a bug somwehere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-strongarm-elf
--- config/arm/t-strongarm-elf	2000/12/04 00:23:35	1.1
+++ config/arm/t-strongarm-elf	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
 
@@ -34,6 +33,6 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 # Currently there is a bug somewhere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-strongarm-pe
--- config/arm/t-strongarm-pe	2000/12/04 00:23:35	1.1
+++ config/arm/t-strongarm-pe	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
 
@@ -33,6 +32,6 @@ LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
 
 # Currently there is a bug somwehere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-xscale-coff
--- config/arm/t-xscale-coff	2000/12/04 23:00:26	1.2
+++ config/arm/t-xscale-coff	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
 
@@ -43,6 +42,6 @@ LIBGCC               = stmp-multilib
 INSTALL_LIBGCC       = install-multilib
 
 # Currently there is a bug somewhere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/arm/t-xscale-elf
--- config/arm/t-xscale-elf	2000/12/04 23:00:26	1.2
+++ config/arm/t-xscale-elf	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = arm/lib1funcs.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
 
@@ -43,6 +42,6 @@ LIBGCC               = stmp-multilib
 INSTALL_LIBGCC       = install-multilib
 
 # Currently there is a bug somewhere in GCC's alias analysis
-# or scheduling code that is breaking _fpmul_parts in libgcc1.c.
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
 # Disabling function inlining is a workaround for this problem.
 TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
===================================================================
Index: config/avr/t-avr
--- config/avr/t-avr	2001/01/20 16:49:01	1.5
+++ config/avr/t-avr	2001/05/11 19:02:48
@@ -2,7 +2,6 @@
 AR_FOR_TARGET = avr-ar
 RANLIB_FOR_TARGET = avr-ranlib
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = avr/libgcc.S
 LIB1ASMFUNCS = \
 	_mulqi3 \
@@ -19,9 +18,6 @@ LIB1ASMFUNCS = \
 	_exit \
 	_cleanup \
 	_tablejump
-
-# libgcc...
-LIBGCC1_TEST =
 
 # We do not have the DF type.
 # Most of the C functions in libgcc2 use almost all registers,
===================================================================
Index: config/c4x/libgcc.S
--- config/c4x/libgcc.S	2000/07/30 08:12:12	1.8
+++ config/c4x/libgcc.S	2001/05/11 19:02:48
@@ -1,4 +1,4 @@
-/* libgcc1 routines for the Texas Instruments TMS320C[34]x
+/* libgcc routines for the Texas Instruments TMS320C[34]x
    Copyright (C) 1997,98, 1999 Free Software Foundation, Inc.
 
  Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
===================================================================
Index: config/c4x/t-c4x
--- config/c4x/t-c4x	2000/01/29 02:50:17	1.7
+++ config/c4x/t-c4x	2001/05/11 19:02:48
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = c4x/libgcc.S
 LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \
 	_muldf3 _divdf3 _unsfltconst _unsfltcompare \
@@ -15,6 +14,3 @@ MULTILIB_EXCEPTIONS =
 MULTILIB_EXTRA_OPTS =
 LIBGCC = stmp-multilib
 INSTALL_LIBGCC = install-multilib
-
-# Don't make libgcc1-test since require crt0.o
-LIBGCC1_TEST =
===================================================================
Index: config/d30v/d30v.h
--- config/d30v/d30v.h	2001/04/16 18:30:36	1.18
+++ config/d30v/d30v.h	2001/05/11 19:02:50
@@ -3307,76 +3307,6 @@ typedef struct machine_function
    Defined in svr4.h.  */
 /* #define TARGET_MEM_FUNCTIONS */
 
-/* Define this macro if only `float' arguments cannot be passed to library
-   routines (so they must be converted to `double').  This macro affects both
-   how library calls are generated and how the library routines in `libgcc1.c'
-   accept their arguments.  It is useful on machines where floating and fixed
-   point arguments are passed differently, such as the i860.  */
-/* #define LIBGCC_NEEDS_DOUBLE */
-
-/* Define this macro to override the type used by the library routines to pick
-   up arguments of type `float'.  (By default, they use a union of `float' and
-   `int'.)
-
-   The obvious choice would be `float'--but that won't work with traditional C
-   compilers that expect all arguments declared as `float' to arrive as
-   `double'.  To avoid this conversion, the library routines ask for the value
-   as some other type and then treat it as a `float'.
-
-   On some systems, no other type will work for this.  For these systems, you
-   must use `LIBGCC_NEEDS_DOUBLE' instead, to force conversion of the values
-   `double' before they are passed.  */
-/* #define FLOAT_ARG_TYPE */
-
-/* Define this macro to override the way library routines redesignate a `float'
-   argument as a `float' instead of the type it was passed as.  The default is
-   an expression which takes the `float' field of the union.  */
-/* #define FLOATIFY(PASSED_VALUE) */
-
-/* Define this macro to override the type used by the library routines to
-   return values that ought to have type `float'.  (By default, they use
-   `int'.)
-
-   The obvious choice would be `float'--but that won't work with traditional C
-   compilers gratuitously convert values declared as `float' into `double'.  */
-/* #define FLOAT_VALUE_TYPE */
-
-/* Define this macro to override the way the value of a `float'-returning
-   library routine should be packaged in order to return it.  These functions
-   are actually declared to return type `FLOAT_VALUE_TYPE' (normally `int').
-
-   These values can't be returned as type `float' because traditional C
-   compilers would gratuitously convert the value to a `double'.
-
-   A local variable named `intify' is always available when the macro `INTIFY'
-   is used.  It is a union of a `float' field named `f' and a field named `i'
-   whose type is `FLOAT_VALUE_TYPE' or `int'.
-
-   If you don't define this macro, the default definition works by copying the
-   value through that union.  */
-/* #define INTIFY(FLOAT_VALUE) */
-
-/* Define this macro as the name of the data type corresponding to `SImode' in
-   the system's own C compiler.
-
-   You need not define this macro if that type is `long int', as it usually is.  */
-/* #define nongcc_SI_type */
-
-/* Define this macro as the name of the data type corresponding to the
-   word_mode in the system's own C compiler.
-
-   You need not define this macro if that type is `long int', as it usually is.  */
-/* #define nongcc_word_type */
-
-/* Define these macros to supply explicit C statements to carry out various
-   arithmetic operations on types `float' and `double' in the library routines
-   in `libgcc1.c'.  See that file for a full list of these macros and their
-   arguments.
-
-   On most machines, you don't need to define any of these macros, because the
-   C compiler that comes with the system takes care of doing them.  */
-/* #define perform_... */
-
 /* Define this macro to generate code for Objective C message sending using the
    calling convention of the NeXT system.  This calling convention involves
    passing the object, the selector and the method arguments all at once to the
===================================================================
Index: config/d30v/libgcc1.asm
--- config/d30v/libgcc1.asm	2000/05/15 23:14:16	1.3
+++ config/d30v/libgcc1.asm	2001/05/11 19:02:50
@@ -1,4 +1,4 @@
-/* Assembly support functions for libgcc1.
+/* Assembly support functions for libgcc.
  *
  *   Copyright (C) 1997 Free Software Foundation, Inc.
  *   Contributed by Cygnus Support
===================================================================
Index: config/d30v/t-d30v
--- config/d30v/t-d30v	2000/04/30 11:17:13	1.2
+++ config/d30v/t-d30v	2001/05/11 19:02:50
@@ -1,6 +1,3 @@
-# Build libgcc1 from assembler sources
-LIBGCC1 = libgcc1-asm.a
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = d30v/libgcc1.asm
 LIB1ASMFUNCS = _udivsi3 _divsi3
 
===================================================================
Index: config/fr30/lib1funcs.asm
--- config/fr30/lib1funcs.asm	2000/05/15 23:14:16	1.2
+++ config/fr30/lib1funcs.asm	2001/05/11 19:02:50
@@ -1,4 +1,4 @@
-/* libgcc1 routines for the FR30.
+/* libgcc routines for the FR30.
    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/fr30/t-fr30
--- config/fr30/t-fr30	1999/10/03 20:14:14	1.2
+++ config/fr30/t-fr30	2001/05/11 19:02:50
@@ -1,12 +1,3 @@
-
-# Name of assembly file containing libgcc1 functions.
-# This entry must be present, but it can be empty if the target does
-# not need any assembler functions to support its code generation.
-# CROSS_LIBGCC1 =
-#
-# Alternatively if assembler functions *are* needed then define the
-# entries below:
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC    = fr30/lib1funcs.asm
 LIB1ASMFUNCS  = _udivsi3 _divsi3 _umodsi3 _modsi3
 
===================================================================
Index: config/h8300/lib1funcs.asm
--- config/h8300/lib1funcs.asm	2000/09/07 22:11:31	1.5
+++ config/h8300/lib1funcs.asm	2001/05/11 19:02:50
@@ -1,4 +1,4 @@
-;; libgcc1 routines for the Hitachi H8/300 CPU.
+;; libgcc routines for the Hitachi H8/300 CPU.
 ;; Contributed by Steve Chamberlain <sac@cygnus.com>
 
 /* Copyright (C) 1994, 2000 Free Software Foundation, Inc.
===================================================================
Index: config/h8300/t-h8300
--- config/h8300/t-h8300	1999/08/05 03:27:47	1.5
+++ config/h8300/t-h8300	2001/05/11 19:02:50
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = h8300/lib1funcs.asm
 LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3
 
===================================================================
Index: config/i370/t-i370
--- config/i370/t-i370	Fri May 11 12:02:55 2001
+++ config/i370/t-i370	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# There is no libgcc for mvs
-LIBGCC =
-INSTALL_LIBGCC =
-LIBGCC1_TEST =
===================================================================
Index: config/i370/t-linux
--- config/i370/t-linux	Fri May 11 12:02:55 2001
+++ config/i370/t-linux	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# config/i370/t-linux: this file defines Makefile overrides when building 
-# for a Linux target.  Thes definitions are in addition to config/t-linux.
-# pretty busted at the moment
-CROSS_LIBGCC1 =
===================================================================
Index: config/i370/t-mvs
--- config/i370/t-mvs	Fri May 11 12:02:55 2001
+++ config/i370/t-mvs	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# There is no libgcc for mvs
-LIBGCC =
-INSTALL_LIBGCC =
-LIBGCC1_TEST =
===================================================================
Index: config/i370/t-oe
--- config/i370/t-oe	Fri May 11 12:02:55 2001
+++ config/i370/t-oe	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# There is no libgcc for OpenEdition
-LIBGCC =
-INSTALL_LIBGCC =
-LIBGCC1_TEST =
===================================================================
Index: config/i386/cygwin.asm
--- config/i386/cygwin.asm	1998/12/16 21:03:13	1.2
+++ config/i386/cygwin.asm	2001/05/11 19:02:50
@@ -1,4 +1,4 @@
-/* stuff needed for libgcc1 on win32. */
+/* stuff needed for libgcc on win32. */
 
 #ifdef L_chkstk
 
===================================================================
Index: config/i386/i386.h
--- config/i386/i386.h	2001/05/04 06:31:27	1.180
+++ config/i386/i386.h	2001/05/11 19:02:51
@@ -3004,13 +3004,6 @@ do { long l;						\
 	 }						\
      } while (0)
 
-/* Routines in libgcc that return floats must return them in an fp reg,
-   just as other functions do which return such values.
-   These macros make that happen.  */
-
-#define FLOAT_VALUE_TYPE float
-#define INTIFY(FLOATVAL) FLOATVAL
-
 /* a letter which is not needed by the normal asm syntax, which
    we can use for operand syntax in the extended asm */
 
===================================================================
Index: config/i386/perform.h
--- config/i386/perform.h	Fri May 11 12:02:55 2001
+++ config/i386/perform.h	Tue May  5 13:32:27 1998
@@ -1,98 +0,0 @@
-/* Definitions for AT&T assembler syntax for the Intel 80386.
-   Copyright (C) 1993 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
-
-/* Defines to be able to build libgcc.a with GCC.  */
-
-/* It might seem that these are not important, since gcc 2 will never
-   call libgcc for these functions.  But programs might be linked with
-   code compiled by gcc 1, and then these will be used.  */
-
-/* The arg names used to be a and b, but `a' appears inside strings
-   and that confuses non-ANSI cpp.  */
-
-#define perform_udivsi3(arg0,arg1)					\
-{									\
-  register int dx asm("dx");						\
-  register int ax asm("ax");						\
-									\
-  dx = 0;								\
-  ax = arg0;								\
-  asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1), "d" (dx)); \
-  return ax;								\
-}
-
-#define perform_divsi3(arg0,arg1)					\
-{									\
-  register int dx asm("dx");						\
-  register int ax asm("ax");						\
-  register int cx asm("cx");						\
-									\
-  ax = arg0;								\
-  cx = arg1;								\
-  asm ("cltd\n\tidivl %3" : "=a" (ax), "=&d" (dx) : "a" (ax), "c" (cx)); \
-  return ax;								\
-}
-
-#define perform_umodsi3(arg0,arg1)					\
-{									\
-  register int dx asm("dx");						\
-  register int ax asm("ax");						\
-									\
-  dx = 0;								\
-  ax = arg0;								\
-  asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1), "d" (dx)); \
-  return dx;								\
-}
-
-#define perform_modsi3(arg0,arg1)					\
-{									\
-  register int dx asm("dx");						\
-  register int ax asm("ax");						\
-  register int cx asm("cx");						\
-									\
-  ax = arg0;								\
-  cx = arg1;								\
-  asm ("cltd\n\tidivl %3" : "=a" (ax), "=&d" (dx) : "a" (ax), "c" (cx)); \
-  return dx;								\
-}
-
-#define perform_fixdfsi(arg0)						\
-{									\
-  auto unsigned short ostatus;						\
-  auto unsigned short nstatus;						\
-  auto int ret;								\
-  auto double tmp;							\
-									\
-  &ostatus;			/* guarantee these land in memory */	\
-  &nstatus;								\
-  &ret;									\
-  &tmp;									\
-									\
-  asm volatile ("fnstcw %0" : "=m" (ostatus));				\
-  nstatus = ostatus | 0x0c00;						\
-  asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus));		\
-  tmp = arg0;								\
-  asm volatile ("fldl %0" : /* no outputs */ : "m" (tmp));		\
-  asm volatile ("fistpl %0" : "=m" (ret));				\
-  asm volatile ("fldcw %0" : /* no outputs */ : "m" (ostatus));		\
-									\
-  return ret;								\
-}
-
===================================================================
Index: config/i386/t-beos
--- config/i386/t-beos	2001/05/11 17:03:02	1.3
+++ config/i386/t-beos	2001/05/11 19:02:51
@@ -1,7 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 # There are system headers elsewhere, but these are the ones that
 # we are most likely to want to apply any fixes to.
 SYSTEM_HEADER_DIR = /boot/develop/headers/posix
===================================================================
Index: config/i386/t-cygwin
--- config/i386/t-cygwin	2001/02/09 20:06:15	1.6
+++ config/i386/t-cygwin	2001/05/11 19:02:51
@@ -1,5 +1,3 @@
-LIBGCC1 = libgcc1-asm.a
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = i386/cygwin.asm
 LIB1ASMFUNCS = _chkstk
 
===================================================================
Index: config/i386/t-djgpp
--- config/i386/t-djgpp	Fri May 11 12:02:55 2001
+++ config/i386/t-djgpp	Tue May  5 13:32:27 1998
@@ -1,2 +0,0 @@
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
===================================================================
Index: config/i386/t-i386bare
--- config/i386/t-i386bare	Fri May 11 12:02:55 2001
+++ config/i386/t-i386bare	Tue May  5 13:32:27 1998
@@ -1,3 +0,0 @@
-# The i386 md has all of these taken care of, according to sef.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/i386/t-i386elf
--- config/i386/t-i386elf	1999/09/04 15:08:56	1.2
+++ config/i386/t-i386elf	2001/05/11 19:02:51
@@ -1,6 +1,3 @@
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
-
 # For svr4 we build crtbegin.o and crtend.o which serve to add begin and
 # end labels to the .ctors and .dtors section when we link using gcc.
 
===================================================================
Index: config/i386/t-interix
--- config/i386/t-interix	1999/04/10 05:15:26	1.2
+++ config/i386/t-interix	2001/05/11 19:02:51
@@ -1,7 +1,3 @@
-# t-interix
-LIBGCC1 = libgcc1-asm.a
-CROSS_LIBGCC1 = libgcc1-asm.a
-
 LIB1ASMSRC = i386/cygwin.asm
 LIB1ASMFUNCS = _chkstk
 
@@ -11,6 +7,3 @@ interix.o: $(srcdir)/config/i386/interix
 # System headers will track gcc's needs.
 # Even LANG_EXTRA_HEADERS may be temporary.
 USER_H=$(LANG_EXTRA_HEADERS)
-
-# We don't want this one either.
-INSTALL_ASSERT_H=
===================================================================
Index: config/i386/t-netware
--- config/i386/t-netware	2000/10/18 19:57:54	1.1
+++ config/i386/t-netware	2001/05/11 19:02:51
@@ -1,5 +1,2 @@
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
-
 # Our header files are supposed to be correct, nein?
 STMP_FIXPROTO =
===================================================================
Index: config/i386/t-next
--- config/i386/t-next	1998/12/16 21:04:32	1.2
+++ config/i386/t-next	2001/05/11 19:02:51
@@ -1,7 +1,3 @@
-# libgcc1.c is not needed, since the standard library has these functions.
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
-
 # Specify other dirs of system header files to be fixed.
 OTHER_FIXINCLUDES_DIRS= /LocalDeveloper/Headers
 
===================================================================
Index: config/i386/t-rtems-i386
--- config/i386/t-rtems-i386	1999/09/14 09:52:06	1.1
+++ config/i386/t-rtems-i386	2001/05/11 19:02:51
@@ -5,9 +5,6 @@
 # version of these files.
 #
 
-LIBGCC1 = 
-CROSS_LIBGCC1 = 
-
 crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
 	sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
 	$(GCC_FOR_TARGET) -c -o crti.o crti.s
===================================================================
Index: config/i386/t-sol2
--- config/i386/t-sol2	1998/12/16 21:04:37	1.4
+++ config/i386/t-sol2	2001/05/11 19:02:51
@@ -1,9 +1,3 @@
-# we need to supply our own assembly versions of libgcc1.c files,
-# since the user may not have native 'cc' available
-
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
-
 # gmon build rule:
 gmon.o:	$(srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H)
 	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) \
===================================================================
Index: config/i386/t-vsta
--- config/i386/t-vsta	Fri May 11 12:02:55 2001
+++ config/i386/t-vsta	Tue May  5 13:32:27 1998
@@ -1,2 +0,0 @@
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
===================================================================
Index: config/i386/uwin.asm
--- config/i386/uwin.asm	1999/09/04 15:08:57	1.2
+++ config/i386/uwin.asm	2001/05/11 19:02:51
@@ -1,4 +1,4 @@
-/* stuff needed for libgcc1 on win32. */
+/* stuff needed for ibgcc1 on win32. */
 
 #ifdef L_chkstk
 
===================================================================
Index: config/i860/fx2800.h
--- config/i860/fx2800.h	2001/04/07 20:44:53	1.7
+++ config/i860/fx2800.h	2001/05/11 19:02:51
@@ -235,18 +235,12 @@ Boston, MA 02111-1307, USA.  */
 /* Undefine some things defined in i860.h because the native C compiler
    on the FX/2800 emits code to do these operations inline.  For GCC,
    we will use the default implementation of these things... i.e.
-   generating calls to libgcc1 routines.  */
+   generating calls to libgcc routines.  */
 
 #undef DIVSI3_LIBCALL
 #undef UDIVSI3_LIBCALL
 #undef REMSI3_LIBCALL
 #undef UREMSI3_LIBCALL
-
-/* The Alliant compiler's mod function gives the wrong result after a
-   shift operation. This bug typically hits in hash functions. */
-
-#define perform_umodsi3(a, b)	a %= b; if (a == b) a=0; return a
-#define perform_modsi3(a, b)	a %= b; if (a == b) a=0; return a
 
 /* Global pointer needs to be 8 byte aligned? Link error if not... */
 
===================================================================
Index: config/i860/i860.h
--- config/i860/i860.h	2000/11/02 23:29:10	1.16
+++ config/i860/i860.h	2001/05/11 19:02:51
@@ -1372,24 +1372,6 @@ extern const char *i860_reg_prefix;
     }								\
 }
 
-/* The following #defines are used when compiling the routines in
-   libgcc1.c.  Since the i860 calling conventions require single
-   precision floats to be passed in the floating-point registers
-   (rather than in the general registers) we have to build the
-   libgcc1.c routines in such a way that they know the actual types
-   of their formal arguments and the actual types of their return
-   values.  Otherwise, gcc will generate calls to the libgcc1.c
-   routines, passing arguments in the floating-point registers,
-   but the libgcc1.c routines will expect their arguments on the
-   stack (where the i860 calling conventions require structs &
-   unions to be passed).  */
-
-#define FLOAT_VALUE_TYPE	float
-#define INTIFY(FLOATVAL)	(FLOATVAL)
-#define FLOATIFY(INTVAL)	(INTVAL)
-#define FLOAT_ARG_TYPE		float
-
-
 /* Optionally define this if you have added predicates to
    `MACHINE.c'.  This macro is called within an initializer of an
    array of structures.  The first field in the structure is the
===================================================================
Index: config/i960/t-960bare
--- config/i960/t-960bare	2001/03/15 16:29:10	1.5
+++ config/i960/t-960bare	2001/05/11 19:02:51
@@ -1,6 +1,3 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 LIB2FUNCS_EXTRA = xp-bit.c
 
 # We want fine grained libraries, so use the new code to build the
===================================================================
Index: config/i960/t-vxworks960
--- config/i960/t-vxworks960	2001/03/15 16:29:10	1.6
+++ config/i960/t-vxworks960	2001/05/11 19:02:51
@@ -1,6 +1,3 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
 # does not have _exit.
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
===================================================================
Index: config/ia64/t-hpux
--- config/ia64/t-hpux	Fri May 11 12:02:55 2001
+++ config/ia64/t-hpux	Tue May  5 13:32:27 1998
@@ -1,6 +0,0 @@
-# HP-UX gets an undefined main when building LIBGCC1_TEST because the
-# linkspec has "-u main" and we want that for linking but it makes
-# LIBGCC1_TEST fail because it uses -nostdlib -nostartup and main is
-# not defined in the test program.
-
-LIBGCC1_TEST =
===================================================================
Index: config/ia64/t-ia64
--- config/ia64/t-ia64	2001/04/04 21:24:20	1.7
+++ config/ia64/t-ia64	2001/05/11 19:02:51
@@ -1,8 +1,3 @@
-# Name of assembly file containing libgcc1 functions.
-# This entry must be present, but it can be empty if the target does
-# not need any assembler functions to support its code generation.
-CROSS_LIBGCC1 = libgcc1-asm.a
-LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC    = ia64/lib1funcs.asm
 
 # ??? We change the names of the DImode div/mod files so that they won't
===================================================================
Index: config/m32r/t-m32r
--- config/m32r/t-m32r	1999/08/05 03:27:47	1.5
+++ config/m32r/t-m32r	2001/05/11 19:02:51
@@ -1,6 +1,3 @@
-# lib1funcs.asm is currently empty.
-CROSS_LIBGCC1 =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/m68hc11/larith.asm
--- config/m68hc11/larith.asm	2001/05/04 20:55:27	1.4
+++ config/m68hc11/larith.asm	2001/05/11 19:02:51
@@ -1,4 +1,4 @@
-/* libgcc1 routines for M68HC11 & M68HC12.
+/* libgcc routines for M68HC11 & M68HC12.
    Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/m68hc11/t-m68hc11-gas
--- config/m68hc11/t-m68hc11-gas	2001/05/04 20:55:27	1.3
+++ config/m68hc11/t-m68hc11-gas	2001/05/11 19:02:51
@@ -15,7 +15,6 @@ RANLIB_FOR_TARGET = ` \
 
 T_CPPFLAGS = -DUSE_GAS
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68hc11/larith.asm
 LIB1ASMFUNCS = _mulsi3 \
 	_mulqi3 _ashlsi3 _ashrsi3 _lshrsi3 \
===================================================================
Index: config/m68k/lb1sf68.asm
--- config/m68k/lb1sf68.asm	1999/03/01 15:06:44	1.5
+++ config/m68k/lb1sf68.asm	2001/05/11 19:02:52
@@ -1,4 +1,4 @@
-/* libgcc1 routines for 68000 w/o floating-point hardware.
+/* libgcc routines for 68000 w/o floating-point hardware.
    Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/m68k/t-lynx
--- config/m68k/t-lynx	1998/12/16 21:07:28	1.2
+++ config/m68k/t-lynx	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
===================================================================
Index: config/m68k/t-m68kbare
--- config/m68k/t-m68kbare	1998/12/16 21:07:29	1.3
+++ config/m68k/t-m68kbare	2001/05/11 19:02:52
@@ -1,12 +1,9 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so...
 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
 
 fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
===================================================================
Index: config/m68k/t-m68kelf
--- config/m68k/t-m68kelf	1998/12/16 21:07:30	1.3
+++ config/m68k/t-m68kelf	2001/05/11 19:02:52
@@ -1,12 +1,9 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so...
 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
 
 fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
===================================================================
Index: config/m68k/t-mot3300-gald
--- config/m68k/t-mot3300-gald	1999/12/28 09:15:24	1.3
+++ config/m68k/t-mot3300-gald	2001/05/11 19:02:52
@@ -1,15 +1,12 @@
 T_CPPFLAGS = -DUSE_GAS -DUSE_GLD
 TARGET_LIBGCC2_CFLAGS = -DUSE_GAS
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so...
 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
 
 fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
===================================================================
Index: config/m68k/t-mot3300-gas
--- config/m68k/t-mot3300-gas	1999/12/28 09:15:24	1.3
+++ config/m68k/t-mot3300-gas	2001/05/11 19:02:52
@@ -1,15 +1,12 @@
 T_CPPFLAGS = -DUSE_GAS
 TARGET_LIBGCC2_CFLAGS = -DUSE_GAS
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
    _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
    _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
 
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so...
 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
 
 fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
===================================================================
Index: config/m68k/t-next
--- config/m68k/t-next	1998/12/16 21:07:35	1.2
+++ config/m68k/t-next	2001/05/11 19:02:52
@@ -1,6 +1,2 @@
-# libgcc1.c is not needed, since the standard library has these functions.
-LIBGCC1=
-CROSS_LIBGCC1=
-
 nextstep.o: $(srcdir)/config/nextstep.c $(CONFIG_H) flags.h tree.h
 	$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
===================================================================
Index: config/m68k/t-vxworks68
--- config/m68k/t-vxworks68	1998/12/16 21:07:37	1.3
+++ config/m68k/t-vxworks68	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = m68k/lb1sf68.asm
 LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
    _double _float _floatex \
@@ -9,8 +8,6 @@ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 
 # does not have _exit.
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
 
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so...
 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
 
 fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
===================================================================
Index: config/m88k/t-bug
--- config/m88k/t-bug	1998/12/16 21:08:28	1.2
+++ config/m88k/t-bug	2001/05/11 19:02:52
@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
===================================================================
Index: config/m88k/t-dgux
--- config/m88k/t-dgux	1998/12/16 21:08:29	1.2
+++ config/m88k/t-dgux	2001/05/11 19:02:52
@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 
 # In a coff environment, a link script is required for ctors and dtors.
 m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld
===================================================================
Index: config/m88k/t-dgux-gas
--- config/m88k/t-dgux-gas	1998/12/16 21:08:30	1.2
+++ config/m88k/t-dgux-gas	2001/05/11 19:02:52
@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 T_CPPFLAGS = -DUSE_GAS
 
 # In a coff environment, a link script is required.
===================================================================
Index: config/m88k/t-dguxbcs
--- config/m88k/t-dguxbcs	1998/12/16 21:08:31	1.2
+++ config/m88k/t-dguxbcs	2001/05/11 19:02:52
@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 
 # In a coff environment, a link script is required for ctors and dtors.
 m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld
===================================================================
Index: config/m88k/t-luna
--- config/m88k/t-luna	1998/12/16 21:08:32	1.2
+++ config/m88k/t-luna	2001/05/11 19:02:52
@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh -no-tdesc
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
===================================================================
Index: config/m88k/t-luna-gas
--- config/m88k/t-luna-gas	1999/02/08 11:33:29	1.3
+++ config/m88k/t-luna-gas	2001/05/11 19:02:52
@@ -8,6 +8,4 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(SHELL) $(srcdir)/config/m88k/m88k-move.sh -no-tdesc
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 T_CPPFLAGS = -DUSE_GAS
===================================================================
Index: config/m88k/t-m88k
--- config/m88k/t-m88k	1998/12/16 21:08:34	1.2
+++ config/m88k/t-m88k	2001/05/11 19:02:52
@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
===================================================================
Index: config/m88k/t-m88k-gas
--- config/m88k/t-m88k-gas	1998/12/16 21:08:35	1.2
+++ config/m88k/t-m88k-gas	2001/05/11 19:02:52
@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 T_CPPFLAGS = -DUSE_GAS
 
 # For svr4 we build crtbegin.o and crtend.o which serve to add begin and
===================================================================
Index: config/m88k/t-sysv4
--- config/m88k/t-sysv4	1998/12/16 21:08:36	1.2
+++ config/m88k/t-sysv4	2001/05/11 19:02:52
@@ -10,8 +10,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-
 	$(srcdir)/config/m88k/m88k-move.sh -abi
 
 LIB2FUNCS_EXTRA = $(MOVE_ASM)
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
 
 # We need to use -fPIC when we are using gcc to compile the routines in
 # crtstuff.c.  This is only really needed when we are going to use gcc/g++
===================================================================
Index: config/mcore/lib1.asm
--- config/mcore/lib1.asm	2000/05/15 23:14:16	1.2
+++ config/mcore/lib1.asm	2001/05/11 19:02:52
@@ -1,4 +1,4 @@
-/* libgcc1 routines for the MCore.
+/* libgcc routines for the MCore.
    Copyright (C) 1993, 1999, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/mcore/t-mcore
--- config/mcore/t-mcore	2001/05/11 17:03:02	1.2
+++ config/mcore/t-mcore	2001/05/11 19:02:52
@@ -1,8 +1,4 @@
-# Name of assembly file containing libgcc1 functions.
-# This entry must be present, but it can be empty if the target does
-# not need any assembler functions to support its code generation.
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC    = mcore/lib1.asm
 LIB1ASMFUNCS  = _divsi3 _udivsi3 _modsi3 _umodsi3
 
===================================================================
Index: config/mcore/t-mcore-pe
--- config/mcore/t-mcore-pe	2001/05/11 17:03:02	1.2
+++ config/mcore/t-mcore-pe	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
-# Name of assembly file containing libgcc1 functions.
-# This entry must be present, but it can be empty if the target does
-# not need any assembler functions to support its code generation.
-
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC    = mcore/lib1.asm
 LIB1ASMFUNCS  = _divsi3 _udivsi3 _modsi3 _umodsi3
 
===================================================================
Index: config/mips/t-bsd
--- config/mips/t-bsd	1999/08/07 05:19:55	1.3
+++ config/mips/t-bsd	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips, except we must define SYSTEM_HEADER_DIR
 # to point to the bsd43 include files.
 SYSTEM_HEADER_DIR = /bsd43/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-bsd-gas
--- config/mips/t-bsd-gas	1998/12/16 21:09:34	1.2
+++ config/mips/t-bsd-gas	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips-gas, except we must define SYSTEM_HEADER_DIR
 # to point to the bsd43 include files.
 SYSTEM_HEADER_DIR = /bsd43/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-cross64
--- config/mips/t-cross64	1999/03/01 19:15:49	1.3
+++ config/mips/t-cross64	2001/05/11 19:02:52
@@ -4,11 +4,6 @@ AR = /usr/cross64/usr/bin/ar
 
 # The rest of the file is identical to t-iris6.
 
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 = 
-CROSS_LIBGCC1 = 
-
 MULTILIB_OPTIONS=mips1/mips2/mips3/mips4
 MULTILIB_DIRNAMES=
 MULTILIB_MATCHES=
===================================================================
Index: config/mips/t-ecoff
--- config/mips/t-ecoff	2000/04/18 22:34:11	1.6
+++ config/mips/t-ecoff	2001/05/11 19:02:52
@@ -1,12 +1,5 @@
 CONFIG2_H	= $(srcdir)/config/mips/ecoff.h
 
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-
-# When building a cross compiler, put the mips16 support functions in
-# libgcc1.a.
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = mips/mips16.S
 LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
 	_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
@@ -26,8 +19,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m1
 # without the $gp register.
 TARGET_LIBGCC2_CFLAGS = -G 0
 
-# fp-bit and dp-bit are really part of libgcc1, but this will cause
-# them to be built correctly, so... [taken from t-sparclite]
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/mips/t-elf
--- config/mips/t-elf	2000/04/18 22:34:11	1.4
+++ config/mips/t-elf	2001/05/11 19:02:52
@@ -1,16 +1,9 @@
 CONFIG2_H	= $(srcdir)/config/mips/ecoff.h
 
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-
 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
 # Don't let CTOR_LIST end up in sdata section.
 CRTSTUFF_T_CFLAGS = -G 0
 
-# When building a cross compiler, put the mips16 support functions in
-# libgcc1.a.
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = mips/mips16.S
 LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
 	_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
@@ -30,8 +23,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m1
 # without the $gp register.
 TARGET_LIBGCC2_CFLAGS = -G 0
 
-# fp-bit and dp-bit are really part of libgcc1, but this will cause
-# them to be built correctly, so... [taken from t-sparclite]
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/mips/t-iris6
--- config/mips/t-iris6	2001/01/07 21:55:10	1.8
+++ config/mips/t-iris6	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 = 
-CROSS_LIBGCC1 = 
-
 # ??? If no mabi=X option given, but a mipsX option is, then should deal
 # with that.
 # ??? mabi=32 is deliberately left off the list because it doesn't work yet.
===================================================================
Index: config/mips/t-mips
--- config/mips/t-mips	Fri May 11 12:02:55 2001
+++ config/mips/t-mips	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-mips-gas
--- config/mips/t-mips-gas	Fri May 11 12:02:55 2001
+++ config/mips/t-mips-gas	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-osfrose
--- config/mips/t-osfrose	Fri May 11 12:02:55 2001
+++ config/mips/t-osfrose	Tue May  5 13:32:27 1998
@@ -1,4 +0,0 @@
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-r3900
--- config/mips/t-r3900	2000/04/18 22:34:11	1.6
+++ config/mips/t-r3900	2001/05/11 19:02:52
@@ -1,12 +1,5 @@
 CONFIG2_H	= $(srcdir)/config/mips/ecoff.h
 
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-
-# When building a cross compiler, put the mips16 support functions in
-# libgcc1.a.
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = mips/mips16.S
 LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
 	_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
@@ -26,8 +19,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m1
 # without the $gp register.
 TARGET_LIBGCC2_CFLAGS = -G 0
 
-# fp-bit and dp-bit are really part of libgcc1, but this will cause
-# them to be built correctly, so... [taken from t-sparclite]
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/mips/t-svr3
--- config/mips/t-svr3	1999/08/07 05:19:55	1.3
+++ config/mips/t-svr3	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips, except we must define SYSTEM_HEADER_DIR
 # to point to the svr3 include files.
 SYSTEM_HEADER_DIR = /sysv/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-svr3-gas
--- config/mips/t-svr3-gas	1998/12/16 21:09:44	1.2
+++ config/mips/t-svr3-gas	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips-gas, except we must define SYSTEM_HEADER_DIR
 # to point to the svr3 include files.
 SYSTEM_HEADER_DIR = /sysv/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-svr4
--- config/mips/t-svr4	1999/08/07 05:19:55	1.3
+++ config/mips/t-svr4	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips, except we must define SYSTEM_HEADER_DIR
 # to point to the svr4 include files.
 SYSTEM_HEADER_DIR = /svr4/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-svr4-gas
--- config/mips/t-svr4-gas	1998/12/16 21:09:46	1.2
+++ config/mips/t-svr4-gas	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
 # Exactly the same as t-mips-gas, except we must define SYSTEM_HEADER_DIR
 # to point to the svr4 include files.
 SYSTEM_HEADER_DIR = /svr4/usr/include
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mips/t-ultrix
--- config/mips/t-ultrix	1999/08/07 05:19:55	1.3
+++ config/mips/t-ultrix	2001/05/11 19:02:52
@@ -1,6 +1 @@
 CONFIG2_H	= $(srcdir)/config/mips/mips.h
-
-# Suppress building libgcc1.a, since the MIPS compiler port is complete
-# and does not need anything from libgcc1.a.
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/mn10200/lib1funcs.asm
--- config/mn10200/lib1funcs.asm	2000/05/15 23:14:16	1.3
+++ config/mn10200/lib1funcs.asm	2001/05/11 19:02:52
@@ -1,4 +1,4 @@
-/* libgcc1 routines for Matsushita mn10200.
+/* libgcc routines for Matsushita mn10200.
    Copyright (C) 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/mn10200/t-mn10200
--- config/mn10200/t-mn10200	2000/11/30 08:25:59	1.6
+++ config/mn10200/t-mn10200	2001/05/11 19:02:52
@@ -1,5 +1,3 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = mn10200/lib1funcs.asm
 LIB1ASMFUNCS    = _divhi3 \
 		  _modhi3 \
===================================================================
Index: config/mn10300/t-mn10300
--- config/mn10300/t-mn10300	2001/05/11 04:23:57	1.7
+++ config/mn10300/t-mn10300	2001/05/11 19:02:52
@@ -1,6 +1,3 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/pa/t-linux
--- config/pa/t-linux	2001/04/13 05:19:02	1.3
+++ config/pa/t-linux	2001/05/11 19:02:52
@@ -1,6 +1,3 @@
-LIBGCC1=libgcc1-asm.a
-CROSS_LIBGCC1=libgcc1-asm.a
-
 #Plug millicode routines into libgcc.a  We want these on both native and
 #cross compiles.
 
@@ -16,7 +13,6 @@ LIB1ASMSRC = pa/milli32.S
 CRTSTUFF_T_CFLAGS_S = -fPIC
 
 # Compile libgcc2.a as PIC.
-# This is also used when compiling libgcc1 if libgcc1 is the asm variety.
 TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1
 
 ADA_CFLAGS=-mdisable-indexing
===================================================================
Index: config/pa/t-linux64
--- config/pa/t-linux64	2001/04/13 05:19:02	1.1
+++ config/pa/t-linux64	2001/05/11 19:02:52
@@ -1,11 +1,7 @@
-LIBGCC1=libgcc1-asm.a
-CROSS_LIBGCC1=libgcc1-asm.a
-
 #Plug millicode routines into libgcc.a  We want these on both native and
 #cross compiles.
 
 LIB1ASMFUNCS =  _divI _divU _remI _remU _div_const _mulI
-
 LIB1ASMSRC = pa/milli64.S
 
 # Compile crtbeginS.o and crtendS.o as PIC.
@@ -13,5 +9,4 @@ LIB1ASMSRC = pa/milli64.S
 CRTSTUFF_T_CFLAGS_S = -fPIC
 
 # Compile libgcc2.a as PIC.
-# This is also used when compiling libgcc1 if libgcc1 is the asm variety.
 TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1
===================================================================
Index: config/pa/t-pa
--- config/pa/t-pa	2000/02/29 20:29:14	1.7
+++ config/pa/t-pa	2001/05/11 19:02:52
@@ -1,5 +1,3 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
 ADA_CFLAGS=-mdisable-indexing
 LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c
 
===================================================================
Index: config/pa/t-pa64
--- config/pa/t-pa64	2001/04/13 05:19:02	1.2
+++ config/pa/t-pa64	2001/05/11 19:02:52
@@ -1,6 +1,3 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1-asm.a
-
 LIB1ASMFUNCS =  _divI _divU _remI _remU _div_const
 LIB1ASMSRC = pa/milli64.S
 TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1
@@ -17,4 +14,3 @@ LIB2FUNCS_EXTRA=quadlib.c
 quadlib.c: $(srcdir)/config/pa/quadlib.c
 	rm -f quadlib.c
 	cp $(srcdir)/config/pa/quadlib.c .
-
===================================================================
Index: config/pa/t-pro
--- config/pa/t-pro	1999/08/05 03:27:48	1.4
+++ config/pa/t-pro	2001/05/11 19:02:52
@@ -1,10 +1,3 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
-LIB1ASMSRC =
-LIB1ASMFUNCS =
-
-LIBGCC1_TEST =
-
 ADA_CFLAGS=-mdisable-indexing
 
 LIB2FUNCS_EXTRA=lib2funcs.asm 
@@ -13,7 +6,6 @@ LIB2FUNCS_EXTRA=lib2funcs.asm 
 # floating point emulation libraries.
 FPBIT = fp-bit.c
 DPBIT = dp-bit.c
-
 
 dp-bit.c: $(srcdir)/config/fp-bit.c
 	cat $(srcdir)/config/fp-bit.c > dp-bit.c
===================================================================
Index: config/pdp11/t-pdp11
--- config/pdp11/t-pdp11	1998/12/16 21:11:28	1.2
+++ config/pdp11/t-pdp11	2001/05/11 19:02:52
@@ -1,8 +1 @@
-LIBGCC1 = libgcc1.null
-CROSS_LIBGCC1 = libgcc1.null
-
-# forget the libgcc1...
-LIBGCC1_TEST =
-
 TARGET_LIBGCC2_CFLAGS = -O2 -mfloat32
-#LIB2FUNCS_EXTRA =
===================================================================
Index: config/pj/t-pj
--- config/pj/t-pj	2000/01/05 05:57:17	1.1
+++ config/pj/t-pj	2001/05/11 19:02:52
@@ -1,7 +1,5 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = pj/lib1funcs.S
 LIB1ASMFUNCS = vhelper pjucmpdi2
-LIB2FUNCS_EXTRA =
 
 # For svr4 we build crtbegin.o and crtend.o which serve to add begin and
 # end labels to the .ctors and .dtors section when we link using gcc.
===================================================================
Index: config/rs6000/t-aix43
--- config/rs6000/t-aix43	2001/01/07 21:55:10	1.12
+++ config/rs6000/t-aix43	2001/05/11 19:02:52
@@ -1,7 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/rs6000/t-beos
--- config/rs6000/t-beos	1999/08/05 03:27:48	1.3
+++ config/rs6000/t-beos	2001/05/11 19:02:52
@@ -1,7 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/rs6000/t-darwin
--- config/rs6000/t-darwin	2001/04/12 02:12:59	1.1
+++ config/rs6000/t-darwin	2001/05/11 19:02:52
@@ -1,7 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/rs6000/t-newas
--- config/rs6000/t-newas	2001/02/25 01:06:15	1.4
+++ config/rs6000/t-newas	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/rs6000/t-ppccomm
--- config/rs6000/t-ppccomm	2001/04/09 23:43:06	1.9
+++ config/rs6000/t-ppccomm	2001/05/11 19:02:52
@@ -1,11 +1,5 @@
 # Common support for PowerPC ELF targets (both EABI and SVR4).
 
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# These are really part of libgcc1, but this will cause them to be
-# built correctly, so... [taken from t-sparclite]
 LIB2FUNCS_EXTRA = tramp.S
 
 # This one can't end up in shared libgcc
===================================================================
Index: config/rs6000/t-rs6000
--- config/rs6000/t-rs6000	2001/02/25 01:06:15	1.4
+++ config/rs6000/t-rs6000	2001/05/11 19:02:52
@@ -1,8 +1,3 @@
-# Do not build libgcc1.
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/sh/lib1funcs.asm
--- config/sh/lib1funcs.asm	2001/03/11 02:16:40	1.17
+++ config/sh/lib1funcs.asm	2001/05/11 19:02:52
@@ -25,7 +25,7 @@ along with this program; see the file CO
 the Free Software Foundation, 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
-!! libgcc1 routines for the Hitachi SH cpu.
+!! libgcc routines for the Hitachi SH cpu.
 !! Contributed by Steve Chamberlain.
 !! sac@cygnus.com
 
===================================================================
Index: config/sh/t-linux
--- config/sh/t-linux	2000/09/07 04:38:34	1.1
+++ config/sh/t-linux	2001/05/11 19:02:52
@@ -1,5 +1,4 @@
 TARGET_LIBGCC2_CFLAGS = -fpic
-LIBGCC1 = libgcc1-asm.a
 LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
   _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
   _ic_invalidate
===================================================================
Index: config/sh/t-sh
--- config/sh/t-sh	2000/09/14 20:31:01	1.8
+++ config/sh/t-sh	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sh/lib1funcs.asm
 LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
   _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr
===================================================================
Index: config/sparc/lb1spc.asm
--- config/sparc/lb1spc.asm	1998/12/16 21:13:08	1.4
+++ config/sparc/lb1spc.asm	2001/05/11 19:02:52
@@ -1,5 +1,5 @@
-/* This is an assembly language implementation of libgcc1.c for the sparc
-   processor.
+/* This is an assembly language implementation of mulsi3, divsi3, and modsi3
+   for the sparc processor.
 
    These routines are derived from the Sparc Architecture Manual, version 8,
    slightly edited to match the desired calling convention, and also to
===================================================================
Index: config/sparc/lb1spl.asm
--- config/sparc/lb1spl.asm	1998/12/16 21:13:09	1.2
+++ config/sparc/lb1spl.asm	2001/05/11 19:02:52
@@ -1,5 +1,5 @@
-/* This is an assembly language implementation of libgcc1.c for the sparclite
-   processor.
+/* This is an assembly language implementation of mulsi3, divsi3, and modsi3
+   for the sparclite processor.
 
    These routines are all from the Sparclite User's Guide, slightly edited
    to match the desired calling convention, and also to optimize them.  */
===================================================================
Index: config/sparc/t-chorus-elf
--- config/sparc/t-chorus-elf	2001/02/08 22:09:05	1.1
+++ config/sparc/t-chorus-elf	2001/05/11 19:02:52
@@ -1,12 +1,5 @@
-# we need to supply our own assembly versions of libgcc1.c files,
-# since the user may not have native 'cc' available
-
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sparc/lb1spc.asm
 LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
-
-# crt0 is built elsewhere
-LIBGCC1_TEST =
 
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
===================================================================
Index: config/sparc/t-elf
--- config/sparc/t-elf	1999/08/05 03:27:49	1.3
+++ config/sparc/t-elf	2001/05/11 19:02:52
@@ -1,13 +1,3 @@
-# we need to supply our own assembly versions of libgcc1.c files,
-# since the user may not have native 'cc' available
-
-CROSS_LIBGCC1 = libgcc1-asm.a
-LIB1ASMSRC = sparc/lb1spc.asm
-LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
-
-# crt0 is built elsewhere
-LIBGCC1_TEST =
-
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c
===================================================================
Index: config/sparc/t-sol2
--- config/sparc/t-sol2	2000/10/08 23:20:18	1.9
+++ config/sparc/t-sol2	2001/05/11 19:02:52
@@ -1,10 +1,3 @@
-# we need to supply our own assembly versions of libgcc1.c files,
-# since the user may not have native 'cc' available
-
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
-
 # gmon build rule:
 $(T)gmon.o:	$(srcdir)/config/sparc/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) stmp-int-hdrs
 	$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) \
===================================================================
Index: config/sparc/t-sp64
--- config/sparc/t-sp64	Fri May 11 12:02:55 2001
+++ config/sparc/t-sp64	Tue May  5 13:32:27 1998
@@ -1,2 +0,0 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
===================================================================
Index: config/sparc/t-sp86x
--- config/sparc/t-sp86x	1999/09/04 15:09:00	1.2
+++ config/sparc/t-sp86x	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sparc/lb1spc.asm
 LIB1ASMFUNCS = _divsi3 _modsi3
 
===================================================================
Index: config/sparc/t-sparcbare
--- config/sparc/t-sparcbare	1999/08/05 03:27:49	1.3
+++ config/sparc/t-sparcbare	2001/05/11 19:02:52
@@ -1,6 +1,5 @@
 # configuration file for a bare sparc cpu
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sparc/lb1spc.asm
 LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
 
===================================================================
Index: config/sparc/t-sparclite
--- config/sparc/t-sparclite	1999/08/05 03:27:49	1.3
+++ config/sparc/t-sparclite	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sparc/lb1spl.asm
 LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
 
===================================================================
Index: config/sparc/t-splet
--- config/sparc/t-splet	1999/08/05 03:27:49	1.4
+++ config/sparc/t-splet	2001/05/11 19:02:52
@@ -1,6 +1,5 @@
 # configuration file for a bare sparclet cpu, aout format files
 
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = sparc/lb1spc.asm
 LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
 
===================================================================
Index: config/sparc/t-sunos40
--- config/sparc/t-sunos40	Fri May 11 12:02:55 2001
+++ config/sparc/t-sunos40	Tue May  5 13:32:27 1998
@@ -1,7 +0,0 @@
-# SunOS 4.0.* 
-# /bin/as doesn't recognize the v8 instructions, so we can't do a v8
-# multilib build.
-
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
===================================================================
Index: config/sparc/t-sunos41
--- config/sparc/t-sunos41	1998/12/16 21:13:50	1.2
+++ config/sparc/t-sunos41	2001/05/11 19:02:52
@@ -1,9 +1,5 @@
 # SunOS 4.1.*
 
-LIBGCC1 =
-CROSS_LIBGCC1 =
-LIBGCC1_TEST =
-
 MULTILIB_OPTIONS = fpic/fPIC mcpu=v8
 MULTILIB_DIRNAMES = pic ucpic v8
 MULTILIB_MATCHES = mcpu?v8=mv8
===================================================================
Index: config/sparc/t-vxsparc
--- config/sparc/t-vxsparc	1998/12/16 21:13:51	1.3
+++ config/sparc/t-vxsparc	2001/05/11 19:02:52
@@ -1,10 +1,3 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# We don't want to build .umul, etc., because VxWorks provides them,
-# which means that libgcc1-test will fail.
-LIBGCC1_TEST =
-
 # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
 # does not have _exit.
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
===================================================================
Index: config/sparc/t-vxsparc64
--- config/sparc/t-vxsparc64	2001/01/02 02:53:47	1.1
+++ config/sparc/t-vxsparc64	2001/05/11 19:02:52
@@ -1,16 +1,7 @@
-LIBGCC1 =
-CROSS_LIBGCC1 =
-
-# We don't want to build .umul, etc., because VxWorks provides them,
-# which means that libgcc1-test will fail.
-LIBGCC1_TEST =
-
 # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
 # does not have _exit.
 TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
 
-# fp-bit and dp-bit are really part of libgcc1, but this will cause
-# them to be built correctly, so... [taken from t-sparclite]
 LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
 
 dp-bit.c: $(srcdir)/config/fp-bit.c
===================================================================
Index: config/v850/lib1funcs.asm
--- config/v850/lib1funcs.asm	2001/01/06 00:46:33	1.11
+++ config/v850/lib1funcs.asm	2001/05/11 19:02:52
@@ -1,4 +1,4 @@
-/* libgcc1 routines for NEC V850.
+/* libgcc routines for NEC V850.
    Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
===================================================================
Index: config/v850/t-v850
--- config/v850/t-v850	2000/11/25 00:43:32	1.6
+++ config/v850/t-v850	2001/05/11 19:02:52
@@ -1,4 +1,3 @@
-CROSS_LIBGCC1 = libgcc1-asm.a
 LIB1ASMSRC = v850/lib1funcs.asm
 LIB1ASMFUNCS	= _mulsi3 \
 		  _divsi3 \
===================================================================
Index: config/vax/t-openbsd
--- config/vax/t-openbsd	Fri May 11 12:02:55 2001
+++ config/vax/t-openbsd	Tue May  5 13:32:27 1998
@@ -1,3 +0,0 @@
-# We need urem and udiv from some kind of support library (e.g. libc) and
-# at this point we don't have that available
-LIBGCC1_TEST =
===================================================================
Index: config/vax/t-vax
--- config/vax/t-vax	Fri May 11 12:02:55 2001
+++ config/vax/t-vax	Tue May  5 13:32:27 1998
@@ -1,3 +0,0 @@
-LIBGCC1=libgcc1.null
-CROSS_LIBGCC1=libgcc1.null
-
===================================================================
Index: po/POTFILES.in
--- po/POTFILES.in	2001/05/11 17:03:02	1.43
+++ po/POTFILES.in	2001/05/11 19:02:52
@@ -181,7 +181,6 @@ config/i386/osf1elf.h
 config/i386/osf1elfgdb.h
 config/i386/osfelf.h
 config/i386/osfrose.h
-config/i386/perform.h
 config/i386/ptx4-i.h
 config/i386/rtems.h
 config/i386/rtemself.h
@@ -629,8 +628,6 @@ intl/localealias.c
 intl/textdomain.c
 jump.c
 lcm.c
-#libgcc1-test.c is used only by GCC maintainers and installers
-#libgcc1.c is part of the GCC library
 #libgcc2.c is part of the GCC library
 limitx.h
 limity.h


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]