Commit 7857f134 by Zack Weinberg Committed by Zack Weinberg

i * libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.

	* testsuite/gcc.dg/complete-port.c: New (revised version of
	libgcc1-test.c)
	* po/POTFILES.in: Remove libgcc1-test.c and libgcc1.c.

	* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
	OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
	LIB1FUNCS, and LIB1FUNCS_EXTRA.  Delete rules: libgcc1-test,
	libgcc1-test.o.  Clarify commentary now that libgcc1 no longer exists.
	* cross-make: Don't set LIBGCC1.
	* mklibgcc.in: Delete all code for building from libgcc1.c.
	Always honor LIB1ASMFUNCS if set.

	* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
	config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
	config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
	config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
	config/i386/uwin.asm, config/m68hc11/larith.asm,
	config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
	config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
	config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
	config/v850/lib1funcs.asm, config/c4x/libgcc.S:
	Delete or update references to libgcc1 in commentary.

	* config/t-libc-ok, config/t-linux, config/t-linux-aout,
	config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
	config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
	config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
	config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
	config/arm/t-semi, config/arm/t-strongarm-coff,
	config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
	config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
	config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
	config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
	config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
	config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
	config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
	config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
	config/m68k/t-m68kbare, config/m68k/t-m68kelf,
	config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
	config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
	config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
	config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
	config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
	config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
	config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
	config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
	config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
	config/mips/t-ultrix, config/mn10200/t-mn10200,
	config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
	config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
	config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
	config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
	config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
	config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
	config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
	config/sparc/t-sparclite, config/sparc/t-splet,
	config/sparc/t-sunos41, config/sparc/t-vxsparc,
	config/sparc/t-vxsparc64, config/v850/t-v850:
	Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.

	* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
	Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
	* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
	FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
	nongcc_SI_type, nongcc_word_type, or perform_*
	* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.

	* config/i386/386bsd.h, config/i386/beos-elf.h,
	config/i386/linux-aout.h, config/i386/linux-oldld.h,
	config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
	config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
	Don't include i386/perform.h.

	* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
	config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
	config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
	config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
	config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
	config/vax/t-openbsd, config/vax/t-vax: Delete.

	* config.gcc: Remove references to deleted files.
	(arm-semi-aof): Use arm/t-semi for tmake_file.

	* gcc.texi, install.texi, invoke.texi, tm.texi:
	Delete or rewrite text which is no longer relevant now that
	libgcc1 no longer exists.

	* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
	No need to set INSTALL_ASSERT_H.  (Missed in previous sweep.)

From-SVN: r42188
parent 1f98d85e
2001-05-16 Zack Weinberg <zackw@stanford.edu>
* libgcc1-test.c, libgcc1.c, config/i386/perform.h: Delete file.
* Makefile.in: Delete variables: OLDCC, CCLIBFLAGS, OLDAR,
OLDAR_FLAGS, LIBGCC1, LIBGCC1_TEST, CROSS_LIBGCC1,
LIB1FUNCS, and LIB1FUNCS_EXTRA. Delete rules: libgcc1-test,
libgcc1-test.o. Clarify commentary now that libgcc1 no longer exists.
* cross-make: Don't set LIBGCC1.
* mklibgcc.in: Delete all code for building from libgcc1.c.
Always honor LIB1ASMFUNCS if set.
* crtstuff.c, floatlib.c, longlong.h, config/fp-bit.c,
config/arc/lib1funcs.asm, config/arm/lib1funcs.asm,
config/d30v/libgcc1.asm, config/fr30/lib1funcs.asm,
config/h8300/lib1funcs.asm, config/i386/cygwin.asm,
config/i386/uwin.asm, config/m68hc11/larith.asm,
config/m68k/lb1sf68.asm, config/mcore/lib1.asm,
config/mn10200/lib1funcs.asm, config/sh/lib1funcs.asm,
config/sparc/lb1spc.asm, config/sparc/lb1spl.asm,
config/v850/lib1funcs.asm, config/c4x/libgcc.S:
Delete or update references to libgcc1 in commentary.
* config/t-libc-ok, config/t-linux, config/t-linux-aout,
config/t-netbsd, config/a29k/t-a29kbare, config/a29k/t-vx29k,
config/alpha/t-interix, config/alpha/t-osf, config/alpha/t-vms,
config/arc/t-arc, config/arm/t-arm-aout, config/arm/t-arm-coff,
config/arm/t-arm-elf, config/arm/t-linux, config/arm/t-pe,
config/arm/t-semi, config/arm/t-strongarm-coff,
config/arm/t-strongarm-elf, config/arm/t-strongarm-pe,
config/arm/t-xscale-coff, config/arm/t-xscale-elf, config/avr/t-avr,
config/c4x/t-c4x, config/d30v/t-d30v, config/fr30/t-fr30,
config/h8300/t-h8300, config/i386/t-beos, config/i386/t-cygwin,
config/i386/t-i386elf, config/i386/t-interix, config/i386/t-netware,
config/i386/t-next, config/i386/t-rtems-i386, config/i386/t-sol2,
config/i960/t-960bare, config/i960/t-vxworks960, config/ia64/t-ia64,
config/m32r/t-m32r, config/m68hc11/t-m68hc11-gas, config/m68k/t-lynx,
config/m68k/t-m68kbare, config/m68k/t-m68kelf,
config/m68k/t-mot3300-gald, config/m68k/t-mot3300-gas,
config/m68k/t-next, config/m68k/t-vxworks68, config/m88k/t-bug,
config/m88k/t-dgux, config/m88k/t-dgux-gas, config/m88k/t-dguxbcs,
config/m88k/t-luna, config/m88k/t-luna-gas, config/m88k/t-m88k,
config/m88k/t-m88k-gas, config/m88k/t-sysv4, config/mcore/t-mcore,
config/mcore/t-mcore-pe, config/mips/t-bsd, config/mips/t-bsd-gas,
config/mips/t-cross64, config/mips/t-ecoff, config/mips/t-elf,
config/mips/t-iris6, config/mips/t-r3900, config/mips/t-svr3,
config/mips/t-svr3-gas, config/mips/t-svr4, config/mips/t-svr4-gas,
config/mips/t-ultrix, config/mn10200/t-mn10200,
config/mn10300/t-mn10300, config/pa/t-linux, config/pa/t-linux64,
config/pa/t-pa, config/pa/t-pa64, config/pa/t-pro,
config/pdp11/t-pdp11, config/pj/t-pj, config/rs6000/t-aix43,
config/rs6000/t-beos, config/rs6000/t-darwin, config/rs6000/t-newas,
config/rs6000/t-ppccomm, config/rs6000/t-rs6000, config/sh/t-linux,
config/sh/t-sh, config/sparc/t-chorus-elf, config/sparc/t-elf,
config/sparc/t-sol2, config/sparc/t-sp86x, config/sparc/t-sparcbare,
config/sparc/t-sparclite, config/sparc/t-splet,
config/sparc/t-sunos41, config/sparc/t-vxsparc,
config/sparc/t-vxsparc64, config/v850/t-v850:
Don't set any of LIBGCC1, CROSS_LIBGCC1, or LIBGCC1_TEST.
* config/alpha/alpha.h, config/i386/i386.h, config/i860/i860.h:
Don't set FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, INTIFY, or FLOATIFY.
* config/d30v/d30v.h: Don't mention LIBGCC_NEEDS_DOUBLE,
FLOAT_VALUE_TYPE, FLOAT_ARG_TYPE, FLOATIFY, INTIFY,
nongcc_SI_type, nongcc_word_type, or perform_*
* config/i860/fx2800: Don't define perform_umodsi3 or perform_modsi3.
* config/i386/386bsd.h, config/i386/beos-elf.h,
config/i386/linux-aout.h, config/i386/linux-oldld.h,
config/i386/linux.h, config/i386/mach.h, config/i386/netbsd.h,
config/i386/openbsd.h, config/i386/osfrose.h, config/i386/rtemself.h:
Don't include i386/perform.h.
* config/a29k/t-a29k, config/arm/t-semiaof, config/i370/t-i370,
config/i370/t-linux, config/i370/t-mvs, config/i370/t-oe,
config/i386/t-djgpp, config/i386/t-i386bare, config/i386/t-vsta,
config/ia64/t-hpux, config/mips/t-mips, config/mips/t-mips-gas,
config/mips/t-osfrose, config/sparc/t-sp64, config/sparc/t-sunos40,
config/vax/t-openbsd, config/vax/t-vax: Delete.
* config.gcc: Remove references to deleted files.
(arm-semi-aof): Use arm/t-semi for tmake_file.
* gcc.texi, install.texi, invoke.texi, tm.texi:
Delete or rewrite text which is no longer relevant now that
libgcc1 no longer exists.
* config/t-openbsd, config/alpha/t-interix, config/i386/t-interix:
No need to set INSTALL_ASSERT_H. (Missed in previous sweep.)
2001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de> 2001-05-16 Wolfgang Bangerth <wolfgang.bangerth@iwr.uni-heidelberg.de>
Bruce Korb <bkorb@gnu.org> Bruce Korb <bkorb@gnu.org>
......
...@@ -152,20 +152,6 @@ ZLIBINC = @zlibinc@ ...@@ -152,20 +152,6 @@ ZLIBINC = @zlibinc@
# Substitution type for target's getgroups 2nd arg. # Substitution type for target's getgroups 2nd arg.
TARGET_GETGROUPS_T = @TARGET_GETGROUPS_T@ 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 # Target to use when installing include directory. Either
# install-headers-tar or install-headers-cpio. # install-headers-tar or install-headers-cpio.
INSTALL_HEADERS_DIR = @build_install_headers_dir@ INSTALL_HEADERS_DIR = @build_install_headers_dir@
...@@ -177,7 +163,7 @@ USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \ ...@@ -177,7 +163,7 @@ USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \
$(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \ $(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \
$(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS) $(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. # Usually the one we just built.
# Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS). # 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 GCC_FOR_TARGET = ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include
...@@ -368,20 +354,11 @@ VFPRINTF=@vfprintf@ ...@@ -368,20 +354,11 @@ VFPRINTF=@vfprintf@
DOPRINT=@doprint@ DOPRINT=@doprint@
STRSTR=@strstr@ 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 LIBGCC = libgcc.a
# and the rule for installing it.
INSTALL_LIBGCC = install-libgcc 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. # Options to use when compiling libgcc2.a.
# -g1 causes output of debug info only for file-scope entities. # -g1 causes output of debug info only for file-scope entities.
# we use this here because that should be enough, and also # we use this here because that should be enough, and also
...@@ -402,9 +379,6 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \ ...@@ -402,9 +379,6 @@ LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-sjlj.c
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h 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. # nm flags to list global symbols in libgcc object files.
SHLIB_NM_FLAGS = -pg SHLIB_NM_FLAGS = -pg
...@@ -436,16 +410,12 @@ EXTRA_HEADERS =@extra_headers_list@ ...@@ -436,16 +410,12 @@ EXTRA_HEADERS =@extra_headers_list@
USE_COLLECT2 = @will_use_collect2@ USE_COLLECT2 = @will_use_collect2@
# If we might be using collect2, then this variable will be set to # 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 # -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@ MAYBE_USE_COLLECT2 = @maybe_use_collect2@
# It is convenient for configure to add the assignment at the beginning, # It is convenient for configure to add the assignment at the beginning,
# so don't override it here. # so don't override it here.
USE_COLLECT2 = collect2$(exeext) 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. # List of extra C and assembler files to add to static and shared libgcc2.
# Assembler files should have names ending in `.asm'. # Assembler files should have names ending in `.asm'.
LIB2FUNCS_EXTRA = LIB2FUNCS_EXTRA =
...@@ -776,15 +746,6 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \ ...@@ -776,15 +746,6 @@ STAGESTUFF = *$(objext) insn-flags.h insn-config.h insn-codes.h \
gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk \ gcov$(exeext) *.[0-9][0-9].* *.[si] libcpp.a libbackend.a libgcc.mk \
$(LANG_STAGESTUFF) $(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. # Library members defined in libgcc2.c.
LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \ LIB2FUNCS = _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
_lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \ _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _clz \
...@@ -952,7 +913,7 @@ all.internal: start.encap rest.encap doc ...@@ -952,7 +913,7 @@ all.internal: start.encap rest.encap doc
# Note that we can compile enquire using the cross-compiler just built, # Note that we can compile enquire using the cross-compiler just built,
# although we can't run it on this machine. # although we can't run it on this machine.
all.cross: native gcc-cross cpp$(exeext) specs \ 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. # This is what to compile if making gcc with a cross-compiler.
all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
# This is what must be made before installing GCC and converting libraries. # This is what must be made before installing GCC and converting libraries.
...@@ -976,15 +937,6 @@ PROTO: proto ...@@ -976,15 +937,6 @@ PROTO: proto
# This does the things that can't be done on the host machine. # This does the things that can't be done on the host machine.
rest.cross: $(LIBGCC) specs 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. # Recompile all the language-independent object files.
# This is used only if the user explicitly asks for it. # This is used only if the user explicitly asks for it.
compilations: $(BACKEND) compilations: $(BACKEND)
...@@ -1042,11 +994,7 @@ LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) ...@@ -1042,11 +994,7 @@ LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext) libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext)
objext='$(objext)' \ objext='$(objext)' \
OLDCC='$(OLDCC)' \
LIBGCC1='$(LIBGCC1)' \
LIB1FUNCS='$(LIB1FUNCS)' \
LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \ LIB1ASMFUNCS='$(LIB1ASMFUNCS)' \
LIB1FUNCS_EXTRA='$(LIB1FUNCS_EXTRA)' \
LIB2FUNCS='$(LIB2FUNCS)' \ LIB2FUNCS='$(LIB2FUNCS)' \
LIB2FUNCS_ST='$(LIB2FUNCS_ST)' \ LIB2FUNCS_ST='$(LIB2FUNCS_ST)' \
LIB2ADD='$(LIB2ADD)' \ LIB2ADD='$(LIB2ADD)' \
...@@ -1071,10 +1019,10 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext ...@@ -1071,10 +1019,10 @@ libgcc.mk: config.status Makefile mklibgcc $(LIB2ADD) $(LIB2ADD_ST) xgcc$(exeext
# All the things that might cause us to want to recompile bits of libgcc. # 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_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 \ $(MACHMODE_H) longlong.h gbl-ctors.h config.status stmp-int-hdrs \
tsystem.h $(FPBIT) $(DPBIT) $(LIB2ADD) $(LIB2ADD_ST) $(LIB2ADDEH) \ tsystem.h $(FPBIT) $(DPBIT) $(LIB2ADD) $(LIB2ADD_ST) $(LIB2ADDEH) \
$(LIB2ADDEHDEP) $(EXTRA_PARTS) $(LIB2ADDEHDEP) $(EXTRA_PARTS) $(LIB1ASMSRC)
libgcc.a: $(LIBGCC_DEPS) libgcc.a: $(LIBGCC_DEPS)
$(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \ $(MAKE) GCC_FOR_TARGET="$(GCC_FOR_TARGET)" \
...@@ -1082,7 +1030,6 @@ libgcc.a: $(LIBGCC_DEPS) ...@@ -1082,7 +1030,6 @@ libgcc.a: $(LIBGCC_DEPS)
AR_FOR_TARGET="$(AR_FOR_TARGET)" \ AR_FOR_TARGET="$(AR_FOR_TARGET)" \
AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \ AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \ RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \
RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \ RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
...@@ -1117,7 +1064,6 @@ stmp-multilib: $(LIBGCC_DEPS) ...@@ -1117,7 +1064,6 @@ stmp-multilib: $(LIBGCC_DEPS)
AR_FOR_TARGET="$(AR_FOR_TARGET)" \ AR_FOR_TARGET="$(AR_FOR_TARGET)" \
AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \ AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \ RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)" \
RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \ RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
...@@ -2323,8 +2269,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mostlyclean ...@@ -2323,8 +2269,7 @@ mostlyclean: $(INTL_MOSTLYCLEAN) lang.mostlyclean
-rm -f $(HOST_PREFIX_1)rtl.c -rm -f $(HOST_PREFIX_1)rtl.c
-rm -f $(HOST_PREFIX_1)obstack.c -rm -f $(HOST_PREFIX_1)obstack.c
# Delete the temp files made in the course of building libgcc.a. # Delete the temp files made in the course of building libgcc.a.
-rm -f xlimits.h libgcc1-test -rm -f xlimits.h
for name in $(LIB1FUNCS); do rm -f $${name}.c; done
# Delete other built files. # Delete other built files.
-rm -f t-float.h-cross xsys-protos.hT -rm -f t-float.h-cross xsys-protos.hT
# Delete the stamp and temporary files. # Delete the stamp and temporary files.
...@@ -2650,7 +2595,6 @@ install-libgcc: libgcc.mk libgcc.a installdirs ...@@ -2650,7 +2595,6 @@ install-libgcc: libgcc.mk libgcc.a installdirs
AR_FOR_TARGET="$(AR_FOR_TARGET)" \ AR_FOR_TARGET="$(AR_FOR_TARGET)" \
AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \ AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \ RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \ NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \
...@@ -2677,7 +2621,6 @@ install-multilib: stmp-multilib installdirs ...@@ -2677,7 +2621,6 @@ install-multilib: stmp-multilib installdirs
AR_FOR_TARGET="$(AR_FOR_TARGET)" \ AR_FOR_TARGET="$(AR_FOR_TARGET)" \
AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \ AR_CREATE_FOR_TARGET="$(AR_CREATE_FOR_TARGET)" \
AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \ AR_FLAGS_FOR_TARGET="$(AR_FLAGS_FOR_TARGET)" \
OLDCC="$(OLDCC)" CCLIBFLAGS="$(CCLIBFLAGS)" \
CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \ CFLAGS="$(CFLAGS) $(WARN_CFLAGS)" \
RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \ RANLIB_TEST_FOR_TARGET="$(RANLIB_TEST_FOR_TARGET)" \
NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \ NM_FOR_TARGET="$(NM_FOR_TARGET)" AWK="$(AWK)" \
......
...@@ -517,7 +517,7 @@ arm-semi-aout | armel-semi-aout) ...@@ -517,7 +517,7 @@ arm-semi-aout | armel-semi-aout)
;; ;;
arm-semi-aof | armel-semi-aof) arm-semi-aof | armel-semi-aof)
tm_file=arm/semiaof.h tm_file=arm/semiaof.h
tmake_file=arm/t-semiaof tmake_file=arm/t-semi
;; ;;
arm*-*-netbsd*) arm*-*-netbsd*)
tm_file=arm/netbsd.h tm_file=arm/netbsd.h
...@@ -866,17 +866,15 @@ i370-*-opened*) # IBM 360/370/390 Architecture ...@@ -866,17 +866,15 @@ i370-*-opened*) # IBM 360/370/390 Architecture
xm_defines='POSIX FATAL_EXIT_CODE=12' xm_defines='POSIX FATAL_EXIT_CODE=12'
tm_file=i370/oe.h tm_file=i370/oe.h
xmake_file=i370/x-oe xmake_file=i370/x-oe
tmake_file=i370/t-oe
;; ;;
i370-*-mvs*) i370-*-mvs*)
xm_defines='POSIX FATAL_EXIT_CODE=12' xm_defines='POSIX FATAL_EXIT_CODE=12'
tm_file=i370/mvs.h tm_file=i370/mvs.h
tmake_file=i370/t-mvs
;; ;;
i370-*-linux*) i370-*-linux*)
xmake_file=x-linux xmake_file=x-linux
tm_file="i370/linux.h ${tm_file}" tm_file="i370/linux.h ${tm_file}"
tmake_file="t-linux i370/t-linux" tmake_file=t-linux
# broken_install=yes # broken_install=yes
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
# extra_parts="crtbegin.o crtend.o" # extra_parts="crtbegin.o crtend.o"
...@@ -982,12 +980,10 @@ i386-sun-sunos*) # Sun i386 roadrunner ...@@ -982,12 +980,10 @@ i386-sun-sunos*) # Sun i386 roadrunner
;; ;;
i[34567]86-wrs-vxworks*) i[34567]86-wrs-vxworks*)
tm_file=i386/vxi386.h tm_file=i386/vxi386.h
tmake_file=i386/t-i386bare
thread_file='vxworks' thread_file='vxworks'
;; ;;
i[34567]86-*-aout*) i[34567]86-*-aout*)
tm_file=i386/i386-aout.h tm_file=i386/i386-aout.h
tmake_file=i386/t-i386bare
;; ;;
i[34567]86-*-beoself* | i[34567]86-*-beos*) i[34567]86-*-beoself* | i[34567]86-*-beos*)
xm_defines=POSIX xm_defines=POSIX
...@@ -1007,11 +1003,11 @@ i[34567]86-*-bsd*) ...@@ -1007,11 +1003,11 @@ i[34567]86-*-bsd*)
# use_collect2=yes # use_collect2=yes
;; ;;
i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*) 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 tmake_file=t-freebsd
;; ;;
i[34567]86-*-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" extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd tmake_file=t-freebsd
gas=yes gas=yes
...@@ -1035,7 +1031,6 @@ i[34567]86-*-openbsd*) ...@@ -1035,7 +1031,6 @@ i[34567]86-*-openbsd*)
;; ;;
i[34567]86-*-coff*) i[34567]86-*-coff*)
tm_file=i386/i386-coff.h tm_file=i386/i386-coff.h
tmake_file=i386/t-i386bare
;; ;;
i[34567]86-*-isc*) # 80386 running ISC system i[34567]86-*-isc*) # 80386 running ISC system
xm_defines=POSIX xm_defines=POSIX
...@@ -1049,7 +1044,6 @@ i[34567]86-*-isc*) # 80386 running ISC system ...@@ -1049,7 +1044,6 @@ i[34567]86-*-isc*) # 80386 running ISC system
tmake_file=i386/t-crtstuff tmake_file=i386/t-crtstuff
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
fi fi
tmake_file="$tmake_file i386/t-i386bare"
install_headers_dir=install-headers-cpio install_headers_dir=install-headers-cpio
;; ;;
i[34567]86-*-linux*oldld*) # Intel 80386's running GNU/Linux i[34567]86-*-linux*oldld*) # Intel 80386's running GNU/Linux
...@@ -1103,7 +1097,6 @@ i[34567]86-go32-msdos | i[34567]86-*-go32*) ...@@ -1103,7 +1097,6 @@ i[34567]86-go32-msdos | i[34567]86-*-go32*)
i[34567]86-pc-msdosdjgpp*) i[34567]86-pc-msdosdjgpp*)
xm_file=i386/xm-djgpp.h xm_file=i386/xm-djgpp.h
tm_file=i386/djgpp.h tm_file=i386/djgpp.h
tmake_file=i386/t-djgpp
xmake_file=i386/x-djgpp xmake_file=i386/x-djgpp
gnu_ld=yes gnu_ld=yes
gas=yes gas=yes
...@@ -1127,7 +1120,6 @@ i[34567]86-*-lynxos*) ...@@ -1127,7 +1120,6 @@ i[34567]86-*-lynxos*)
else else
tm_file=i386/lynx-ng.h tm_file=i386/lynx-ng.h
fi fi
tmake_file=i386/t-i386bare
;; ;;
i[34567]86-*-mach*) i[34567]86-*-mach*)
tm_file=i386/mach.h tm_file=i386/mach.h
...@@ -1157,7 +1149,7 @@ i[34567]86-go32-rtems*) ...@@ -1157,7 +1149,7 @@ i[34567]86-go32-rtems*)
i[34567]86-*-rtemscoff*) i[34567]86-*-rtemscoff*)
cpu_type=i386 cpu_type=i386
tm_file=i386/rtems.h tm_file=i386/rtems.h
tmake_file="i386/t-i386bare t-rtems" tmake_file=t-rtems
if test x$enable_threads = xyes; then if test x$enable_threads = xyes; then
thread_file='rtems' thread_file='rtems'
fi fi
...@@ -1183,7 +1175,6 @@ i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5 ...@@ -1183,7 +1175,6 @@ i[34567]86-*-sco3.2v5*) # 80386 running SCO Open Server 5
else else
tmake_file=i386/t-sco5 tmake_file=i386/t-sco5
fi fi
tmake_file="$tmake_file i386/t-i386bare"
extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o" extra_parts="crti.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
;; ;;
i[34567]86-*-solaris2*) i[34567]86-*-solaris2*)
...@@ -1193,7 +1184,7 @@ i[34567]86-*-solaris2*) ...@@ -1193,7 +1184,7 @@ i[34567]86-*-solaris2*)
# Only needed if gas does not support -s # Only needed if gas does not support -s
tm_file="i386/sol2gas.h ${tm_file}" tm_file="i386/sol2gas.h ${tm_file}"
fi 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" extra_parts="crt1.o crti.o crtn.o gcrt1.o gmon.o crtbegin.o crtend.o"
xmake_file=x-svr4 xmake_file=x-svr4
if test x${enable_threads} = x; then if test x${enable_threads} = x; then
...@@ -1217,7 +1208,7 @@ i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 ...@@ -1217,7 +1208,7 @@ i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
then then
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
tmake_file="i386/t-i386bare i386/t-crtpic" tmake_file=i386/t-crtpic
xmake_file=x-svr4 xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
if test x$enable_threads = xyes; then if test x$enable_threads = xyes; then
...@@ -1231,14 +1222,14 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4 ...@@ -1231,14 +1222,14 @@ i[34567]86-*-sysv4*) # Intel 80386's running system V.4
then then
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
tmake_file="i386/t-i386bare i386/t-crtpic" tmake_file=i386/t-crtpic
xmake_file=x-svr4 xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
;; ;;
i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit i[34567]86-*-udk*) # Intel x86 on SCO UW/OSR5 Dev Kit
xm_defines=POSIX xm_defines=POSIX
tm_file=i386/udk.h 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 xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
install_headers_dir=install-headers-cpio install_headers_dir=install-headers-cpio
...@@ -1280,7 +1271,6 @@ i[34567]86-*-sysv*) # Intel 80386's running system V ...@@ -1280,7 +1271,6 @@ i[34567]86-*-sysv*) # Intel 80386's running system V
i386-*-vsta) # Intel 80386's running VSTa kernel i386-*-vsta) # Intel 80386's running VSTa kernel
xm_file=i386/xm-vsta.h xm_file=i386/xm-vsta.h
tm_file=i386/vsta.h tm_file=i386/vsta.h
tmake_file=i386/t-vsta
;; ;;
i[34567]86-*-win32) i[34567]86-*-win32)
xm_defines=POSIX xm_defines=POSIX
...@@ -1463,7 +1453,6 @@ ia64*-*-linux*) ...@@ -1463,7 +1453,6 @@ ia64*-*-linux*)
;; ;;
ia64*-*-hpux*) ia64*-*-hpux*)
tm_file="ia64/ia64.h svr4.h ia64/sysv4.h ia64/hpux.h" 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" target_cpu_default="MASK_GNU_AS"
if test x$enable_threads = xyes; then if test x$enable_threads = xyes; then
thread_file='posix' thread_file='posix'
...@@ -2035,7 +2024,6 @@ mips-sni-sysv4) ...@@ -2035,7 +2024,6 @@ mips-sni-sysv4)
tm_file=mips/sni-svr4.h tm_file=mips/sni-svr4.h
fi fi
xm_defines=POSIX xm_defines=POSIX
tmake_file=mips/t-mips-gas
if test x$gnu_ld != xyes if test x$gnu_ld != xyes
then then
use_collect2=yes use_collect2=yes
...@@ -2056,7 +2044,6 @@ mips-sgi-irix5*) # SGI System V.4., IRIX 5 ...@@ -2056,7 +2044,6 @@ mips-sgi-irix5*) # SGI System V.4., IRIX 5
xm_file=mips/xm-iris5.h xm_file=mips/xm-iris5.h
xmake_file=mips/x-iris xmake_file=mips/x-iris
# mips-tfile doesn't work yet # mips-tfile doesn't work yet
tmake_file=mips/t-mips-gas
# See comment in mips/iris5.h file. # See comment in mips/iris5.h file.
use_collect2=yes use_collect2=yes
# if test x$enable_threads = xyes; then # if test x$enable_threads = xyes; then
...@@ -2071,8 +2058,7 @@ mips-sgi-irix4loser*) # Mostly like a MIPS. ...@@ -2071,8 +2058,7 @@ mips-sgi-irix4loser*) # Mostly like a MIPS.
xm_defines=POSIX xm_defines=POSIX
xmake_file=mips/x-iris xmake_file=mips/x-iris
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2092,8 +2078,7 @@ mips-sgi-irix4*) # Mostly like a MIPS. ...@@ -2092,8 +2078,7 @@ mips-sgi-irix4*) # Mostly like a MIPS.
xm_defines=POSIX xm_defines=POSIX
xmake_file=mips/x-iris xmake_file=mips/x-iris
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2112,8 +2097,7 @@ mips-sgi-*) # Mostly like a MIPS. ...@@ -2112,8 +2097,7 @@ mips-sgi-*) # Mostly like a MIPS.
fi fi
xm_defines=POSIX xm_defines=POSIX
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2124,7 +2108,6 @@ mips-sgi-*) # Mostly like a MIPS. ...@@ -2124,7 +2108,6 @@ mips-sgi-*) # Mostly like a MIPS.
;; ;;
mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose. mips-dec-osfrose*) # Decstation running OSF/1 reference port with OSF/rose.
tm_file="mips/osfrose.h ${tm_file}" tm_file="mips/osfrose.h ${tm_file}"
tmake_file=mips/t-osfrose
extra_objs=halfpic.o extra_objs=halfpic.o
use_collect2=yes use_collect2=yes
;; ;;
...@@ -2134,8 +2117,7 @@ mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL ...@@ -2134,8 +2117,7 @@ mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
tmake_file=mips/t-ultrix tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
...@@ -2148,8 +2130,7 @@ mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL ...@@ -2148,8 +2130,7 @@ mips-dec-osf*) # Decstation running OSF/1 as shipped by DIGITAL
mips-dec-bsd*) # Decstation running 4.4 BSD mips-dec-bsd*) # Decstation running 4.4 BSD
tm_file=mips/dec-bsd.h tm_file=mips/dec-bsd.h
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
tmake_file=mips/t-ultrix tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
...@@ -2191,8 +2172,7 @@ mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news. ...@@ -2191,8 +2172,7 @@ mips-sony-bsd* | mips-sony-newsos*) # Sony NEWS 3600 or risc/news.
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2210,8 +2190,7 @@ mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0. ...@@ -2210,8 +2190,7 @@ mips-sony-sysv*) # Sony NEWS 3800 with NEWSOS5.0.
fi fi
xm_defines=POSIX xm_defines=POSIX
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2228,10 +2207,8 @@ mips-tandem-sysv4*) # Tandem S2 running NonStop UX ...@@ -2228,10 +2207,8 @@ mips-tandem-sysv4*) # Tandem S2 running NonStop UX
xm_defines=POSIX xm_defines=POSIX
if test x$gas = xyes if test x$gas = xyes
then then
tmake_file=mips/t-mips-gas
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
else else
tmake_file=mips/t-mips
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
if test x$gnu_ld != xyes if test x$gnu_ld != xyes
...@@ -2245,8 +2222,7 @@ mips-*-ultrix* | mips-dec-mach3) # Decstation. ...@@ -2245,8 +2222,7 @@ mips-*-ultrix* | mips-dec-mach3) # Decstation.
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
tmake_file=mips/t-ultrix tmake_file=mips/t-ultrix
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
...@@ -2367,8 +2343,7 @@ mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0. ...@@ -2367,8 +2343,7 @@ mips-*-riscos[56789]*) # Default MIPS RISC-OS 5.0.
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2444,8 +2419,7 @@ mips-*-*) # Default MIPS RISC-OS 4.0. ...@@ -2444,8 +2419,7 @@ mips-*-*) # Default MIPS RISC-OS 4.0.
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
fi fi
if test x$gas = xyes if test x$gas = xyes
then then :
tmake_file=mips/t-mips-gas
else else
extra_passes="mips-tfile mips-tdump" extra_passes="mips-tfile mips-tdump"
fi fi
...@@ -2969,7 +2943,6 @@ sparc-*-solaris2*) ...@@ -2969,7 +2943,6 @@ sparc-*-solaris2*)
;; ;;
sparc-*-sunos4.0*) sparc-*-sunos4.0*)
tm_file=sparc/sunos4.h tm_file=sparc/sunos4.h
tmake_file=sparc/t-sunos40
use_collect2=yes use_collect2=yes
;; ;;
sparc-*-sunos4*) sparc-*-sunos4*)
...@@ -3022,11 +2995,9 @@ sparc86x-*-elf*) ...@@ -3022,11 +2995,9 @@ sparc86x-*-elf*)
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
;; ;;
sparc64-*-aout*) sparc64-*-aout*)
tmake_file=sparc/t-sp64
tm_file=sparc/sp64-aout.h tm_file=sparc/sp64-aout.h
;; ;;
sparc64-*-elf*) sparc64-*-elf*)
tmake_file=sparc/t-sp64
tm_file=sparc/sp64-elf.h tm_file=sparc/sp64-elf.h
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
;; ;;
...@@ -3107,7 +3078,6 @@ vax-*-netbsd*) ...@@ -3107,7 +3078,6 @@ vax-*-netbsd*)
use_collect2=yes use_collect2=yes
;; ;;
vax-*-openbsd*) vax-*-openbsd*)
tmake_file="${tmake_file} vax/t-openbsd"
tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}" tm_file="vax/vax.h vax/openbsd1.h openbsd.h ${tm_file}"
float_format=vax float_format=vax
use_collect2=yes use_collect2=yes
......
LIBGCC1 =
CROSS_LIBGCC1 =
# We need crt0.o.
LIBGCC1_TEST =
LIBGCC1 =
CROSS_LIBGCC1 =
# We need crt0.o.
LIBGCC1_TEST =
# We want fine grained libraries, so use the new code to build the # We want fine grained libraries, so use the new code to build the
# floating point emulation libraries. # floating point emulation libraries.
FPBIT = fp-bit.c FPBIT = fp-bit.c
......
LIBGCC1 =
CROSS_LIBGCC1 =
# We need crt0.o.
LIBGCC1_TEST =
# We don't want to put exit in libgcc.a for VxWorks, because VxWorks # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
# does not have _exit. # does not have _exit.
TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
......
...@@ -392,23 +392,6 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */ ...@@ -392,23 +392,6 @@ extern const char *alpha_mlat_string; /* For -mmemory-latency= */
/* Define to enable software floating point emulation. */ /* Define to enable software floating point emulation. */
#define REAL_ARITHMETIC #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 the size of `int'. The default is the same as the word size. */
#define INT_TYPE_SIZE 32 #define INT_TYPE_SIZE 32
......
...@@ -4,13 +4,5 @@ ...@@ -4,13 +4,5 @@
# Even LANG_EXTRA_HEADERS may be temporary. # Even LANG_EXTRA_HEADERS may be temporary.
USER_H=$(LANG_EXTRA_HEADERS) 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 LIB1ASMSRC = alpha/lib1funcs.asm
LIB1ASMFUNCS = _divqu _divq _divlu _divl _remqu _remq _remlu _reml LIB1ASMFUNCS = _divqu _divq _divlu _divl _remqu _remq _remlu _reml
# Do not build libgcc1. Let gcc generate those functions.
LIBGCC1 =
CROSS_LIBGCC1 =
LIBGCC1_TEST =
EXTRA_HEADERS = $(srcdir)/config/alpha/va_list.h EXTRA_HEADERS = $(srcdir)/config/alpha/va_list.h
# Do not build libgcc1.
LIBGCC1 =
CROSS_LIBGCC1 =
LIB2FUNCS_EXTRA = tramp.s LIB2FUNCS_EXTRA = tramp.s
; libgcc1 routines for ARC cpu. ; libgcc routines for ARC cpu.
/* Copyright (C) 1995, 1997 Free Software Foundation, Inc. /* Copyright (C) 1995, 1997 Free Software Foundation, Inc.
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arc/lib1funcs.asm LIB1ASMSRC = arc/lib1funcs.asm
LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _divmod_tools LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _divmod_tools
......
@ libgcc1 routines for ARM cpu. @ libgcc routines for ARM cpu.
@ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk) @ Division routines, written by Richard Earnshaw, (rearnsha@armltd.co.uk)
/* Copyright 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc. /* Copyright 1995, 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
...@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib ...@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somwehere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
...@@ -77,6 +76,6 @@ LIBGCC = stmp-multilib ...@@ -77,6 +76,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somewhere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
...@@ -6,10 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0 ...@@ -6,10 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0
# Don't build enquire # Don't build enquire
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 LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
......
...@@ -6,11 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0 ...@@ -6,11 +6,6 @@ LIBGCC2_DEBUG_CFLAGS = -g0
# Don't build enquire # Don't build enquire
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 LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX _interwork_call_via_rX
......
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
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
...@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib ...@@ -30,6 +29,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somwehere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
...@@ -34,6 +33,6 @@ LIBGCC = stmp-multilib ...@@ -34,6 +33,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somewhere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func
...@@ -33,6 +32,6 @@ LIBGCC = stmp-multilib ...@@ -33,6 +32,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somwehere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
...@@ -43,6 +42,6 @@ LIBGCC = stmp-multilib ...@@ -43,6 +42,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somewhere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = arm/lib1funcs.asm LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX
...@@ -43,6 +42,6 @@ LIBGCC = stmp-multilib ...@@ -43,6 +42,6 @@ LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Currently there is a bug somewhere in GCC's alias analysis # 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. # Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline
...@@ -2,7 +2,6 @@ ...@@ -2,7 +2,6 @@
AR_FOR_TARGET = avr-ar AR_FOR_TARGET = avr-ar
RANLIB_FOR_TARGET = avr-ranlib RANLIB_FOR_TARGET = avr-ranlib
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = avr/libgcc.S LIB1ASMSRC = avr/libgcc.S
LIB1ASMFUNCS = \ LIB1ASMFUNCS = \
_mulqi3 \ _mulqi3 \
...@@ -20,9 +19,6 @@ LIB1ASMFUNCS = \ ...@@ -20,9 +19,6 @@ LIB1ASMFUNCS = \
_cleanup \ _cleanup \
_tablejump _tablejump
# libgcc...
LIBGCC1_TEST =
# We do not have the DF type. # We do not have the DF type.
# Most of the C functions in libgcc2 use almost all registers, # Most of the C functions in libgcc2 use almost all registers,
# so use -mcall-prologues for smaller code size. # so use -mcall-prologues for smaller code size.
......
/* 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. Copyright (C) 1997,98, 1999 Free Software Foundation, Inc.
Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz) Contributed by Michael Hayes (m.hayes@elec.canterbury.ac.nz)
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = c4x/libgcc.S LIB1ASMSRC = c4x/libgcc.S
LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \ LIB1ASMFUNCS = _divsf3 _divsi3 _udivsi3 _umodsi3 _modsi3 _mulsi3 \
_muldf3 _divdf3 _unsfltconst _unsfltcompare \ _muldf3 _divdf3 _unsfltconst _unsfltcompare \
...@@ -15,6 +14,3 @@ MULTILIB_EXCEPTIONS = ...@@ -15,6 +14,3 @@ MULTILIB_EXCEPTIONS =
MULTILIB_EXTRA_OPTS = MULTILIB_EXTRA_OPTS =
LIBGCC = stmp-multilib LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib INSTALL_LIBGCC = install-multilib
# Don't make libgcc1-test since require crt0.o
LIBGCC1_TEST =
...@@ -3307,76 +3307,6 @@ typedef struct machine_function ...@@ -3307,76 +3307,6 @@ typedef struct machine_function
Defined in svr4.h. */ Defined in svr4.h. */
/* #define TARGET_MEM_FUNCTIONS */ /* #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 /* Define this macro to generate code for Objective C message sending using the
calling convention of the NeXT system. This calling convention involves calling convention of the NeXT system. This calling convention involves
passing the object, the selector and the method arguments all at once to the passing the object, the selector and the method arguments all at once to the
......
/* Assembly support functions for libgcc1. /* Assembly support functions for libgcc.
* *
* Copyright (C) 1997 Free Software Foundation, Inc. * Copyright (C) 1997 Free Software Foundation, Inc.
* Contributed by Cygnus Support * Contributed by Cygnus Support
......
# Build libgcc1 from assembler sources
LIBGCC1 = libgcc1-asm.a
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = d30v/libgcc1.asm LIB1ASMSRC = d30v/libgcc1.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 LIB1ASMFUNCS = _udivsi3 _divsi3
......
/* This is a software floating point library which can be used instead of /* This is a software floating point library which can be used
the floating point routines in libgcc1.c for targets without hardware for targets without hardware floating point.
floating point.
Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001 Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 2001
Free Software Foundation, Inc. Free Software Foundation, Inc.
...@@ -57,8 +56,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -57,8 +56,7 @@ Boston, MA 02111-1307, USA. */
CMPtype: Specify the type that floating point compares should return. CMPtype: Specify the type that floating point compares should return.
This defaults to SItype, aka int. This defaults to SItype, aka int.
US_SOFTWARE_GOFAST: This makes all entry points use the same names as the 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 US Software goFast library.
the same names as libgcc1.c.
_DEBUG_BITFLOAT: This makes debugging the code a little easier, by adding _DEBUG_BITFLOAT: This makes debugging the code a little easier, by adding
two integers to the FLO_union_type. two integers to the FLO_union_type.
NO_DENORMALS: Disable handling of denormals. NO_DENORMALS: Disable handling of denormals.
......
/* libgcc1 routines for the FR30. /* libgcc routines for the FR30.
Copyright (C) 1998, 1999 Free Software Foundation, Inc. Copyright (C) 1998, 1999 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
......
# 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 LIB1ASMSRC = fr30/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3
......
;; libgcc1 routines for the Hitachi H8/300 CPU. ;; libgcc routines for the Hitachi H8/300 CPU.
;; Contributed by Steve Chamberlain <sac@cygnus.com> ;; Contributed by Steve Chamberlain <sac@cygnus.com>
/* Copyright (C) 1994, 2000 Free Software Foundation, Inc. /* Copyright (C) 1994, 2000 Free Software Foundation, Inc.
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = h8300/lib1funcs.asm LIB1ASMSRC = h8300/lib1funcs.asm
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3 LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3
......
# There is no libgcc for mvs
LIBGCC =
INSTALL_LIBGCC =
LIBGCC1_TEST =
# 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 =
# There is no libgcc for mvs
LIBGCC =
INSTALL_LIBGCC =
LIBGCC1_TEST =
# There is no libgcc for OpenEdition
LIBGCC =
INSTALL_LIBGCC =
LIBGCC1_TEST =
...@@ -5,9 +5,6 @@ ...@@ -5,9 +5,6 @@
#include "i386/gstabs.h" #include "i386/gstabs.h"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -D____386BSD____ -D__386BSD__ -DBSD_NET2 -Asystem=unix -Asystem=bsd" #define CPP_PREDEFINES "-Dunix -D____386BSD____ -D__386BSD__ -DBSD_NET2 -Asystem=unix -Asystem=bsd"
......
...@@ -134,9 +134,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -134,9 +134,6 @@ Boston, MA 02111-1307, USA. */
#undef ENDFILE_SPEC #undef ENDFILE_SPEC
#define ENDFILE_SPEC "crtend.o%s crtn.o%s" #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
/* A C statement (sans semicolon) to output to the stdio stream /* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes and alignment is ALIGN bytes. NAME whose size is SIZE bytes and alignment is ALIGN bytes.
......
/* stuff needed for libgcc1 on win32. */ /* stuff needed for libgcc on win32. */
#ifdef L_chkstk #ifdef L_chkstk
......
...@@ -3064,13 +3064,6 @@ do { long l; \ ...@@ -3064,13 +3064,6 @@ do { long l; \
} \ } \
} while (0) } 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 /* a letter which is not needed by the normal asm syntax, which
we can use for operand syntax in the extended asm */ we can use for operand syntax in the extended asm */
......
...@@ -69,6 +69,3 @@ Boston, MA 02111-1307, USA. */ ...@@ -69,6 +69,3 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC #undef LINK_SPEC
#define LINK_SPEC "-m i386linux" #define LINK_SPEC "-m i386linux"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
...@@ -70,6 +70,3 @@ Boston, MA 02111-1307, USA. */ ...@@ -70,6 +70,3 @@ Boston, MA 02111-1307, USA. */
#undef LINK_SPEC #undef LINK_SPEC
#define LINK_SPEC "" #define LINK_SPEC ""
/* Get perform_* macros to build libgcc.a. */
#include <i386/perform.h>
...@@ -143,9 +143,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -143,9 +143,6 @@ Boston, MA 02111-1307, USA. */
%{static:-static}}}" %{static:-static}}}"
#endif #endif
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
/* A C statement (sans semicolon) to output to the stdio stream /* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes and alignment is ALIGN bytes. NAME whose size is SIZE bytes and alignment is ALIGN bytes.
......
...@@ -6,9 +6,6 @@ ...@@ -6,9 +6,6 @@
#include "i386/gstabs.h" #include "i386/gstabs.h"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -DMACH -Asystem=unix -Asystem=mach" #define CPP_PREDEFINES "-Dunix -DMACH -Asystem=unix -Asystem=mach"
......
...@@ -3,9 +3,6 @@ ...@@ -3,9 +3,6 @@
#include <i386/gstabs.h> #include <i386/gstabs.h>
/* Get perform_* macros to build libgcc.a. */
#include <i386/perform.h>
/* Get generic NetBSD definitions. */ /* Get generic NetBSD definitions. */
#include <netbsd.h> #include <netbsd.h>
......
...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */
#include <i386/gstabs.h> #include <i386/gstabs.h>
/* Get perform_* macros to build libgcc.a. */
#include <i386/perform.h>
/* Get generic OpenBSD definitions. */ /* Get generic OpenBSD definitions. */
#define OBSD_OLD_GAS #define OBSD_OLD_GAS
#include <openbsd.h> #include <openbsd.h>
......
...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,9 +23,6 @@ Boston, MA 02111-1307, USA. */
#include "halfpic.h" #include "halfpic.h"
#include "i386/gstabs.h" #include "i386/gstabs.h"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
#define OSF_OS #define OSF_OS
#undef WORD_SWITCH_TAKES_ARG #undef WORD_SWITCH_TAKES_ARG
......
/* 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; \
}
...@@ -86,9 +86,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -86,9 +86,6 @@ Boston, MA 02111-1307, USA. */
#undef CPP_PREDEFINES #undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Drtems -D__rtems__ -Asystem=rtems" #define CPP_PREDEFINES "-Drtems -D__rtems__ -Asystem=rtems"
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
/* A C statement (sans semicolon) to output to the stdio stream /* A C statement (sans semicolon) to output to the stdio stream
FILE the assembler definition of uninitialized global DECL named FILE the assembler definition of uninitialized global DECL named
NAME whose size is SIZE bytes and alignment is ALIGN bytes. NAME whose size is SIZE bytes and alignment is ALIGN bytes.
......
# Do not build libgcc1.
LIBGCC1 =
CROSS_LIBGCC1 =
# There are system headers elsewhere, but these are the ones that # There are system headers elsewhere, but these are the ones that
# we are most likely to want to apply any fixes to. # we are most likely to want to apply any fixes to.
SYSTEM_HEADER_DIR = /boot/develop/headers/posix SYSTEM_HEADER_DIR = /boot/develop/headers/posix
......
LIBGCC1 = libgcc1-asm.a
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = i386/cygwin.asm LIB1ASMSRC = i386/cygwin.asm
LIB1ASMFUNCS = _chkstk LIB1ASMFUNCS = _chkstk
......
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
# The i386 md has all of these taken care of, according to sef.
LIBGCC1 =
CROSS_LIBGCC1 =
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
# For svr4 we build crtbegin.o and crtend.o which serve to add begin and # 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. # end labels to the .ctors and .dtors section when we link using gcc.
......
# t-interix
LIBGCC1 = libgcc1-asm.a
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = i386/cygwin.asm LIB1ASMSRC = i386/cygwin.asm
LIB1ASMFUNCS = _chkstk LIB1ASMFUNCS = _chkstk
...@@ -11,6 +7,3 @@ interix.o: $(srcdir)/config/i386/interix.c ...@@ -11,6 +7,3 @@ interix.o: $(srcdir)/config/i386/interix.c
# System headers will track gcc's needs. # System headers will track gcc's needs.
# Even LANG_EXTRA_HEADERS may be temporary. # Even LANG_EXTRA_HEADERS may be temporary.
USER_H=$(LANG_EXTRA_HEADERS) USER_H=$(LANG_EXTRA_HEADERS)
# We don't want this one either.
INSTALL_ASSERT_H=
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
# Our header files are supposed to be correct, nein? # Our header files are supposed to be correct, nein?
STMP_FIXPROTO = STMP_FIXPROTO =
# 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. # Specify other dirs of system header files to be fixed.
OTHER_FIXINCLUDES_DIRS= /LocalDeveloper/Headers OTHER_FIXINCLUDES_DIRS= /LocalDeveloper/Headers
......
...@@ -5,9 +5,6 @@ ...@@ -5,9 +5,6 @@
# version of these files. # version of these files.
# #
LIBGCC1 =
CROSS_LIBGCC1 =
crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES) crti.o: $(srcdir)/config/i386/sol2-ci.asm $(GCC_PASSES)
sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s sed -e '/^!/d' <$(srcdir)/config/i386/sol2-ci.asm >crti.s
$(GCC_FOR_TARGET) -c -o crti.o crti.s $(GCC_FOR_TARGET) -c -o crti.o crti.s
......
# 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 build rule:
gmon.o: $(srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H) gmon.o: $(srcdir)/config/i386/gmon-sol2.c $(GCC_PASSES) $(CONFIG_H)
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) \ $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) \
......
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
/* stuff needed for libgcc1 on win32. */ /* stuff needed for libgcc on win32. */
#ifdef L_chkstk #ifdef L_chkstk
......
...@@ -235,19 +235,13 @@ Boston, MA 02111-1307, USA. */ ...@@ -235,19 +235,13 @@ Boston, MA 02111-1307, USA. */
/* Undefine some things defined in i860.h because the native C compiler /* 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, on the FX/2800 emits code to do these operations inline. For GCC,
we will use the default implementation of these things... i.e. 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 DIVSI3_LIBCALL
#undef UDIVSI3_LIBCALL #undef UDIVSI3_LIBCALL
#undef REMSI3_LIBCALL #undef REMSI3_LIBCALL
#undef UREMSI3_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... */ /* Global pointer needs to be 8 byte aligned? Link error if not... */
#define DATA_ALIGNMENT(dummy,align) \ #define DATA_ALIGNMENT(dummy,align) \
......
...@@ -1372,24 +1372,6 @@ extern const char *i860_reg_prefix; ...@@ -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 /* Optionally define this if you have added predicates to
`MACHINE.c'. This macro is called within an initializer of an `MACHINE.c'. This macro is called within an initializer of an
array of structures. The first field in the structure is the array of structures. The first field in the structure is the
......
LIBGCC1 =
CROSS_LIBGCC1 =
LIB2FUNCS_EXTRA = xp-bit.c LIB2FUNCS_EXTRA = xp-bit.c
# We want fine grained libraries, so use the new code to build the # We want fine grained libraries, so use the new code to build the
......
LIBGCC1 =
CROSS_LIBGCC1 =
# We don't want to put exit in libgcc.a for VxWorks, because VxWorks # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
# does not have _exit. # does not have _exit.
TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
......
# 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 =
# 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 LIB1ASMSRC = ia64/lib1funcs.asm
# ??? We change the names of the DImode div/mod files so that they won't # ??? We change the names of the DImode div/mod files so that they won't
......
# lib1funcs.asm is currently empty.
CROSS_LIBGCC1 =
# We want fine grained libraries, so use the new code to build the # We want fine grained libraries, so use the new code to build the
# floating point emulation libraries. # floating point emulation libraries.
FPBIT = fp-bit.c FPBIT = fp-bit.c
......
/* libgcc1 routines for M68HC11 & M68HC12. /* libgcc routines for M68HC11 & M68HC12.
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
......
...@@ -15,7 +15,6 @@ RANLIB_FOR_TARGET = ` \ ...@@ -15,7 +15,6 @@ RANLIB_FOR_TARGET = ` \
T_CPPFLAGS = -DUSE_GAS T_CPPFLAGS = -DUSE_GAS
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68hc11/larith.asm LIB1ASMSRC = m68hc11/larith.asm
LIB1ASMFUNCS = _mulsi3 \ LIB1ASMFUNCS = _mulsi3 \
_mulqi3 _ashlsi3 _ashrsi3 _lshrsi3 \ _mulqi3 _ashlsi3 _ashrsi3 _lshrsi3 \
......
/* 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. Copyright (C) 1994, 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 _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 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
......
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 _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 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
......
T_CPPFLAGS = -DUSE_GAS -DUSE_GLD T_CPPFLAGS = -DUSE_GAS -DUSE_GLD
TARGET_LIBGCC2_CFLAGS = -DUSE_GAS TARGET_LIBGCC2_CFLAGS = -DUSE_GAS
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 _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 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
......
T_CPPFLAGS = -DUSE_GAS T_CPPFLAGS = -DUSE_GAS
TARGET_LIBGCC2_CFLAGS = -DUSE_GAS TARGET_LIBGCC2_CFLAGS = -DUSE_GAS
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \ _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 _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 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
......
# 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 nextstep.o: $(srcdir)/config/nextstep.c $(CONFIG_H) flags.h tree.h
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
CROSS_LIBGCC1 = libgcc1-asm.a
LIB1ASMSRC = m68k/lb1sf68.asm LIB1ASMSRC = m68k/lb1sf68.asm
LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \ _double _float _floatex \
...@@ -9,8 +8,6 @@ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \ ...@@ -9,8 +8,6 @@ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
# does not have _exit. # does not have _exit.
TARGET_LIBGCC2_CFLAGS = -Dexit=unused_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 LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
......
...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
# In a coff environment, a link script is required for ctors and dtors. # In a coff environment, a link script is required for ctors and dtors.
m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld
......
...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
T_CPPFLAGS = -DUSE_GAS T_CPPFLAGS = -DUSE_GAS
# In a coff environment, a link script is required. # In a coff environment, a link script is required.
......
...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
# In a coff environment, a link script is required for ctors and dtors. # In a coff environment, a link script is required for ctors and dtors.
m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld m88kdgux.ld: $(srcdir)/config/m88k/dgux.ld
......
...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh -no-tdesc $(srcdir)/config/m88k/m88k-move.sh -no-tdesc
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
...@@ -8,6 +8,4 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,6 +8,4 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(SHELL) $(srcdir)/config/m88k/m88k-move.sh -no-tdesc $(SHELL) $(srcdir)/config/m88k/m88k-move.sh -no-tdesc
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
T_CPPFLAGS = -DUSE_GAS T_CPPFLAGS = -DUSE_GAS
...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,5 +8,3 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -8,8 +8,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh $(srcdir)/config/m88k/m88k-move.sh
LIB2FUNCS_EXTRA = $(MOVE_ASM) LIB2FUNCS_EXTRA = $(MOVE_ASM)
LIBGCC1 = libgcc1.null
CROSS_LIBGCC1 = libgcc1.null
T_CPPFLAGS = -DUSE_GAS T_CPPFLAGS = -DUSE_GAS
# For svr4 we build crtbegin.o and crtend.o which serve to add begin and # For svr4 we build crtbegin.o and crtend.o which serve to add begin and
......
...@@ -10,8 +10,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh ...@@ -10,8 +10,6 @@ $(MOVE_ASM): $(srcdir)/config/m88k/m88k-move.sh
$(srcdir)/config/m88k/m88k-move.sh -abi $(srcdir)/config/m88k/m88k-move.sh -abi
LIB2FUNCS_EXTRA = $(MOVE_ASM) 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 # 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++ # crtstuff.c. This is only really needed when we are going to use gcc/g++
......
/* libgcc1 routines for the MCore. /* libgcc routines for the MCore.
Copyright (C) 1993, 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1993, 1999, 2000 Free Software Foundation, Inc.
This file is part of GNU CC. This file is part of GNU CC.
......
# 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 LIB1ASMSRC = mcore/lib1.asm
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3 LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
......
# 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 LIB1ASMSRC = mcore/lib1.asm
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3 LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
......
# Exactly the same as t-mips, except we must define SYSTEM_HEADER_DIR # Exactly the same as t-mips, except we must define SYSTEM_HEADER_DIR
# to point to the bsd43 include files. # to point to the bsd43 include files.
SYSTEM_HEADER_DIR = /bsd43/usr/include 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 =
# Exactly the same as t-mips-gas, except we must define SYSTEM_HEADER_DIR # Exactly the same as t-mips-gas, except we must define SYSTEM_HEADER_DIR
# to point to the bsd43 include files. # to point to the bsd43 include files.
SYSTEM_HEADER_DIR = /bsd43/usr/include 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 =
...@@ -4,11 +4,6 @@ AR = /usr/cross64/usr/bin/ar ...@@ -4,11 +4,6 @@ AR = /usr/cross64/usr/bin/ar
# The rest of the file is identical to t-iris6. # 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_OPTIONS=mips1/mips2/mips3/mips4
MULTILIB_DIRNAMES= MULTILIB_DIRNAMES=
MULTILIB_MATCHES= MULTILIB_MATCHES=
......
CONFIG2_H = $(srcdir)/config/mips/ecoff.h 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 LIB1ASMSRC = mips/mips16.S
LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
...@@ -26,8 +19,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ ...@@ -26,8 +19,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register. # without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0 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 # We want fine grained libraries, so use the new code to build the
# floating point emulation libraries. # floating point emulation libraries.
FPBIT = fp-bit.c FPBIT = fp-bit.c
......
CONFIG2_H = $(srcdir)/config/mips/ecoff.h 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 EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o
# Don't let CTOR_LIST end up in sdata section. # Don't let CTOR_LIST end up in sdata section.
CRTSTUFF_T_CFLAGS = -G 0 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 LIB1ASMSRC = mips/mips16.S
LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
_m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \ _m16eqsf2 _m16nesf2 _m16gtsf2 _m16gesf2 _m16lesf2 _m16ltsf2 \
...@@ -30,8 +23,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \ ...@@ -30,8 +23,6 @@ LIB1ASMFUNCS = _m16addsf3 _m16subsf3 _m16mulsf3 _m16divsf3 \
# without the $gp register. # without the $gp register.
TARGET_LIBGCC2_CFLAGS = -G 0 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 # We want fine grained libraries, so use the new code to build the
# floating point emulation libraries. # floating point emulation libraries.
FPBIT = fp-bit.c FPBIT = fp-bit.c
......
# 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 # ??? If no mabi=X option given, but a mipsX option is, then should deal
# with that. # with that.
# ??? mabi=32 is deliberately left off the list because it doesn't work yet. # ??? mabi=32 is deliberately left off the list because it doesn't work yet.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment