summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-02 15:23:48 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-11-02 15:23:48 +0000
commit4dc4ff49a2623f2de879f7581b2b39445701c999 (patch)
treea6dbc75c1a7630ada3b2b9cf8cb8ab6681e223c0
parent9213d2eb44a8b9bcc432b57e246d9b52d5bdc949 (diff)
downloadgcc-4dc4ff49a2623f2de879f7581b2b39445701c999.tar.gz
Move libgcc2 to toplevel libgcc
toplevel: * Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES. * Makefile.in: Regenerate. config: * mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove. gcc: * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS) (LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA) (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET) (INCLUDES_FOR_TARGET): Remove. (LIBGCC2_CFLAGS): Don't export. (LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify): Remove. (libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies. (libgcc.mvars): Likewise. Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS, TARGET_LIBGCC2_CFLAGS. Emit GTHREAD_FLAGS. * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc. * config/darwin-64.c: Move to ../libgcc/config. * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c, config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c, config/udivmodsi4.c: Move to ../libgcc/config. * config/gthr-posix.c: Move to ../libgcc/config/alpha. * config/memcmp.c, config/memcpy.c, config/memmove.c, config/memset.c: Move to ../libgcc/config. * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove. * config/t-freebsd: Remove. * config/t-freebsd-thread: Move to ../libgcc/config. * config/t-libgcc-pic: Move to ../libgcc/config. * config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove. * config/t-linux: Remove. * config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC): Remove * config/t-openbsd-thread: Move to ../libgcc/config. * config/t-rtems (LIBGCC2_INCLUDES): Remove. * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove. * config/t-svr4: Remove. * config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS) (LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove. * config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config. * config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S. * config/alpha/t-alpha, config/alpha/t-ieee: Remove. * config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC): Remove. * config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha. * config/arm/bpabi.c, config/arm/unaligned-funcs.c, config/arm/fp16.c, config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm. * config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC) (TARGET_LIBGCC2_CFLAGS): Remove. * config/arm/t-bpabi, config/arm/t-linux: Remove. * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS) (LIB2FUNCS_STATIC_EXTRA): Remove. * config/arm/t-netbsd: Remove. * config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC) (TARGET_LIBGCC2_CFLAGS): Remove. * config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove. * config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC) (TARGET_LIBGCC2_CFLAGS): Remove. * config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS) (LIBGCC, INSTALL_LIBGCC): Remove. * config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove. * config/bfin/t-bfin-linux: Likewise. * config/bfin/t-bfin-uclinux: Likewise. * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c, config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c, config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c, config/c6x/ltf.c: Move to ../libgcc/config/c6x. * config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA): Remove. * config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove. * config/cris/arit.c: Move to ../libgcc/config/cris. * config/cris/cris_abi_symbol.c: Remove. * config/cris/cris.h: Remove obsolete comment. * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S. * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC) ($(LIB2FUNCS_EXTRA)): Remove. * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC) (LIBGCC): Remove. * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove. * config/fr30/t-fr30: Remove. * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c, config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c, config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move to ../libgcc/config/frv. * config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS) (cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c) (ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove. * config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove. * config/h8300/clzhi2.c, config/h8300/ctzhi2.c, config/h8300/fixunssfsi.c, config/h8300/parityhi2.c, config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300. * config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS) (LIBGCC, INSTALL_LIBGCC): Remove. * config/i386/gthr-win32.c: Move to ../libgcc/config/i386. * config/i386/t-cygming (LIBGCC2_INCLUDES): Remove. * config/i386/t-cygwin: Remove. * config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA) (LIB2FUNCS_EXCLUDE): Remove. * config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA) (LIBGCC, INSTALL_LIBGCC): Remove. * config/i386/t-gthr-win32: Move to ../libgcc/config/i386. * config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove. * config/i386/t-mingw-w32: Likewise. * config/i386/t-mingw-w64: Likewise. * config/i386/t-openbsd: Likewise. * config/i386/t-nto: Remove. * config/ia64/quadlib.c: Move to ../libgcc/config/ia64. * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA) (quadlib.c): Remove. * config/ia64/t-ia64: Remove comment. * config/iq2000/lib2extra-funcs.c: Move to ../libgcc/config/iq2000/lib2funcs.c. * config/iq2000/t-iq2000: Remove. * config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c. * config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c. * config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove. * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove. * config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC) (INSTALL_LIBGCC): Remove. * config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k. * config/m68k/t-floatlib: Remove. * config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove. * config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove. Fix typo. (LIBGCC, INSTALL_LIBGCC): Remove. * config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c. * config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c. * config/mep/t-mep (LIB2FUNCS_EXTRA): Remove. * config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC) (INSTALL_LIBGCC): Remove. * config/mips/t-isa3264: Likewise. * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove. * config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC) (INSTALL_LIBGCC): Remove. * config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove. * config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC) (INSTALL_LIBGCC): Remove. * config/mips/t-vr (TARGET_LIBGCC2_CFLAGS) (LIB2FUNCS_STATIC_EXTRA): Remove. * config/mips/vr4120-div.S: Move to ../libgcc/config/mips. * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove. * config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove. * config/pa/fptr.c, config/pa/linux-atomic.c: Move to ../libgcc/config/pa. * config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S. * config/pa/quadlib.c: Move to ../libgcc/config/pa. * config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove. * config/pa/t-linux, config/pa/t-linux64: Remove. * config/pa/t-pa-hpux, config/pa/t-pa-hpux10, config/pa/t-pa-hpux11, config/pa/t-pa64: Remove. * config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA): Remove. * config/picochip/libgccExtras: Move to ../libgcc/config/picochip. * config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET) (TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove. * config/rs6000/crtresfpr.asm: Move to ../libgcc/config/rs6000/crtresfpr.S. * config/rs6000/crtresgpr.asm: Move to ../libgcc/config/rs6000/crtresgpr.S. * config/rs6000/crtresxfpr.asm: Move to ../libgcc/config/rs6000/crtresxfpr.S. * config/rs6000/crtresxgpr.asm: Move to ../libgcc/config/rs6000/crtresxgpr.S. * config/rs6000/crtsavfpr.asm: Move to ../libgcc/config/rs6000/crtsavfpr.S. * config/rs6000/crtsavgpr.asm: Move to ../libgcc/config/rs6000/crtsavgpr.S. * config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000. * config/rs6000/darwin-fpsave.asm: Move to ../libgcc/config/rs6000/darwin-fpsave.S. * config/rs6000/darwin-gpsave.asm: Move to ../libgcc/config/rs6000/darwin-gpsave.S. * config/rs6000/darwin-tramp.asm: Move to ../libgcc/config/rs6000/darwin-tramp.S. * config/rs6000/darwin-vecsave.asm: Move to ../libgcc/config/rs6000/darwin-vecsave.S. * config/rs6000/darwin-world.asm: Move to ../libgcc/config/rs6000/darwin-world.S. * config/rs6000/e500crtres32gpr.asm: Move to ../libgcc/config/rs6000/e500crtres32gpr.S. * config/rs6000/e500crtres64gpr.asm: Move to ../libgcc/config/rs6000/e500crtres64gpr.S. * config/rs6000/e500crtres64gprctr.asm: Move to ../libgcc/config/rs6000/e500crtres64gprctr.S. * config/rs6000/e500crtrest32gpr.asm: Move to ../libgcc/config/rs6000/e500crtrest32gpr.S. * config/rs6000/e500crtrest64gpr.asm: Move to ../libgcc/config/rs6000/e500crtrest64gpr.S. * config/rs6000/e500crtresx32gpr.asm: Move to ../libgcc/config/rs6000/e500crtresx32gpr.S. * config/rs6000/e500crtresx64gpr.asm: Move to ../libgcc/config/rs6000/e500crtresx64gpr.S. * config/rs6000/e500crtsav32gpr.asm: Move to ../libgcc/config/rs6000/e500crtsav32gpr.S. * config/rs6000/e500crtsav64gpr.asm: Move to ../libgcc/config/rs6000/e500crtsav64gpr.S. * config/rs6000/e500crtsav64gprctr.asm: Move to ../libgcc/config/rs6000/e500crtsav64gprctr.S. * config/rs6000/e500crtsavg32gpr.asm: Move to ../libgcc/config/rs6000/e500crtsavg32gpr.S. * config/rs6000/e500crtsavg64gpr.asm: Move to ../libgcc/config/rs6000/e500crtsavg64gpr.S. * config/rs6000/e500crtsavg64gprctr.asm: Move to ../libgcc/config/rs6000/e500crtsavg64gprctr.S. * config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S. * config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA) (TARGET_LIBGCC2_CFLAGS): Remove. * config/rs6000/t-aix52: Likewise. * config/rs6000/t-darwin: Remove. * config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS) (LIB2FUNCS_EXTRA): Remove. * config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove. * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove. * config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC) (INSTALL_LIBGCC): Remove. * config/rs6000/t-netbsd (LIB2FUNCS_EXTRA) (LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S) (crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC) (INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext)) (($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext), $(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove. * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA) (LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove. * config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove. * config/rs6000/t-vxworks: Remove comment. * config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S. * config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove. * config/sh/linux-atomic.asm: Move to ../libgcc/config/sh/linux-atomic.S. * config/sh/t-linux (LIB2FUNCS_EXTRA): Remove. * config/sh/t-netbsd: Remove. * config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC): Remove. * config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove. * config/sparc/t-leon: Likewise. * config/sparc/t-leon3: Likewise. * config/sparc/t-linux64: Likewise. * config/sparc/t-netbsd64: Fix typo. Remove comment. * config/spu/divmodti4.c, config/spu/divv2df3.c, config/spu/float_disf.c, config/spu/float_unsdidf.c, config/spu/float_unsdisf.c, config/spu/float_unssidf.c, config/spu/mfc_multi_tag_release.c, config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c, config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c, config/spu/multi3.c: Move to ../libgcc/config/spu. * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE) (LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC) (INSTALL_LIBGCC): Remove. * config/stormy16/stormy16-lib2.c: Move to ../libgcc/config/stormy16/lib2.c. * config/stormy16/stormy16-lib2-ashlsi3.c: Move to ../libgcc/config/stormy16/ashlsi3.c. * config/stormy16/stormy16-lib2-ashrsi3.c: Move to ../libgcc/config/stormy16/ashrsi3.c. * config/stormy16/stormy16-lib2-clzhi2.c: Move to ../libgcc/config/stormy16/clzhi2.c. * config/stormy16/stormy16-lib2-cmpsi2.c: Move to ../libgcc/config/stormy16/cmpsi2.c. * config/stormy16/stormy16-lib2-ctzhi2.c: Move to ../libgcc/config/stormy16/ctzhi2.c. * config/stormy16/stormy16-lib2-divsi3.c: Move to ../libgcc/config/stormy16/divsi3.c. * config/stormy16/stormy16-lib2-ffshi2.c: Move to ../libgcc/config/stormy16/ffshi2.c. * config/stormy16/stormy16-lib2-lshrsi3.c: Move to ../libgcc/config/stormy16/lshrsi3.c. * config/stormy16/stormy16-lib2-modsi3.c: Move to ../libgcc/config/stormy16/modsi3.c. * config/stormy16/stormy16-lib2-parityhi2.c: Move to ../libgcc/config/stormy16/parityhi2.c. * config/stormy16/stormy16-lib2-popcounthi2.c: Move to ../libgcc/config/stormy16/popcounthi2.c. * config/stormy16/stormy16-lib2-ucmpsi2.c: Move to ../libgcc/config/stormy16/ucmpsi2.c. * config/stormy16/stormy16-lib2-udivmodsi4.c: Move to ../libgcc/config/stormy16/udivmodsi4.c. * config/stormy16/stormy16-lib2-udivsi3.c: Move to ../libgcc/config/stormy16/udivsi3.c. * config/stormy16/stormy16-lib2-umodsi3.c: Move to ../libgcc/config/stormy16/umodsi3.c. * config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16. * config/v850/t-v850 (INSTALL_LIBGCC): Remove. * config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa. * config/xtensa/t-elf: Remove. * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove. * config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread from tmake_file. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file. (*-*-netbsd*): Remove t-libgcc-pic from tmake_file. (*-*-openbsd*): Likewise. Remove t-openbsd-thread for posix threads. (alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee from tmake_file. (alpha*-*-freebsd*): Likewise. (alpha*-*-netbsd*): Likewise. (alpha*-*-openbsd*): Likewise. (alpha64-dec-*vms*): Likewise. (alpha*-dec-*vms*): Likewise. (arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file. (arm*-*-linux*): Remove t-linux from tmake_file. Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi. (arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for arm*-*-uclinux*eabi. (arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from tmake_file for arm*-*-eabi*. (fr30-*-elf): Remove tmake_file. (hppa*64*-*-linux*): Remove tmake_file. (hppa*-*-linux*): Likewise. (hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from tmake_file. (hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file. (hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from tmake_file. (i[34567]86-*-elf*): Remove tmake_file. (x86_64-*-elf*): Likewise. (i[34567]86-*-nto-qnx*): Likewise. (i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file. (i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32 from tmake_file if using win32 threads. (iq2000*-*-elf*): Remove tmake-file. (microblaze*-linux*): Likewise. (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*) (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*) (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*) (sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd. (xtensa*-*-elf*): Remove tmake_file. gcc/po: * EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h) (longlong.h): Remove. libgcc: * configure.ac: Include ../config/picflag.m4. (GCC_PICFLAG): Call it. Substitute. * configure: Regenerate. * Makefile.in (gcc_srcdir): Remove. (LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES) (HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE) (LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set. ($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o)) ($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c. Use $<. Remove comment. * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files. * siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to refer to libgcc2.c. Use $<. * config/darwin-64.c: New file. * config/darwin-crt3.c: Remove comment. * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c, config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c, config/udivmodsi4.c: New files. * config/memcmp.c, config/memcpy.c, config/memmove.c, config/memset.c: New files. * config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG). * config/t-darwin (HOST_LIBGCC2_CFLAGS): Set. * config/t-freebsd-thread, config/t-libgcc-pic: New files. * config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set. * config/t-openbsd-thread: New file. * config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove. * config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files. * config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files. * config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to qrnnd.S. Adapt filename. * config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha to refer to gthr-posix.c. * config/alpha/t-vms (LIB2ADD): Set. * config/alpha/vms-gcc_shell_handler.c: New file. * config/arm/bpabi.c, config/arm/fp16.c, config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c, config/arm/unaligned-funcs.c: New files. * config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set. * config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set. * config/arm/t-linux: Likewise. * config/arm/t-linux-eabi (LIB2ADD_ST): Add. * config/arm/t-netbsd: New file. * config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set. * config/arm/t-symbian (LIB2ADD_ST): Set. * config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set. * config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/bfin/t-elf: New file. * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c, config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c, config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c, config/c6x/ltf.c: New files. * config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD) (HOST_LIBGCC2_CFLAGS): Set. * config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set. (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris: New files. * config/cris/t-elfmulti (LIB2ADD_ST): Set. * config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove. * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c, config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c, config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New files. * config/frv/t-frv (LIB2ADD): Set. * config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/h8300/clzhi2.c, config/h8300/ctzhi2.c, config/h8300/fixunssfsi.c, config/h8300/parityhi2.c, config/h8300/popcounthi2.c: New files. * config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set. * config/i386/gthr-win32.c: New file. * config/i386/t-cygming (LIBGCC2_INCLUDES): Set. * config/i386/t-cygwin: Likewise. * config/i386/t-darwin, config/i386/t-darwin64, config/i386/t-gthr-win32, config/i386/t-interix: New files. * config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set. (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/ia64/quadlib.c: New file. * config/ia64/t-hpux (LIB2ADD): Set. * config/ia64/t-ia64: Add comment. * config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files. * config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). (HOST_LIBGCC2_CFLAGS): Append, remove -fPIC. * config/m32c/lib2funcs.c, config/m32c/trapv.c: New files. * config/m32c/t-m32c (LIB2ADD): Set. * config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set. * config/m32r/t-m32r: Likewise. * config/m68k/fpgnulib.c: New file. * config/m68k/t-floatlib (LIB2ADD): Set. (xfgnulib.c): New target. * config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set. * config/mep/lib2funcs.c, config/mep/tramp.c: New files. * config/mep/t-mep (LIB2ADD): Set. * config/microblaze/divsi3.asm: Rename to divsi3.S. * config/microblaze/moddi3.asm: Rename to moddi3.S. * config/microblaze/modsi3.asm: Rename to modsi3.S. * config/microblaze/muldi3_hard.asm: Rename to hard.S. * config/microblaze/mulsi3.asm: Rename to mulsi3.S. * config/microblaze/stack_overflow_exit.asm: Rename to exit.S. * config/microblaze/udivsi3.asm: Rename to udivsi3.S. * config/microblaze/umodsi3.asm: Rename to umodsi3.S. * config/microblaze/t-microblaze (LIB2ADD): Reflect this. * config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S: New files. * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set. * config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set. * config/pa/fptr.c, config/pa/lib2funcs.S, config/pa/linux-atomic.c, config/pa/quadlib.c: New files. * config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set. (LIB2ADD, LIB2ADD_ST): Set. * config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files. * config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST): Set. * config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set. * config/pdp11/t-pdp11: New file. * config/picochip/libgccExtras/adddi3.S, config/picochip/libgccExtras/ashlsi3.S, config/picochip/libgccExtras/ashrsi3.S, config/picochip/libgccExtras/clzsi2.S, config/picochip/libgccExtras/cmpsi2.S, config/picochip/libgccExtras/divmod15.S, config/picochip/libgccExtras/divmodhi4.S, config/picochip/libgccExtras/divmodsi4.S, config/picochip/libgccExtras/lshrsi3.S, config/picochip/libgccExtras/parityhi2.S, config/picochip/libgccExtras/popcounthi2.S, config/picochip/libgccExtras/subdi3.S, config/picochip/libgccExtras/ucmpsi2.S, config/picochip/libgccExtras/udivmodhi4.S, config/picochip/libgccExtras/udivmodsi4.S: New files. * config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS) (LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set. * config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S, config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S, config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S) config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S, config/rs6000/darwin-gpsave.S, config/rs6000/darwin-tramp.S, config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New files. * config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST) (HOST_LIBGCC2_CFLAGS): Set. * config/rs6000/t-darwin64: New file. * config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set. * config/rs6000/t-lynx, config/rs6000/t-netbsd: New files. * config/rs6000/t-ppccomm (LIB2ADD): Add $(srcdir)/config/rs6000/tramp.S. (LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources. Add $(srcdir)/config/rs6000/eabi.S. (crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S) (crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S) (e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S) (e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S) (e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S) (e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove. * config/rs6000/tramp.S: New file. * config/s390/t-tpf: Remove. * config/sh/linux-atomic.S: New file. * config/sh/t-linux (LIB2ADD): Set. (HOST_LIBGCC2_CFLAGS): Append, remove -fpic. * config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set. * config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer to unwind-dw2.c. (HOST_LIBGCC2_CFLAGS): Set. * config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG). * config/spu/divmodti4.c, config/spu/divv2df3.c, config/spu/float_disf.c, config/spu/float_unsdidf.c, config/spu/float_unsdisf.c, config/spu/float_unssidf.c, config/spu/mfc_multi_tag_release.c, config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c, config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c, config/spu/multi3.c: New files. * config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS) (HOST_LIBGCC2_CFLAGS): Set. * config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c, config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c, config/stormy16/ctzhi2.c, config/stormy16/divsi3.c, config/stormy16/ffshi2.c, config/stormy16/lib2.c, config/stormy16/lshrsi3.c, config/stormy16/modsi3.c, config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c, config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c, config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c, config/stormy16/umodsi3.c: New files. * config/xtensa/lib2funcs.S: New file. * config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set. * config/xtensa/t-xtensa (LIB2ADD): Set. * config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file. (*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file. Add t-freebsd-thread to tmake_file for posix threads. (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu) (*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file. (*-*-lynxos*): Likewise. (*-*-netbsd*): Likewise. (*-*-openbsd*): Likewise. Add t-openbsd-thread to tmake_file for posix threads. (*-*-solaris2*): Add t-libgcc-pic to tmake_file. (*-*-vxworks*): Set tmake_file. (alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file. (alpha*-*-freebsd*): Likewise. (alpha*-*-netbsd*): Likewise. (alpha*-*-openbsd*): Likewise. (alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts. (alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file. (alpha*-dec-*vms*): Likewise. (arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file. (bfin*-elf*): Add bfin/t-elf to tmake_file. (bfin*-uclinux*): Likewise. (bfin*-linux-uclibc*): Likewise. (crisv32-*-elf): Add cris/t-cris to tmake_file. (crisv32-*-none): Likewise. (cris-*-elf): Likewise. (cris-*-none): Likewise. (cris-*-linux*, crisv32-*-linux*): Likewise. (hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to tmake_file. (hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to tmake_file. (hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file. (i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file. (x86_64-*-elf*): Likewise. (i[34567]86-*-nto-qnx*): Likewise. (i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for win32 threads. (x86_64-*-mingw*): Likewise. (i[34567]86-*-interix3*): Add i386/t-interix to tmake_file. (lm32-*-uclinux*): Add t-libgcc-pic to tmake_file. (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*) (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*) (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to tmake_file. (mipsisa64sr71k-*-elf*): Likewise. (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise. (mips-*-elf*, mipsel-*-elf*): Likewise. (mips64-*-elf*, mips64el-*-elf*): Likewise. (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise. (mips*-*-rtems*): Likewise. (mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr to tmake_file. (pdp11-*-*): Add pdp11/t-pdp11 to tmake_file. (powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file. (s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file. (spu-*-elf*): Likewise. (tic6x-*-uclinux): Add t-libgcc-pic to tmake_file. libquadmath: * printf/gmp-impl.h: Adapt path to longlong.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180774 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--ChangeLog6
-rw-r--r--Makefile.in7
-rw-r--r--Makefile.tpl7
-rw-r--r--config/ChangeLog4
-rw-r--r--config/mh-interix5
-rw-r--r--gcc/ChangeLog329
-rw-r--r--gcc/Makefile.in74
-rw-r--r--gcc/config.gcc52
-rw-r--r--gcc/config/alpha/t-alpha2
-rw-r--r--gcc/config/alpha/t-ieee2
-rw-r--r--gcc/config/alpha/t-vms4
-rw-r--r--gcc/config/arm/t-arm-elf8
-rw-r--r--gcc/config/arm/t-bpabi24
-rw-r--r--gcc/config/arm/t-linux28
-rw-r--r--gcc/config/arm/t-linux-eabi6
-rw-r--r--gcc/config/arm/t-netbsd24
-rw-r--r--gcc/config/arm/t-strongarm-elf8
-rw-r--r--gcc/config/arm/t-symbian2
-rw-r--r--gcc/config/arm/t-wince-pe4
-rw-r--r--gcc/config/avr/t-avr11
-rw-r--r--gcc/config/bfin/t-bfin-elf2
-rw-r--r--gcc/config/bfin/t-bfin-linux2
-rw-r--r--gcc/config/bfin/t-bfin-uclinux2
-rw-r--r--gcc/config/c6x/t-c6x-elf15
-rw-r--r--gcc/config/c6x/t-c6x-uclinux2
-rw-r--r--gcc/config/cris/cris.h6
-rw-r--r--gcc/config/cris/cris_abi_symbol.c45
-rw-r--r--gcc/config/cris/t-cris12
-rw-r--r--gcc/config/cris/t-elfmulti3
-rw-r--r--gcc/config/cris/t-linux2
-rw-r--r--gcc/config/fr30/t-fr3034
-rw-r--r--gcc/config/frv/t-frv35
-rw-r--r--gcc/config/frv/t-linux2
-rw-r--r--gcc/config/h8300/t-h830013
-rw-r--r--gcc/config/i386/t-cygming5
-rw-r--r--gcc/config/i386/t-cygwin24
-rw-r--r--gcc/config/i386/t-darwin3
-rw-r--r--gcc/config/i386/t-darwin646
-rw-r--r--gcc/config/i386/t-linux643
-rw-r--r--gcc/config/i386/t-mingw-w323
-rw-r--r--gcc/config/i386/t-mingw-w643
-rw-r--r--gcc/config/i386/t-nto1
-rw-r--r--gcc/config/i386/t-openbsd2
-rw-r--r--gcc/config/ia64/t-hpux10
-rw-r--r--gcc/config/ia64/t-ia647
-rw-r--r--gcc/config/iq2000/t-iq200033
-rw-r--r--gcc/config/m32c/t-m32c2
-rw-r--r--gcc/config/m32r/t-linux5
-rw-r--r--gcc/config/m32r/t-m32r8
-rw-r--r--gcc/config/m68k/t-floatlib25
-rw-r--r--gcc/config/m68k/t-mlibs3
-rw-r--r--gcc/config/mcore/t-mcore10
-rw-r--r--gcc/config/mep/t-mep6
-rw-r--r--gcc/config/mips/t-elf7
-rw-r--r--gcc/config/mips/t-isa32647
-rw-r--r--gcc/config/mips/t-mips2
-rw-r--r--gcc/config/mips/t-r39007
-rw-r--r--gcc/config/mips/t-sde4
-rw-r--r--gcc/config/mips/t-sr71k8
-rw-r--r--gcc/config/mips/t-vr11
-rw-r--r--gcc/config/mmix/t-mmix4
-rw-r--r--gcc/config/mn10300/t-mn103003
-rw-r--r--gcc/config/pa/t-dce-thr3
-rw-r--r--gcc/config/pa/t-linux27
-rw-r--r--gcc/config/pa/t-linux6422
-rw-r--r--gcc/config/pa/t-pa-hpux7
-rw-r--r--gcc/config/pa/t-pa-hpux102
-rw-r--r--gcc/config/pa/t-pa-hpux112
-rw-r--r--gcc/config/pa/t-pa6421
-rw-r--r--gcc/config/pdp11/t-pdp115
-rw-r--r--gcc/config/picochip/t-picochip31
-rw-r--r--gcc/config/rs6000/t-aix433
-rw-r--r--gcc/config/rs6000/t-aix523
-rw-r--r--gcc/config/rs6000/t-darwin39
-rw-r--r--gcc/config/rs6000/t-darwin649
-rw-r--r--gcc/config/rs6000/t-fprules5
-rw-r--r--gcc/config/rs6000/t-linux642
-rw-r--r--gcc/config/rs6000/t-lynx8
-rw-r--r--gcc/config/rs6000/t-netbsd48
-rw-r--r--gcc/config/rs6000/t-ppccomm11
-rw-r--r--gcc/config/rs6000/t-spe3
-rw-r--r--gcc/config/rs6000/t-vxworks7
-rw-r--r--gcc/config/rx/t-rx3
-rw-r--r--gcc/config/sh/t-linux2
-rw-r--r--gcc/config/sh/t-netbsd21
-rw-r--r--gcc/config/sh/t-sh5
-rw-r--r--gcc/config/sparc/t-elf3
-rw-r--r--gcc/config/sparc/t-leon3
-rw-r--r--gcc/config/sparc/t-leon33
-rw-r--r--gcc/config/sparc/t-linux643
-rw-r--r--gcc/config/sparc/t-netbsd645
-rw-r--r--gcc/config/spu/t-spu-elf27
-rw-r--r--gcc/config/stormy16/stormy16-lib2-ashlsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-ashrsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-clzhi2.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-cmpsi2.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-ctzhi2.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-divsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-ffshi2.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-lshrsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-modsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-ucmpsi2.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-udivsi3.c2
-rw-r--r--gcc/config/stormy16/stormy16-lib2-umodsi3.c2
-rw-r--r--gcc/config/stormy16/t-stormy1639
-rw-r--r--gcc/config/t-darwin6
-rw-r--r--gcc/config/t-freebsd2
-rw-r--r--gcc/config/t-libgcc-pic2
-rw-r--r--gcc/config/t-libunwind1
-rw-r--r--gcc/config/t-linux21
-rw-r--r--gcc/config/t-lynx6
-rw-r--r--gcc/config/t-rtems5
-rw-r--r--gcc/config/t-sol23
-rw-r--r--gcc/config/t-svr47
-rw-r--r--gcc/config/t-vxworks22
-rw-r--r--gcc/config/v850/t-v8501
-rw-r--r--gcc/config/xtensa/t-elf1
-rw-r--r--gcc/config/xtensa/t-xtensa2
-rw-r--r--gcc/po/ChangeLog5
-rw-r--r--gcc/po/EXCLUDES5
-rw-r--r--libgcc/ChangeLog249
-rw-r--r--libgcc/Makefile.in62
-rw-r--r--libgcc/config.host103
-rw-r--r--libgcc/config/alpha/gthr-posix.c (renamed from gcc/gthr-posix.c)5
-rw-r--r--libgcc/config/alpha/qrnnd.S (renamed from gcc/config/alpha/qrnnd.asm)0
-rw-r--r--libgcc/config/alpha/t-alpha2
-rw-r--r--libgcc/config/alpha/t-osf-pthread2
-rw-r--r--libgcc/config/alpha/t-vms2
-rw-r--r--libgcc/config/alpha/vms-gcc_shell_handler.c (renamed from gcc/config/alpha/vms-gcc_shell_handler.c)0
-rw-r--r--libgcc/config/arm/bpabi.c (renamed from gcc/config/arm/bpabi.c)0
-rw-r--r--libgcc/config/arm/fp16.c (renamed from gcc/config/arm/fp16.c)0
-rw-r--r--libgcc/config/arm/linux-atomic-64bit.c (renamed from gcc/config/arm/linux-atomic-64bit.c)0
-rw-r--r--libgcc/config/arm/linux-atomic.c (renamed from gcc/config/arm/linux-atomic.c)0
-rw-r--r--libgcc/config/arm/t-bpabi6
-rw-r--r--libgcc/config/arm/t-elf5
-rw-r--r--libgcc/config/arm/t-linux4
-rw-r--r--libgcc/config/arm/t-linux-eabi3
-rw-r--r--libgcc/config/arm/t-netbsd7
-rw-r--r--libgcc/config/arm/t-strongarm-elf5
-rw-r--r--libgcc/config/arm/t-symbian3
-rw-r--r--libgcc/config/arm/unaligned-funcs.c (renamed from gcc/config/arm/unaligned-funcs.c)0
-rw-r--r--libgcc/config/avr/t-avr8
-rw-r--r--libgcc/config/bfin/t-crtstuff2
-rw-r--r--libgcc/config/bfin/t-elf1
-rw-r--r--libgcc/config/c6x/eqd.c (renamed from gcc/config/c6x/eqd.c)0
-rw-r--r--libgcc/config/c6x/eqf.c (renamed from gcc/config/c6x/eqf.c)0
-rw-r--r--libgcc/config/c6x/ged.c (renamed from gcc/config/c6x/ged.c)0
-rw-r--r--libgcc/config/c6x/gef.c (renamed from gcc/config/c6x/gef.c)0
-rw-r--r--libgcc/config/c6x/gtd.c (renamed from gcc/config/c6x/gtd.c)0
-rw-r--r--libgcc/config/c6x/gtf.c (renamed from gcc/config/c6x/gtf.c)0
-rw-r--r--libgcc/config/c6x/led.c (renamed from gcc/config/c6x/led.c)0
-rw-r--r--libgcc/config/c6x/lef.c (renamed from gcc/config/c6x/lef.c)0
-rw-r--r--libgcc/config/c6x/ltd.c (renamed from gcc/config/c6x/ltd.c)0
-rw-r--r--libgcc/config/c6x/ltf.c (renamed from gcc/config/c6x/ltf.c)0
-rw-r--r--libgcc/config/c6x/t-elf16
-rw-r--r--libgcc/config/c6x/t-uclinux4
-rw-r--r--libgcc/config/cris/arit.c (renamed from gcc/config/cris/arit.c)0
-rw-r--r--libgcc/config/cris/mulsi3.S (renamed from gcc/config/cris/mulsi3.asm)0
-rw-r--r--libgcc/config/cris/t-cris10
-rw-r--r--libgcc/config/cris/t-elfmulti2
-rw-r--r--libgcc/config/cris/t-linux2
-rw-r--r--libgcc/config/darwin-64.c (renamed from gcc/config/darwin-64.c)0
-rw-r--r--libgcc/config/darwin-crt3.c6
-rw-r--r--libgcc/config/frv/cmovd.c (renamed from gcc/config/frv/cmovd.c)0
-rw-r--r--libgcc/config/frv/cmovh.c (renamed from gcc/config/frv/cmovh.c)0
-rw-r--r--libgcc/config/frv/cmovw.c (renamed from gcc/config/frv/cmovw.c)0
-rw-r--r--libgcc/config/frv/modi.c (renamed from gcc/config/frv/modi.c)0
-rw-r--r--libgcc/config/frv/t-frv10
-rw-r--r--libgcc/config/frv/t-linux2
-rw-r--r--libgcc/config/frv/uitod.c (renamed from gcc/config/frv/uitod.c)0
-rw-r--r--libgcc/config/frv/uitof.c (renamed from gcc/config/frv/uitof.c)0
-rw-r--r--libgcc/config/frv/ulltod.c (renamed from gcc/config/frv/ulltod.c)0
-rw-r--r--libgcc/config/frv/ulltof.c (renamed from gcc/config/frv/ulltof.c)0
-rw-r--r--libgcc/config/frv/umodi.c (renamed from gcc/config/frv/umodi.c)0
-rw-r--r--libgcc/config/h8300/clzhi2.c (renamed from gcc/config/h8300/clzhi2.c)0
-rw-r--r--libgcc/config/h8300/ctzhi2.c (renamed from gcc/config/h8300/ctzhi2.c)0
-rw-r--r--libgcc/config/h8300/fixunssfsi.c (renamed from gcc/config/h8300/fixunssfsi.c)0
-rw-r--r--libgcc/config/h8300/parityhi2.c (renamed from gcc/config/h8300/parityhi2.c)0
-rw-r--r--libgcc/config/h8300/popcounthi2.c (renamed from gcc/config/h8300/popcounthi2.c)0
-rw-r--r--libgcc/config/h8300/t-h830010
-rw-r--r--libgcc/config/i386/gthr-win32.c (renamed from gcc/config/i386/gthr-win32.c)0
-rw-r--r--libgcc/config/i386/t-cygming5
-rw-r--r--libgcc/config/i386/t-cygwin6
-rw-r--r--libgcc/config/i386/t-darwin3
-rw-r--r--libgcc/config/i386/t-darwin642
-rw-r--r--libgcc/config/i386/t-gthr-win32 (renamed from gcc/config/i386/t-gthr-win32)2
-rw-r--r--libgcc/config/i386/t-interix3
-rw-r--r--libgcc/config/i386/t-nto4
-rw-r--r--libgcc/config/i386/t-sol22
-rw-r--r--libgcc/config/ia64/quadlib.c (renamed from gcc/config/ia64/quadlib.c)0
-rw-r--r--libgcc/config/ia64/t-hpux3
-rw-r--r--libgcc/config/ia64/t-ia647
-rw-r--r--libgcc/config/iq2000/lib2funcs.c (renamed from gcc/config/iq2000/lib2extra-funcs.c)0
-rw-r--r--libgcc/config/iq2000/t-iq20005
-rw-r--r--libgcc/config/lm32/t-uclinux4
-rw-r--r--libgcc/config/m32c/lib2funcs.c (renamed from gcc/config/m32c/m32c-lib2.c)0
-rw-r--r--libgcc/config/m32c/t-m32c4
-rw-r--r--libgcc/config/m32c/trapv.c (renamed from gcc/config/m32c/m32c-lib2-trapv.c)6
-rw-r--r--libgcc/config/m32r/t-linux4
-rw-r--r--libgcc/config/m32r/t-m32r4
-rw-r--r--libgcc/config/m68k/fpgnulib.c (renamed from gcc/config/m68k/fpgnulib.c)2
-rw-r--r--libgcc/config/m68k/t-floatlib6
-rw-r--r--libgcc/config/mcore/t-mcore3
-rw-r--r--libgcc/config/mep/lib2funcs.c (renamed from gcc/config/mep/mep-lib2.c)0
-rw-r--r--libgcc/config/mep/t-mep5
-rw-r--r--libgcc/config/mep/tramp.c (renamed from gcc/config/mep/mep-tramp.c)0
-rw-r--r--libgcc/config/microblaze/divsi3.S (renamed from libgcc/config/microblaze/divsi3.asm)4
-rw-r--r--libgcc/config/microblaze/moddi3.S (renamed from libgcc/config/microblaze/moddi3.asm)4
-rw-r--r--libgcc/config/microblaze/modsi3.S (renamed from libgcc/config/microblaze/modsi3.asm)4
-rw-r--r--libgcc/config/microblaze/muldi3_hard.S (renamed from libgcc/config/microblaze/muldi3_hard.asm)4
-rw-r--r--libgcc/config/microblaze/mulsi3.S (renamed from libgcc/config/microblaze/mulsi3.asm)4
-rw-r--r--libgcc/config/microblaze/stack_overflow_exit.S (renamed from libgcc/config/microblaze/stack_overflow_exit.asm)4
-rw-r--r--libgcc/config/microblaze/t-microblaze16
-rw-r--r--libgcc/config/microblaze/udivsi3.S (renamed from libgcc/config/microblaze/udivsi3.asm)4
-rw-r--r--libgcc/config/microblaze/umodsi3.S (renamed from libgcc/config/microblaze/umodsi3.asm)4
-rw-r--r--libgcc/config/mips/t-elf3
-rw-r--r--libgcc/config/mips/t-mips2
-rw-r--r--libgcc/config/mips/t-vr2
-rw-r--r--libgcc/config/mips/vr4120-div.S (renamed from gcc/config/mips/vr4120-div.S)0
-rw-r--r--libgcc/config/mmix/t-mmix2
-rw-r--r--libgcc/config/pa/fptr.c (renamed from gcc/config/pa/fptr.c)0
-rw-r--r--libgcc/config/pa/lib2funcs.S (renamed from gcc/config/pa/lib2funcs.asm)0
-rw-r--r--libgcc/config/pa/linux-atomic.c (renamed from gcc/config/pa/linux-atomic.c)0
-rw-r--r--libgcc/config/pa/quadlib.c (renamed from gcc/config/pa/quadlib.c)0
-rw-r--r--libgcc/config/pa/t-hpux3
-rw-r--r--libgcc/config/pa/t-hpux101
-rw-r--r--libgcc/config/pa/t-linux6
-rw-r--r--libgcc/config/pa/t-linux644
-rw-r--r--libgcc/config/pa/t-pa643
-rw-r--r--libgcc/config/pdp11/t-pdp118
-rw-r--r--libgcc/config/picochip/adddi3.S (renamed from gcc/config/picochip/libgccExtras/adddi3.asm)0
-rw-r--r--libgcc/config/picochip/ashlsi3.S (renamed from gcc/config/picochip/libgccExtras/ashlsi3.asm)0
-rw-r--r--libgcc/config/picochip/ashlsi3.c (renamed from gcc/config/picochip/libgccExtras/ashlsi3.c)0
-rw-r--r--libgcc/config/picochip/ashrsi3.S (renamed from gcc/config/picochip/libgccExtras/ashrsi3.asm)0
-rw-r--r--libgcc/config/picochip/ashrsi3.c (renamed from gcc/config/picochip/libgccExtras/ashrsi3.c)0
-rw-r--r--libgcc/config/picochip/clzsi2.S (renamed from gcc/config/picochip/libgccExtras/clzsi2.asm)4
-rw-r--r--libgcc/config/picochip/cmpsi2.S (renamed from gcc/config/picochip/libgccExtras/cmpsi2.asm)0
-rw-r--r--libgcc/config/picochip/divmod15.S (renamed from gcc/config/picochip/libgccExtras/divmod15.asm)0
-rw-r--r--libgcc/config/picochip/divmodhi4.S (renamed from gcc/config/picochip/libgccExtras/divmodhi4.asm)0
-rw-r--r--libgcc/config/picochip/divmodsi4.S (renamed from gcc/config/picochip/libgccExtras/divmodsi4.asm)0
-rw-r--r--libgcc/config/picochip/longjmp.S (renamed from gcc/config/picochip/libgccExtras/longjmp.asm)0
-rw-r--r--libgcc/config/picochip/lshrsi3.S (renamed from gcc/config/picochip/libgccExtras/lshrsi3.asm)0
-rw-r--r--libgcc/config/picochip/lshrsi3.c (renamed from gcc/config/picochip/libgccExtras/lshrsi3.c)0
-rw-r--r--libgcc/config/picochip/parityhi2.S (renamed from gcc/config/picochip/libgccExtras/parityhi2.asm)0
-rw-r--r--libgcc/config/picochip/popcounthi2.S (renamed from gcc/config/picochip/libgccExtras/popcounthi2.asm)0
-rw-r--r--libgcc/config/picochip/setjmp.S (renamed from gcc/config/picochip/libgccExtras/setjmp.asm)0
-rw-r--r--libgcc/config/picochip/subdi3.S (renamed from gcc/config/picochip/libgccExtras/subdi3.asm)0
-rw-r--r--libgcc/config/picochip/t-picochip30
-rw-r--r--libgcc/config/picochip/ucmpsi2.S (renamed from gcc/config/picochip/libgccExtras/ucmpsi2.asm)0
-rw-r--r--libgcc/config/picochip/udivmodhi4.S (renamed from gcc/config/picochip/libgccExtras/udivmodhi4.asm)0
-rw-r--r--libgcc/config/picochip/udivmodsi4.S (renamed from gcc/config/picochip/libgccExtras/udivmodsi4.asm)0
-rw-r--r--libgcc/config/rs6000/crtresfpr.S (renamed from gcc/config/rs6000/crtresfpr.asm)0
-rw-r--r--libgcc/config/rs6000/crtresgpr.S (renamed from gcc/config/rs6000/crtresgpr.asm)0
-rw-r--r--libgcc/config/rs6000/crtresxfpr.S (renamed from gcc/config/rs6000/crtresxfpr.asm)0
-rw-r--r--libgcc/config/rs6000/crtresxgpr.S (renamed from gcc/config/rs6000/crtresxgpr.asm)0
-rw-r--r--libgcc/config/rs6000/crtsavfpr.S (renamed from gcc/config/rs6000/crtsavfpr.asm)0
-rw-r--r--libgcc/config/rs6000/crtsavgpr.S (renamed from gcc/config/rs6000/crtsavgpr.asm)0
-rw-r--r--libgcc/config/rs6000/darwin-asm.h (renamed from gcc/config/rs6000/darwin-asm.h)0
-rw-r--r--libgcc/config/rs6000/darwin-fpsave.S (renamed from gcc/config/rs6000/darwin-fpsave.asm)0
-rw-r--r--libgcc/config/rs6000/darwin-gpsave.S (renamed from gcc/config/rs6000/darwin-gpsave.asm)0
-rw-r--r--libgcc/config/rs6000/darwin-tramp.S (renamed from gcc/config/rs6000/darwin-tramp.asm)0
-rw-r--r--libgcc/config/rs6000/darwin-vecsave.S (renamed from gcc/config/rs6000/darwin-vecsave.asm)0
-rw-r--r--libgcc/config/rs6000/darwin-world.S (renamed from gcc/config/rs6000/darwin-world.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtres32gpr.S (renamed from gcc/config/rs6000/e500crtres32gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtres64gpr.S (renamed from gcc/config/rs6000/e500crtres64gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtres64gprctr.S (renamed from gcc/config/rs6000/e500crtres64gprctr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtrest32gpr.S (renamed from gcc/config/rs6000/e500crtrest32gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtrest64gpr.S (renamed from gcc/config/rs6000/e500crtrest64gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtresx32gpr.S (renamed from gcc/config/rs6000/e500crtresx32gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtresx64gpr.S (renamed from gcc/config/rs6000/e500crtresx64gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsav32gpr.S (renamed from gcc/config/rs6000/e500crtsav32gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsav64gpr.S (renamed from gcc/config/rs6000/e500crtsav64gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsav64gprctr.S (renamed from gcc/config/rs6000/e500crtsav64gprctr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsavg32gpr.S (renamed from gcc/config/rs6000/e500crtsavg32gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsavg64gpr.S (renamed from gcc/config/rs6000/e500crtsavg64gpr.asm)0
-rw-r--r--libgcc/config/rs6000/e500crtsavg64gprctr.S (renamed from gcc/config/rs6000/e500crtsavg64gprctr.asm)0
-rw-r--r--libgcc/config/rs6000/eabi.S (renamed from gcc/config/rs6000/eabi.asm)0
-rw-r--r--libgcc/config/rs6000/t-darwin17
-rw-r--r--libgcc/config/rs6000/t-darwin646
-rw-r--r--libgcc/config/rs6000/t-linux642
-rw-r--r--libgcc/config/rs6000/t-lynx1
-rw-r--r--libgcc/config/rs6000/t-netbsd9
-rw-r--r--libgcc/config/rs6000/t-ppccomm100
-rw-r--r--libgcc/config/rs6000/tramp.S (renamed from gcc/config/rs6000/tramp.asm)0
-rw-r--r--libgcc/config/s390/t-tpf2
-rw-r--r--libgcc/config/sh/linux-atomic.S (renamed from gcc/config/sh/linux-atomic.asm)0
-rw-r--r--libgcc/config/sh/t-linux4
-rw-r--r--libgcc/config/sh/t-netbsd4
-rw-r--r--libgcc/config/sh/t-sh5
-rw-r--r--libgcc/config/sparc/t-sol22
-rw-r--r--libgcc/config/spu/divmodti4.c (renamed from gcc/config/spu/divmodti4.c)4
-rw-r--r--libgcc/config/spu/divv2df3.c (renamed from gcc/config/spu/divv2df3.c)0
-rw-r--r--libgcc/config/spu/float_disf.c (renamed from gcc/config/spu/float_disf.c)0
-rw-r--r--libgcc/config/spu/float_unsdidf.c (renamed from gcc/config/spu/float_unsdidf.c)0
-rw-r--r--libgcc/config/spu/float_unsdisf.c (renamed from gcc/config/spu/float_unsdisf.c)0
-rw-r--r--libgcc/config/spu/float_unssidf.c (renamed from gcc/config/spu/float_unssidf.c)0
-rw-r--r--libgcc/config/spu/mfc_multi_tag_release.c (renamed from gcc/config/spu/mfc_multi_tag_release.c)0
-rw-r--r--libgcc/config/spu/mfc_multi_tag_reserve.c (renamed from gcc/config/spu/mfc_multi_tag_reserve.c)0
-rw-r--r--libgcc/config/spu/mfc_tag_release.c (renamed from gcc/config/spu/mfc_tag_release.c)0
-rw-r--r--libgcc/config/spu/mfc_tag_reserve.c (renamed from gcc/config/spu/mfc_tag_reserve.c)0
-rw-r--r--libgcc/config/spu/mfc_tag_table.c (renamed from gcc/config/spu/mfc_tag_table.c)0
-rw-r--r--libgcc/config/spu/multi3.c (renamed from gcc/config/spu/multi3.c)0
-rw-r--r--libgcc/config/spu/t-elf24
-rw-r--r--libgcc/config/stormy16/ashlsi3.c2
-rw-r--r--libgcc/config/stormy16/ashrsi3.c2
-rw-r--r--libgcc/config/stormy16/clzhi2.c2
-rw-r--r--libgcc/config/stormy16/cmpsi2.c2
-rw-r--r--libgcc/config/stormy16/ctzhi2.c2
-rw-r--r--libgcc/config/stormy16/divsi3.c2
-rw-r--r--libgcc/config/stormy16/ffshi2.c2
-rw-r--r--libgcc/config/stormy16/lib2funcs.c (renamed from gcc/config/stormy16/stormy16-lib2.c)0
-rw-r--r--libgcc/config/stormy16/lshrsi3.c2
-rw-r--r--libgcc/config/stormy16/modsi3.c2
-rw-r--r--libgcc/config/stormy16/parityhi2.c (renamed from gcc/config/stormy16/stormy16-lib2-parityhi2.c)2
-rw-r--r--libgcc/config/stormy16/popcounthi2.c (renamed from gcc/config/stormy16/stormy16-lib2-popcounthi2.c)2
-rw-r--r--libgcc/config/stormy16/t-stormy1639
-rw-r--r--libgcc/config/stormy16/ucmpsi2.c2
-rw-r--r--libgcc/config/stormy16/udivmodsi4.c (renamed from gcc/config/stormy16/stormy16-lib2-udivmodsi4.c)2
-rw-r--r--libgcc/config/stormy16/udivsi3.c2
-rw-r--r--libgcc/config/stormy16/umodsi3.c2
-rw-r--r--libgcc/config/t-crtstuff-pic2
-rw-r--r--libgcc/config/t-darwin6
-rw-r--r--libgcc/config/t-freebsd-thread (renamed from gcc/config/t-freebsd-thread)2
-rw-r--r--libgcc/config/t-libgcc-pic2
-rw-r--r--libgcc/config/t-libunwind2
-rw-r--r--libgcc/config/t-openbsd-thread (renamed from gcc/config/t-openbsd-thread)2
-rw-r--r--libgcc/config/t-sol22
-rw-r--r--libgcc/config/t-vxworks18
-rw-r--r--libgcc/config/vxlib-tls.c (renamed from gcc/config/vxlib-tls.c)0
-rw-r--r--libgcc/config/vxlib.c (renamed from gcc/config/vxlib.c)0
-rw-r--r--libgcc/config/xtensa/lib2funcs.S (renamed from gcc/config/xtensa/lib2funcs.S)0
-rw-r--r--libgcc/config/xtensa/t-elf2
-rw-r--r--libgcc/config/xtensa/t-xtensa2
-rw-r--r--libgcc/configure236
-rw-r--r--libgcc/configure.ac4
-rw-r--r--libgcc/divmod.c (renamed from gcc/config/divmod.c)0
-rw-r--r--libgcc/floatunsidf.c (renamed from gcc/config/floatunsidf.c)0
-rw-r--r--libgcc/floatunsisf.c (renamed from gcc/config/floatunsisf.c)0
-rw-r--r--libgcc/floatunsitf.c (renamed from gcc/config/floatunsitf.c)0
-rw-r--r--libgcc/floatunsixf.c (renamed from gcc/config/floatunsixf.c)0
-rw-r--r--libgcc/gbl-ctors.h (renamed from gcc/gbl-ctors.h)0
-rw-r--r--libgcc/libgcc2.c (renamed from gcc/libgcc2.c)0
-rw-r--r--libgcc/libgcc2.h (renamed from gcc/libgcc2.h)0
-rw-r--r--libgcc/longlong.h (renamed from gcc/longlong.h)0
-rw-r--r--libgcc/memcmp.c (renamed from gcc/config/memcmp.c)0
-rw-r--r--libgcc/memcpy.c (renamed from gcc/config/memcpy.c)0
-rw-r--r--libgcc/memmove.c (renamed from gcc/config/memmove.c)0
-rw-r--r--libgcc/memset.c (renamed from gcc/config/memset.c)0
-rw-r--r--libgcc/siditi-object.mk8
-rw-r--r--libgcc/udivmod.c (renamed from gcc/config/udivmod.c)0
-rw-r--r--libgcc/udivmodsi4.c (renamed from gcc/config/udivmodsi4.c)0
-rw-r--r--libquadmath/ChangeLog4
-rw-r--r--libquadmath/printf/gmp-impl.h4
353 files changed, 1362 insertions, 1389 deletions
diff --git a/ChangeLog b/ChangeLog
index 65fd171913e..49ba74f4f0d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS,
+ LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES.
+ * Makefile.in: Regenerate.
+
2011-11-01 DJ Delorie <dj@redhat.com>
* config.sub: Update to version 2011-10-29 (added rl78)
diff --git a/Makefile.in b/Makefile.in
index d1206bda659..821499d7608 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -3,7 +3,7 @@
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
@@ -871,10 +871,7 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
EXTRA_GCC_FLAGS = \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
+ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
diff --git a/Makefile.tpl b/Makefile.tpl
index 4dd23915bed..2944d60d642 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -6,7 +6,7 @@ in
#
# Makefile for directory with subdirs to build.
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation
#
# This file is free software; you can redistribute it and/or modify
@@ -668,10 +668,7 @@ TARGET_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_TARGET_FLAGS)
EXTRA_GCC_FLAGS = \
"GCC_FOR_TARGET=$(GCC_FOR_TARGET)" \
"`echo 'STMP_FIXPROTO=$(STMP_FIXPROTO)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_CFLAGS=$(LIBGCC2_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_DEBUG_CFLAGS=$(LIBGCC2_DEBUG_CFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" \
- "`echo 'LIBGCC2_INCLUDES=$(LIBGCC2_INCLUDES)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
+ "`echo 'LIMITS_H_TEST=$(LIMITS_H_TEST)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
GCC_FLAGS_TO_PASS = $(BASE_FLAGS_TO_PASS) $(EXTRA_HOST_FLAGS) $(EXTRA_GCC_FLAGS)
diff --git a/config/ChangeLog b/config/ChangeLog
index 047cdf5f007..7737f99b2bd 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove.
+
2011-08-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* picflag.m4: New file.
diff --git a/config/mh-interix b/config/mh-interix
index 67dff5c4432..3be195b51ec 100644
--- a/config/mh-interix
+++ b/config/mh-interix
@@ -1,7 +1,2 @@
# The shell may not be in /bin.
SHELL = sh
-
-# We also need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
-# built without debugging information
-
-LIBGCC2_DEBUG_CFLAGS=
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 071cce6c29c..ec7a91205ba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,334 @@
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * Makefile.in (LIBGCC2_DEBUG_CFLAGS LIBGCC2_CFLAGS)
+ (LIBGCC2_INCLUDES, TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_EXCLUDE, T, T_TARGET)
+ (INCLUDES_FOR_TARGET): Remove.
+ (LIBGCC2_CFLAGS): Don't export.
+ (LIB2FUNCS_ST, LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST, srcdirify):
+ Remove.
+ (libgcc-support): Remove $(LIB2ADD), $(LIB2ADD_ST) dependencies.
+ (libgcc.mvars): Likewise.
+ Don't emit LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE, LIB2ADD, LIB2ADD_ST,
+ LIB2_SIDITI_CONV_FUNCS, LIB2_DIVMOD_FUNCS, LIBGCC2_CFLAGS,
+ TARGET_LIBGCC2_CFLAGS.
+ Emit GTHREAD_FLAGS.
+ * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: Move to ../libgcc.
+ * config/darwin-64.c: Move to ../libgcc/config.
+ * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
+ config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
+ config/udivmodsi4.c: Move to ../libgcc/config.
+ * config/gthr-posix.c: Move to ../libgcc/config/alpha.
+ * config/memcmp.c, config/memcpy.c, config/memmove.c,
+ config/memset.c: Move to ../libgcc/config.
+ * config/t-darwin (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-freebsd: Remove.
+ * config/t-freebsd-thread: Move to ../libgcc/config.
+ * config/t-libgcc-pic: Move to ../libgcc/config.
+ * config/t-libunwind (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-linux: Remove.
+ * config/t-lynx (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
+ Remove
+ * config/t-openbsd-thread: Move to ../libgcc/config.
+ * config/t-rtems (LIBGCC2_INCLUDES): Remove.
+ * config/t-sol2 (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/t-svr4: Remove.
+ * config/t-vxworks (LIBGCC, INSTALL_LIBGCC, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC2_DEBUG_CFLAGS, LIB2FUNCS_EXTRA, LIBGCC2_INCLUDES): Remove.
+ * config/vxlib.c, config/vxlib-tls.c: Move to ../libgcc/config.
+ * config/alpha/qrnnd.asm: Move to ../libgcc/config/alpha/qrnnd.S.
+ * config/alpha/t-alpha, config/alpha/t-ieee: Remove.
+ * config/alpha/t-vms (LIB2FUNCS_EXTRA, LIBGCC, INSTALL_LIBGCC):
+ Remove.
+ * config/alpha/vms-gcc_shell_handler.c: Move to ../libgcc/config/alpha.
+ * config/arm/bpabi.c, config/arm/unaligned-funcs.c,
+ config/arm/fp16.c, config/arm/linux-atomic.c,
+ config/arm/linux-atomic-64bit.c: Move to ../libgcc/config/arm.
+ * config/arm/t-arm-elf (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/arm/t-bpabi, config/arm/t-linux: Remove.
+ * config/arm/t-linux-eabi (TARGET_LIBGCC2_CFLAGS)
+ (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/arm/t-netbsd: Remove.
+ * config/arm/t-strongarm-elf (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/arm/t-symbian (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/arm/t-wince-pe (LIBGCC, INSTALL_LIBGCC)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/avr/t-avr (LIB2FUNCS_EXCLUDE, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/bfin/t-bfin-elf (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/bfin/t-bfin-linux: Likewise.
+ * config/bfin/t-bfin-uclinux: Likewise.
+ * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
+ config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
+ config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
+ config/c6x/ltf.c: Move to ../libgcc/config/c6x.
+ * config/c6x/t-c6x-elf (LIB2FUNCS_EXCLUDE, LIB2FUNCS_EXTRA):
+ Remove.
+ * config/c6x/t-c6x-uclinux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/cris/arit.c: Move to ../libgcc/config/cris.
+ * config/cris/cris_abi_symbol.c: Remove.
+ * config/cris/cris.h: Remove obsolete comment.
+ * config/cris/mulsi3.asm: Move to ../libgcc/config/cris/mulsi3.S.
+ * config/cris/t-cris (LIB2FUNCS_EXTRA, CRIS_LIB1CSRC)
+ ($(LIB2FUNCS_EXTRA)): Remove.
+ * config/cris/t-elfmulti (LIB2FUNCS_STATIC_EXTRA, INSTALL_LIBGCC)
+ (LIBGCC): Remove.
+ * config/cris/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/fr30/t-fr30: Remove.
+ * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
+ config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
+ config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: Move
+ to ../libgcc/config/frv.
+ * config/frv/t-frv (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
+ (cmovh.c, cmovw.c, cmovd.c, modi.c, umodi.c, uitof.c, uitod.c)
+ (ulltof.c, LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/frv/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
+ config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
+ config/h8300/popcounthi2.c: Move to ../libgcc/config/h8300.
+ * config/h8300/t-h8300 (LIB2FUNCS_EXTRA, TARGET_LIBGCC2_CFLAGS)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/gthr-win32.c: Move to ../libgcc/config/i386.
+ * config/i386/t-cygming (LIBGCC2_INCLUDES): Remove.
+ * config/i386/t-cygwin: Remove.
+ * config/i386/t-darwin (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_EXCLUDE): Remove.
+ * config/i386/t-darwin64 (LIB2_SIDITI_CONV_FUNCS, LIB2FUNCS_EXTRA)
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/t-gthr-win32: Move to ../libgcc/config/i386.
+ * config/i386/t-linux64 (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/i386/t-mingw-w32: Likewise.
+ * config/i386/t-mingw-w64: Likewise.
+ * config/i386/t-openbsd: Likewise.
+ * config/i386/t-nto: Remove.
+ * config/ia64/quadlib.c: Move to ../libgcc/config/ia64.
+ * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
+ (quadlib.c): Remove.
+ * config/ia64/t-ia64: Remove comment.
+ * config/iq2000/lib2extra-funcs.c: Move to
+ ../libgcc/config/iq2000/lib2funcs.c.
+ * config/iq2000/t-iq2000: Remove.
+ * config/m32c/m32c-lib2.c: Move to ../libgcc/config/m32c/lib2funcs.c.
+ * config/m32c/m32c-lib2-trapv.c: Move to ../libgcc/config/m32c/trapv.c.
+ * config/m32r/t-linux (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/m32c/t-m32c (LIB2FUNCS_EXTRA): Remove.
+ * config/m32r/t-m32r (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/m68k/fpgnulib.c: Move to ../libgcc/config/m68k.
+ * config/m68k/t-floatlib: Remove.
+ * config/m68k/t-mlibs (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mcore/t-mcore (TARGET_LIBGCC2_CFLAGS): Remove.
+ Fix typo.
+ (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mep/mep-lib2.c: Move to ../libgcc/config/mep/lib2funcs.c.
+ * config/mep/mep-tramp.c: Move to ../libgcc/config/mep/tramp.c.
+ * config/mep/t-mep (LIB2FUNCS_EXTRA): Remove.
+ * config/mips/t-elf (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-isa3264: Likewise.
+ * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Remove.
+ * config/mips/t-r3900 (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-sde (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/mips/t-sr71k (TARGET_LIBGCC2_CFLAGS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/mips/t-vr (TARGET_LIBGCC2_CFLAGS)
+ (LIB2FUNCS_STATIC_EXTRA): Remove.
+ * config/mips/vr4120-div.S: Move to ../libgcc/config/mips.
+ * config/mmix/t-mmix (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/mn10300/t-mn10300 (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/pa/fptr.c, config/pa/linux-atomic.c: Move to
+ ../libgcc/config/pa.
+ * config/pa/lib2funcs.asm: Move to ../libgcc/config/pa/lib2funcs.S.
+ * config/pa/quadlib.c: Move to ../libgcc/config/pa.
+ * config/pa/t-dce-thr (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/pa/t-linux, config/pa/t-linux64: Remove.
+ * config/pa/t-pa-hpux, config/pa/t-pa-hpux10,
+ config/pa/t-pa-hpux11, config/pa/t-pa64: Remove.
+ * config/pdp11/t-pdp11 (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXTRA):
+ Remove.
+ * config/picochip/libgccExtras: Move to ../libgcc/config/picochip.
+ * config/picochip/t-picochip (LIB2FUNCS_EXTRA, RANLIB_FOR_TARGET)
+ (TARGET_LIBGCC2_CFLAGS, LIBGCC2_DEBUG_CFLAGS): Remove.
+ * config/rs6000/crtresfpr.asm: Move to
+ ../libgcc/config/rs6000/crtresfpr.S.
+ * config/rs6000/crtresgpr.asm: Move to
+ ../libgcc/config/rs6000/crtresgpr.S.
+ * config/rs6000/crtresxfpr.asm: Move to
+ ../libgcc/config/rs6000/crtresxfpr.S.
+ * config/rs6000/crtresxgpr.asm: Move to
+ ../libgcc/config/rs6000/crtresxgpr.S.
+ * config/rs6000/crtsavfpr.asm: Move to
+ ../libgcc/config/rs6000/crtsavfpr.S.
+ * config/rs6000/crtsavgpr.asm: Move to
+ ../libgcc/config/rs6000/crtsavgpr.S.
+ * config/rs6000/darwin-asm.h: Move to ../libgcc/config/rs6000.
+ * config/rs6000/darwin-fpsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-fpsave.S.
+ * config/rs6000/darwin-gpsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-gpsave.S.
+ * config/rs6000/darwin-tramp.asm: Move to
+ ../libgcc/config/rs6000/darwin-tramp.S.
+ * config/rs6000/darwin-vecsave.asm: Move to
+ ../libgcc/config/rs6000/darwin-vecsave.S.
+ * config/rs6000/darwin-world.asm: Move to
+ ../libgcc/config/rs6000/darwin-world.S.
+ * config/rs6000/e500crtres32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres32gpr.S.
+ * config/rs6000/e500crtres64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres64gpr.S.
+ * config/rs6000/e500crtres64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtres64gprctr.S.
+ * config/rs6000/e500crtrest32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtrest32gpr.S.
+ * config/rs6000/e500crtrest64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtrest64gpr.S.
+ * config/rs6000/e500crtresx32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtresx32gpr.S.
+ * config/rs6000/e500crtresx64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtresx64gpr.S.
+ * config/rs6000/e500crtsav32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav32gpr.S.
+ * config/rs6000/e500crtsav64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav64gpr.S.
+ * config/rs6000/e500crtsav64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsav64gprctr.S.
+ * config/rs6000/e500crtsavg32gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg32gpr.S.
+ * config/rs6000/e500crtsavg64gpr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg64gpr.S.
+ * config/rs6000/e500crtsavg64gprctr.asm: Move to
+ ../libgcc/config/rs6000/e500crtsavg64gprctr.S.
+ * config/rs6000/eabi.asm: Move to ../libgcc/config/rs6000/eabi.S.
+ * config/rs6000/t-aix43 (LIBGCC, INSTALL_LIBGCC, LIB2FUNCS_EXTRA)
+ (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-aix52: Likewise.
+ * config/rs6000/t-darwin: Remove.
+ * config/rs6000/t-darwin64 (LIB2_SIDITI_CONV_FUNCS)
+ (LIB2FUNCS_EXTRA): Remove.
+ * config/rs6000/t-fprules (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-linux64 (TARGET_LIBGCC2_CFLAGS): Remove.
+ * config/rs6000/t-lynx (LIB2FUNCS_EXTRA, tramp.S, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-netbsd (LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, tramp.S, crtsavfpr.S, crtresfpr.S)
+ (crtsavgpr.S, crtresgpr.S, crtresxfpr.S, crtresxgpr.S, LIBGCC)
+ (INSTALL_LIBGCC, $(T)crtsavfpr$(objext), $(T)crtresfpr$(objext))
+ (($(T)crtsavgpr$(objext), $(T)crtresgpr$(objext),
+ $(T)crtresxfpr$(objext), $(T)crtresxgpr$(objext)): Remove.
+ * config/rs6000/t-ppccomm (LIB2FUNCS_EXTRA)
+ (LIB2FUNCS_STATIC_EXTRA, eabi.S, tramp.S): Remove.
+ * config/rs6000/t-spe (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/rs6000/t-vxworks: Remove comment.
+ * config/rs6000/tramp.asm: Move to ../libgcc/config/rs6000/tramp.S.
+ * config/rx/t-rx (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/sh/linux-atomic.asm: Move to
+ ../libgcc/config/sh/linux-atomic.S.
+ * config/sh/t-linux (LIB2FUNCS_EXTRA): Remove.
+ * config/sh/t-netbsd: Remove.
+ * config/sh/t-sh (TARGET_LIBGCC2_CFLAGS, LIBGCC, INSTALL_LIBGCC):
+ Remove.
+ * config/sparc/t-elf (LIBGCC, INSTALL_LIBGCC): Remove.
+ * config/sparc/t-leon: Likewise.
+ * config/sparc/t-leon3: Likewise.
+ * config/sparc/t-linux64: Likewise.
+ * config/sparc/t-netbsd64: Fix typo.
+ Remove comment.
+ * config/spu/divmodti4.c, config/spu/divv2df3.c,
+ config/spu/float_disf.c, config/spu/float_unsdidf.c,
+ config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
+ config/spu/mfc_multi_tag_release.c,
+ config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
+ config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
+ config/spu/multi3.c: Move to ../libgcc/config/spu.
+ * config/spu/t-spu-elf (TARGET_LIBGCC2_CFLAGS, LIB2FUNCS_EXCLUDE)
+ (LIB2FUNCS_STATIC_EXTRA, LIB2_SIDITI_CONV_FUNCS, LIBGCC)
+ (INSTALL_LIBGCC): Remove.
+ * config/stormy16/stormy16-lib2.c: Move to
+ ../libgcc/config/stormy16/lib2.c.
+ * config/stormy16/stormy16-lib2-ashlsi3.c: Move to
+ ../libgcc/config/stormy16/ashlsi3.c.
+ * config/stormy16/stormy16-lib2-ashrsi3.c: Move to
+ ../libgcc/config/stormy16/ashrsi3.c.
+ * config/stormy16/stormy16-lib2-clzhi2.c: Move to
+ ../libgcc/config/stormy16/clzhi2.c.
+ * config/stormy16/stormy16-lib2-cmpsi2.c: Move to
+ ../libgcc/config/stormy16/cmpsi2.c.
+ * config/stormy16/stormy16-lib2-ctzhi2.c: Move to
+ ../libgcc/config/stormy16/ctzhi2.c.
+ * config/stormy16/stormy16-lib2-divsi3.c: Move to
+ ../libgcc/config/stormy16/divsi3.c.
+ * config/stormy16/stormy16-lib2-ffshi2.c: Move to
+ ../libgcc/config/stormy16/ffshi2.c.
+ * config/stormy16/stormy16-lib2-lshrsi3.c: Move to
+ ../libgcc/config/stormy16/lshrsi3.c.
+ * config/stormy16/stormy16-lib2-modsi3.c: Move to
+ ../libgcc/config/stormy16/modsi3.c.
+ * config/stormy16/stormy16-lib2-parityhi2.c: Move to
+ ../libgcc/config/stormy16/parityhi2.c.
+ * config/stormy16/stormy16-lib2-popcounthi2.c: Move to
+ ../libgcc/config/stormy16/popcounthi2.c.
+ * config/stormy16/stormy16-lib2-ucmpsi2.c: Move to
+ ../libgcc/config/stormy16/ucmpsi2.c.
+ * config/stormy16/stormy16-lib2-udivmodsi4.c: Move to
+ ../libgcc/config/stormy16/udivmodsi4.c.
+ * config/stormy16/stormy16-lib2-udivsi3.c: Move to
+ ../libgcc/config/stormy16/udivsi3.c.
+ * config/stormy16/stormy16-lib2-umodsi3.c: Move to
+ ../libgcc/config/stormy16/umodsi3.c.
+ * config/stormy16/t-stormy16: Move to ../libgcc/config/t-stormy16.
+ * config/v850/t-v850 (INSTALL_LIBGCC): Remove.
+ * config/xtensa/lib2funcs.S: Move to ../libgcc/config/xtensa.
+ * config/xtensa/t-elf: Remove.
+ * config/xtensa/t-xtensa (LIB2FUNCS_EXTRA): Remove.
+ * config.gcc (*-*-freebsd*): Remove t-freebsd, t-freebsd-thread
+ from tmake_file.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
+ *-*-gnu*, *-*-kopensolaris*-gnu): Remove t-linux from tmake_file.
+ (*-*-netbsd*): Remove t-libgcc-pic from tmake_file.
+ (*-*-openbsd*): Likewise.
+ Remove t-openbsd-thread for posix threads.
+ (alpha*-*-linux*): Remove alpha/t-alpha, alpha/t-ieee
+ from tmake_file.
+ (alpha*-*-freebsd*): Likewise.
+ (alpha*-*-netbsd*): Likewise.
+ (alpha*-*-openbsd*): Likewise.
+ (alpha64-dec-*vms*): Likewise.
+ (alpha*-dec-*vms*): Likewise.
+ (arm*-*-netbsdelf*): Remove arm/t-netbsd from tmake_file.
+ (arm*-*-linux*): Remove t-linux from tmake_file.
+ Remove arm/t-bpabi from tmake_file for arm*-*-linux-*eabi.
+ (arm*-*-uclinux*): Remove arm/t-bpabi from tmake_file for
+ arm*-*-uclinux*eabi.
+ (arm*-*-eabi*, arm*-*-symbianelf* ): Remove arm/t-bpabi from
+ tmake_file for arm*-*-eabi*.
+ (fr30-*-elf): Remove tmake_file.
+ (hppa*64*-*-linux*): Remove tmake_file.
+ (hppa*-*-linux*): Likewise.
+ (hppa[12]*-*-hpux10*): Remove pa/t-pa-hpux10, pa/t-pa-hpux from
+ tmake_file.
+ (hppa*64*-*-hpux11*): Remove pa/t-pa64, pa/t-pa-hpux from tmake_file.
+ (hppa[12]*-*-hpux11*): Remove pa/t-pa-hpux11, pa/t-pa-hpux from
+ tmake_file.
+ (i[34567]86-*-elf*): Remove tmake_file.
+ (x86_64-*-elf*): Likewise.
+ (i[34567]86-*-nto-qnx*): Likewise.
+ (i[34567]86-*-cygwin*): Remove i386/t-cygwin from tmake_file.
+ (i[34567]86-*-mingw*, x86_64-*-mingw*): Remove i386/t-gthr-win32
+ from tmake_file if using win32 threads.
+ (iq2000*-*-elf*): Remove tmake-file.
+ (microblaze*-linux*): Likewise.
+ (sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
+ (sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
+ (sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
+ (sh64l*-*-netbsd*): Remove sh/t-netbsd from tmake_file for
+ sh5*-*-netbsd*, sh64*-netbsd*, *-*-netbsd.
+ (xtensa*-*-elf*): Remove tmake_file.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
* Makefile.in (LIB1ASMSRC): Don't export.
(libgcc.mvars): Don't emit LIB1ASMFUNCS, LIB1ASMSRC.
* config/arm/arm.c: Update lib1funcs.asm filename.
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 38449d7c30e..ca818a893af 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -671,22 +671,6 @@ ifeq ($(inhibit_libc),true)
INHIBIT_LIBC_CFLAGS = -Dinhibit_libc
endif
-# Options to use when compiling libgcc2.a.
-#
-LIBGCC2_DEBUG_CFLAGS = -g
-LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(INCLUDES_FOR_TARGET) $(GCC_CFLAGS) \
- $(TARGET_LIBGCC2_CFLAGS) $(LIBGCC2_DEBUG_CFLAGS) \
- $(GTHREAD_FLAGS) -DIN_LIBGCC2 \
- -fbuilding-libgcc -fno-stack-protector \
- $(INHIBIT_LIBC_CFLAGS)
-
-# Additional options to use when compiling libgcc2.a.
-# Some targets override this to -isystem include
-LIBGCC2_INCLUDES =
-
-# Additional target-dependent options for compiling libgcc2.a.
-TARGET_LIBGCC2_CFLAGS =
-
# List of extra executables that should be compiled for this target machine
# that are used for compiling from source code to object code.
# The rules for compiling them should be in the t-* file for the machine.
@@ -717,17 +701,6 @@ USE_GCC_STDINT = @use_gcc_stdint@
# set to empty.
COLLECT2 = @collect2@
-# List of extra C and assembler files to add to static and shared libgcc2.
-# Assembler files should have names ending in `.asm'.
-LIB2FUNCS_EXTRA =
-
-# List of extra C and assembler files to add to static libgcc2.
-# Assembler files should have names ending in `.asm'.
-LIB2FUNCS_STATIC_EXTRA =
-
-# List of functions not to build from libgcc2.c.
-LIB2FUNCS_EXCLUDE =
-
# Program to convert libraries.
LIBCONVERT =
@@ -790,14 +763,6 @@ RUNTEST = `if [ -f $${srcdir}/../dejagnu/runtest ] ; then \
else echo runtest; fi`
RUNTESTFLAGS =
-# "t" or nothing, for building multilibbed versions of, say, crtbegin.o.
-T =
-
-# Should T contain a `=', libgcc/Makefile will make T_TARGET, setting
-# $(T_TARGET) to the name of the actual target filename.
-T_TARGET =
-T_TARGET : $(T_TARGET)
-
# This should name the specs file that we're going to install. Target
# Makefiles may override it and name another file to be generated from
# the built-in specs and installed as the default spec, as long as
@@ -1085,9 +1050,6 @@ INCLUDES = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
$(CPPINC) $(GMPINC) $(DECNUMINC) \
$(PPLINC) $(CLOOGINC)
-INCLUDES_FOR_TARGET = -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
- -I$(srcdir)/../include $(DECNUMINC) -I$(srcdir)/../libgcc
-
.c.o:
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $< $(OUTPUT_OPTION)
@@ -1110,7 +1072,6 @@ export DESTDIR
export GCC_FOR_TARGET
export INCLUDES
export INSTALL_DATA
-export LIBGCC2_CFLAGS
export LIPO_FOR_TARGET
export MACHMODE_H
export NM_FOR_TARGET
@@ -1530,13 +1491,6 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \
gengtype$(exeext) *.[0-9][0-9].* *.[si] *-checksum.c libbackend.a \
libcommon-target.a libcommon.a libgcc.mk
-# Defined in libgcc2.c, included only in the static library.
-LIB2FUNCS_ST = _eprintf __gcc_bcmp
-
-# These might cause a divide overflow trap and so are compiled with
-# unwinder info.
-LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
-
#
# Language makefile fragments.
@@ -1857,35 +1811,13 @@ cc1$(exeext): $(C_OBJS) cc1-checksum.o $(BACKEND) $(LIBDEPS)
#
# Build libgcc.a.
-LIB2ADD = $(LIB2FUNCS_EXTRA)
-LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA)
-
-# All source files for libgcc are either generated in the libgcc build
-# directory which will be substituted for $$(libgcc_objdir), in the
-# source directory (in which case they will start with $(srcdir)), or
-# generated into the build directory (in which case they will be
-# relative paths).
-srcdirify = $(patsubst $$(libgcc_objdir)/%,%, \
- $(filter $$(libgcc_objdir)%,$(1))) \
- $(patsubst $(srcdir)%,$$(gcc_srcdir)%,$(filter $(srcdir)%,$(1))) \
- $(patsubst %,$$(gcc_objdir)/%, \
- $(filter-out $(srcdir)% $$(libgcc_objdir)%,$(1)))
-
libgcc-support: libgcc.mvars stmp-int-hdrs $(TCONFIG_H) \
- $(MACHMODE_H) $(LIB2ADD) $(LIB2ADD_ST) gcov-iov.h
+ $(MACHMODE_H) gcov-iov.h
-libgcc.mvars: config.status Makefile $(LIB2ADD) $(LIB2ADD_ST) specs \
- xgcc$(exeext)
+libgcc.mvars: config.status Makefile specs xgcc$(exeext)
: > tmp-libgcc.mvars
- echo LIB2FUNCS_ST = '$(LIB2FUNCS_ST)' >> tmp-libgcc.mvars
- echo LIB2FUNCS_EXCLUDE = '$(LIB2FUNCS_EXCLUDE)' >> tmp-libgcc.mvars
- echo LIB2ADD = '$(call srcdirify,$(LIB2ADD))' >> tmp-libgcc.mvars
- echo LIB2ADD_ST = '$(call srcdirify,$(LIB2ADD_ST))' >> tmp-libgcc.mvars
- echo LIB2_SIDITI_CONV_FUNCS = '$(LIB2_SIDITI_CONV_FUNCS)' >> tmp-libgcc.mvars
- echo LIB2_DIVMOD_FUNCS = '$(LIB2_DIVMOD_FUNCS)' >> tmp-libgcc.mvars
- echo LIBGCC2_CFLAGS = '$(LIBGCC2_CFLAGS)' >> tmp-libgcc.mvars
- echo TARGET_LIBGCC2_CFLAGS = '$(TARGET_LIBGCC2_CFLAGS)' >> tmp-libgcc.mvars
echo GCC_CFLAGS = '$(GCC_CFLAGS)' >> tmp-libgcc.mvars
+ echo GTHREAD_FLAGS = '$(GTHREAD_FLAGS)' >> tmp-libgcc.mvars
echo INHIBIT_LIBC_CFLAGS = '$(INHIBIT_LIBC_CFLAGS)' >> tmp-libgcc.mvars
echo TARGET_SYSTEM_ROOT = '$(TARGET_SYSTEM_ROOT)' >> tmp-libgcc.mvars
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 79230a6935a..8c4e4bef484 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -554,14 +554,13 @@ case ${target} in
gnu_ld=yes
fbsd_major=`echo ${target} | sed -e 's/.*freebsd//g' | sed -e 's/\..*//g'`
tm_defines="${tm_defines} FBSD_MAJOR=${fbsd_major}"
- tmake_file="t-freebsd t-slibgcc"
+ tmake_file="t-slibgcc"
case ${enable_threads} in
no)
fbsd_tm_file="${fbsd_tm_file} freebsd-nthr.h"
;;
"" | yes | posix)
thread_file='posix'
- tmake_file="${tmake_file} t-freebsd-thread"
;;
*)
echo 'Unknown thread configuration for FreeBSD'
@@ -586,7 +585,7 @@ case ${target} in
case ${enable_threads} in
"" | yes | posix) thread_file='posix' ;;
esac
- tmake_file="t-linux t-slibgcc"
+ tmake_file="t-slibgcc"
case $target in
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-kopensolaris*-gnu)
:;;
@@ -634,7 +633,7 @@ case ${target} in
esac
;;
*-*-netbsd*)
- tmake_file="t-libgcc-pic t-slibgcc"
+ tmake_file="t-slibgcc"
gas=yes
gnu_ld=yes
@@ -664,11 +663,10 @@ case ${target} in
esac
;;
*-*-openbsd*)
- tmake_file="t-openbsd t-libgcc-pic"
+ tmake_file="t-openbsd"
case ${enable_threads} in
yes)
thread_file='posix'
- tmake_file="${tmake_file} t-openbsd-thread"
;;
esac
case ${target} in
@@ -755,20 +753,17 @@ alpha*-*-linux*)
tm_file="${tm_file} alpha/elf.h alpha/linux.h alpha/linux-elf.h glibc-stdint.h"
extra_options="${extra_options} alpha/elf.opt"
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-*-freebsd*)
tm_file="${tm_file} ${fbsd_tm_file} alpha/elf.h alpha/freebsd.h"
extra_options="${extra_options} alpha/elf.opt"
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-*-netbsd*)
tm_file="${tm_file} netbsd.h alpha/elf.h netbsd-elf.h alpha/netbsd.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt \
alpha/elf.opt"
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-*-openbsd*)
tm_defines="${tm_defines} OBSD_HAS_DECLARE_FUNCTION_NAME OBSD_HAS_DECLARE_FUNCTION_SIZE OBSD_HAS_DECLARE_OBJECT"
@@ -776,7 +771,6 @@ alpha*-*-openbsd*)
extra_options="${extra_options} openbsd.opt alpha/elf.opt"
# default x-alpha is only appropriate for dec-osf.
target_cpu_default="MASK_GAS"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-dec-osf5.1*)
if test x$stabs = xyes
@@ -805,12 +799,12 @@ alpha*-dec-osf5.1*)
alpha64-dec-*vms*)
tm_file="${tm_file} alpha/vms.h alpha/vms64.h"
xm_file="alpha/xm-vms.h vms/xm-vms64.h"
- tmake_file="${tmake_file} alpha/t-alpha vms/t-vms64 alpha/t-vms alpha/t-ieee"
+ tmake_file="${tmake_file} vms/t-vms64 alpha/t-vms"
;;
alpha*-dec-*vms*)
tm_file="${tm_file} alpha/vms.h"
xm_file="alpha/xm-vms.h"
- tmake_file="${tmake_file} alpha/t-alpha alpha/t-vms alpha/t-ieee"
+ tmake_file="${tmake_file} alpha/t-vms"
;;
arm-wrs-vxworks)
tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
@@ -824,7 +818,7 @@ arm*-*-freebsd*)
arm*-*-netbsdelf*)
tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h arm/arm.h arm/netbsd-elf.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
- tmake_file="${tmake_file} arm/t-arm arm/t-netbsd"
+ tmake_file="${tmake_file} arm/t-arm"
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tm_file="dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arm/elf.h arm/linux-gas.h arm/linux-elf.h"
@@ -833,12 +827,12 @@ arm*-*-linux*) # ARM GNU/Linux with ELF
tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
;;
esac
- tmake_file="${tmake_file} t-linux arm/t-arm"
+ tmake_file="${tmake_file} arm/t-arm"
case ${target} in
arm*-*-linux-*eabi)
tm_file="$tm_file arm/bpabi.h arm/linux-eabi.h"
libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.h"
- tmake_file="$tmake_file arm/t-arm-elf arm/t-bpabi arm/t-linux-eabi"
+ tmake_file="$tmake_file arm/t-arm-elf arm/t-linux-eabi"
# Define multilib configuration for arm-linux-androideabi.
case ${target} in
*-androideabi)
@@ -866,7 +860,6 @@ arm*-*-uclinux*) # ARM ucLinux
arm*-*-uclinux*eabi)
tm_file="$tm_file arm/bpabi.h arm/uclinux-eabi.h"
libgcc_tm_file="$libgcc_tm_file arm/bpabi-lib.h"
- tmake_file="$tmake_file arm/t-bpabi"
# The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of
# TImode.
@@ -892,7 +885,6 @@ arm*-*-eabi* | arm*-*-symbianelf* )
case ${target} in
arm*-*-eabi*)
tm_file="$tm_file newlib-stdint.h"
- tmake_file="${tmake_file} arm/t-bpabi"
use_gcc_stdint=wrap
;;
arm*-*-symbianelf*)
@@ -988,7 +980,6 @@ crisv32-*-linux* | cris-*-linux*)
;;
fr30-*-elf)
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
- tmake_file=fr30/t-fr30
;;
frv-*-elf)
tm_file="dbxelf.h elfos.h newlib-stdint.h ${tm_file}"
@@ -1032,7 +1023,6 @@ hppa*64*-*-linux*)
tm_file="pa/pa64-start.h ${tm_file} dbxelf.h elfos.h gnu-user.h linux.h \
glibc-stdint.h pa/pa-linux.h pa/pa64-regs.h pa/pa-64.h \
pa/pa64-linux.h"
- tmake_file="${tmake_file} pa/t-linux64"
gas=yes gnu_ld=yes
need_64bit_hwint=yes
;;
@@ -1040,7 +1030,6 @@ hppa*-*-linux*)
target_cpu_default="MASK_PA_11|MASK_NO_SPACE_REGS"
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h pa/pa-linux.h \
pa/pa32-regs.h pa/pa32-linux.h"
- tmake_file="${tmake_file} pa/t-linux"
;;
# port not yet contributed.
#hppa*-*-openbsd*)
@@ -1063,7 +1052,7 @@ hppa[12]*-*-hpux10*)
esac
use_gcc_stdint=provide
tm_file="${tm_file} hpux-stdint.h"
- tmake_file="pa/t-pa-hpux10 pa/t-pa-hpux t-slibgcc"
+ tmake_file="t-slibgcc"
case ${enable_threads} in
"")
if test x$have_pthread_h = xyes ; then
@@ -1106,7 +1095,7 @@ hppa*64*-*-hpux11*)
extra_options="${extra_options} pa/pa-hpux.opt \
pa/pa-hpux1010.opt pa/pa64-hpux.opt hpux11.opt"
need_64bit_hwint=yes
- tmake_file="pa/t-pa64 pa/t-pa-hpux t-slibgcc"
+ tmake_file="t-slibgcc"
case x${enable_threads} in
x | xyes | xposix )
thread_file=posix
@@ -1144,7 +1133,7 @@ hppa[12]*-*-hpux11*)
extra_options="${extra_options} pa/pa-hpux1131.opt"
;;
esac
- tmake_file="pa/t-pa-hpux11 pa/t-pa-hpux t-slibgcc"
+ tmake_file="t-slibgcc"
case x${enable_threads} in
x | xyes | xposix )
thread_file=posix
@@ -1182,11 +1171,9 @@ x86_64-*-darwin*)
;;
i[34567]86-*-elf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h"
- tmake_file="${tmake_file} t-svr4"
;;
x86_64-*-elf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h"
- tmake_file="${tmake_file} t-svr4"
;;
i[34567]86-*-freebsd*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
@@ -1334,7 +1321,6 @@ i[34567]86-*-lynxos*)
i[34567]86-*-nto-qnx*)
tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
extra_options="${extra_options} i386/nto.opt"
- tmake_file="${tmake_file} i386/t-nto"
gnu_ld=yes
gas=yes
;;
@@ -1396,7 +1382,7 @@ i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae)
i[34567]86-*-cygwin*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h dbxcoff.h i386/cygming.h i386/cygwin.h i386/cygwin-stdint.h"
xm_file=i386/xm-cygwin.h
- tmake_file="${tmake_file} i386/t-cygming i386/t-cygwin t-slibgcc"
+ tmake_file="${tmake_file} i386/t-cygming t-slibgcc"
target_gtfiles="\$(srcdir)/config/i386/winnt.c"
extra_options="${extra_options} i386/cygming.opt"
extra_objs="winnt.o winnt-stubs.o"
@@ -1474,8 +1460,8 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
default_use_cxa_atexit=yes
use_gcc_stdint=wrap
case ${enable_threads} in
- "" | yes | win32) thread_file='win32'
- tmake_file="${tmake_file} i386/t-gthr-win32"
+ "" | yes | win32)
+ thread_file='win32'
;;
posix)
thread_file='posix'
@@ -1559,7 +1545,6 @@ ia64-hp-*vms*)
;;
iq2000*-*-elf*)
tm_file="elfos.h newlib-stdint.h iq2000/iq2000.h"
- tmake_file=iq2000/t-iq2000
out_file=iq2000/iq2000.c
md_file=iq2000/iq2000.md
;;
@@ -1701,7 +1686,6 @@ microblaze*-linux*)
tm_file="${tm_file} dbxelf.h gnu-user.h linux.h microblaze/linux.h"
c_target_objs="${c_target_objs} microblaze-c.o"
cxx_target_objs="${cxx_target_objs} microblaze-c.o"
- tmake_file="${tmake_file} t-linux microblaze/t-microblaze"
;;
microblaze*-*-*)
tm_file="${tm_file} dbxelf.h"
@@ -2220,14 +2204,13 @@ sh-*-elf* | sh[12346l]*-*-elf* | \
case ${target} in
sh5*-*-netbsd*)
# SHmedia, 32-bit ABI
- tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd"
+ tmake_file="${tmake_file} sh/t-sh64"
;;
sh64*-netbsd*)
# SHmedia, 64-bit ABI
- tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd sh/t-netbsd-sh5-64"
+ tmake_file="${tmake_file} sh/t-sh64 sh/t-netbsd-sh5-64"
;;
*-*-netbsd)
- tmake_file="${tmake_file} sh/t-netbsd"
;;
sh64*-*-linux*)
tmake_file="${tmake_file} sh/t-sh64"
@@ -2531,7 +2514,6 @@ xstormy16-*-elf)
xtensa*-*-elf*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h xtensa/elf.h"
extra_options="${extra_options} xtensa/elf.opt"
- tmake_file="xtensa/t-xtensa xtensa/t-elf"
;;
xtensa*-*-linux*)
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
diff --git a/gcc/config/alpha/t-alpha b/gcc/config/alpha/t-alpha
deleted file mode 100644
index d0b58d69a4e..00000000000
--- a/gcc/config/alpha/t-alpha
+++ /dev/null
@@ -1,2 +0,0 @@
-# This is a support routine for longlong.h, used by libgcc2.c.
-LIB2FUNCS_EXTRA = $(srcdir)/config/alpha/qrnnd.asm
diff --git a/gcc/config/alpha/t-ieee b/gcc/config/alpha/t-ieee
deleted file mode 100644
index fe549dfc992..00000000000
--- a/gcc/config/alpha/t-ieee
+++ /dev/null
@@ -1,2 +0,0 @@
-# All alphas get an IEEE complaint set of libraries.
-TARGET_LIBGCC2_CFLAGS += -mieee
diff --git a/gcc/config/alpha/t-vms b/gcc/config/alpha/t-vms
index d6850053597..760f943d063 100644
--- a/gcc/config/alpha/t-vms
+++ b/gcc/config/alpha/t-vms
@@ -17,10 +17,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = $(srcdir)/config/alpha/vms-gcc_shell_handler.c
-
MULTILIB_OPTIONS = mcpu=ev6
MULTILIB_DIRNAMES = ev6
MULTILIB_OSDIRNAMES = ev6
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf
index a605d26244f..25b7acb5da4 100644
--- a/gcc/config/arm/t-arm-elf
+++ b/gcc/config/arm/t-arm-elf
@@ -89,11 +89,3 @@ MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard*
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm600
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm610
# MULTILIB_MATCHES += mcpu?arm7=mcpu?arm620
-
-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 fp-bit.c.
-# Disabling function inlining is a workaround for this problem.
-TARGET_LIBGCC2_CFLAGS = -fno-inline
diff --git a/gcc/config/arm/t-bpabi b/gcc/config/arm/t-bpabi
deleted file mode 100644
index c9d5ed4d674..00000000000
--- a/gcc/config/arm/t-bpabi
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 2004, 2005, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# Add the BPABI C functions.
-LIB2FUNCS_EXTRA = $(srcdir)/config/arm/bpabi.c \
- $(srcdir)/config/arm/unaligned-funcs.c
-
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/arm/fp16.c
-EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
diff --git a/gcc/config/arm/t-linux b/gcc/config/arm/t-linux
deleted file mode 100644
index a204834014e..00000000000
--- a/gcc/config/arm/t-linux
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2006,
-# 2008, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# Just for these, we omit the frame pointer since it makes such a big
-# difference.
-TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
-
-# MULTILIB_OPTIONS = mfloat-abi=hard/mfloat-abi=soft
-# MULTILIB_DIRNAMES = hard-float soft-float
-
-# LIBGCC = stmp-multilib
-# INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/arm/t-linux-eabi b/gcc/config/arm/t-linux-eabi
index 3030229fafa..8004a7d0155 100644
--- a/gcc/config/arm/t-linux-eabi
+++ b/gcc/config/arm/t-linux-eabi
@@ -16,9 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# These functions are included in shared libraries.
-TARGET_LIBGCC2_CFLAGS = -fPIC
-
# We do not build a Thumb multilib for Linux because the definition of
# CLEAR_INSN_CACHE in linux-gas.h does not work in Thumb mode.
MULTILIB_OPTIONS =
@@ -27,6 +24,3 @@ MULTILIB_DIRNAMES =
#MULTILIB_OPTIONS += mcpu=fa606te/mcpu=fa626te/mcpu=fmp626/mcpu=fa726te
#MULTILIB_DIRNAMES += fa606te fa626te fmp626 fa726te
#MULTILIB_EXCEPTIONS += *mthumb/*mcpu=fa606te *mthumb/*mcpu=fa626te *mthumb/*mcpu=fmp626 *mthumb/*mcpu=fa726te*
-
-LIB2FUNCS_STATIC_EXTRA += $(srcdir)/config/arm/linux-atomic.c
-LIB2FUNCS_STATIC_EXTRA += $(srcdir)/config/arm/linux-atomic-64bit.c
diff --git a/gcc/config/arm/t-netbsd b/gcc/config/arm/t-netbsd
deleted file mode 100644
index d659b5a568f..00000000000
--- a/gcc/config/arm/t-netbsd
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-# 2006, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# Just for these, we omit the frame pointer since it makes such a big
-# difference. It is then pointless adding debugging.
-TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fpic
-LIBGCC2_DEBUG_CFLAGS = -g0
-LIB2FUNCS_EXTRA = $(srcdir)/config/floatunsidf.c $(srcdir)/config/floatunsisf.c
diff --git a/gcc/config/arm/t-strongarm-elf b/gcc/config/arm/t-strongarm-elf
index 4d51e660c8b..0639e695800 100644
--- a/gcc/config/arm/t-strongarm-elf
+++ b/gcc/config/arm/t-strongarm-elf
@@ -21,11 +21,3 @@ MULTILIB_OPTIONS = mlittle-endian/mbig-endian mfloat-abi=hard/mfloat-abi=sof
MULTILIB_DIRNAMES = le be fpu soft
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES = mbig-endian=mbe mlittle-endian=mle
-
-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 fp-bit.c.
-# Disabling function inlining is a workaround for this problem.
-TARGET_LIBGCC2_CFLAGS = -fno-inline
diff --git a/gcc/config/arm/t-symbian b/gcc/config/arm/t-symbian
index 736a01d10f4..473957e3290 100644
--- a/gcc/config/arm/t-symbian
+++ b/gcc/config/arm/t-symbian
@@ -17,8 +17,6 @@
# <http://www.gnu.org/licenses/>.
EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
-# Include half-float helpers.
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/arm/fp16.c
# Create a multilib for processors with VFP floating-point, and a
# multilib for those without -- using the soft-float ABI in both
diff --git a/gcc/config/arm/t-wince-pe b/gcc/config/arm/t-wince-pe
index 8a8c65fd396..becda7f25a4 100644
--- a/gcc/config/arm/t-wince-pe
+++ b/gcc/config/arm/t-wince-pe
@@ -29,7 +29,3 @@ MULTILIB_DIRNAMES = fpu
# yet...
# MULTILIB_OPTIONS += thumb
# MULTILIB_DIRNAMES += thumb
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-TARGET_LIBGCC2_CFLAGS =
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 3f37e591f8e..ee2dc56ced6 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -39,14 +39,6 @@ $(srcdir)/config/avr/avr-tables.opt: $(srcdir)/config/avr/genopt.sh \
$(SHELL) $(srcdir)/config/avr/genopt.sh $(srcdir)/config/avr > \
$(srcdir)/config/avr/avr-tables.opt
-LIB2FUNCS_EXCLUDE = \
- _clz
-
-# We do not have the DF type.
-# Most of the C functions in libgcc2 use almost all registers,
-# so use -mcall-prologues for smaller code size.
-TARGET_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os
-
MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr31/mmcu=avr35/mmcu=avr4/mmcu=avr5/mmcu=avr51/mmcu=avr6
MULTILIB_DIRNAMES = avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6
@@ -195,6 +187,3 @@ MULTILIB_MATCHES = \
mmcu?avr6=mmcu?atmega2561
MULTILIB_EXCEPTIONS =
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/bfin/t-bfin-elf b/gcc/config/bfin/t-bfin-elf
index 5cbcfeeb87f..742740ebc44 100644
--- a/gcc/config/bfin/t-bfin-elf
+++ b/gcc/config/bfin/t-bfin-elf
@@ -18,8 +18,6 @@
## Target part of the Makefile
-TARGET_LIBGCC2_CFLAGS = -fpic
-
MULTILIB_OPTIONS=mcpu=bf532-none
MULTILIB_OPTIONS+=mid-shared-library/msep-data/mfdpic mleaf-id-shared-library
MULTILIB_DIRNAMES=bf532-none mid-shared-library msep-data mfdpic mleaf-id-shared-library
diff --git a/gcc/config/bfin/t-bfin-linux b/gcc/config/bfin/t-bfin-linux
index 9a1d6a09437..7d25358c265 100644
--- a/gcc/config/bfin/t-bfin-linux
+++ b/gcc/config/bfin/t-bfin-linux
@@ -18,8 +18,6 @@
## Target part of the Makefile
-TARGET_LIBGCC2_CFLAGS = -fpic
-
MULTILIB_OPTIONS=mcpu=bf532-none
MULTILIB_DIRNAMES=bf532-none
diff --git a/gcc/config/bfin/t-bfin-uclinux b/gcc/config/bfin/t-bfin-uclinux
index b9fca803e0a..e3e9b13e712 100644
--- a/gcc/config/bfin/t-bfin-uclinux
+++ b/gcc/config/bfin/t-bfin-uclinux
@@ -18,8 +18,6 @@
## Target part of the Makefile
-TARGET_LIBGCC2_CFLAGS = -fpic
-
MULTILIB_OPTIONS=mcpu=bf532-none
MULTILIB_OPTIONS+=mid-shared-library/msep-data mleaf-id-shared-library
MULTILIB_DIRNAMES=bf532-none mid-shared-library msep-data mleaf-id-shared-library
diff --git a/gcc/config/c6x/t-c6x-elf b/gcc/config/c6x/t-c6x-elf
index 6bc2832026d..be52588ea30 100644
--- a/gcc/config/c6x/t-c6x-elf
+++ b/gcc/config/c6x/t-c6x-elf
@@ -18,20 +18,8 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXCLUDE = _cmpdi2 _ucmpdi2 _gcc_bcmp _eprintf _clzsi _clzdi
EXTRA_HEADERS += $(srcdir)/ginclude/unwind-arm-common.h
-LIB2FUNCS_EXTRA = $(srcdir)/config/c6x/gef.c \
- $(srcdir)/config/c6x/gtf.c \
- $(srcdir)/config/c6x/lef.c \
- $(srcdir)/config/c6x/ltf.c \
- $(srcdir)/config/c6x/eqf.c \
- $(srcdir)/config/c6x/ged.c \
- $(srcdir)/config/c6x/gtd.c \
- $(srcdir)/config/c6x/led.c \
- $(srcdir)/config/c6x/ltd.c \
- $(srcdir)/config/c6x/eqd.c
-
# Use this variant for fully testing all CPU types
#MULTILIB_OPTIONS = mbig-endian march=c674x/march=c64x/march=c67x/march=c67x+/march=c62x
#MULTILIB_DIRNAMES = be c674x c64x c67x c67x+ c62x
@@ -40,6 +28,3 @@ MULTILIB_OPTIONS = mbig-endian march=c674x
MULTILIB_DIRNAMES = be c674x
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES =
-
-# Avoid failures when the user's GOT becomes too large.
-TARGET_LIBGCC2_CFLAGS = -msdata=none
diff --git a/gcc/config/c6x/t-c6x-uclinux b/gcc/config/c6x/t-c6x-uclinux
index c904f8f4d7c..e4b93908f43 100644
--- a/gcc/config/c6x/t-c6x-uclinux
+++ b/gcc/config/c6x/t-c6x-uclinux
@@ -1,5 +1,3 @@
MULTILIB_OSDIRNAMES = march.c674x=!c674x
MULTILIB_OSDIRNAMES += mbig-endian=!be
MULTILIB_OSDIRNAMES += mbig-endian/march.c674x=!be/c674x
-
-TARGET_LIBGCC2_CFLAGS = -fPIC -msdata=none
diff --git a/gcc/config/cris/cris.h b/gcc/config/cris/cris.h
index 62461d65cc5..135b03bb1a4 100644
--- a/gcc/config/cris/cris.h
+++ b/gcc/config/cris/cris.h
@@ -84,11 +84,7 @@ extern int cris_cpu_version;
/* Changing the order used to be necessary to put the fourth __make_dp
argument (a DImode parameter) in registers, to fit with the libfunc
parameter passing scheme used for intrinsic functions. FIXME: Check
- performance and maybe remove definition from TARGET_LIBGCC2_CFLAGS now
- that it isn't strictly necessary. We used to do this through
- TARGET_LIBGCC2_CFLAGS, but that became increasingly difficult as the
- parenthesis (that needed quoting) travels through several layers of
- make and shell invocations. */
+ performance. */
#ifdef IN_LIBGCC2
#define __make_dp(a,b,c,d) __cris_make_dp(d,a,b,c)
#endif
diff --git a/gcc/config/cris/cris_abi_symbol.c b/gcc/config/cris/cris_abi_symbol.c
deleted file mode 100644
index db9db2cfe56..00000000000
--- a/gcc/config/cris/cris_abi_symbol.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Define symbol to recognize CRIS ABI version 2, for a.out use.
- Contributed by Axis Communications.
- Written by Hans-Peter Nilsson <hp@axis.se>, c:a 1992.
-
- Copyright (C) 2000, 2001, 2003, 2009 Free Software Foundation, Inc.
-
-This file is part of GCC.
-
-GCC 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 3, or (at your option) any
-later version.
-
-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.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-<http://www.gnu.org/licenses/>. */
-
-#include "tconfig.h"
-#include "tm.h"
-
-#ifdef __AOUT__
-
-/* ELF support was not released before the ABI was changed, so we
- restrict this awkwardness to a.out. This symbol is for gdb to
- recognize, so it can debug both old and new programs successfully. */
-__asm__ (".global " CRIS_ABI_VERSION_SYMBOL_STRING);
-__asm__ (".set " CRIS_ABI_VERSION_SYMBOL_STRING ",0");
-
-#else /* not __AOUT__ */
-
-/* The file must not be empty (declaration/definition-wise) according to
- ISO, IIRC. */
-extern int _Dummy;
-
-#endif /* not __AOUT__ */
diff --git a/gcc/config/cris/t-cris b/gcc/config/cris/t-cris
index 19d44ce8320..fdaa54e5ce3 100644
--- a/gcc/config/cris/t-cris
+++ b/gcc/config/cris/t-cris
@@ -25,17 +25,5 @@
# section "Target Fragment" in the gcc info-files (or the paper copy) of
# "Using and Porting GCC"
-LIB2FUNCS_EXTRA = _udivsi3.c _divsi3.c _umodsi3.c _modsi3.c
-CRIS_LIB1CSRC = $(srcdir)/config/cris/arit.c
-
-# The fixed-point arithmetic code is in one file, arit.c,
-# similar to libgcc2.c (or the old libgcc1.c). We need to
-# "split it up" with one file per define.
-$(LIB2FUNCS_EXTRA): $(CRIS_LIB1CSRC)
- name=`echo $@ | sed -e 's,.*/,,' | sed -e 's,.c$$,,'`; \
- echo "#define L$$name" > tmp-$@ \
- && echo '#include "$<"' >> tmp-$@ \
- && mv -f tmp-$@ $@
-
$(out_object_file): gt-cris.h
gt-cris.h : s-gtype ; @true
diff --git a/gcc/config/cris/t-elfmulti b/gcc/config/cris/t-elfmulti
index 29ab9beeb94..29ed57dec2f 100644
--- a/gcc/config/cris/t-elfmulti
+++ b/gcc/config/cris/t-elfmulti
@@ -16,7 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/cris/mulsi3.asm
MULTILIB_OPTIONS = march=v10/march=v32
MULTILIB_DIRNAMES = v10 v32
MULTILIB_MATCHES = \
@@ -29,5 +28,3 @@ MULTILIB_MATCHES = \
march?v10=mcpu?v10 \
march?v32=mcpu?v32
MULTILIB_EXTRA_OPTS = mbest-lib-options
-INSTALL_LIBGCC = install-multilib
-LIBGCC = stmp-multilib
diff --git a/gcc/config/cris/t-linux b/gcc/config/cris/t-linux
index 6505c37e1d1..71a964936db 100644
--- a/gcc/config/cris/t-linux
+++ b/gcc/config/cris/t-linux
@@ -1,5 +1,3 @@
-TARGET_LIBGCC2_CFLAGS += -fPIC
-
# We *know* we have a limits.h in the glibc library, with extra
# definitions needed for e.g. libgfortran.
ifneq ($(inhibit_libc),true)
diff --git a/gcc/config/fr30/t-fr30 b/gcc/config/fr30/t-fr30
deleted file mode 100644
index e37921681d0..00000000000
--- a/gcc/config/fr30/t-fr30
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright (C) 1999, 2001, 2007, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# If any special flags are necessary when building libgcc2 put them here.
-#
-# TARGET_LIBGCC2_CFLAGS
-
-# Enable the following if multilibs are needed.
-# See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
-# description of the options and their values.
-#
-# MULTILIB_OPTIONS =
-# MULTILIB_DIRNAMES =
-# MULTILIB_MATCHES =
-# MULTILIB_EXCEPTIONS =
-# MULTILIB_EXTRA_OPTS =
-#
-# LIBGCC = stmp-multilib
-# INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/frv/t-frv b/gcc/config/frv/t-frv
index e31f823c30a..c5c7bdc237c 100644
--- a/gcc/config/frv/t-frv
+++ b/gcc/config/frv/t-frv
@@ -16,38 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = cmovh.c cmovw.c cmovd.c modi.c umodi.c uitof.c uitod.c ulltof.c ulltod.c
-
-# If any special flags are necessary when building libgcc2 put them here.
-TARGET_LIBGCC2_CFLAGS =
-
-cmovh.c: $(srcdir)/config/frv/cmovh.c
- $(LN_S) $(srcdir)/config/frv/cmovh.c .
-
-cmovw.c: $(srcdir)/config/frv/cmovw.c
- $(LN_S) $(srcdir)/config/frv/cmovw.c .
-
-cmovd.c: $(srcdir)/config/frv/cmovd.c
- $(LN_S) $(srcdir)/config/frv/cmovd.c .
-
-modi.c: $(srcdir)/config/frv/modi.c
- $(LN_S) $(srcdir)/config/frv/modi.c .
-
-umodi.c: $(srcdir)/config/frv/umodi.c
- $(LN_S) $(srcdir)/config/frv/umodi.c .
-
-uitof.c: $(srcdir)/config/frv/uitof.c
- $(LN_S) $(srcdir)/config/frv/uitof.c .
-
-uitod.c: $(srcdir)/config/frv/uitod.c
- $(LN_S) $(srcdir)/config/frv/uitod.c .
-
-ulltof.c: $(srcdir)/config/frv/ulltof.c
- $(LN_S) $(srcdir)/config/frv/ulltof.c .
-
-ulltod.c: $(srcdir)/config/frv/ulltod.c
- $(LN_S) $(srcdir)/config/frv/ulltod.c .
-
# Enable the following if multilibs are needed.
# See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
# description of the options and their values.
@@ -65,7 +33,4 @@ MULTILIB_MATCHES = mcpu?simple=mcpu?fr300 \
mcpu?fr400=mcpu?fr405 mcpu?fr400=mcpu?fr450
MULTILIB_EXCEPTIONS = mcpu=frv/mno-pack* mcpu=simple/mno-pack*
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
EXTRA_HEADERS = $(srcdir)/config/frv/frv-asm.h
diff --git a/gcc/config/frv/t-linux b/gcc/config/frv/t-linux
index 10800e9bdc1..4f18e4baf9a 100644
--- a/gcc/config/frv/t-linux
+++ b/gcc/config/frv/t-linux
@@ -22,5 +22,3 @@ MULTILIB_DIRNAMES=
MULTILIB_MATCHES=
MULTILIB_EXCEPTIONS=
MULTILIB_EXTRA_OPTS=
-
-TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gcc/config/h8300/t-h8300 b/gcc/config/h8300/t-h8300
index 7083c673acf..e29cd2d335c 100644
--- a/gcc/config/h8300/t-h8300
+++ b/gcc/config/h8300/t-h8300
@@ -17,23 +17,10 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = \
- $(srcdir)/config/h8300/clzhi2.c \
- $(srcdir)/config/h8300/ctzhi2.c \
- $(srcdir)/config/h8300/parityhi2.c \
- $(srcdir)/config/h8300/popcounthi2.c \
- $(srcdir)/config/h8300/fixunssfsi.c
-
-# We do not have DF type, so fake out the libgcc2 compilation.
-TARGET_LIBGCC2_CFLAGS = -DDF=SF
-
MULTILIB_OPTIONS = mh/ms/msx mn mint32
MULTILIB_DIRNAMES = h8300h h8300s h8sx normal int32
MULTILIB_EXCEPTIONS = mint32 mn mn/mint32
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
s-config s-conditions s-flags s-codes s-constants s-emit s-recog \
s-opinit s-extract s-peep s-attr s-attrtab s-output: \
$(srcdir)/config/h8300/mova.md
diff --git a/gcc/config/i386/t-cygming b/gcc/config/i386/t-cygming
index 3e7f7cdd036..18b57c4152a 100644
--- a/gcc/config/i386/t-cygming
+++ b/gcc/config/i386/t-cygming
@@ -21,11 +21,6 @@
# doing the build, it may not be installed yet.
LIMITS_H_TEST = true
-# If we are building next to winsup, this will let us find the real
-# limits.h when building libgcc2. Otherwise, winsup must be installed
-# first.
-LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include
-
winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
$(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \
$(TM_P_H) $(HASHTAB_H) $(GGC_H) $(LTO_STREAMER_H)
diff --git a/gcc/config/i386/t-cygwin b/gcc/config/i386/t-cygwin
deleted file mode 100644
index 9ac234b6f49..00000000000
--- a/gcc/config/i386/t-cygwin
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2008, 2009, 2010, 2011
-# Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# If we are building next to winsup, this will let us find the real
-# limits.h when building libgcc2. Otherwise, winsup must be installed
-# first.
-LIBGCC2_INCLUDES += -I$(srcdir)/../winsup/include \
- -I$(srcdir)/../winsup/cygwin/include
diff --git a/gcc/config/i386/t-darwin b/gcc/config/i386/t-darwin
index 22323e4abee..bf44504d4fd 100644
--- a/gcc/config/i386/t-darwin
+++ b/gcc/config/i386/t-darwin
@@ -1,5 +1,2 @@
MULTILIB_OPTIONS = m64
MULTILIB_DIRNAMES = x86_64
-LIB2_SIDITI_CONV_FUNCS=yes
-LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
-LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
diff --git a/gcc/config/i386/t-darwin64 b/gcc/config/i386/t-darwin64
index 81b4565ac72..6a6b22f1ee5 100644
--- a/gcc/config/i386/t-darwin64
+++ b/gcc/config/i386/t-darwin64
@@ -1,8 +1,2 @@
-LIB2_SIDITI_CONV_FUNCS=yes
-LIB2FUNCS_EXTRA = $(srcdir)/config/darwin-64.c
-
MULTILIB_OPTIONS = m32
MULTILIB_DIRNAMES = i386
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
index 4db41ea51ee..b5d39855a70 100644
--- a/gcc/config/i386/t-linux64
+++ b/gcc/config/i386/t-linux64
@@ -37,6 +37,3 @@ MULTILIB_DIRNAMES = $(patsubst m%, %, $(subst /, ,$(MULTILIB_OPTIONS)))
MULTILIB_OSDIRNAMES = m64=../lib64
MULTILIB_OSDIRNAMES+= m32=$(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
MULTILIB_OSDIRNAMES+= mx32=../libx32
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/i386/t-mingw-w32 b/gcc/config/i386/t-mingw-w32
index 68669d44a0a..4fc8582cf5e 100644
--- a/gcc/config/i386/t-mingw-w32
+++ b/gcc/config/i386/t-mingw-w32
@@ -1,6 +1,3 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
MULTILIB_OSDIRNAMES = ../lib64 ../lib
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/i386/t-mingw-w64 b/gcc/config/i386/t-mingw-w64
index 1e86e05e701..c809ebd7d1d 100644
--- a/gcc/config/i386/t-mingw-w64
+++ b/gcc/config/i386/t-mingw-w64
@@ -1,6 +1,3 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
MULTILIB_OSDIRNAMES = ../lib ../lib32
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/i386/t-nto b/gcc/config/i386/t-nto
deleted file mode 100644
index b72c00d04a6..00000000000
--- a/gcc/config/i386/t-nto
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_LIBGCC2_CFLAGS = -fPIC -fexceptions
diff --git a/gcc/config/i386/t-openbsd b/gcc/config/i386/t-openbsd
index 18304634000..4f8ff657a93 100644
--- a/gcc/config/i386/t-openbsd
+++ b/gcc/config/i386/t-openbsd
@@ -2,5 +2,3 @@
# We cope by building variants of libgcc.
MULTILIB_OPTIONS = fpic
MULTILIB_MATCHES=fpic=fPIC
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/ia64/t-hpux b/gcc/config/ia64/t-hpux
index 23691f3856c..a1b681a3a25 100644
--- a/gcc/config/ia64/t-hpux
+++ b/gcc/config/ia64/t-hpux
@@ -19,20 +19,10 @@
# We need multilib support for HPUX's ILP32 & LP64 modes.
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
MULTILIB_OPTIONS = milp32/mlp64
MULTILIB_DIRNAMES = hpux32 hpux64
MULTILIB_MATCHES =
-# Support routines for HP-UX 128 bit floats.
-
-LIB2FUNCS_EXTRA=quadlib.c $(srcdir)/config/floatunsitf.c
-
-quadlib.c: $(srcdir)/config/ia64/quadlib.c
- cat $(srcdir)/config/ia64/quadlib.c > quadlib.c
-
# We do not want to include the EH stuff that linux uses, we want to use
# the HP-UX libunwind library.
diff --git a/gcc/config/ia64/t-ia64 b/gcc/config/ia64/t-ia64
index 8a54d46b458..398aba1019f 100644
--- a/gcc/config/ia64/t-ia64
+++ b/gcc/config/ia64/t-ia64
@@ -18,13 +18,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# ??? Hack to get -P option used when compiling lib1funcs.asm, because Intel
-# assembler does not accept # line number as a comment.
-# ??? This breaks C++ pragma interface/implementation, which is used in the
-# C++ part of libgcc2, hence it had to be disabled. Must find some other way
-# to support the Intel assembler.
-#LIBGCC2_DEBUG_CFLAGS = -g1 -P
-
ia64-c.o: $(srcdir)/config/ia64/ia64-c.c $(CONFIG_H) $(SYSTEM_H) \
coretypes.h $(TM_H) $(TREE_H) $(CPPLIB_H) $(C_COMMON_H) $(C_PRAGMA_H)
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
diff --git a/gcc/config/iq2000/t-iq2000 b/gcc/config/iq2000/t-iq2000
deleted file mode 100644
index c634e58646e..00000000000
--- a/gcc/config/iq2000/t-iq2000
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright (C) 2003, 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-LIB2FUNCS_EXTRA = $(srcdir)/config/udivmod.c $(srcdir)/config/divmod.c $(srcdir)/config/udivmodsi4.c $(srcdir)/config/iq2000/lib2extra-funcs.c
-
-# Enable the following if multilibs are needed.
-# See gcc/genmultilib, gcc/gcc.texi and gcc/tm.texi for a
-# description of the options and their values.
-#
-# MULTILIB_OPTIONS =
-# MULTILIB_DIRNAMES =
-# MULTILIB_MATCHES =
-# MULTILIB_EXCEPTIONS =
-# MULTILIB_EXTRA_OPTS =
-#
-# LIBGCC = stmp-multilib
-# INSTALL_LIBGCC = install-multilib
-
diff --git a/gcc/config/m32c/t-m32c b/gcc/config/m32c/t-m32c
index aad972a2575..1e4ed6b7113 100644
--- a/gcc/config/m32c/t-m32c
+++ b/gcc/config/m32c/t-m32c
@@ -19,8 +19,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = $(srcdir)/config/m32c/m32c-lib2.c $(srcdir)/config/m32c/m32c-lib2-trapv.c
-
# target-specific files
md_file = md
diff --git a/gcc/config/m32r/t-linux b/gcc/config/m32r/t-linux
index f3b89d21d0b..c4f7dcc0bd6 100644
--- a/gcc/config/m32r/t-linux
+++ b/gcc/config/m32r/t-linux
@@ -16,10 +16,5 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Turn off the SDA while compiling libgcc2. There are no headers for it
-# and we want maximal upward compatibility here.
-
-TARGET_LIBGCC2_CFLAGS = -G 0 -fPIC
-
# Don't install "assert.h" in gcc. We use the one in glibc.
INSTALL_ASSERT_H =
diff --git a/gcc/config/m32r/t-m32r b/gcc/config/m32r/t-m32r
index 81f0247694e..e048fbf04f2 100644
--- a/gcc/config/m32r/t-m32r
+++ b/gcc/config/m32r/t-m32r
@@ -17,11 +17,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Turn off the SDA while compiling libgcc2. There are no headers for it
-# and we want maximal upward compatibility here.
-
-TARGET_LIBGCC2_CFLAGS = -G 0
-
# -mmodel={small,medium} requires separate libraries.
# We don't build libraries for the large model, instead we use the medium
# libraries. The only difference is that the large model can handle jumps
@@ -35,6 +30,3 @@ MULTILIB_MATCHES = mmodel?medium=mmodel?large
# SHN_M32R_SCOMMON.
# This is important for objects referenced in system header files.
MULTILIB_EXTRA_OPTS = msdata=sdata
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/m68k/t-floatlib b/gcc/config/m68k/t-floatlib
deleted file mode 100644
index 23734be40bd..00000000000
--- a/gcc/config/m68k/t-floatlib
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2007, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-LIB2FUNCS_EXTRA = fpgnulib.c xfgnulib.c
-
-fpgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
- cp $(srcdir)/config/m68k/fpgnulib.c fpgnulib.c
-xfgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
- echo '#define EXTFLOAT' > xfgnulib.c
- cat $(srcdir)/config/m68k/fpgnulib.c >> xfgnulib.c
diff --git a/gcc/config/m68k/t-mlibs b/gcc/config/m68k/t-mlibs
index 11df31f210e..7be0c9f4fd4 100644
--- a/gcc/config/m68k/t-mlibs
+++ b/gcc/config/m68k/t-mlibs
@@ -92,6 +92,3 @@ endif
# Remove the default CPU from the explicit exceptions.
MULTILIB_EXCEPTIONS := \
$(patsubst mcpu=$(M68K_MLIB_DEFAULT)/%,%,$(MULTILIB_EXCEPTIONS))
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mcore/t-mcore b/gcc/config/mcore/t-mcore
index 265399cecfe..c848ceda3b3 100644
--- a/gcc/config/mcore/t-mcore
+++ b/gcc/config/mcore/t-mcore
@@ -16,25 +16,17 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# could use -msifilter to be safe from interrupt/jmp interactions and others.
-TARGET_LIBGCC2_CFLAGS=-O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter
-
# We have values for float.h.
CROSS_FLOAT_H = $(srcdir)/config/mcore/gfloat.h
# If support for -m4align is ever re-enabled then comment out the
-# following line and uncomment the mutlilib lines below.
+# following line and uncomment the multilib lines below.
# MULTILIB_OPTIONS = m8align/m4align
# MULTILIB_DIRNAMES = align8 align4
# MULTILIB_MATCHES =
# MULTILIB_EXTRA_OPTS =
# MULTILIB_EXCEPTIONS =
-# LIBGCC = stmp-multilib
-# INSTALL_LIBGCC = install-multilib
MULTILIB_OPTIONS = mbig-endian/mlittle-endian m210/m340
MULTILIB_DIRNAMES = big little m210 m340
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mep/t-mep b/gcc/config/mep/t-mep
index ac4ad95bc87..96542c4782c 100644
--- a/gcc/config/mep/t-mep
+++ b/gcc/config/mep/t-mep
@@ -32,12 +32,6 @@ mep-pragma.o: $(srcdir)/config/mep/mep-pragma.c $(CONFIG_H) $(SYSTEM_H) \
function.h insn-config.h reload.h $(TARGET_H)
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
-# multiply and divide routines
-
-LIB2FUNCS_EXTRA = \
- $(srcdir)/config/mep/mep-lib2.c \
- $(srcdir)/config/mep/mep-tramp.c
-
MULTILIB_OPTIONS = mel mall-opts mfar
MULTILIB_DIRNAMES = el allopt far
diff --git a/gcc/config/mips/t-elf b/gcc/config/mips/t-elf
index d6c18e6b819..b4535d28fc4 100644
--- a/gcc/config/mips/t-elf
+++ b/gcc/config/mips/t-elf
@@ -17,15 +17,8 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# We must build libgcc2.a with -G 0, in case the user wants to link
-# without the $gp register.
-TARGET_LIBGCC2_CFLAGS = -G 0
-
# Build the libraries for both hard and soft floating point
MULTILIB_OPTIONS = msoft-float EL/EB
MULTILIB_DIRNAMES = soft-float el eb
MULTILIB_MATCHES = EL=mel EB=meb msingle-float=m4650
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mips/t-isa3264 b/gcc/config/mips/t-isa3264
index 3ac98389c8f..7291193f8a6 100644
--- a/gcc/config/mips/t-isa3264
+++ b/gcc/config/mips/t-isa3264
@@ -17,10 +17,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# We must build libgcc2.a with -G 0, in case the user wants to link
-# without the $gp register.
-TARGET_LIBGCC2_CFLAGS = -G 0
-
# Build the libraries for both hard and soft floating point
ifneq ($(filter MIPS_ABI_DEFAULT=ABI_EABI,$(tm_defines)),)
@@ -36,6 +32,3 @@ MULTILIB_EXCLUSIONS = !mips32r2/mfp64
endif
endif
MULTILIB_MATCHES = EL=mel EB=meb
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mips/t-mips b/gcc/config/mips/t-mips
index 53993e9d3c0..46c5ebcb1e4 100644
--- a/gcc/config/mips/t-mips
+++ b/gcc/config/mips/t-mips
@@ -16,8 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2_SIDITI_CONV_FUNCS=yes
-
$(srcdir)/config/mips/mips-tables.opt: $(srcdir)/config/mips/genopt.sh \
$(srcdir)/config/mips/mips-cpus.def
$(SHELL) $(srcdir)/config/mips/genopt.sh $(srcdir)/config/mips > \
diff --git a/gcc/config/mips/t-r3900 b/gcc/config/mips/t-r3900
index d46c4d59433..d542df36ed6 100644
--- a/gcc/config/mips/t-r3900
+++ b/gcc/config/mips/t-r3900
@@ -17,15 +17,8 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# We must build libgcc2.a with -G 0, in case the user wants to link
-# without the $gp register.
-TARGET_LIBGCC2_CFLAGS = -G 0
-
# Build the libraries for both hard and soft floating point
MULTILIB_OPTIONS = msoft-float EL/EB
MULTILIB_DIRNAMES = soft-float el eb
MULTILIB_MATCHES = EL=mel EB=meb
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mips/t-sde b/gcc/config/mips/t-sde
index 3a6473441f2..d9c229ab4e0 100644
--- a/gcc/config/mips/t-sde
+++ b/gcc/config/mips/t-sde
@@ -33,7 +33,3 @@ MULTILIB_EXCLUSIONS += !mips32/!mips32r2/mips16
else
MULTILIB_EXCLUSIONS += mips64/mips16 mips64r2/mips16
endif
-
-# Build the multilibs.
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mips/t-sr71k b/gcc/config/mips/t-sr71k
index f204017faa8..309eec6a650 100644
--- a/gcc/config/mips/t-sr71k
+++ b/gcc/config/mips/t-sr71k
@@ -16,14 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# We must build libgcc2.a with -G 0, in case the user wants to link
-# without the $gp register.
-TARGET_LIBGCC2_CFLAGS = -G 0
-
# Build the libraries for both hard and soft floating point
-
MULTILIB_OPTIONS = EL/EB msoft-float mips2
MULTILIB_DIRNAMES = el eb soft-float mips2
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/mips/t-vr b/gcc/config/mips/t-vr
index 16623ced564..de5ca706faf 100644
--- a/gcc/config/mips/t-vr
+++ b/gcc/config/mips/t-vr
@@ -16,17 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# BEGIN boiler-plate MIPS stuff
-
-# We must build libgcc2.a with -G 0, in case the user wants to link
-# without the $gp register.
-TARGET_LIBGCC2_CFLAGS = -G 0
-
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/mips/mips16.S \
- $(srcdir)/config/mips/vr4120-div.S
-
-# END boiler-plate
-
# Main multilibs
# --------------
#
diff --git a/gcc/config/mmix/t-mmix b/gcc/config/mmix/t-mmix
index bb2aabf83d2..b25eebcd35a 100644
--- a/gcc/config/mmix/t-mmix
+++ b/gcc/config/mmix/t-mmix
@@ -16,9 +16,5 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# See "Target Fragment" in GCC info. That same order is used here.
-
-TARGET_LIBGCC2_CFLAGS = -mlibfuncs -O2
-
MULTILIB_OPTIONS = mabi=gnu
MULTILIB_DIRNAMES = gnuabi
diff --git a/gcc/config/mn10300/t-mn10300 b/gcc/config/mn10300/t-mn10300
index c62c56f2013..af22d94cdc3 100644
--- a/gcc/config/mn10300/t-mn10300
+++ b/gcc/config/mn10300/t-mn10300
@@ -19,6 +19,3 @@
MULTILIB_OPTIONS = mam33/mam33-2/mam34
MULTILIB_DIRNAMES = am33 am33-2 am34
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/pa/t-dce-thr b/gcc/config/pa/t-dce-thr
index 8d86a418186..51b3abcf607 100644
--- a/gcc/config/pa/t-dce-thr
+++ b/gcc/config/pa/t-dce-thr
@@ -1,5 +1,2 @@
MULTILIB_OPTIONS = threads
MULTILIB_DIRNAMES = threads
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/pa/t-linux b/gcc/config/pa/t-linux
deleted file mode 100644
index b94ebd250a8..00000000000
--- a/gcc/config/pa/t-linux
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright (C) 1999, 2001, 2002, 2008, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# Compile libgcc2.a as PIC.
-TARGET_LIBGCC2_CFLAGS = -fPIC -DELF=1 -DLINUX=1
-
-LIB2FUNCS_EXTRA=fptr.c
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/pa/linux-atomic.c
-
-fptr.c: $(srcdir)/config/pa/fptr.c
- rm -f fptr.c
- cp $(srcdir)/config/pa/fptr.c .
diff --git a/gcc/config/pa/t-linux64 b/gcc/config/pa/t-linux64
deleted file mode 100644
index af803a27ed3..00000000000
--- a/gcc/config/pa/t-linux64
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2001, 2008, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/pa/linux-atomic.c
-
-# Compile libgcc2.a as PIC.
-TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1
diff --git a/gcc/config/pa/t-pa-hpux b/gcc/config/pa/t-pa-hpux
deleted file mode 100644
index 63eab636200..00000000000
--- a/gcc/config/pa/t-pa-hpux
+++ /dev/null
@@ -1,7 +0,0 @@
-lib2funcs.asm: $(srcdir)/config/pa/lib2funcs.asm
- rm -f lib2funcs.asm
- cp $(srcdir)/config/pa/lib2funcs.asm .
-
-quadlib.c: $(srcdir)/config/pa/quadlib.c
- rm -f quadlib.c
- cp $(srcdir)/config/pa/quadlib.c .
diff --git a/gcc/config/pa/t-pa-hpux10 b/gcc/config/pa/t-pa-hpux10
deleted file mode 100644
index fd7ff484257..00000000000
--- a/gcc/config/pa/t-pa-hpux10
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET_LIBGCC2_CFLAGS = -fPIC -frandom-seed=fixed-seed -D_T_HPUX10
-LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c
diff --git a/gcc/config/pa/t-pa-hpux11 b/gcc/config/pa/t-pa-hpux11
deleted file mode 100644
index 2773828ac39..00000000000
--- a/gcc/config/pa/t-pa-hpux11
+++ /dev/null
@@ -1,2 +0,0 @@
-TARGET_LIBGCC2_CFLAGS = -fPIC -frandom-seed=fixed-seed
-LIB2FUNCS_EXTRA=lib2funcs.asm quadlib.c
diff --git a/gcc/config/pa/t-pa64 b/gcc/config/pa/t-pa64
deleted file mode 100644
index ce21808e056..00000000000
--- a/gcc/config/pa/t-pa64
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2000, 2001, 2002, 2004, 2006,
-# 2007, 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-TARGET_LIBGCC2_CFLAGS = -fPIC -Dpa64=1 -DELF=1 -mlong-calls
-LIB2FUNCS_EXTRA = quadlib.c
diff --git a/gcc/config/pdp11/t-pdp11 b/gcc/config/pdp11/t-pdp11
index 032084b381b..c0287d50da2 100644
--- a/gcc/config/pdp11/t-pdp11
+++ b/gcc/config/pdp11/t-pdp11
@@ -17,11 +17,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-TARGET_LIBGCC2_CFLAGS = -O2 -mfloat32
-LIB2FUNCS_EXTRA = $(srcdir)/config/udivmod.c $(srcdir)/config/udivmodsi4.c \
- $(srcdir)/config/memcmp.c $(srcdir)/config/memcpy.c \
- $(srcdir)/config/memmove.c $(srcdir)/config/memset.c
-
MULTILIB_OPTIONS = msoft-float
# Because the pdp11 POINTER_SIZE is only 16, in dwarf2out.c,
diff --git a/gcc/config/picochip/t-picochip b/gcc/config/picochip/t-picochip
index 0f3fe8c3d81..269a0551407 100644
--- a/gcc/config/picochip/t-picochip
+++ b/gcc/config/picochip/t-picochip
@@ -16,37 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Compile the extra library functions.
-
-LIB2FUNCS_EXTRA = \
- $(srcdir)/config/picochip/libgccExtras/ashrsi3.asm \
- $(srcdir)/config/picochip/libgccExtras/ashlsi3.asm \
- $(srcdir)/config/picochip/libgccExtras/divmodhi4.asm \
- $(srcdir)/config/picochip/libgccExtras/udivmodhi4.asm \
- $(srcdir)/config/picochip/libgccExtras/divmodsi4.asm \
- $(srcdir)/config/picochip/libgccExtras/udivmodsi4.asm \
- $(srcdir)/config/picochip/libgccExtras/divmod15.asm \
- $(srcdir)/config/picochip/libgccExtras/ucmpsi2.asm \
- $(srcdir)/config/picochip/libgccExtras/cmpsi2.asm \
- $(srcdir)/config/picochip/libgccExtras/clzsi2.asm \
- $(srcdir)/config/picochip/libgccExtras/adddi3.asm \
- $(srcdir)/config/picochip/libgccExtras/subdi3.asm \
- $(srcdir)/config/picochip/libgccExtras/lshrsi3.asm \
- $(srcdir)/config/picochip/libgccExtras/parityhi2.asm \
- $(srcdir)/config/picochip/libgccExtras/popcounthi2.asm
-
-# Turn off ranlib on target libraries.
-RANLIB_FOR_TARGET = cat
-
-# Special libgcc setup. Make single/double floating point the same,
-# and use our own include files.
-TARGET_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/
-
-# Switch off all debugging for the embedded libraries.
-# (embedded processors need small libraries by default).
-# NOTE: If the debug level is increased, turn off instruction scheduling.
-LIBGCC2_DEBUG_CFLAGS = -g0
-
# Build all combinations of library for different multiply units, and
# presence/absence of byte access.
MULTILIB_OPTIONS = mmul-type=none/mmul-type=mac/mmul-type=mul mno-byte-access/mbyte-access
diff --git a/gcc/config/rs6000/t-aix43 b/gcc/config/rs6000/t-aix43
index ebd898d1784..97ce70ecca3 100644
--- a/gcc/config/rs6000/t-aix43
+++ b/gcc/config/rs6000/t-aix43
@@ -44,6 +44,3 @@ MULTILIB_MATCHES = mcpu?power=mcpu?power \
mcpu?powerpc=mcpu?604e \
mcpu?powerpc=mcpu?620 \
mcpu?powerpc=mcpu?630
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/rs6000/t-aix52 b/gcc/config/rs6000/t-aix52
index 3822b8a112c..f3bf78d3630 100644
--- a/gcc/config/rs6000/t-aix52
+++ b/gcc/config/rs6000/t-aix52
@@ -25,6 +25,3 @@ MULTILIB_OPTIONS = pthread maix64
MULTILIB_DIRNAMES = pthread ppc64
MULTILIB_MATCHES =
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/rs6000/t-darwin b/gcc/config/rs6000/t-darwin
deleted file mode 100644
index bedd9e6ff9c..00000000000
--- a/gcc/config/rs6000/t-darwin
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006,
-# 2007, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm \
- $(srcdir)/config/darwin-64.c \
- $(srcdir)/config/rs6000/darwin-fpsave.asm \
- $(srcdir)/config/rs6000/darwin-gpsave.asm \
- $(srcdir)/config/rs6000/darwin-world.asm
-
-LIB2FUNCS_STATIC_EXTRA = \
- $(srcdir)/config/rs6000/darwin-vecsave.asm
-
-# The .asm files above are designed to run on all processors, even though
-# they use AltiVec instructions.
-# -Wa is used because -force_cpusubtype_ALL doesn't work with -dynamiclib.
-# -mmacosx-version-min=10.4 is used to provide compatibility for code from
-# earlier OSX versions.
-
-TARGET_LIBGCC2_CFLAGS += -Wa,-force_cpusubtype_ALL -mmacosx-version-min=10.4
-
-darwin-fpsave.o: $(srcdir)/config/rs6000/darwin-asm.h
-darwin-gpsave.o: $(srcdir)/config/rs6000/darwin-asm.h
-darwin-tramp.o: $(srcdir)/config/rs6000/darwin-asm.h
diff --git a/gcc/config/rs6000/t-darwin64 b/gcc/config/rs6000/t-darwin64
index 4c50b243873..b0a04c7d89d 100644
--- a/gcc/config/rs6000/t-darwin64
+++ b/gcc/config/rs6000/t-darwin64
@@ -1,11 +1,2 @@
-LIB2_SIDITI_CONV_FUNCS=yes
-
-LIB2FUNCS_EXTRA = $(srcdir)/config/rs6000/darwin-tramp.asm \
- $(srcdir)/config/darwin-64.c \
- $(srcdir)/config/rs6000/darwin-world.asm
-
MULTILIB_OPTIONS = m32
MULTILIB_DIRNAMES = ppc
-
-#LIBGCC = stmp-multilib
-#INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/rs6000/t-fprules b/gcc/config/rs6000/t-fprules
index 42d8fd77b5b..913bbbdae69 100644
--- a/gcc/config/rs6000/t-fprules
+++ b/gcc/config/rs6000/t-fprules
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2005, 2006, 2008 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2006, 2008, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -33,6 +33,3 @@ MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
MULTILIB_OPTIONS = msoft-float
MULTILIB_DIRNAMES = soft-float
MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT}
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
index bd01d319212..6420431214d 100644
--- a/gcc/config/rs6000/t-linux64
+++ b/gcc/config/rs6000/t-linux64
@@ -19,8 +19,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-TARGET_LIBGCC2_CFLAGS += -mno-minimal-toc
-
# On Debian, Ubuntu and other derivative distributions, the 32bit libraries
# are found in /lib32 and /usr/lib32, /lib64 and /usr/lib64 are symlinks to
# /lib and /usr/lib, while other distributions install libraries into /lib64
diff --git a/gcc/config/rs6000/t-lynx b/gcc/config/rs6000/t-lynx
index 8eef22351a3..fdc5b56daed 100644
--- a/gcc/config/rs6000/t-lynx
+++ b/gcc/config/rs6000/t-lynx
@@ -16,14 +16,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = tramp.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
- cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
MULTILIB_OPTIONS += msoft-float
MULTILIB_DIRNAMES += soft-float
diff --git a/gcc/config/rs6000/t-netbsd b/gcc/config/rs6000/t-netbsd
index bde74190328..462f0ce7536 100644
--- a/gcc/config/rs6000/t-netbsd
+++ b/gcc/config/rs6000/t-netbsd
@@ -18,33 +18,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = tramp.S
-
-LIB2FUNCS_STATIC_EXTRA = crtsavfpr.S crtresfpr.S \
- crtsavgpr.S crtresgpr.S \
- crtresxfpr.S crtresxgpr.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
- cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
-crtsavfpr.S: $(srcdir)/config/rs6000/crtsavfpr.asm
- cat $(srcdir)/config/rs6000/crtsavfpr.asm >crtsavfpr.S
-
-crtresfpr.S: $(srcdir)/config/rs6000/crtresfpr.asm
- cat $(srcdir)/config/rs6000/crtresfpr.asm >crtresfpr.S
-
-crtsavgpr.S: $(srcdir)/config/rs6000/crtsavgpr.asm
- cat $(srcdir)/config/rs6000/crtsavgpr.asm >crtsavgpr.S
-
-crtresgpr.S: $(srcdir)/config/rs6000/crtresgpr.asm
- cat $(srcdir)/config/rs6000/crtresgpr.asm >crtresgpr.S
-
-crtresxfpr.S: $(srcdir)/config/rs6000/crtresxfpr.asm
- cat $(srcdir)/config/rs6000/crtresxfpr.asm >crtresxfpr.S
-
-crtresxgpr.S: $(srcdir)/config/rs6000/crtresxgpr.asm
- cat $(srcdir)/config/rs6000/crtresxgpr.asm >crtresxgpr.S
-
# Switch synonyms
MULTILIB_MATCHES_FLOAT = msoft-float=mcpu?401 \
msoft-float=mcpu?403 \
@@ -61,24 +34,3 @@ MULTILIB_EXTRA_OPTS = fPIC mstrict-align
MULTILIB_EXCEPTIONS =
MULTILIB_MATCHES = ${MULTILIB_MATCHES_FLOAT}
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-$(T)crtsavfpr$(objext): crtsavfpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavfpr.S -o $(T)crtsavfpr$(objext)
-
-$(T)crtresfpr$(objext): crtresfpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresfpr.S -o $(T)crtresfpr$(objext)
-
-$(T)crtsavgpr$(objext): crtsavgpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtsavgpr.S -o $(T)crtsavgpr$(objext)
-
-$(T)crtresgpr$(objext): crtresgpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresgpr.S -o $(T)crtresgpr$(objext)
-
-$(T)crtresxfpr$(objext): crtresxfpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxfpr.S -o $(T)crtresxfpr$(objext)
-
-$(T)crtresxgpr$(objext): crtresxgpr.S
- $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(MULTILIB_CFLAGS) -c crtresxgpr.S -o $(T)crtresxgpr$(objext)
diff --git a/gcc/config/rs6000/t-ppccomm b/gcc/config/rs6000/t-ppccomm
index 89716bc08c4..81ab7effa42 100644
--- a/gcc/config/rs6000/t-ppccomm
+++ b/gcc/config/rs6000/t-ppccomm
@@ -19,17 +19,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA += tramp.S
-
-# These can't end up in shared libgcc
-LIB2FUNCS_STATIC_EXTRA = eabi.S
-
-eabi.S: $(srcdir)/config/rs6000/eabi.asm
- cat $(srcdir)/config/rs6000/eabi.asm > eabi.S
-
-tramp.S: $(srcdir)/config/rs6000/tramp.asm
- cat $(srcdir)/config/rs6000/tramp.asm > tramp.S
-
# Switch synonyms
MULTILIB_MATCHES_ENDIAN = mlittle=mlittle-endian mbig=mbig-endian
MULTILIB_MATCHES_SYSV = mcall-sysv=mcall-sysv-eabi mcall-sysv=mcall-sysv-noeabi mcall-sysv=mcall-linux mcall-sysv=mcall-netbsd
diff --git a/gcc/config/rs6000/t-spe b/gcc/config/rs6000/t-spe
index cbbac79f661..1bed1e32b0e 100644
--- a/gcc/config/rs6000/t-spe
+++ b/gcc/config/rs6000/t-spe
@@ -18,9 +18,6 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
# What we really want are these variants:
# -mcpu=7400
# -mcpu=7400 -maltivec -mabi=altivec
diff --git a/gcc/config/rs6000/t-vxworks b/gcc/config/rs6000/t-vxworks
index e6c67d731ec..c0128ed845f 100644
--- a/gcc/config/rs6000/t-vxworks
+++ b/gcc/config/rs6000/t-vxworks
@@ -1,6 +1,6 @@
# Multilibs for VxWorks.
#
-# Copyright (C) 2002, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2005, 2006, 2011 Free Software Foundation, Inc.
#
# This file is part of GCC.
#
@@ -23,8 +23,3 @@ MULTILIB_OPTIONS = mrtp fPIC msoft-float
MULTILIB_DIRNAMES =
MULTILIB_MATCHES = fPIC=fpic
MULTILIB_EXCEPTIONS = fPIC*
-
-# Similarily, LIB2FUNCS_EXTRA is set from config/t-vxworks and
-# t-ppccomm *adds* to it, but the common contents are useful to us.
-# In particular the base trampoline_setup bits are expected to be
-# provided there.
diff --git a/gcc/config/rx/t-rx b/gcc/config/rx/t-rx
index 9d282b66b1a..9a5dca9056a 100644
--- a/gcc/config/rx/t-rx
+++ b/gcc/config/rx/t-rx
@@ -27,6 +27,3 @@ MULTILIB_MATCHES = nofpu=mnofpu nofpu=mcpu?rx200
MULTILIB_EXCEPTIONS =
MULTILIB_EXTRA_OPTS =
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/sh/t-linux b/gcc/config/sh/t-linux
index 2304fb176cb..d33c6383915 100644
--- a/gcc/config/sh/t-linux
+++ b/gcc/config/sh/t-linux
@@ -1,4 +1,2 @@
-LIB2FUNCS_EXTRA= $(srcdir)/config/sh/linux-atomic.asm
-
MULTILIB_DIRNAMES=
MULTILIB_MATCHES =
diff --git a/gcc/config/sh/t-netbsd b/gcc/config/sh/t-netbsd
deleted file mode 100644
index dea1c478cb5..00000000000
--- a/gcc/config/sh/t-netbsd
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 2002, 2004, 2009, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-TARGET_LIBGCC2_CFLAGS = -fpic -mieee
-
-LIB2FUNCS_EXTRA=
diff --git a/gcc/config/sh/t-sh b/gcc/config/sh/t-sh
index 56ea83e0697..1d305ee5193 100644
--- a/gcc/config/sh/t-sh
+++ b/gcc/config/sh/t-sh
@@ -22,8 +22,6 @@ sh-c.o: $(srcdir)/config/sh/sh-c.c \
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/sh/sh-c.c
-TARGET_LIBGCC2_CFLAGS = -mieee
-
DEFAULT_ENDIAN = $(word 1,$(TM_ENDIAN_CONFIG))
OTHER_ENDIAN = $(word 2,$(TM_ENDIAN_CONFIG))
@@ -84,9 +82,6 @@ MULTILIB_OSDIRNAMES = \
m5-64media=!m5-64media $(OTHER_ENDIAN)/m5-64media=!$(OTHER_ENDIAN)/m5-64media \
m5-64media-nofpu=!m5-64media-nofpu $(OTHER_ENDIAN)/m5-64media-nofpu=!$(OTHER_ENDIAN)/m5-64media-nofpu
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
$(out_object_file): gt-sh.h
gt-sh.h : s-gtype ; @true
diff --git a/gcc/config/sparc/t-elf b/gcc/config/sparc/t-elf
index be926585481..e9acfe3693e 100644
--- a/gcc/config/sparc/t-elf
+++ b/gcc/config/sparc/t-elf
@@ -20,6 +20,3 @@
MULTILIB_OPTIONS = msoft-float mcpu=v8 mflat
MULTILIB_DIRNAMES = soft v8 flat
MULTILIB_MATCHES = msoft-float=mno-fpu
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/sparc/t-leon b/gcc/config/sparc/t-leon
index 8e5e30f7ff7..25fc61136a9 100644
--- a/gcc/config/sparc/t-leon
+++ b/gcc/config/sparc/t-leon
@@ -22,6 +22,3 @@
MULTILIB_OPTIONS = mcpu=v7 msoft-float mflat
MULTILIB_DIRNAMES = v7 soft flat
MULTILIB_MATCHES = mcpu?v7=mv7 msoft-float=mno-fpu
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/sparc/t-leon3 b/gcc/config/sparc/t-leon3
index 0e7e45cc594..acdd1f2c67b 100644
--- a/gcc/config/sparc/t-leon3
+++ b/gcc/config/sparc/t-leon3
@@ -20,6 +20,3 @@
MULTILIB_OPTIONS = msoft-float
MULTILIB_DIRNAMES = soft
MULTILIB_MATCHES = msoft-float=mno-fpu
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/sparc/t-linux64 b/gcc/config/sparc/t-linux64
index 7d5781d32ed..d9dfad66ce7 100644
--- a/gcc/config/sparc/t-linux64
+++ b/gcc/config/sparc/t-linux64
@@ -27,6 +27,3 @@
MULTILIB_OPTIONS = m64/m32
MULTILIB_DIRNAMES = 64 32
MULTILIB_OSDIRNAMES = ../lib64 $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)
-
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/sparc/t-netbsd64 b/gcc/config/sparc/t-netbsd64
index 0fddb0ffe87..bc783c19366 100644
--- a/gcc/config/sparc/t-netbsd64
+++ b/gcc/config/sparc/t-netbsd64
@@ -1,8 +1,5 @@
-# Disable multilib fow now, as NetBSD/sparc64 does not ship with
+# Disable multilib for now, as NetBSD/sparc64 does not ship with
# a 32-bit environment.
#MULTILIB_OPTIONS = m32/m64
#MULTILIB_DIRNAMES = 32 64
#MULTILIB_MATCHES =
-
-#LIBGCC = stmp-multilib
-#INSTALL_LIBGCC = install-multilib
diff --git a/gcc/config/spu/t-spu-elf b/gcc/config/spu/t-spu-elf
index 45802499525..50c8d0353f5 100644
--- a/gcc/config/spu/t-spu-elf
+++ b/gcc/config/spu/t-spu-elf
@@ -15,36 +15,9 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-TARGET_LIBGCC2_CFLAGS = -fPIC -mwarn-reloc -D__IN_LIBGCC2
-
-# We exclude those because the libgcc2.c default versions do not support
-# the SPU single-precision format (round towards zero). We provide our
-# own versions below and/or via direct expansion.
-LIB2FUNCS_EXCLUDE = _floatdisf _floatundisf _floattisf _floatunstisf
-
-LIB2FUNCS_STATIC_EXTRA = $(srcdir)/config/spu/float_unssidf.c \
- $(srcdir)/config/spu/float_unsdidf.c \
- $(srcdir)/config/spu/float_unsdisf.c \
- $(srcdir)/config/spu/float_disf.c \
- $(srcdir)/config/spu/mfc_tag_table.c \
- $(srcdir)/config/spu/mfc_tag_reserve.c \
- $(srcdir)/config/spu/mfc_tag_release.c \
- $(srcdir)/config/spu/mfc_multi_tag_reserve.c \
- $(srcdir)/config/spu/mfc_multi_tag_release.c \
- $(srcdir)/config/spu/multi3.c \
- $(srcdir)/config/spu/divmodti4.c \
- $(srcdir)/config/spu/divv2df3.c
-
-# Build TImode conversion routines to support Fortran 128-bit
-# integer data types.
-LIB2_SIDITI_CONV_FUNCS=yes
-
# Multi-lib support.
MULTILIB_OPTIONS=mea64
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
spu.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h \
real.h insn-config.h conditions.h insn-attr.h flags.h $(RECOG_H) \
diff --git a/gcc/config/stormy16/stormy16-lib2-ashlsi3.c b/gcc/config/stormy16/stormy16-lib2-ashlsi3.c
deleted file mode 100644
index d6cabc6691c..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-ashlsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_ASHLSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-ashrsi3.c b/gcc/config/stormy16/stormy16-lib2-ashrsi3.c
deleted file mode 100644
index 151e3d01cab..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-ashrsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_ASHRSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-clzhi2.c b/gcc/config/stormy16/stormy16-lib2-clzhi2.c
deleted file mode 100644
index 066fdf13112..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-clzhi2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_CLZHI2
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-cmpsi2.c b/gcc/config/stormy16/stormy16-lib2-cmpsi2.c
deleted file mode 100644
index 7563c36b569..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-cmpsi2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_CMPSI2
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-ctzhi2.c b/gcc/config/stormy16/stormy16-lib2-ctzhi2.c
deleted file mode 100644
index c1497db952f..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-ctzhi2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_CTZHI2
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-divsi3.c b/gcc/config/stormy16/stormy16-lib2-divsi3.c
deleted file mode 100644
index 33c370d1c1f..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-divsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_DIVSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-ffshi2.c b/gcc/config/stormy16/stormy16-lib2-ffshi2.c
deleted file mode 100644
index 4b629ddece8..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-ffshi2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_FFSHI2
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-lshrsi3.c b/gcc/config/stormy16/stormy16-lib2-lshrsi3.c
deleted file mode 100644
index cd769ee6647..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-lshrsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_LSHRSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-modsi3.c b/gcc/config/stormy16/stormy16-lib2-modsi3.c
deleted file mode 100644
index 587d0070d23..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-modsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_MODSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-ucmpsi2.c b/gcc/config/stormy16/stormy16-lib2-ucmpsi2.c
deleted file mode 100644
index da1a3e70753..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-ucmpsi2.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_UCMPSI2
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-udivsi3.c b/gcc/config/stormy16/stormy16-lib2-udivsi3.c
deleted file mode 100644
index fdcd64a0ae0..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-udivsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_UDIVSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-umodsi3.c b/gcc/config/stormy16/stormy16-lib2-umodsi3.c
deleted file mode 100644
index 87921f2a196..00000000000
--- a/gcc/config/stormy16/stormy16-lib2-umodsi3.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define XSTORMY16_UMODSI3
-#include "stormy16-lib2.c"
diff --git a/gcc/config/stormy16/t-stormy16 b/gcc/config/stormy16/t-stormy16
deleted file mode 100644
index c2b6c2a5573..00000000000
--- a/gcc/config/stormy16/t-stormy16
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- makefile -*-
-#
-# Copyright (C) 2001, 2004, 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# SImode arithmetic and logical routines, HImode bit counting routines.
-LIB2FUNCS_EXTRA = \
- $(srcdir)/config/stormy16/stormy16-lib2-udivmodsi4.c \
- $(srcdir)/config/stormy16/stormy16-lib2-divsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-modsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-udivsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-umodsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-ashlsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-ashrsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-lshrsi3.c \
- $(srcdir)/config/stormy16/stormy16-lib2-popcounthi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-parityhi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-clzhi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-ctzhi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-ffshi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-cmpsi2.c \
- $(srcdir)/config/stormy16/stormy16-lib2-ucmpsi2.c
-
-TARGET_LIBGCC2_CFLAGS = -O2
diff --git a/gcc/config/t-darwin b/gcc/config/t-darwin
index d952bd39273..e2bd74d61b0 100644
--- a/gcc/config/t-darwin
+++ b/gcc/config/t-darwin
@@ -41,9 +41,3 @@ darwin-driver.o: $(srcdir)/config/darwin-driver.c \
$(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(GCC_H) opts.h
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
$(srcdir)/config/darwin-driver.c
-
-# -pipe because there's an assembler bug, 4077127, which causes
-# it to not properly process the first # directive, causing temporary
-# file names to appear in stabs, causing the bootstrap to fail. Using -pipe
-# works around this by not having any temporary file names.
-TARGET_LIBGCC2_CFLAGS = -fPIC -pipe
diff --git a/gcc/config/t-freebsd b/gcc/config/t-freebsd
deleted file mode 100644
index 26316be1efb..00000000000
--- a/gcc/config/t-freebsd
+++ /dev/null
@@ -1,2 +0,0 @@
-# Compile libgcc.a with pic.
-TARGET_LIBGCC2_CFLAGS += -fPIC
diff --git a/gcc/config/t-libgcc-pic b/gcc/config/t-libgcc-pic
deleted file mode 100644
index ff935fe1e05..00000000000
--- a/gcc/config/t-libgcc-pic
+++ /dev/null
@@ -1,2 +0,0 @@
-# Compile libgcc2.a with pic.
-TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gcc/config/t-libunwind b/gcc/config/t-libunwind
index e517778be6f..6ebef7cc837 100644
--- a/gcc/config/t-libunwind
+++ b/gcc/config/t-libunwind
@@ -19,4 +19,3 @@
# Use the system libunwind library.
T_CFLAGS += -DUSE_LIBUNWIND_EXCEPTIONS
-TARGET_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
diff --git a/gcc/config/t-linux b/gcc/config/t-linux
deleted file mode 100644
index a5ef25c423b..00000000000
--- a/gcc/config/t-linux
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003,
-# 2004, 2011 Free Software Foundation, Inc.
-#
-# This file is part of GCC.
-#
-# GCC 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 3, or (at your option)
-# any later version.
-#
-# GCC 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 GCC; see the file COPYING3. If not see
-# <http://www.gnu.org/licenses/>.
-
-# Compile libgcc2.a with pic.
-TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gcc/config/t-lynx b/gcc/config/t-lynx
index 4825164ca31..860f61281d0 100644
--- a/gcc/config/t-lynx
+++ b/gcc/config/t-lynx
@@ -16,15 +16,9 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Compile libgcc2.a with pic.
-TARGET_LIBGCC2_CFLAGS = -fPIC
-
MULTILIB_OPTIONS = mthreads
MULTILIB_DIRNAMES = thread
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
Local Variables:
mode: makefile
End:
diff --git a/gcc/config/t-rtems b/gcc/config/t-rtems
index dfbd3afe9ee..baa00d83176 100644
--- a/gcc/config/t-rtems
+++ b/gcc/config/t-rtems
@@ -1,7 +1,2 @@
# RTEMS always has limits.h.
LIMITS_H_TEST = true
-
-# If we are building next to newlib, this will let us find the RTEMS
-# limits.h when building libgcc2. Otherwise, newlib must be installed
-# first.
-LIBGCC2_INCLUDES = -I$(srcdir)/../newlib/libc/sys/rtems/include
diff --git a/gcc/config/t-sol2 b/gcc/config/t-sol2
index f9156223593..8646e3625e8 100644
--- a/gcc/config/t-sol2
+++ b/gcc/config/t-sol2
@@ -36,6 +36,3 @@ sol2-stubs.o: $(srcdir)/config/sol2-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h
sol2.o: $(srcdir)/config/sol2.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \
tree.h output.h $(TM_H) $(TARGET_H) $(TM_P_H) $(GGC_H)
$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $<
-
-# This is required by gcc/ada/gcc-interface/Makefile.in.
-TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gcc/config/t-svr4 b/gcc/config/t-svr4
deleted file mode 100644
index 5f38f56c9fe..00000000000
--- a/gcc/config/t-svr4
+++ /dev/null
@@ -1,7 +0,0 @@
-# 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++
-# to produce a shared library, but since we don't know ahead of time when
-# we will be doing that, we just always use -fPIC when compiling the
-# routines in crtstuff.c. Likewise for libgcc2.c.
-
-TARGET_LIBGCC2_CFLAGS = -fPIC
diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks
index d29ab66d8bf..9564e1bef55 100644
--- a/gcc/config/t-vxworks
+++ b/gcc/config/t-vxworks
@@ -17,32 +17,10 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-# Build libgcc using the multilib mechanism
-LIBGCC = stmp-multilib
-INSTALL_LIBGCC = install-multilib
-
-# No special flags needed for libgcc.a
-TARGET_LIBGCC2_CFLAGS =
-
-# Don't build libgcc.a with debug info
-LIBGCC2_DEBUG_CFLAGS =
-
-# Extra libgcc2 modules used by gthr-vxworks.h functions
-LIB2FUNCS_EXTRA = $(srcdir)/config/vxlib.c $(srcdir)/config/vxlib-tls.c
-
# Some runtime modules need these. Can't set extra_headers in config.gcc
# because the paths are always made absolute to the cpu config dir.
EXTRA_HEADERS += $(srcdir)/gthr-vxworks.h gthr-default.h
-# This ensures that the correct target headers are used; some
-# VxWorks system headers have names that collide with GCC's
-# internal (host) headers, e.g. regs.h.
-LIBGCC2_INCLUDES = -nostdinc -I \
- `case "/$$(MULTIDIR)" in \
- */mrtp*) echo $(WIND_USR)/h ;; \
- *) echo $(WIND_BASE)/target/h ;; \
- esac`
-
# Both the kernel and RTP headers provide limits.h.
LIMITS_H_TEST = true
diff --git a/gcc/config/v850/t-v850 b/gcc/config/v850/t-v850
index 7885229e631..ca7f7ff73aa 100644
--- a/gcc/config/v850/t-v850
+++ b/gcc/config/v850/t-v850
@@ -20,7 +20,6 @@
# Create target-specific versions of the libraries
MULTILIB_OPTIONS = mv850/mv850e/mv850e2/mv850e2v3
MULTILIB_DIRNAMES = v850 v850e v850e2 v850e2v3
-INSTALL_LIBGCC = install-multilib
MULTILIB_MATCHES = mv850e=mv850e1
TCFLAGS = -mno-app-regs -msmall-sld -Wa,-mwarn-signed-overflow -Wa,-mwarn-unsigned-overflow
diff --git a/gcc/config/xtensa/t-elf b/gcc/config/xtensa/t-elf
deleted file mode 100644
index 76f4ef3f304..00000000000
--- a/gcc/config/xtensa/t-elf
+++ /dev/null
@@ -1 +0,0 @@
-TARGET_LIBGCC2_CFLAGS += -mlongcalls
diff --git a/gcc/config/xtensa/t-xtensa b/gcc/config/xtensa/t-xtensa
index 31ac2ad2452..6ec56969fe4 100644
--- a/gcc/config/xtensa/t-xtensa
+++ b/gcc/config/xtensa/t-xtensa
@@ -17,6 +17,4 @@
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
-LIB2FUNCS_EXTRA = $(srcdir)/config/xtensa/lib2funcs.S
-
$(out_object_file): gt-xtensa.h
diff --git a/gcc/po/ChangeLog b/gcc/po/ChangeLog
index e8c56e0356c..5cc12f4372c 100644
--- a/gcc/po/ChangeLog
+++ b/gcc/po/ChangeLog
@@ -1,5 +1,10 @@
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h)
+ (longlong.h): Remove.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
* EXCLUDES (crtstuff.c): Remove.
2011-10-30 Joseph Myers <joseph@codesourcery.com>
diff --git a/gcc/po/EXCLUDES b/gcc/po/EXCLUDES
index 31e995b56d1..c969910fa56 100644
--- a/gcc/po/EXCLUDES
+++ b/gcc/po/EXCLUDES
@@ -22,8 +22,6 @@
# .def are examined to begin with.
# These files are part of libgcc, or target headers provided by gcc.
-config/vxlib.c
-gbl-ctors.h
gcov-io.h
gcov-iov.c
gthr-aix.h
@@ -36,11 +34,8 @@ gthr-solaris.h
gthr-vxworks.h
gthr-win32.h
gthr.h
-libgcc2.c
-libgcc2.h
limitx.h
limity.h
-longlong.h
# These programs are meant to be executed only by GCC maintainers or
# installers. Such files do not need to be translated, as these
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 6b2514aba9a..deab941041a 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,5 +1,254 @@
2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ * configure.ac: Include ../config/picflag.m4.
+ (GCC_PICFLAG): Call it.
+ Substitute.
+ * configure: Regenerate.
+ * Makefile.in (gcc_srcdir): Remove.
+ (LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES)
+ (HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE)
+ (LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set.
+ ($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o))
+ ($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c.
+ Use $<.
+ Remove comment.
+ * libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files.
+ * siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir)
+ to refer to libgcc2.c.
+ Use $<.
+ * config/darwin-64.c: New file.
+ * config/darwin-crt3.c: Remove comment.
+ * config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
+ config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
+ config/udivmodsi4.c: New files.
+ * config/memcmp.c, config/memcpy.c, config/memmove.c,
+ config/memset.c: New files.
+ * config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG).
+ * config/t-darwin (HOST_LIBGCC2_CFLAGS): Set.
+ * config/t-freebsd-thread, config/t-libgcc-pic: New files.
+ * config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set.
+ * config/t-openbsd-thread: New file.
+ * config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove.
+ * config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files.
+ * config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files.
+ * config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to
+ qrnnd.S.
+ Adapt filename.
+ * config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha
+ to refer to gthr-posix.c.
+ * config/alpha/t-vms (LIB2ADD): Set.
+ * config/alpha/vms-gcc_shell_handler.c: New file.
+ * config/arm/bpabi.c, config/arm/fp16.c,
+ config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c,
+ config/arm/unaligned-funcs.c: New files.
+ * config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set.
+ * config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set.
+ * config/arm/t-linux: Likewise.
+ * config/arm/t-linux-eabi (LIB2ADD_ST): Add.
+ * config/arm/t-netbsd: New file.
+ * config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set.
+ * config/arm/t-symbian (LIB2ADD_ST): Set.
+ * config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set.
+ * config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/bfin/t-elf: New file.
+ * config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
+ config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
+ config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
+ config/c6x/ltf.c: New files.
+ * config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD)
+ (HOST_LIBGCC2_CFLAGS): Set.
+ * config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set.
+ (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris:
+ New files.
+ * config/cris/t-elfmulti (LIB2ADD_ST): Set.
+ * config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove.
+ * config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
+ config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
+ config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New
+ files.
+ * config/frv/t-frv (LIB2ADD): Set.
+ * config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
+ config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
+ config/h8300/popcounthi2.c: New files.
+ * config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
+ * config/i386/gthr-win32.c: New file.
+ * config/i386/t-cygming (LIBGCC2_INCLUDES): Set.
+ * config/i386/t-cygwin: Likewise.
+ * config/i386/t-darwin, config/i386/t-darwin64,
+ config/i386/t-gthr-win32, config/i386/t-interix: New files.
+ * config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set.
+ (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/ia64/quadlib.c: New file.
+ * config/ia64/t-hpux (LIB2ADD): Set.
+ * config/ia64/t-ia64: Add comment.
+ * config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files.
+ * config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ (HOST_LIBGCC2_CFLAGS): Append, remove -fPIC.
+ * config/m32c/lib2funcs.c, config/m32c/trapv.c: New files.
+ * config/m32c/t-m32c (LIB2ADD): Set.
+ * config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set.
+ * config/m32r/t-m32r: Likewise.
+ * config/m68k/fpgnulib.c: New file.
+ * config/m68k/t-floatlib (LIB2ADD): Set.
+ (xfgnulib.c): New target.
+ * config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set.
+ * config/mep/lib2funcs.c, config/mep/tramp.c: New files.
+ * config/mep/t-mep (LIB2ADD): Set.
+ * config/microblaze/divsi3.asm: Rename to divsi3.S.
+ * config/microblaze/moddi3.asm: Rename to moddi3.S.
+ * config/microblaze/modsi3.asm: Rename to modsi3.S.
+ * config/microblaze/muldi3_hard.asm: Rename to hard.S.
+ * config/microblaze/mulsi3.asm: Rename to mulsi3.S.
+ * config/microblaze/stack_overflow_exit.asm: Rename to exit.S.
+ * config/microblaze/udivsi3.asm: Rename to udivsi3.S.
+ * config/microblaze/umodsi3.asm: Rename to umodsi3.S.
+ * config/microblaze/t-microblaze (LIB2ADD): Reflect this.
+ * config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S:
+ New files.
+ * config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set.
+ * config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set.
+ * config/pa/fptr.c, config/pa/lib2funcs.S,
+ config/pa/linux-atomic.c, config/pa/quadlib.c: New files.
+ * config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set.
+ (LIB2ADD, LIB2ADD_ST): Set.
+ * config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files.
+ * config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST):
+ Set.
+ * config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set.
+ * config/pdp11/t-pdp11: New file.
+ * config/picochip/libgccExtras/adddi3.S,
+ config/picochip/libgccExtras/ashlsi3.S,
+ config/picochip/libgccExtras/ashrsi3.S,
+ config/picochip/libgccExtras/clzsi2.S,
+ config/picochip/libgccExtras/cmpsi2.S,
+ config/picochip/libgccExtras/divmod15.S,
+ config/picochip/libgccExtras/divmodhi4.S,
+ config/picochip/libgccExtras/divmodsi4.S,
+ config/picochip/libgccExtras/lshrsi3.S,
+ config/picochip/libgccExtras/parityhi2.S,
+ config/picochip/libgccExtras/popcounthi2.S,
+ config/picochip/libgccExtras/subdi3.S,
+ config/picochip/libgccExtras/ucmpsi2.S,
+ config/picochip/libgccExtras/udivmodhi4.S,
+ config/picochip/libgccExtras/udivmodsi4.S: New files.
+ * config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS)
+ (LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set.
+ * config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S,
+ config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S,
+ config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S)
+ config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S,
+ config/rs6000/darwin-gpsave.S, config/rs6000/darwin-tramp.S,
+ config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New
+ files.
+ * config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST)
+ (HOST_LIBGCC2_CFLAGS): Set.
+ * config/rs6000/t-darwin64: New file.
+ * config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set.
+ * config/rs6000/t-lynx, config/rs6000/t-netbsd: New files.
+ * config/rs6000/t-ppccomm (LIB2ADD): Add
+ $(srcdir)/config/rs6000/tramp.S.
+ (LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources.
+ Add $(srcdir)/config/rs6000/eabi.S.
+ (crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S)
+ (crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S)
+ (e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S)
+ (e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S)
+ (e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S)
+ (e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove.
+ * config/rs6000/tramp.S: New file.
+ * config/s390/t-tpf: Remove.
+ * config/sh/linux-atomic.S: New file.
+ * config/sh/t-linux (LIB2ADD): Set.
+ (HOST_LIBGCC2_CFLAGS): Append, remove -fpic.
+ * config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
+ * config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer
+ to unwind-dw2.c.
+ (HOST_LIBGCC2_CFLAGS): Set.
+ * config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
+ * config/spu/divmodti4.c, config/spu/divv2df3.c,
+ config/spu/float_disf.c, config/spu/float_unsdidf.c,
+ config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
+ config/spu/mfc_multi_tag_release.c,
+ config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
+ config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
+ config/spu/multi3.c: New files.
+ * config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS)
+ (HOST_LIBGCC2_CFLAGS): Set.
+ * config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c,
+ config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c,
+ config/stormy16/ctzhi2.c, config/stormy16/divsi3.c,
+ config/stormy16/ffshi2.c, config/stormy16/lib2.c,
+ config/stormy16/lshrsi3.c, config/stormy16/modsi3.c,
+ config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c,
+ config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c,
+ config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c,
+ config/stormy16/umodsi3.c: New files.
+ * config/xtensa/lib2funcs.S: New file.
+ * config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set.
+ * config/xtensa/t-xtensa (LIB2ADD): Set.
+ * config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file.
+ (*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file.
+ Add t-freebsd-thread to tmake_file for posix threads.
+ (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu)
+ (*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file.
+ (*-*-lynxos*): Likewise.
+ (*-*-netbsd*): Likewise.
+ (*-*-openbsd*): Likewise.
+ Add t-openbsd-thread to tmake_file for posix threads.
+ (*-*-solaris2*): Add t-libgcc-pic to tmake_file.
+ (*-*-vxworks*): Set tmake_file.
+ (alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
+ (alpha*-*-freebsd*): Likewise.
+ (alpha*-*-netbsd*): Likewise.
+ (alpha*-*-openbsd*): Likewise.
+ (alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts.
+ (alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
+ (alpha*-dec-*vms*): Likewise.
+ (arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file.
+ (bfin*-elf*): Add bfin/t-elf to tmake_file.
+ (bfin*-uclinux*): Likewise.
+ (bfin*-linux-uclibc*): Likewise.
+ (crisv32-*-elf): Add cris/t-cris to tmake_file.
+ (crisv32-*-none): Likewise.
+ (cris-*-elf): Likewise.
+ (cris-*-none): Likewise.
+ (cris-*-linux*, crisv32-*-linux*): Likewise.
+ (hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to
+ tmake_file.
+ (hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to
+ tmake_file.
+ (hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file.
+ (i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file.
+ (x86_64-*-elf*): Likewise.
+ (i[34567]86-*-nto-qnx*): Likewise.
+ (i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for
+ win32 threads.
+ (x86_64-*-mingw*): Likewise.
+ (i[34567]86-*-interix3*): Add i386/t-interix to tmake_file.
+ (lm32-*-uclinux*): Add t-libgcc-pic to tmake_file.
+ (mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
+ (mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
+ (mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to
+ tmake_file.
+ (mipsisa64sr71k-*-elf*): Likewise.
+ (mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
+ (mips-*-elf*, mipsel-*-elf*): Likewise.
+ (mips64-*-elf*, mips64el-*-elf*): Likewise.
+ (mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
+ (mips*-*-rtems*): Likewise.
+ (mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr
+ to tmake_file.
+ (pdp11-*-*): Add pdp11/t-pdp11 to tmake_file.
+ (powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file.
+ (s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file.
+ (spu-*-elf*): Likewise.
+ (tic6x-*-uclinux): Add t-libgcc-pic to tmake_file.
+
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
* Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use
$(srcdir) to refer to $(LIB1ASMSRC).
Use $<.
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 6bbb369f8e8..c0d496e5f19 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -22,7 +22,6 @@
libgcc_topdir = @libgcc_topdir@
host_subdir = @host_subdir@
-gcc_srcdir = $(libgcc_topdir)/gcc
gcc_objdir = $(MULTIBUILDTOP)../../$(host_subdir)/gcc
srcdir = @srcdir@
@@ -220,6 +219,42 @@ else
DECNUMINC =
endif
+# Options to use when compiling libgcc2.a.
+#
+LIBGCC2_DEBUG_CFLAGS = -g
+LIBGCC2_CFLAGS = -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) $(HOST_LIBGCC2_CFLAGS) \
+ $(LIBGCC2_DEBUG_CFLAGS) $(GTHREAD_FLAGS) \
+ -DIN_LIBGCC2 \
+ -fbuilding-libgcc -fno-stack-protector \
+ $(INHIBIT_LIBC_CFLAGS)
+
+# Additional options to use when compiling libgcc2.a.
+# Some targets override this to -isystem include
+LIBGCC2_INCLUDES =
+
+# Additional target-dependent options for compiling libgcc2.a.
+HOST_LIBGCC2_CFLAGS =
+
+PICFLAG = @PICFLAG@
+
+# Defined in libgcc2.c, included only in the static library.
+LIB2FUNCS_ST = _eprintf __gcc_bcmp
+
+# List of functions not to build from libgcc2.c.
+LIB2FUNCS_EXCLUDE =
+
+# These might cause a divide overflow trap and so are compiled with
+# unwinder info.
+LIB2_DIVMOD_FUNCS = _divdi3 _moddi3 _udivdi3 _umoddi3 _udiv_w_sdiv _udivmoddi4
+
+# List of extra C and assembler files to add to static and shared libgcc2.
+# Assembler files should have names ending in `.S'.
+LIB2ADD =
+
+# List of extra C and assembler files to add to static libgcc2.
+# Assembler files should have names ending in `.S'.
+LIB2ADD_ST =
+
# Specify the directories to be searched for header files.
# Both . and srcdir are used, in that order,
# so that *config.h will be found in the compilation
@@ -416,15 +451,14 @@ endif
# Build lib2funcs. For the static library also include LIB2FUNCS_ST.
lib2funcs-o = $(patsubst %,%$(objext),$(lib2funcs) $(LIB2FUNCS_ST))
-$(lib2funcs-o): %$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
- $(vis_hide)
+$(lib2funcs-o): %$(objext): $(srcdir)/libgcc2.c
+ $(gcc_compile) -DL$* -c $< $(vis_hide)
libgcc-objects += $(lib2funcs-o)
ifeq ($(enable_shared),yes)
lib2funcs-s-o = $(patsubst %,%_s$(objext),$(lib2funcs))
-$(lib2funcs-s-o): %_s$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_s_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c
+$(lib2funcs-s-o): %_s$(objext): $(srcdir)/libgcc2.c
+ $(gcc_s_compile) -DL$* -c $<
libgcc-s-objects += $(lib2funcs-s-o)
endif
@@ -452,15 +486,15 @@ endif
# Build LIB2_DIVMOD_FUNCS.
lib2-divmod-o = $(patsubst %,%$(objext),$(LIB2_DIVMOD_FUNCS))
-$(lib2-divmod-o): %$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
+$(lib2-divmod-o): %$(objext): $(srcdir)/libgcc2.c
+ $(gcc_compile) -DL$* -c $< \
-fexceptions -fnon-call-exceptions $(vis_hide)
libgcc-objects += $(lib2-divmod-o)
ifeq ($(enable_shared),yes)
lib2-divmod-s-o = $(patsubst %,%_s$(objext),$(LIB2_DIVMOD_FUNCS))
-$(lib2-divmod-s-o): %_s$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_s_compile) -DL$* -c $(gcc_srcdir)/libgcc2.c \
+$(lib2-divmod-s-o): %_s$(objext): $(srcdir)/libgcc2.c
+ $(gcc_s_compile) -DL$* -c $< \
-fexceptions -fnon-call-exceptions
libgcc-s-objects += $(lib2-divmod-s-o)
endif
@@ -1027,11 +1061,3 @@ install-strip: install
.NOEXPORT:
include $(srcdir)/empty.mk $(wildcard *.dep)
-
-# TODO QUEUE:
-# Garbage collect in gcc/:
-# $(LIBGCC) settings in t-* are now unused
-#
-# Remove use of $(gcc_srcdir). Source files referenced using $(gcc_srcdir)
-# should move into the libgcc directory.
-
diff --git a/libgcc/config.host b/libgcc/config.host
index 0a05ea184b0..c4f445faa57 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -163,7 +163,7 @@ esac
case ${host} in
*-*-darwin*)
asm_hidden_op=.private_extern
- tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-slibgcc-darwin"
+ tmake_file="$tmake_file t-darwin ${cpu_type}/t-darwin t-libgcc-pic t-slibgcc-darwin"
extra_parts=crt3.o
;;
*-*-freebsd[12] | *-*-freebsd[12].* | *-*-freebsd*aout*)
@@ -179,10 +179,11 @@ case ${host} in
# This is the generic ELF configuration of FreeBSD. Later
# machine-specific sections may refine and add to this
# configuration.
- tmake_file="$tmake_file t-crtstuff-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+ tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
case ${target_thread_file} in
posix)
+ tmake_file="${tmake_file} t-freebsd-thread"
# Before 5.0, FreeBSD can't bind shared libraries to -lc
# when "optionally" threaded via weak pthread_* checks.
case ${host} in
@@ -194,15 +195,15 @@ case ${host} in
esac
;;
*-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu)
- tmake_file="$tmake_file t-crtstuff-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
;;
*-*-lynxos*)
- tmake_file="$tmake_file $cpu_type/t-crtstuff t-crtstuff-pic"
+ tmake_file="$tmake_file t-lynx $cpu_type/t-crtstuff t-crtstuff-pic t-libgcc-pic"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
*-*-netbsd*)
- tmake_file="$tmake_file t-crtstuff-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
# NetBSD 1.7 and later are set up to use GCC's crtstuff for
# ELF configurations. We will clear extra_parts in the
# a.out configurations.
@@ -213,7 +214,12 @@ case ${host} in
esac
;;
*-*-openbsd*)
- tmake_file="$tmake_file t-crtstuff-pic"
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic"
+ case ${target_thread_file} in
+ posix)
+ tmake_file="$tmake_file t-openbsd-thread"
+ ;;
+ esac
;;
*-*-rtems*)
extra_parts="crtbegin.o crtend.o"
@@ -221,7 +227,7 @@ case ${host} in
*-*-solaris2*)
# Unless linker support and dl_iterate_phdr are present,
# unwind-dw2-fde-dip.c automatically falls back to unwind-dw2-fde.c.
- tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-slibgcc t-slibgcc-elf-ver"
+ tmake_file="$tmake_file t-sol2 t-eh-dw2-dip t-libgcc-pic t-slibgcc t-slibgcc-elf-ver"
if test $with_gnu_ld = yes; then
tmake_file="$tmake_file t-slibgcc-gld"
else
@@ -252,6 +258,7 @@ case ${host} in
extra_parts="vcrt0.o pcrt0.o crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
*-*-vxworks*)
+ tmake_file=t-vxworks
;;
*-*-elf)
extra_parts="crtbegin.o crtend.o"
@@ -273,17 +280,19 @@ esac
case ${host} in
alpha*-*-linux*)
- tmake_file="${tmake_file} t-crtfm alpha/t-linux"
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm alpha/t-linux"
extra_parts="$extra_parts crtfastmath.o"
md_unwind_header=alpha/linux-unwind.h
;;
alpha*-*-freebsd*)
- tmake_file="${tmake_file} t-crtfm"
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm"
extra_parts="$extra_parts crtbeginT.o crtfastmath.o"
;;
alpha*-*-netbsd*)
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-*-openbsd*)
+ tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee"
;;
alpha*-dec-osf5.1*)
tmake_file="${tmake_file} alpha/t-alpha alpha/t-ieee t-crtfm t-slibgcc alpha/t-slibgcc-osf"
@@ -292,16 +301,16 @@ alpha*-dec-osf5.1*)
tmake_file="${tmake_file} alpha/t-osf-pthread"
;;
esac
- extra_parts="${extra_parts} qrnnd.o crtfastmath.o gthr-posix.o"
+ extra_parts="${extra_parts} crtfastmath.o"
md_unwind_header=alpha/osf5-unwind.h
;;
alpha64-dec-*vms*)
- tmake_file="$tmake_file alpha/t-vms t-slibgcc-vms"
+ tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
md_unwind_header=alpha/vms-unwind.h
;;
alpha*-dec-*vms*)
- tmake_file="$tmake_file alpha/t-vms t-slibgcc-vms"
+ tmake_file="$tmake_file alpha/t-alpha alpha/t-ieee alpha/t-vms t-slibgcc-vms"
extra_parts="$extra_parts vms-dwarf2.o vms-dwarf2eh.o"
md_unwind_header=alpha/vms-unwind.h
;;
@@ -313,7 +322,7 @@ arm*-*-freebsd*)
tmake_file="$tmake_file arm/t-arm arm/t-strongarm-elf t-fdpbit"
;;
arm*-*-netbsdelf*)
- tmake_file="$tmake_file arm/t-arm t-slibgcc-gld-nover"
+ tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
@@ -379,16 +388,16 @@ avr-*-*)
tmake_file="${cpu_type}/t-avr t-fpbit"
;;
bfin*-elf*)
- tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
+ tmake_file="bfin/t-bfin bfin/t-elf bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
extra_parts="$extra_parts crtbeginS.o crtendS.o crti.o crtn.o crtlibid.o"
;;
bfin*-uclinux*)
- tmake_file="bfin/t-bfin bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
+ tmake_file="bfin/t-bfin bfin/t-elf bfin/t-crtlibid bfin/t-crtstuff t-fdpbit"
extra_parts="$extra_parts crtbeginS.o crtendS.o crtlibid.o"
md_unwind_header=bfin/linux-unwind.h
;;
bfin*-linux-uclibc*)
- tmake_file="$tmake_file bfin/t-bfin bfin/t-crtstuff t-fdpbit bfin/t-linux"
+ tmake_file="$tmake_file bfin/t-bfin bfin/t-elf bfin/t-crtstuff t-fdpbit bfin/t-linux"
# No need to build crtbeginT.o on uClibc systems. Should probably
# be moved to the OS specific section above.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
@@ -403,21 +412,21 @@ bfin*-*)
extra_parts="crtbegin.o crtend.o crti.o crtn.o"
;;
crisv32-*-elf)
- tmake_file=t-fdpbit
+ tmake_file="cris/t-cris t-fdpbit"
;;
crisv32-*-none)
- tmake_file=t-fdpbit
+ tmake_file="cris/t-cris t-fdpbit"
extra_parts="crtbegin.o crtend.o"
;;
cris-*-elf)
- tmake_file="$tmake_file cris/t-elfmulti"
+ tmake_file="$tmake_file cris/t-cris cris/t-elfmulti"
;;
cris-*-none)
- tmake_file="$tmake_file cris/t-elfmulti"
+ tmake_file="$tmake_file cris/t-cris cris/t-elfmulti"
extra_parts="crtbegin.o crtend.o"
;;
cris-*-linux* | crisv32-*-linux*)
- tmake_file="$tmake_file t-fdpbit cris/t-linux"
+ tmake_file="$tmake_file cris/t-cris t-fdpbit cris/t-linux"
;;
fr30-*-elf)
tmake_file="$tmake_file fr30/t-fr30 t-fdpbit"
@@ -453,7 +462,7 @@ hppa*-*-linux*)
md_unwind_header=pa/linux-unwind.h
;;
hppa[12]*-*-hpux10*)
- tmake_file="$tmake_file t-slibgcc"
+ tmake_file="$tmake_file pa/t-hpux pa/t-hpux10 t-libgcc-pic t-slibgcc"
# Set the libgcc version number
if test x$enable_sjlj_exceptions = xyes; then
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
@@ -464,7 +473,7 @@ hppa[12]*-*-hpux10*)
md_unwind_header=pa/hpux-unwind.h
;;
hppa*64*-*-hpux11*)
- tmake_file="$tmake_file pa/t-stublib pa/t-stublib64 t-slibgcc"
+ tmake_file="$tmake_file pa/t-hpux pa/t-pa64 pa/t-stublib pa/t-stublib64 t-libgcc-pic t-slibgcc"
# Set the libgcc version number
if test x$enable_sjlj_exceptions = xyes; then
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
@@ -477,7 +486,7 @@ hppa*64*-*-hpux11*)
md_unwind_header=pa/hpux-unwind.h
;;
hppa[12]*-*-hpux11*)
- tmake_file="$tmake_file pa/t-stublib t-slibgcc"
+ tmake_file="$tmake_file pa/t-hpux pa/t-stublib t-libgcc-pic t-slibgcc"
# Set the libgcc version number
if test x$enable_sjlj_exceptions = xyes; then
tmake_file="$tmake_file pa/t-slibgcc-sjlj-ver"
@@ -497,10 +506,10 @@ x86_64-*-darwin*)
extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
;;
i[34567]86-*-elf*)
- tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic"
+ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
;;
x86_64-*-elf*)
- tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic"
+ tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
;;
i[34567]86-*-freebsd*)
tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
@@ -540,7 +549,7 @@ i[34567]86-pc-msdosdjgpp*)
i[34567]86-*-lynxos*)
;;
i[34567]86-*-nto-qnx*)
- tmake_file="$tmake_file i386/t-nto"
+ tmake_file="$tmake_file i386/t-nto t-libgcc-pic"
extra_parts=crtbegin.o
;;
i[34567]86-*-rtems*)
@@ -577,6 +586,11 @@ i[34567]86-*-cygwin*)
;;
i[34567]86-*-mingw*)
extra_parts="crtbegin.o crtend.o crtfastmath.o"
+ case ${target_thread_file} in
+ win32)
+ tmake_file="$tmake_file i386/t-gthr-win32"
+ ;;
+ esac
# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
if test x$enable_sjlj_exceptions = xyes; then
tmake_eh_file="i386/t-sjlj-eh"
@@ -593,6 +607,11 @@ i[34567]86-*-mingw*)
md_unwind_header=i386/w32-unwind.h
;;
x86_64-*-mingw*)
+ case ${target_thread_file} in
+ win32)
+ tmake_file="$tmake_file i386/t-gthr-win32"
+ ;;
+ esac
# This has to match the logic for DWARF2_UNWIND_INFO in gcc/config/i386/cygming.h
if test x$enable_sjlj_exceptions = xyes; then
tmake_eh_file="i386/t-sjlj-eh"
@@ -609,7 +628,7 @@ x86_64-*-mingw*)
extra_parts="$extra_parts crtfastmath.o"
;;
i[34567]86-*-interix3*)
- tmake_file="$tmake_file i386/t-chkstk"
+ tmake_file="$tmake_file i386/t-interix i386/t-chkstk"
;;
ia64*-*-elf*)
extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o"
@@ -647,7 +666,7 @@ lm32-*-elf*|lm32-*-rtems*)
;;
lm32-*-uclinux*)
extra_parts="$extra_parts crtbegin.o crtendS.o crtbeginT.o"
- tmake_file="lm32/t-lm32 lm32/t-uclinux t-softfp-sfdf t-softfp"
+ tmake_file="lm32/t-lm32 lm32/t-uclinux t-libgcc-pic t-softfp-sfdf t-softfp"
;;
m32r-*-elf*)
tmake_file=t-fdpbit
@@ -737,35 +756,35 @@ mipsisa32-*-elf* | mipsisa32el-*-elf* | \
mipsisa32r2-*-elf* | mipsisa32r2el-*-elf* | \
mipsisa64-*-elf* | mipsisa64el-*-elf* | \
mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mipsisa64sr71k-*-elf*)
- tmake_file="mips/t-crtstuff t-fdpbit"
+ tmake_file="mips/t-elf mips/t-crtstuff t-fdpbit"
extra_parts="$extra_parts crti.o crtn.o"
;;
mipsisa64sb1-*-elf* | mipsisa64sb1el-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips-*-elf* | mipsel-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips64-*-elf* | mips64el-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips64vr-*-elf* | mips64vrel-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff"
+ tmake_file="$tmake_file mips/t-elf mips/t-vr mips/t-crtstuff"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips64orion-*-elf* | mips64orionel-*-elf*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips*-*-rtems*)
- tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
+ tmake_file="$tmake_file mips/t-elf mips/t-crtstuff mips/t-mips16"
extra_parts="$extra_parts crti.o crtn.o"
;;
mips-wrs-vxworks)
@@ -790,7 +809,7 @@ moxie-*-rtems*)
extra_parts=
;;
pdp11-*-*)
- tmake_file=t-fdpbit
+ tmake_file="pdp11/t-pdp11 t-fdpbit"
;;
picochip-*-*)
tmake_file="picochip/t-picochip t-fpbit"
@@ -809,7 +828,7 @@ powerpc-*-darwin*)
extra_parts="$extra_parts crt2.o"
;;
powerpc64-*-darwin*)
- tmake_file="$tmake_file rs6000/t-ibm-ldouble"
+ tmake_file="$tmake_file rs6000/t-darwin64 rs6000/t-ibm-ldouble"
extra_parts="$extra_parts crt2.o"
;;
powerpc-*-freebsd*)
@@ -898,7 +917,7 @@ s390x-*-linux*)
md_unwind_header=s390/linux-unwind.h
;;
s390x-ibm-tpf*)
- tmake_file="${tmake_file} s390/t-crtstuff s390/t-tpf t-eh-dw2-dip"
+ tmake_file="${tmake_file} s390/t-crtstuff t-libgcc-pic t-eh-dw2-dip"
extra_parts="crtbeginS.o crtendS.o"
md_unwind_header=s390/tpf-unwind.h
;;
@@ -1019,14 +1038,14 @@ sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
sparc64-*-netbsd*)
;;
spu-*-elf*)
- tmake_file="$tmake_file spu/t-elf t-fdpbit"
+ tmake_file="$tmake_file spu/t-elf t-libgcc-pic t-fdpbit"
extra_parts="$extra_parts \
libgcc_cachemgr.a libgcc_cachemgr_nonatomic.a \
libgcc_cache8k.a libgcc_cache16k.a libgcc_cache32k.a \
libgcc_cache64k.a libgcc_cache128k.a"
;;
tic6x-*-uclinux)
- tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
+ tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl t-softfp c6x/t-elf c6x/t-uclinux t-crtstuff-pic t-libgcc-pic t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-gnu-prefix"
extra_parts="crtbeginS.o crtendS.o crti.o crtn.o"
unwind_header=config/c6x/unwind-c6x.h
;;
diff --git a/gcc/gthr-posix.c b/libgcc/config/alpha/gthr-posix.c
index 1987ba738c2..4242cd6c110 100644
--- a/gcc/gthr-posix.c
+++ b/libgcc/config/alpha/gthr-posix.c
@@ -1,6 +1,7 @@
/* POSIX threads dummy routines for systems without weak definitions. */
/* Compile this one with gcc. */
-/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2011
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -177,7 +178,7 @@ pthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
}
int
-pthread_cond_timedwait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
+pthread_cond_timedwait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
const struct timespec *abstime ATTRIBUTE_UNUSED)
{
diff --git a/gcc/config/alpha/qrnnd.asm b/libgcc/config/alpha/qrnnd.S
index 51b13bce6ad..51b13bce6ad 100644
--- a/gcc/config/alpha/qrnnd.asm
+++ b/libgcc/config/alpha/qrnnd.S
diff --git a/libgcc/config/alpha/t-alpha b/libgcc/config/alpha/t-alpha
index 14c72d0808b..0b6ffb1ba34 100644
--- a/libgcc/config/alpha/t-alpha
+++ b/libgcc/config/alpha/t-alpha
@@ -1,2 +1,2 @@
# This is a support routine for longlong.h, used by libgcc2.c.
-LIB2ADD += $(gcc_srcdir)/config/alpha/qrnnd.asm
+LIB2ADD += $(srcdir)/config/alpha/qrnnd.S
diff --git a/libgcc/config/alpha/t-osf-pthread b/libgcc/config/alpha/t-osf-pthread
index c51f375a048..9a175dbeb9e 100644
--- a/libgcc/config/alpha/t-osf-pthread
+++ b/libgcc/config/alpha/t-osf-pthread
@@ -2,4 +2,4 @@
HOST_LIBGCC2_CFLAGS += -pthread
# Provide dummy POSIX threads functions
-LIB2ADD += $(gcc_srcdir)/gthr-posix.c
+LIB2ADD += $(srcdir)/config/alpha/gthr-posix.c
diff --git a/libgcc/config/alpha/t-vms b/libgcc/config/alpha/t-vms
index 21d6d71df15..dd5760d9747 100644
--- a/libgcc/config/alpha/t-vms
+++ b/libgcc/config/alpha/t-vms
@@ -5,3 +5,5 @@ vms-dwarf2.o: $(srcdir)/config/alpha/vms-dwarf2.S
vms-dwarf2eh.o: $(srcdir)/config/alpha/vms-dwarf2eh.S
$(gcc_compile) -c -x assembler-with-cpp $<
+
+LIB2ADD += $(srcdir)/config/alpha/vms-gcc_shell_handler.c
diff --git a/gcc/config/alpha/vms-gcc_shell_handler.c b/libgcc/config/alpha/vms-gcc_shell_handler.c
index 67d0fe7f9aa..67d0fe7f9aa 100644
--- a/gcc/config/alpha/vms-gcc_shell_handler.c
+++ b/libgcc/config/alpha/vms-gcc_shell_handler.c
diff --git a/gcc/config/arm/bpabi.c b/libgcc/config/arm/bpabi.c
index 283bdc0acf0..283bdc0acf0 100644
--- a/gcc/config/arm/bpabi.c
+++ b/libgcc/config/arm/bpabi.c
diff --git a/gcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c
index 936caeb78d0..936caeb78d0 100644
--- a/gcc/config/arm/fp16.c
+++ b/libgcc/config/arm/fp16.c
diff --git a/gcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c
index af94c7f4ae5..af94c7f4ae5 100644
--- a/gcc/config/arm/linux-atomic-64bit.c
+++ b/libgcc/config/arm/linux-atomic-64bit.c
diff --git a/gcc/config/arm/linux-atomic.c b/libgcc/config/arm/linux-atomic.c
index 80f161d06a7..80f161d06a7 100644
--- a/gcc/config/arm/linux-atomic.c
+++ b/libgcc/config/arm/linux-atomic.c
diff --git a/libgcc/config/arm/t-bpabi b/libgcc/config/arm/t-bpabi
index 8787285ab1f..e79cbd7064e 100644
--- a/libgcc/config/arm/t-bpabi
+++ b/libgcc/config/arm/t-bpabi
@@ -1,6 +1,12 @@
# Add the bpabi.S functions.
LIB1ASMFUNCS += _aeabi_lcmp _aeabi_ulcmp _aeabi_ldivmod _aeabi_uldivmod
+# Add the BPABI C functions.
+LIB2ADD += $(srcdir)/config/arm/bpabi.c \
+ $(srcdir)/config/arm/unaligned-funcs.c
+
+LIB2ADD_ST += $(srcdir)/config/arm/fp16.c
+
LIB2ADDEH = $(srcdir)/config/arm/unwind-arm.c \
$(srcdir)/config/arm/libunwind.S \
$(srcdir)/config/arm/pr-support.c $(srcdir)/unwind-c.c
diff --git a/libgcc/config/arm/t-elf b/libgcc/config/arm/t-elf
index fab32e445be..414484eb9ca 100644
--- a/libgcc/config/arm/t-elf
+++ b/libgcc/config/arm/t-elf
@@ -11,3 +11,8 @@ LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func \
_arm_cmpsf2 _arm_unordsf2 _arm_fixsfsi _arm_fixunssfsi \
_arm_floatdidf _arm_floatdisf _arm_floatundidf _arm_floatundisf \
_clzsi2 _clzdi2
+
+# Currently there is a bug somewhere in GCC's alias analysis
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
+# Disabling function inlining is a workaround for this problem.
+HOST_LIBGCC2_CFLAGS = -fno-inline
diff --git a/libgcc/config/arm/t-linux b/libgcc/config/arm/t-linux
index a154f775a0f..4c1efebbd87 100644
--- a/libgcc/config/arm/t-linux
+++ b/libgcc/config/arm/t-linux
@@ -1,3 +1,7 @@
LIB1ASMSRC = arm/lib1funcs.S
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
_arm_addsubdf3 _arm_addsubsf3
+
+# Just for these, we omit the frame pointer since it makes such a big
+# difference.
+HOST_LIBGCC2_CFLAGS += -fomit-frame-pointer
diff --git a/libgcc/config/arm/t-linux-eabi b/libgcc/config/arm/t-linux-eabi
index dfc9197ea45..a03e2b60064 100644
--- a/libgcc/config/arm/t-linux-eabi
+++ b/libgcc/config/arm/t-linux-eabi
@@ -1,2 +1,5 @@
# Use a version of div0 which raises SIGFPE, and a special __clear_cache.
LIB1ASMFUNCS := $(filter-out _dvmd_tls,$(LIB1ASMFUNCS)) _dvmd_lnx _clear_cache
+
+LIB2ADD_ST += $(srcdir)/config/arm/linux-atomic.c \
+ $(srcdir)/config/arm/linux-atomic-64bit.c
diff --git a/libgcc/config/arm/t-netbsd b/libgcc/config/arm/t-netbsd
new file mode 100644
index 00000000000..95358f931ba
--- /dev/null
+++ b/libgcc/config/arm/t-netbsd
@@ -0,0 +1,7 @@
+# Just for these, we omit the frame pointer since it makes such a big
+# difference. It is then pointless adding debugging.
+HOST_LIBGCC2_CFLAGS += -fomit-frame-pointer
+
+LIBGCC2_DEBUG_CFLAGS = -g0
+
+LIB2ADD += $(srcdir)/floatunsidf.c $(srcdir)/floatunsisf.c
diff --git a/libgcc/config/arm/t-strongarm-elf b/libgcc/config/arm/t-strongarm-elf
index cd9f9667ddf..369a8393738 100644
--- a/libgcc/config/arm/t-strongarm-elf
+++ b/libgcc/config/arm/t-strongarm-elf
@@ -1 +1,6 @@
LIB1ASMFUNCS += _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _clzsi2 _clzdi2
+
+# Currently there is a bug somewhere in GCC's alias analysis
+# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
+# Disabling function inlining is a workaround for this problem.
+HOST_LIBGCC2_CFLAGS = -fno-inline
diff --git a/libgcc/config/arm/t-symbian b/libgcc/config/arm/t-symbian
index 1989696c8a3..06d98faa6ae 100644
--- a/libgcc/config/arm/t-symbian
+++ b/libgcc/config/arm/t-symbian
@@ -12,5 +12,8 @@ LIB1ASMFUNCS += \
_truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
_fixsfsi _fixunssfsi
+# Include half-float helpers.
+LIB2ADD_ST += $(srcdir)/config/arm/fp16.c
+
# Include the gcc personality routine
LIB2ADDEH = $(srcdir)/unwind-c.c $(srcdir)/config/arm/pr-support.c
diff --git a/gcc/config/arm/unaligned-funcs.c b/libgcc/config/arm/unaligned-funcs.c
index 4e684f4fc94..4e684f4fc94 100644
--- a/gcc/config/arm/unaligned-funcs.c
+++ b/libgcc/config/arm/unaligned-funcs.c
diff --git a/libgcc/config/avr/t-avr b/libgcc/config/avr/t-avr
index f1c114a6dd6..a669f61629a 100644
--- a/libgcc/config/avr/t-avr
+++ b/libgcc/config/avr/t-avr
@@ -46,6 +46,14 @@ LIB1ASMFUNCS = \
_lshrdi3 \
_fmul _fmuls _fmulsu
+LIB2FUNCS_EXCLUDE = \
+ _clz
+
+# We do not have the DF type.
+# Most of the C functions in libgcc2 use almost all registers,
+# so use -mcall-prologues for smaller code size.
+HOST_LIBGCC2_CFLAGS = -DDF=SF -Dinhibit_libc -mcall-prologues -Os
+
# Extra 16-bit integer functions.
intfuncs16 = _absvXX2 _addvXX3 _subvXX3 _mulvXX3 _negvXX2 _clrsbXX2
diff --git a/libgcc/config/bfin/t-crtstuff b/libgcc/config/bfin/t-crtstuff
index 7b343e25406..eee12eb697a 100644
--- a/libgcc/config/bfin/t-crtstuff
+++ b/libgcc/config/bfin/t-crtstuff
@@ -1 +1 @@
-CRTSTUFF_T_CFLAGS = -fpic
+CRTSTUFF_T_CFLAGS = $(PICFLAG)
diff --git a/libgcc/config/bfin/t-elf b/libgcc/config/bfin/t-elf
new file mode 100644
index 00000000000..cb243e60401
--- /dev/null
+++ b/libgcc/config/bfin/t-elf
@@ -0,0 +1 @@
+HOST_LIBGCC2_CFLAGS = $(PICFLAG)
diff --git a/gcc/config/c6x/eqd.c b/libgcc/config/c6x/eqd.c
index d6b32013bcb..d6b32013bcb 100644
--- a/gcc/config/c6x/eqd.c
+++ b/libgcc/config/c6x/eqd.c
diff --git a/gcc/config/c6x/eqf.c b/libgcc/config/c6x/eqf.c
index ee6dafc98b7..ee6dafc98b7 100644
--- a/gcc/config/c6x/eqf.c
+++ b/libgcc/config/c6x/eqf.c
diff --git a/gcc/config/c6x/ged.c b/libgcc/config/c6x/ged.c
index 2089904f92a..2089904f92a 100644
--- a/gcc/config/c6x/ged.c
+++ b/libgcc/config/c6x/ged.c
diff --git a/gcc/config/c6x/gef.c b/libgcc/config/c6x/gef.c
index ce4c1c0af3d..ce4c1c0af3d 100644
--- a/gcc/config/c6x/gef.c
+++ b/libgcc/config/c6x/gef.c
diff --git a/gcc/config/c6x/gtd.c b/libgcc/config/c6x/gtd.c
index 6d45aef9af8..6d45aef9af8 100644
--- a/gcc/config/c6x/gtd.c
+++ b/libgcc/config/c6x/gtd.c
diff --git a/gcc/config/c6x/gtf.c b/libgcc/config/c6x/gtf.c
index c6a108a2833..c6a108a2833 100644
--- a/gcc/config/c6x/gtf.c
+++ b/libgcc/config/c6x/gtf.c
diff --git a/gcc/config/c6x/led.c b/libgcc/config/c6x/led.c
index c99e29e0ddf..c99e29e0ddf 100644
--- a/gcc/config/c6x/led.c
+++ b/libgcc/config/c6x/led.c
diff --git a/gcc/config/c6x/lef.c b/libgcc/config/c6x/lef.c
index ce2c16f8ede..ce2c16f8ede 100644
--- a/gcc/config/c6x/lef.c
+++ b/libgcc/config/c6x/lef.c
diff --git a/gcc/config/c6x/ltd.c b/libgcc/config/c6x/ltd.c
index d4de25866b7..d4de25866b7 100644
--- a/gcc/config/c6x/ltd.c
+++ b/libgcc/config/c6x/ltd.c
diff --git a/gcc/config/c6x/ltf.c b/libgcc/config/c6x/ltf.c
index 2fe15b99fde..2fe15b99fde 100644
--- a/gcc/config/c6x/ltf.c
+++ b/libgcc/config/c6x/ltf.c
diff --git a/libgcc/config/c6x/t-elf b/libgcc/config/c6x/t-elf
index e01c4109e52..2ee6a957fd7 100644
--- a/libgcc/config/c6x/t-elf
+++ b/libgcc/config/c6x/t-elf
@@ -6,6 +6,22 @@ LIB1ASMFUNCS = _divsi3 _udivsi3 _umodsi3 _modsi3 _udivmodsi4 _divmodsi4
LIB1ASMFUNCS += _strasgi _strasgi_64plus _clzsi2 _clzdi2 _clz
LIB1ASMFUNCS += _push_rts _pop_rts _call_stub
+LIB2FUNCS_EXCLUDE = _cmpdi2 _ucmpdi2 _gcc_bcmp _eprintf _clzsi _clzdi
+
+LIB2ADD = $(srcdir)/config/c6x/gef.c \
+ $(srcdir)/config/c6x/gtf.c \
+ $(srcdir)/config/c6x/lef.c \
+ $(srcdir)/config/c6x/ltf.c \
+ $(srcdir)/config/c6x/eqf.c \
+ $(srcdir)/config/c6x/ged.c \
+ $(srcdir)/config/c6x/gtd.c \
+ $(srcdir)/config/c6x/led.c \
+ $(srcdir)/config/c6x/ltd.c \
+ $(srcdir)/config/c6x/eqd.c
+
+# Avoid failures when the user's GOT becomes too large.
+HOST_LIBGCC2_CFLAGS = -msdata=none
+
# Assemble startup files.
crti.o: $(srcdir)/config/c6x/crti.S
$(crt_compile) -c $(CRTSTUFF_T_CFLAGS) $<
diff --git a/libgcc/config/c6x/t-uclinux b/libgcc/config/c6x/t-uclinux
index 15fb9a1afc1..72a170a575a 100644
--- a/libgcc/config/c6x/t-uclinux
+++ b/libgcc/config/c6x/t-uclinux
@@ -1 +1,3 @@
-CRTSTUFF_T_CFLAGS += -fPIC
+HOST_LIBGCC2_CFLAGS += -msdata=none
+
+CRTSTUFF_T_CFLAGS += $(PICFLAG)
diff --git a/gcc/config/cris/arit.c b/libgcc/config/cris/arit.c
index 32255f99d39..32255f99d39 100644
--- a/gcc/config/cris/arit.c
+++ b/libgcc/config/cris/arit.c
diff --git a/gcc/config/cris/mulsi3.asm b/libgcc/config/cris/mulsi3.S
index 76dfb634680..76dfb634680 100644
--- a/gcc/config/cris/mulsi3.asm
+++ b/libgcc/config/cris/mulsi3.S
diff --git a/libgcc/config/cris/t-cris b/libgcc/config/cris/t-cris
new file mode 100644
index 00000000000..b582974a42e
--- /dev/null
+++ b/libgcc/config/cris/t-cris
@@ -0,0 +1,10 @@
+LIB2ADD = _udivsi3.c _divsi3.c _umodsi3.c _modsi3.c
+
+# The fixed-point arithmetic code is in one file, arit.c,
+# similar to libgcc2.c (or the old libgcc1.c). We need to
+# "split it up" with one file per define.
+$(LIB2ADD): $(srcdir)/config/cris/arit.c
+ name=`echo $@ | sed -e 's,.*/,,' | sed -e 's,.c$$,,'`; \
+ echo "#define L$$name" > tmp-$@ \
+ && echo '#include "$<"' >> tmp-$@ \
+ && mv -f tmp-$@ $@
diff --git a/libgcc/config/cris/t-elfmulti b/libgcc/config/cris/t-elfmulti
index 3bb8ecf66c4..b180521039e 100644
--- a/libgcc/config/cris/t-elfmulti
+++ b/libgcc/config/cris/t-elfmulti
@@ -1 +1,3 @@
+LIB2ADD_ST = $(srcdir)/config/cris/mulsi3.S
+
CRTSTUFF_T_CFLAGS = -moverride-best-lib-options
diff --git a/libgcc/config/cris/t-linux b/libgcc/config/cris/t-linux
index 26555fd5072..8c7f4d44249 100644
--- a/libgcc/config/cris/t-linux
+++ b/libgcc/config/cris/t-linux
@@ -1,4 +1,2 @@
-CRTSTUFF_T_CFLAGS_S = $(HOST_LIBGCC2_CFLAGS)
-
# Override t-linux default.
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/cris/libgcc-glibc.ver
diff --git a/gcc/config/darwin-64.c b/libgcc/config/darwin-64.c
index a012e9dbc1e..a012e9dbc1e 100644
--- a/gcc/config/darwin-64.c
+++ b/libgcc/config/darwin-64.c
diff --git a/libgcc/config/darwin-crt3.c b/libgcc/config/darwin-crt3.c
index 9b64f2aa8c3..5ef00546260 100644
--- a/libgcc/config/darwin-crt3.c
+++ b/libgcc/config/darwin-crt3.c
@@ -1,5 +1,5 @@
/* __cxa_atexit backwards-compatibility support for Darwin.
- Copyright (C) 2006, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2006, 2009, 2011 Free Software Foundation, Inc.
This file is part of GCC.
@@ -25,10 +25,6 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
/* Don't do anything if we are compiling for a kext multilib. */
#ifdef __PIC__
-/* It is incorrect to include config.h here, because this file is being
- compiled for the target, and hence definitions concerning only the host
- do not apply. */
-
#include "tconfig.h"
#include "tsystem.h"
diff --git a/gcc/config/frv/cmovd.c b/libgcc/config/frv/cmovd.c
index e46070aac04..e46070aac04 100644
--- a/gcc/config/frv/cmovd.c
+++ b/libgcc/config/frv/cmovd.c
diff --git a/gcc/config/frv/cmovh.c b/libgcc/config/frv/cmovh.c
index 6b0901d95a7..6b0901d95a7 100644
--- a/gcc/config/frv/cmovh.c
+++ b/libgcc/config/frv/cmovh.c
diff --git a/gcc/config/frv/cmovw.c b/libgcc/config/frv/cmovw.c
index f27db75aaf6..f27db75aaf6 100644
--- a/gcc/config/frv/cmovw.c
+++ b/libgcc/config/frv/cmovw.c
diff --git a/gcc/config/frv/modi.c b/libgcc/config/frv/modi.c
index d5a91fc0f55..d5a91fc0f55 100644
--- a/gcc/config/frv/modi.c
+++ b/libgcc/config/frv/modi.c
diff --git a/libgcc/config/frv/t-frv b/libgcc/config/frv/t-frv
index 9773722d8e7..a4ff0585183 100644
--- a/libgcc/config/frv/t-frv
+++ b/libgcc/config/frv/t-frv
@@ -1,6 +1,16 @@
LIB1ASMSRC = frv/lib1funcs.S
LIB1ASMFUNCS = _cmpll _cmpf _cmpd _addll _subll _andll _orll _xorll _notll _cmov
+LIB2ADD = $(srcdir)/config/frv/cmovh.c \
+ $(srcdir)/config/frv/cmovw.c \
+ $(srcdir)/config/frv/cmovd.c \
+ $(srcdir)/config/frv/modi.c \
+ $(srcdir)/config/frv/umodi.c \
+ $(srcdir)/config/frv/uitof.c \
+ $(srcdir)/config/frv/uitod.c \
+ $(srcdir)/config/frv/ulltof.c \
+ $(srcdir)/config/frv/ulltod.c
+
# Compile two additional files that are linked with every program
# linked using GCC on systems using COFF or ELF, for the sake of C++
# constructors.
diff --git a/libgcc/config/frv/t-linux b/libgcc/config/frv/t-linux
index 2b4fe3f94e8..0240efefae9 100644
--- a/libgcc/config/frv/t-linux
+++ b/libgcc/config/frv/t-linux
@@ -1,3 +1,3 @@
-CRTSTUFF_T_CFLAGS = -fPIC
+CRTSTUFF_T_CFLAGS = $(PICFLAG)
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/frv/libgcc-glibc.ver
diff --git a/gcc/config/frv/uitod.c b/libgcc/config/frv/uitod.c
index 14290ab6b04..14290ab6b04 100644
--- a/gcc/config/frv/uitod.c
+++ b/libgcc/config/frv/uitod.c
diff --git a/gcc/config/frv/uitof.c b/libgcc/config/frv/uitof.c
index 059bc7c7417..059bc7c7417 100644
--- a/gcc/config/frv/uitof.c
+++ b/libgcc/config/frv/uitof.c
diff --git a/gcc/config/frv/ulltod.c b/libgcc/config/frv/ulltod.c
index e6bee12081f..e6bee12081f 100644
--- a/gcc/config/frv/ulltod.c
+++ b/libgcc/config/frv/ulltod.c
diff --git a/gcc/config/frv/ulltof.c b/libgcc/config/frv/ulltof.c
index 29cdfd4d2a1..29cdfd4d2a1 100644
--- a/gcc/config/frv/ulltof.c
+++ b/libgcc/config/frv/ulltof.c
diff --git a/gcc/config/frv/umodi.c b/libgcc/config/frv/umodi.c
index 4ffe5ad8132..4ffe5ad8132 100644
--- a/gcc/config/frv/umodi.c
+++ b/libgcc/config/frv/umodi.c
diff --git a/gcc/config/h8300/clzhi2.c b/libgcc/config/h8300/clzhi2.c
index 54db7b9c56b..54db7b9c56b 100644
--- a/gcc/config/h8300/clzhi2.c
+++ b/libgcc/config/h8300/clzhi2.c
diff --git a/gcc/config/h8300/ctzhi2.c b/libgcc/config/h8300/ctzhi2.c
index ba6f8e9086f..ba6f8e9086f 100644
--- a/gcc/config/h8300/ctzhi2.c
+++ b/libgcc/config/h8300/ctzhi2.c
diff --git a/gcc/config/h8300/fixunssfsi.c b/libgcc/config/h8300/fixunssfsi.c
index 940d0c6dc6a..940d0c6dc6a 100644
--- a/gcc/config/h8300/fixunssfsi.c
+++ b/libgcc/config/h8300/fixunssfsi.c
diff --git a/gcc/config/h8300/parityhi2.c b/libgcc/config/h8300/parityhi2.c
index d58cb89b5c7..d58cb89b5c7 100644
--- a/gcc/config/h8300/parityhi2.c
+++ b/libgcc/config/h8300/parityhi2.c
diff --git a/gcc/config/h8300/popcounthi2.c b/libgcc/config/h8300/popcounthi2.c
index 47be193b38d..47be193b38d 100644
--- a/gcc/config/h8300/popcounthi2.c
+++ b/libgcc/config/h8300/popcounthi2.c
diff --git a/libgcc/config/h8300/t-h8300 b/libgcc/config/h8300/t-h8300
index 4602ff8b9ef..750529d92c2 100644
--- a/libgcc/config/h8300/t-h8300
+++ b/libgcc/config/h8300/t-h8300
@@ -1,3 +1,13 @@
LIB1ASMSRC = h8300/lib1funcs.S
LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 _divsi3 _mulhi3 _mulsi3 \
_fixunssfsi_asm
+
+LIB2ADD = \
+ $(srcdir)/config/h8300/clzhi2.c \
+ $(srcdir)/config/h8300/ctzhi2.c \
+ $(srcdir)/config/h8300/parityhi2.c \
+ $(srcdir)/config/h8300/popcounthi2.c \
+ $(srcdir)/config/h8300/fixunssfsi.c
+
+# We do not have DF type, so fake out the libgcc2 compilation.
+HOST_LIBGCC2_CFLAGS = -DDF=SF
diff --git a/gcc/config/i386/gthr-win32.c b/libgcc/config/i386/gthr-win32.c
index 46ecb0d4b26..46ecb0d4b26 100644
--- a/gcc/config/i386/gthr-win32.c
+++ b/libgcc/config/i386/gthr-win32.c
diff --git a/libgcc/config/i386/t-cygming b/libgcc/config/i386/t-cygming
index ad63bbbefd8..d76004c48e5 100644
--- a/libgcc/config/i386/t-cygming
+++ b/libgcc/config/i386/t-cygming
@@ -1,3 +1,8 @@
+# If we are building next to winsup, this will let us find the real
+# limits.h when building libgcc2. Otherwise, winsup must be installed
+# first.
+LIBGCC2_INCLUDES = -I$(srcdir)/../winsup/w32api/include
+
CUSTOM_CRTSTUFF = yes
crtbegin.o: $(srcdir)/config/i386/cygming-crtbegin.c
diff --git a/libgcc/config/i386/t-cygwin b/libgcc/config/i386/t-cygwin
index 22df63671ff..f85ec24220e 100644
--- a/libgcc/config/i386/t-cygwin
+++ b/libgcc/config/i386/t-cygwin
@@ -1,3 +1,9 @@
+# If we are building next to winsup, this will let us find the real
+# limits.h when building libgcc2. Otherwise, winsup must be installed
+# first.
+LIBGCC2_INCLUDES += -I$(srcdir)/../winsup/include \
+ -I$(srcdir)/../winsup/cygwin/include
+
# Cygwin-specific parts of LIB_SPEC
SHLIB_LC = -lcygwin -ladvapi32 -lshell32 -luser32 -lkernel32
diff --git a/libgcc/config/i386/t-darwin b/libgcc/config/i386/t-darwin
new file mode 100644
index 00000000000..5f2c69725d0
--- /dev/null
+++ b/libgcc/config/i386/t-darwin
@@ -0,0 +1,3 @@
+LIB2_SIDITI_CONV_FUNCS = yes
+LIB2ADD = $(srcdir)/config/darwin-64.c
+LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
diff --git a/libgcc/config/i386/t-darwin64 b/libgcc/config/i386/t-darwin64
new file mode 100644
index 00000000000..30cf58b38f9
--- /dev/null
+++ b/libgcc/config/i386/t-darwin64
@@ -0,0 +1,2 @@
+LIB2_SIDITI_CONV_FUNCS = yes
+LIB2ADD = $(srcdir)/config/darwin-64.c
diff --git a/gcc/config/i386/t-gthr-win32 b/libgcc/config/i386/t-gthr-win32
index f67fa1e25a8..e7380d6f6e4 100644
--- a/gcc/config/i386/t-gthr-win32
+++ b/libgcc/config/i386/t-gthr-win32
@@ -1,2 +1,2 @@
# We hide calls to w32api needed for w32 thread support here:
-LIB2FUNCS_EXTRA = $(srcdir)/config/i386/gthr-win32.c
+LIB2ADD = $(srcdir)/config/i386/gthr-win32.c
diff --git a/libgcc/config/i386/t-interix b/libgcc/config/i386/t-interix
new file mode 100644
index 00000000000..8889e7c6c63
--- /dev/null
+++ b/libgcc/config/i386/t-interix
@@ -0,0 +1,3 @@
+# We need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be
+# built without debugging information
+LIBGCC2_DEBUG_CFLAGS =
diff --git a/libgcc/config/i386/t-nto b/libgcc/config/i386/t-nto
index 0efb5b18adc..44c90661824 100644
--- a/libgcc/config/i386/t-nto
+++ b/libgcc/config/i386/t-nto
@@ -1 +1,3 @@
-CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer -fPIC
+HOST_LIBGCC2_CFLAGS += -fexceptions
+
+CRTSTUFF_T_CFLAGS = -fno-omit-frame-pointer $(PICFLAG)
diff --git a/libgcc/config/i386/t-sol2 b/libgcc/config/i386/t-sol2
index 1102146a589..b9cfb00ef49 100644
--- a/libgcc/config/i386/t-sol2
+++ b/libgcc/config/i386/t-sol2
@@ -7,7 +7,7 @@
# We must also enable optimization to avoid having any code appear after
# the call & alignment statement, but before we switch back to the
# .text section.
-CRTSTUFF_T_CFLAGS = -fPIC -O2
+CRTSTUFF_T_CFLAGS = $(PICFLAG) -O2
# Add support for the introduction of 128-bit long double.
SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-sol2.ver
diff --git a/gcc/config/ia64/quadlib.c b/libgcc/config/ia64/quadlib.c
index f9ee30b587c..f9ee30b587c 100644
--- a/gcc/config/ia64/quadlib.c
+++ b/libgcc/config/ia64/quadlib.c
diff --git a/libgcc/config/ia64/t-hpux b/libgcc/config/ia64/t-hpux
index 1fee41385c0..ddc1135d737 100644
--- a/libgcc/config/ia64/t-hpux
+++ b/libgcc/config/ia64/t-hpux
@@ -3,4 +3,7 @@
# to 80 bit conversions and were done for Linux backwards compatibility.
LIB1ASMFUNCS := $(filter-out _fixtfdi _fixunstfdi _floatditf,$(LIB1ASMFUNCS))
+# Support routines for HP-UX 128 bit floats.
+LIB2ADD = $(srcdir)/config/ia64/quadlib.c $(srcdir)/floatunsitf.c
+
LIB2ADDEH = $(srcdir)/unwind-c.c
diff --git a/libgcc/config/ia64/t-ia64 b/libgcc/config/ia64/t-ia64
index 80445d8a2a8..93f38da0ebf 100644
--- a/libgcc/config/ia64/t-ia64
+++ b/libgcc/config/ia64/t-ia64
@@ -11,6 +11,13 @@ LIB1ASMFUNCS = __divxf3 __divdf3 __divsf3 \
__nonlocal_goto __restore_stack_nonlocal __trampoline \
_fixtfdi _fixunstfdi _floatditf
+# ??? Hack to get -P option used when compiling lib1funcs.S, because Intel
+# assembler does not accept # line number as a comment.
+# ??? This breaks C++ pragma interface/implementation, which is used in the
+# C++ part of libgcc2, hence it had to be disabled. Must find some other way
+# to support the Intel assembler.
+#LIBGCC2_DEBUG_CFLAGS = -g1 -P
+
CUSTOM_CRTSTUFF = yes
# Assemble startup files.
diff --git a/gcc/config/iq2000/lib2extra-funcs.c b/libgcc/config/iq2000/lib2funcs.c
index d53786c8c7d..d53786c8c7d 100644
--- a/gcc/config/iq2000/lib2extra-funcs.c
+++ b/libgcc/config/iq2000/lib2funcs.c
diff --git a/libgcc/config/iq2000/t-iq2000 b/libgcc/config/iq2000/t-iq2000
new file mode 100644
index 00000000000..18fd53c37d6
--- /dev/null
+++ b/libgcc/config/iq2000/t-iq2000
@@ -0,0 +1,5 @@
+LIB2ADD = $(srcdir)/udivmod.c \
+ $(srcdir)/divmod.c \
+ $(srcdir)/udivmodsi4.c \
+ $(srcdir)/config/iq2000/lib2funcs.c
+
diff --git a/libgcc/config/lm32/t-uclinux b/libgcc/config/lm32/t-uclinux
index d388f56c3a2..764243c8f88 100644
--- a/libgcc/config/lm32/t-uclinux
+++ b/libgcc/config/lm32/t-uclinux
@@ -1,2 +1,2 @@
-CRTSTUFF_T_CFLAGS = -fPIC -msign-extend-enabled
-HOST_LIBGCC2_CFLAGS = -fPIC -msign-extend-enabled
+CRTSTUFF_T_CFLAGS = $(PICFLAG) -msign-extend-enabled
+HOST_LIBGCC2_CFLAGS += -msign-extend-enabled
diff --git a/gcc/config/m32c/m32c-lib2.c b/libgcc/config/m32c/lib2funcs.c
index 274affc4ab0..274affc4ab0 100644
--- a/gcc/config/m32c/m32c-lib2.c
+++ b/libgcc/config/m32c/lib2funcs.c
diff --git a/libgcc/config/m32c/t-m32c b/libgcc/config/m32c/t-m32c
index d21483750fd..dac99ec652f 100644
--- a/libgcc/config/m32c/t-m32c
+++ b/libgcc/config/m32c/t-m32c
@@ -7,3 +7,7 @@ LIB1ASMFUNCS = \
__m32c_cmpsi2 \
__m32c_ucmpsi2 \
__m32c_jsri16
+
+LIB2ADD = $(srcdir)/config/m32c/lib2funcs.c \
+ $(srcdir)/config/m32c/trapv.c
+
diff --git a/gcc/config/m32c/m32c-lib2-trapv.c b/libgcc/config/m32c/trapv.c
index bb61ceaf0f4..0c8c174ef81 100644
--- a/gcc/config/m32c/m32c-lib2-trapv.c
+++ b/libgcc/config/m32c/trapv.c
@@ -1,5 +1,5 @@
/* 16-bit trapping arithmetic routines for R8C/M16C/M32C
- Copyright (C) 2009
+ Copyright (C) 2009, 2011
Free Software Foundation, Inc.
Contributed by Red Hat.
@@ -28,10 +28,10 @@
m32c.h for why we are creating extra versions of some of the
functions defined in libgcc2.c.
- Note - this file is separate from m32c-lib2.c so that the following
+ Note - this file is separate from lib2funcs.c so that the following
functions will appear in the their object file. This is necessary
because they call abort() which is defined in the C library whereas
- the functions in m32c-lib2.c are completely self sufficieent. */
+ the functions in lib2funcs.c are completely self sufficient. */
#define LIBGCC2_UNITS_PER_WORD 2
diff --git a/libgcc/config/m32r/t-linux b/libgcc/config/m32r/t-linux
index 29c83c57e44..5223b731ff7 100644
--- a/libgcc/config/m32r/t-linux
+++ b/libgcc/config/m32r/t-linux
@@ -1 +1,5 @@
+# Turn off the SDA while compiling libgcc2. There are no headers for it
+# and we want maximal upward compatibility here.
+HOST_LIBGCC2_CFLAGS += -G 0
+
SHLIB_MAPFILES = libgcc-std.ver $(srcdir)/config/m32r/libgcc-glibc.ver
diff --git a/libgcc/config/m32r/t-m32r b/libgcc/config/m32r/t-m32r
index acc07586a1f..f32cbbef4ee 100644
--- a/libgcc/config/m32r/t-m32r
+++ b/libgcc/config/m32r/t-m32r
@@ -1,3 +1,7 @@
+# Turn off the SDA while compiling libgcc2. There are no headers for it
+# and we want maximal upward compatibility here.
+HOST_LIBGCC2_CFLAGS = -G 0
+
# We need to use -fpic when we are using gcc to compile the routines in
# initfini.c. This is only really needed when we are going to use gcc/g++
# to produce a shared library, but since we don't know ahead of time when
diff --git a/gcc/config/m68k/fpgnulib.c b/libgcc/config/m68k/fpgnulib.c
index 2a7f6c75d11..fe41edf26aa 100644
--- a/gcc/config/m68k/fpgnulib.c
+++ b/libgcc/config/m68k/fpgnulib.c
@@ -1,6 +1,6 @@
/* This is a stripped down version of floatlib.c. It supplies only those
functions which exist in libgcc, but for which there is not assembly
- language versions in m68k/lb1sf68.asm.
+ language versions in m68k/lb1sf68.S.
It also includes simplistic support for extended floats (by working in
double precision). You must compile this file again with -DEXTFLOAT
diff --git a/libgcc/config/m68k/t-floatlib b/libgcc/config/m68k/t-floatlib
index 4160eb9f537..1ee8782d9fd 100644
--- a/libgcc/config/m68k/t-floatlib
+++ b/libgcc/config/m68k/t-floatlib
@@ -3,3 +3,9 @@ LIB1ASMFUNCS = _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
_double _float _floatex \
_eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
_eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2
+
+LIB2ADD = $(srcdir)/config/m68k/fpgnulib.c xfgnulib.c
+
+xfgnulib.c: $(srcdir)/config/m68k/fpgnulib.c
+ echo '#define EXTFLOAT' > xfgnulib.c
+ cat $< >> xfgnulib.c
diff --git a/libgcc/config/mcore/t-mcore b/libgcc/config/mcore/t-mcore
index 19c4c15cd0b..fe024c7aee4 100644
--- a/libgcc/config/mcore/t-mcore
+++ b/libgcc/config/mcore/t-mcore
@@ -1,2 +1,5 @@
LIB1ASMSRC = mcore/lib1funcs.S
LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
+
+# could use -msifilter to be safe from interrupt/jmp interactions and others.
+HOST_LIBGCC2_CFLAGS = -O3 -DNO_FLOATLIB_FIXUNSDFSI #-msifilter
diff --git a/gcc/config/mep/mep-lib2.c b/libgcc/config/mep/lib2funcs.c
index 1dbf57d9535..1dbf57d9535 100644
--- a/gcc/config/mep/mep-lib2.c
+++ b/libgcc/config/mep/lib2funcs.c
diff --git a/libgcc/config/mep/t-mep b/libgcc/config/mep/t-mep
index d1fb094a41e..fb3a0d60c4d 100644
--- a/libgcc/config/mep/t-mep
+++ b/libgcc/config/mep/t-mep
@@ -7,5 +7,10 @@ LIB1ASMFUNCS = _mep_profile \
_mep_bb_trace \
_mep_bb_increment
+# multiply and divide routines
+LIB2ADD = \
+ $(srcdir)/config/mep/lib2funcs.c \
+ $(srcdir)/config/mep/tramp.c
+
# Use -O0 instead of -O2 so we don't get complex relocations
CRTSTUFF_CFLAGS += -O0
diff --git a/gcc/config/mep/mep-tramp.c b/libgcc/config/mep/tramp.c
index bf484ca4e95..bf484ca4e95 100644
--- a/gcc/config/mep/mep-tramp.c
+++ b/libgcc/config/mep/tramp.c
diff --git a/libgcc/config/microblaze/divsi3.asm b/libgcc/config/microblaze/divsi3.S
index 7d888b32e8d..f3b7a198306 100644
--- a/libgcc/config/microblaze/divsi3.asm
+++ b/libgcc/config/microblaze/divsi3.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# divsi3.asm
+# divsi3.S
#
# Divide operation for 32 bit integers.
# Input : Dividend in Reg r5
diff --git a/libgcc/config/microblaze/moddi3.asm b/libgcc/config/microblaze/moddi3.S
index 4923b45ffeb..3e8d94f70a9 100644
--- a/libgcc/config/microblaze/moddi3.asm
+++ b/libgcc/config/microblaze/moddi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# modsi3.asm
+# modsi3.S
#
# modulo operation for 64 bit integers.
#
diff --git a/libgcc/config/microblaze/modsi3.asm b/libgcc/config/microblaze/modsi3.S
index cae95c8bc63..4be6be42616 100644
--- a/libgcc/config/microblaze/modsi3.asm
+++ b/libgcc/config/microblaze/modsi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# modsi3.asm
+# modsi3.S
#
# modulo operation for 32 bit integers.
# Input : op1 in Reg r5
diff --git a/libgcc/config/microblaze/muldi3_hard.asm b/libgcc/config/microblaze/muldi3_hard.S
index 0499e2a550b..14cfff59772 100644
--- a/libgcc/config/microblaze/muldi3_hard.asm
+++ b/libgcc/config/microblaze/muldi3_hard.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# muldi3_hard.asm
+# muldi3_hard.S
#
# Multiply operation for 64 bit integers, for devices with hard multiply
# Input : Operand1[H] in Reg r5
diff --git a/libgcc/config/microblaze/mulsi3.asm b/libgcc/config/microblaze/mulsi3.S
index 03fe0288df8..77d2daa9270 100644
--- a/libgcc/config/microblaze/mulsi3.asm
+++ b/libgcc/config/microblaze/mulsi3.S
@@ -1,6 +1,6 @@
###################################-*-asm*-
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# mulsi3.asm
+# mulsi3.S
#
# Multiply operation for 32 bit integers.
# Input : Operand1 in Reg r5
diff --git a/libgcc/config/microblaze/stack_overflow_exit.asm b/libgcc/config/microblaze/stack_overflow_exit.S
index 30b31f0a5ba..98182a2b361 100644
--- a/libgcc/config/microblaze/stack_overflow_exit.asm
+++ b/libgcc/config/microblaze/stack_overflow_exit.S
@@ -1,6 +1,6 @@
###################################-*-asm*-
#
-# Copyright 2009 Free Software Foundation, Inc.
+# Copyright 2009, 2011 Free Software Foundation, Inc.
#
#
# Contributed by Michael Eager <eager@eagercon.com>.
@@ -24,7 +24,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# stack_overflow_exit.asm
+# stack_overflow_exit.S
#
# Checks for stack overflows and sets the global variable
# stack_overflow_error with the value of current stack pointer
diff --git a/libgcc/config/microblaze/t-microblaze b/libgcc/config/microblaze/t-microblaze
index ec17bb88c6a..3a9c7ff23fe 100644
--- a/libgcc/config/microblaze/t-microblaze
+++ b/libgcc/config/microblaze/t-microblaze
@@ -1,10 +1,10 @@
LIB2ADD += \
- $(srcdir)/config/microblaze/divsi3.asm \
- $(srcdir)/config/microblaze/moddi3.asm \
- $(srcdir)/config/microblaze/modsi3.asm \
- $(srcdir)/config/microblaze/muldi3_hard.asm \
- $(srcdir)/config/microblaze/mulsi3.asm \
- $(srcdir)/config/microblaze/stack_overflow_exit.asm \
- $(srcdir)/config/microblaze/udivsi3.asm \
- $(srcdir)/config/microblaze/umodsi3.asm \
+ $(srcdir)/config/microblaze/divsi3.S \
+ $(srcdir)/config/microblaze/moddi3.S \
+ $(srcdir)/config/microblaze/modsi3.S \
+ $(srcdir)/config/microblaze/muldi3_hard.S \
+ $(srcdir)/config/microblaze/mulsi3.S \
+ $(srcdir)/config/microblaze/stack_overflow_exit.S \
+ $(srcdir)/config/microblaze/udivsi3.S \
+ $(srcdir)/config/microblaze/umodsi3.S \
$(srcdir)/config/microblaze/divsi3_table.c
diff --git a/libgcc/config/microblaze/udivsi3.asm b/libgcc/config/microblaze/udivsi3.S
index 879cd349ca7..07a2d658092 100644
--- a/libgcc/config/microblaze/udivsi3.asm
+++ b/libgcc/config/microblaze/udivsi3.S
@@ -1,6 +1,6 @@
###################################-
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# udivsi3.asm
+# udivsi3.S
#
# Unsigned divide operation.
# Input : Divisor in Reg r5
diff --git a/libgcc/config/microblaze/umodsi3.asm b/libgcc/config/microblaze/umodsi3.S
index f7fd0087965..67de12c84ac 100644
--- a/libgcc/config/microblaze/umodsi3.asm
+++ b/libgcc/config/microblaze/umodsi3.S
@@ -1,6 +1,6 @@
###################################
#
-# Copyright 2009, 2010 Free Software Foundation, Inc.
+# Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
#
# Contributed by Michael Eager <eager@eagercon.com>.
#
@@ -23,7 +23,7 @@
# see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
# <http://www.gnu.org/licenses/>.
#
-# umodsi3.asm
+# umodsi3.S
#
# Unsigned modulo operation for 32 bit integers.
# Input : op1 in Reg r5
diff --git a/libgcc/config/mips/t-elf b/libgcc/config/mips/t-elf
new file mode 100644
index 00000000000..3a1dfd7648c
--- /dev/null
+++ b/libgcc/config/mips/t-elf
@@ -0,0 +1,3 @@
+# We must build libgcc2.a with -G 0, in case the user wants to link
+# without the $gp register.
+HOST_LIBGCC2_CFLAGS = -G 0
diff --git a/libgcc/config/mips/t-mips b/libgcc/config/mips/t-mips
index b7d13b3ddb3..719c062ef0d 100644
--- a/libgcc/config/mips/t-mips
+++ b/libgcc/config/mips/t-mips
@@ -1,3 +1,5 @@
+LIB2_SIDITI_CONV_FUNCS = yes
+
FPBIT = true
FPBIT_CFLAGS = -DQUIET_NAN_NEGATED
DPBIT = true
diff --git a/libgcc/config/mips/t-vr b/libgcc/config/mips/t-vr
new file mode 100644
index 00000000000..601fbdece1a
--- /dev/null
+++ b/libgcc/config/mips/t-vr
@@ -0,0 +1,2 @@
+LIB2ADD_ST = $(srcdir)/config/mips/mips16.S \
+ $(srcdir)/config/mips/vr4120-div.S
diff --git a/gcc/config/mips/vr4120-div.S b/libgcc/config/mips/vr4120-div.S
index 79ede3de955..79ede3de955 100644
--- a/gcc/config/mips/vr4120-div.S
+++ b/libgcc/config/mips/vr4120-div.S
diff --git a/libgcc/config/mmix/t-mmix b/libgcc/config/mmix/t-mmix
index 6793b3c5b9c..40ee1e4bdb1 100644
--- a/libgcc/config/mmix/t-mmix
+++ b/libgcc/config/mmix/t-mmix
@@ -1,3 +1,5 @@
+HOST_LIBGCC2_CFLAGS = -mlibfuncs -O2
+
# We need to turn off some assumptions on normality for code in crtstuff.c
# and crt{i,n}.S, specifically about execution not continuing past the
# end of the section in the file being compiled. Thus we must stop the
diff --git a/gcc/config/pa/fptr.c b/libgcc/config/pa/fptr.c
index 320d18267c8..320d18267c8 100644
--- a/gcc/config/pa/fptr.c
+++ b/libgcc/config/pa/fptr.c
diff --git a/gcc/config/pa/lib2funcs.asm b/libgcc/config/pa/lib2funcs.S
index 8aa398c8797..8aa398c8797 100644
--- a/gcc/config/pa/lib2funcs.asm
+++ b/libgcc/config/pa/lib2funcs.S
diff --git a/gcc/config/pa/linux-atomic.c b/libgcc/config/pa/linux-atomic.c
index 2ae2426357a..2ae2426357a 100644
--- a/gcc/config/pa/linux-atomic.c
+++ b/libgcc/config/pa/linux-atomic.c
diff --git a/gcc/config/pa/quadlib.c b/libgcc/config/pa/quadlib.c
index 2c1160015ed..2c1160015ed 100644
--- a/gcc/config/pa/quadlib.c
+++ b/libgcc/config/pa/quadlib.c
diff --git a/libgcc/config/pa/t-hpux b/libgcc/config/pa/t-hpux
new file mode 100644
index 00000000000..fcf93aba3ab
--- /dev/null
+++ b/libgcc/config/pa/t-hpux
@@ -0,0 +1,3 @@
+LIB2ADD = $(srcdir)/config/pa/lib2funcs.S $(srcdir)/config/pa/quadlib.c
+
+HOST_LIBGCC2_CFLAGS += -frandom-seed=fixed-seed
diff --git a/libgcc/config/pa/t-hpux10 b/libgcc/config/pa/t-hpux10
new file mode 100644
index 00000000000..5620f314a62
--- /dev/null
+++ b/libgcc/config/pa/t-hpux10
@@ -0,0 +1 @@
+HOST_LIBGCC2_CFLAGS += -D_T_HPUX10
diff --git a/libgcc/config/pa/t-linux b/libgcc/config/pa/t-linux
index d396bf7705a..2157de9b007 100644
--- a/libgcc/config/pa/t-linux
+++ b/libgcc/config/pa/t-linux
@@ -1,6 +1,10 @@
#Plug millicode routines into libgcc.a We want these on both native and
#cross compiles. We use the "64-bit" routines because the "32-bit" code
#is broken for certain corner cases.
-
LIB1ASMSRC = pa/milli64.S
LIB1ASMFUNCS = _divI _divU _remI _remU _div_const _mulI _dyncall
+
+HOST_LIBGCC2_CFLAGS += -DELF=1 -DLINUX=1
+
+LIB2ADD = $(srcdir)/config/pa/fptr.c
+LIB2ADD_ST = $(srcdir)/config/pa/linux-atomic.c
diff --git a/libgcc/config/pa/t-linux64 b/libgcc/config/pa/t-linux64
index 6cb9806ff2e..1d0a6ada1a1 100644
--- a/libgcc/config/pa/t-linux64
+++ b/libgcc/config/pa/t-linux64
@@ -2,3 +2,7 @@
# cross compiles.
# FIXME: Explain.
LIB1ASMFUNCS := $(filter-out _dyncall, $(LIB1ASMFUNCS))
+
+LIB2ADD_ST = $(srcdir)/config/pa/linux-atomic.c
+
+HOST_LIBGCC2_CFLAGS += -Dpa64=1 -DELF=1
diff --git a/libgcc/config/pa/t-pa64 b/libgcc/config/pa/t-pa64
new file mode 100644
index 00000000000..98f28edb1c6
--- /dev/null
+++ b/libgcc/config/pa/t-pa64
@@ -0,0 +1,3 @@
+LIB2ADD = $(srcdir)/config/pa/quadlib.c
+
+HOST_LIBGCC2_CFLAGS += -Dpa64=1 -DELF=1 -mlong-calls
diff --git a/libgcc/config/pdp11/t-pdp11 b/libgcc/config/pdp11/t-pdp11
new file mode 100644
index 00000000000..bcd88e4426c
--- /dev/null
+++ b/libgcc/config/pdp11/t-pdp11
@@ -0,0 +1,8 @@
+LIB2ADD = $(srcdir)/udivmod.c \
+ $(srcdir)/udivmodsi4.c \
+ $(srcdir)/memcmp.c \
+ $(srcdir)/memcpy.c \
+ $(srcdir)/memmove.c \
+ $(srcdir)/memset.c
+
+HOST_LIBGCC2_CFLAGS = -O2 -mfloat32
diff --git a/gcc/config/picochip/libgccExtras/adddi3.asm b/libgcc/config/picochip/adddi3.S
index 77373ed9f64..77373ed9f64 100644
--- a/gcc/config/picochip/libgccExtras/adddi3.asm
+++ b/libgcc/config/picochip/adddi3.S
diff --git a/gcc/config/picochip/libgccExtras/ashlsi3.asm b/libgcc/config/picochip/ashlsi3.S
index 688cd8d96ff..688cd8d96ff 100644
--- a/gcc/config/picochip/libgccExtras/ashlsi3.asm
+++ b/libgcc/config/picochip/ashlsi3.S
diff --git a/gcc/config/picochip/libgccExtras/ashlsi3.c b/libgcc/config/picochip/ashlsi3.c
index 600461c0b83..600461c0b83 100644
--- a/gcc/config/picochip/libgccExtras/ashlsi3.c
+++ b/libgcc/config/picochip/ashlsi3.c
diff --git a/gcc/config/picochip/libgccExtras/ashrsi3.asm b/libgcc/config/picochip/ashrsi3.S
index fddd70b6895..fddd70b6895 100644
--- a/gcc/config/picochip/libgccExtras/ashrsi3.asm
+++ b/libgcc/config/picochip/ashrsi3.S
diff --git a/gcc/config/picochip/libgccExtras/ashrsi3.c b/libgcc/config/picochip/ashrsi3.c
index 4f1567b1347..4f1567b1347 100644
--- a/gcc/config/picochip/libgccExtras/ashrsi3.c
+++ b/libgcc/config/picochip/ashrsi3.c
diff --git a/gcc/config/picochip/libgccExtras/clzsi2.asm b/libgcc/config/picochip/clzsi2.S
index 835d4694167..d5c99aa7154 100644
--- a/gcc/config/picochip/libgccExtras/clzsi2.asm
+++ b/libgcc/config/picochip/clzsi2.S
@@ -1,4 +1,4 @@
-// Copyright (C) 2008 Free Software Foundation, Inc.
+// Copyright (C) 2008, 2011 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
@@ -22,7 +22,7 @@
// <http://www.gnu.org/licenses/>.
// picoChip ASM file
-//.file "clzsi2.asm"
+//.file "clzsi2.S"
.section .text
diff --git a/gcc/config/picochip/libgccExtras/cmpsi2.asm b/libgcc/config/picochip/cmpsi2.S
index 95322f32419..95322f32419 100644
--- a/gcc/config/picochip/libgccExtras/cmpsi2.asm
+++ b/libgcc/config/picochip/cmpsi2.S
diff --git a/gcc/config/picochip/libgccExtras/divmod15.asm b/libgcc/config/picochip/divmod15.S
index d314b3be570..d314b3be570 100644
--- a/gcc/config/picochip/libgccExtras/divmod15.asm
+++ b/libgcc/config/picochip/divmod15.S
diff --git a/gcc/config/picochip/libgccExtras/divmodhi4.asm b/libgcc/config/picochip/divmodhi4.S
index 9dad674c7bc..9dad674c7bc 100644
--- a/gcc/config/picochip/libgccExtras/divmodhi4.asm
+++ b/libgcc/config/picochip/divmodhi4.S
diff --git a/gcc/config/picochip/libgccExtras/divmodsi4.asm b/libgcc/config/picochip/divmodsi4.S
index 4fc1acb1b63..4fc1acb1b63 100644
--- a/gcc/config/picochip/libgccExtras/divmodsi4.asm
+++ b/libgcc/config/picochip/divmodsi4.S
diff --git a/gcc/config/picochip/libgccExtras/longjmp.asm b/libgcc/config/picochip/longjmp.S
index d2a80aca730..d2a80aca730 100644
--- a/gcc/config/picochip/libgccExtras/longjmp.asm
+++ b/libgcc/config/picochip/longjmp.S
diff --git a/gcc/config/picochip/libgccExtras/lshrsi3.asm b/libgcc/config/picochip/lshrsi3.S
index 4fc53902955..4fc53902955 100644
--- a/gcc/config/picochip/libgccExtras/lshrsi3.asm
+++ b/libgcc/config/picochip/lshrsi3.S
diff --git a/gcc/config/picochip/libgccExtras/lshrsi3.c b/libgcc/config/picochip/lshrsi3.c
index fa32dc726ef..fa32dc726ef 100644
--- a/gcc/config/picochip/libgccExtras/lshrsi3.c
+++ b/libgcc/config/picochip/lshrsi3.c
diff --git a/gcc/config/picochip/libgccExtras/parityhi2.asm b/libgcc/config/picochip/parityhi2.S
index b9d0cdc63dd..b9d0cdc63dd 100644
--- a/gcc/config/picochip/libgccExtras/parityhi2.asm
+++ b/libgcc/config/picochip/parityhi2.S
diff --git a/gcc/config/picochip/libgccExtras/popcounthi2.asm b/libgcc/config/picochip/popcounthi2.S
index 2da618c96de..2da618c96de 100644
--- a/gcc/config/picochip/libgccExtras/popcounthi2.asm
+++ b/libgcc/config/picochip/popcounthi2.S
diff --git a/gcc/config/picochip/libgccExtras/setjmp.asm b/libgcc/config/picochip/setjmp.S
index 247c715f6a9..247c715f6a9 100644
--- a/gcc/config/picochip/libgccExtras/setjmp.asm
+++ b/libgcc/config/picochip/setjmp.S
diff --git a/gcc/config/picochip/libgccExtras/subdi3.asm b/libgcc/config/picochip/subdi3.S
index d1c833ea824..d1c833ea824 100644
--- a/gcc/config/picochip/libgccExtras/subdi3.asm
+++ b/libgcc/config/picochip/subdi3.S
diff --git a/libgcc/config/picochip/t-picochip b/libgcc/config/picochip/t-picochip
index a596ec98947..dd65f9e77d9 100644
--- a/libgcc/config/picochip/t-picochip
+++ b/libgcc/config/picochip/t-picochip
@@ -5,5 +5,35 @@
LIB1ASMSRC = picochip/lib1funcs.S
LIB1ASMFUNCS = _mulsc3 _divsc3
+# Compile the extra library functions.
+LIB2ADD = \
+ $(srcdir)/config/picochip/ashrsi3.S \
+ $(srcdir)/config/picochip/ashlsi3.S \
+ $(srcdir)/config/picochip/divmodhi4.S \
+ $(srcdir)/config/picochip/udivmodhi4.S \
+ $(srcdir)/config/picochip/divmodsi4.S \
+ $(srcdir)/config/picochip/udivmodsi4.S \
+ $(srcdir)/config/picochip/divmod15.S \
+ $(srcdir)/config/picochip/ucmpsi2.S \
+ $(srcdir)/config/picochip/cmpsi2.S \
+ $(srcdir)/config/picochip/clzsi2.S \
+ $(srcdir)/config/picochip/adddi3.S \
+ $(srcdir)/config/picochip/subdi3.S \
+ $(srcdir)/config/picochip/lshrsi3.S \
+ $(srcdir)/config/picochip/parityhi2.S \
+ $(srcdir)/config/picochip/popcounthi2.S
+
+# Special libgcc setup. Make single/double floating point the same,
+# and use our own include files.
+HOST_LIBGCC2_CFLAGS = -DDF=SF -I../../includes/
+
+# Switch off all debugging for the embedded libraries.
+# (embedded processors need small libraries by default).
+# NOTE: If the debug level is increased, turn off instruction scheduling.
+LIBGCC2_DEBUG_CFLAGS = -g0
+
# Turn off the building of exception handling libraries.
LIB2ADDEH =
+
+# Turn off ranlib on target libraries.
+RANLIB_FOR_TARGET = cat
diff --git a/gcc/config/picochip/libgccExtras/ucmpsi2.asm b/libgcc/config/picochip/ucmpsi2.S
index 10c03cfcd6e..10c03cfcd6e 100644
--- a/gcc/config/picochip/libgccExtras/ucmpsi2.asm
+++ b/libgcc/config/picochip/ucmpsi2.S
diff --git a/gcc/config/picochip/libgccExtras/udivmodhi4.asm b/libgcc/config/picochip/udivmodhi4.S
index ac16fae39cf..ac16fae39cf 100644
--- a/gcc/config/picochip/libgccExtras/udivmodhi4.asm
+++ b/libgcc/config/picochip/udivmodhi4.S
diff --git a/gcc/config/picochip/libgccExtras/udivmodsi4.asm b/libgcc/config/picochip/udivmodsi4.S
index 92c2a4983ce..92c2a4983ce 100644
--- a/gcc/config/picochip/libgccExtras/udivmodsi4.asm
+++ b/libgcc/config/picochip/udivmodsi4.S
diff --git a/gcc/config/rs6000/crtresfpr.asm b/libgcc/config/rs6000/crtresfpr.S
index 9fb228cf458..9fb228cf458 100644
--- a/gcc/config/rs6000/crtresfpr.asm
+++ b/libgcc/config/rs6000/crtresfpr.S
diff --git a/gcc/config/rs6000/crtresgpr.asm b/libgcc/config/rs6000/crtresgpr.S
index 9f9cec9f9ca..9f9cec9f9ca 100644
--- a/gcc/config/rs6000/crtresgpr.asm
+++ b/libgcc/config/rs6000/crtresgpr.S
diff --git a/gcc/config/rs6000/crtresxfpr.asm b/libgcc/config/rs6000/crtresxfpr.S
index 633f2db61f0..633f2db61f0 100644
--- a/gcc/config/rs6000/crtresxfpr.asm
+++ b/libgcc/config/rs6000/crtresxfpr.S
diff --git a/gcc/config/rs6000/crtresxgpr.asm b/libgcc/config/rs6000/crtresxgpr.S
index 451b2b69d1e..451b2b69d1e 100644
--- a/gcc/config/rs6000/crtresxgpr.asm
+++ b/libgcc/config/rs6000/crtresxgpr.S
diff --git a/gcc/config/rs6000/crtsavfpr.asm b/libgcc/config/rs6000/crtsavfpr.S
index 3cdb25033ca..3cdb25033ca 100644
--- a/gcc/config/rs6000/crtsavfpr.asm
+++ b/libgcc/config/rs6000/crtsavfpr.S
diff --git a/gcc/config/rs6000/crtsavgpr.asm b/libgcc/config/rs6000/crtsavgpr.S
index 6d473963bad..6d473963bad 100644
--- a/gcc/config/rs6000/crtsavgpr.asm
+++ b/libgcc/config/rs6000/crtsavgpr.S
diff --git a/gcc/config/rs6000/darwin-asm.h b/libgcc/config/rs6000/darwin-asm.h
index 837b7a33ef8..837b7a33ef8 100644
--- a/gcc/config/rs6000/darwin-asm.h
+++ b/libgcc/config/rs6000/darwin-asm.h
diff --git a/gcc/config/rs6000/darwin-fpsave.asm b/libgcc/config/rs6000/darwin-fpsave.S
index 47fdc92f860..47fdc92f860 100644
--- a/gcc/config/rs6000/darwin-fpsave.asm
+++ b/libgcc/config/rs6000/darwin-fpsave.S
diff --git a/gcc/config/rs6000/darwin-gpsave.asm b/libgcc/config/rs6000/darwin-gpsave.S
index d3c3b912d27..d3c3b912d27 100644
--- a/gcc/config/rs6000/darwin-gpsave.asm
+++ b/libgcc/config/rs6000/darwin-gpsave.S
diff --git a/gcc/config/rs6000/darwin-tramp.asm b/libgcc/config/rs6000/darwin-tramp.S
index 5188c98ef05..5188c98ef05 100644
--- a/gcc/config/rs6000/darwin-tramp.asm
+++ b/libgcc/config/rs6000/darwin-tramp.S
diff --git a/gcc/config/rs6000/darwin-vecsave.asm b/libgcc/config/rs6000/darwin-vecsave.S
index 0a46be20c89..0a46be20c89 100644
--- a/gcc/config/rs6000/darwin-vecsave.asm
+++ b/libgcc/config/rs6000/darwin-vecsave.S
diff --git a/gcc/config/rs6000/darwin-world.asm b/libgcc/config/rs6000/darwin-world.S
index c0b1bf1a2b1..c0b1bf1a2b1 100644
--- a/gcc/config/rs6000/darwin-world.asm
+++ b/libgcc/config/rs6000/darwin-world.S
diff --git a/gcc/config/rs6000/e500crtres32gpr.asm b/libgcc/config/rs6000/e500crtres32gpr.S
index 6fbff820b88..6fbff820b88 100644
--- a/gcc/config/rs6000/e500crtres32gpr.asm
+++ b/libgcc/config/rs6000/e500crtres32gpr.S
diff --git a/gcc/config/rs6000/e500crtres64gpr.asm b/libgcc/config/rs6000/e500crtres64gpr.S
index 5182e55392d..5182e55392d 100644
--- a/gcc/config/rs6000/e500crtres64gpr.asm
+++ b/libgcc/config/rs6000/e500crtres64gpr.S
diff --git a/gcc/config/rs6000/e500crtres64gprctr.asm b/libgcc/config/rs6000/e500crtres64gprctr.S
index 74309d6bed6..74309d6bed6 100644
--- a/gcc/config/rs6000/e500crtres64gprctr.asm
+++ b/libgcc/config/rs6000/e500crtres64gprctr.S
diff --git a/gcc/config/rs6000/e500crtrest32gpr.asm b/libgcc/config/rs6000/e500crtrest32gpr.S
index 4e61010dcff..4e61010dcff 100644
--- a/gcc/config/rs6000/e500crtrest32gpr.asm
+++ b/libgcc/config/rs6000/e500crtrest32gpr.S
diff --git a/gcc/config/rs6000/e500crtrest64gpr.asm b/libgcc/config/rs6000/e500crtrest64gpr.S
index 090786fdc71..090786fdc71 100644
--- a/gcc/config/rs6000/e500crtrest64gpr.asm
+++ b/libgcc/config/rs6000/e500crtrest64gpr.S
diff --git a/gcc/config/rs6000/e500crtresx32gpr.asm b/libgcc/config/rs6000/e500crtresx32gpr.S
index 0b35245df42..0b35245df42 100644
--- a/gcc/config/rs6000/e500crtresx32gpr.asm
+++ b/libgcc/config/rs6000/e500crtresx32gpr.S
diff --git a/gcc/config/rs6000/e500crtresx64gpr.asm b/libgcc/config/rs6000/e500crtresx64gpr.S
index ce2a6cfa2aa..ce2a6cfa2aa 100644
--- a/gcc/config/rs6000/e500crtresx64gpr.asm
+++ b/libgcc/config/rs6000/e500crtresx64gpr.S
diff --git a/gcc/config/rs6000/e500crtsav32gpr.asm b/libgcc/config/rs6000/e500crtsav32gpr.S
index c891030507e..c891030507e 100644
--- a/gcc/config/rs6000/e500crtsav32gpr.asm
+++ b/libgcc/config/rs6000/e500crtsav32gpr.S
diff --git a/gcc/config/rs6000/e500crtsav64gpr.asm b/libgcc/config/rs6000/e500crtsav64gpr.S
index 2a5d3e475fd..2a5d3e475fd 100644
--- a/gcc/config/rs6000/e500crtsav64gpr.asm
+++ b/libgcc/config/rs6000/e500crtsav64gpr.S
diff --git a/gcc/config/rs6000/e500crtsav64gprctr.asm b/libgcc/config/rs6000/e500crtsav64gprctr.S
index dd0bdf3c89a..dd0bdf3c89a 100644
--- a/gcc/config/rs6000/e500crtsav64gprctr.asm
+++ b/libgcc/config/rs6000/e500crtsav64gprctr.S
diff --git a/gcc/config/rs6000/e500crtsavg32gpr.asm b/libgcc/config/rs6000/e500crtsavg32gpr.S
index d14088e0dec..d14088e0dec 100644
--- a/gcc/config/rs6000/e500crtsavg32gpr.asm
+++ b/libgcc/config/rs6000/e500crtsavg32gpr.S
diff --git a/gcc/config/rs6000/e500crtsavg64gpr.asm b/libgcc/config/rs6000/e500crtsavg64gpr.S
index cbad75bc053..cbad75bc053 100644
--- a/gcc/config/rs6000/e500crtsavg64gpr.asm
+++ b/libgcc/config/rs6000/e500crtsavg64gpr.S
diff --git a/gcc/config/rs6000/e500crtsavg64gprctr.asm b/libgcc/config/rs6000/e500crtsavg64gprctr.S
index 238df4e8319..238df4e8319 100644
--- a/gcc/config/rs6000/e500crtsavg64gprctr.asm
+++ b/libgcc/config/rs6000/e500crtsavg64gprctr.S
diff --git a/gcc/config/rs6000/eabi.asm b/libgcc/config/rs6000/eabi.S
index 292d88e5016..292d88e5016 100644
--- a/gcc/config/rs6000/eabi.asm
+++ b/libgcc/config/rs6000/eabi.S
diff --git a/libgcc/config/rs6000/t-darwin b/libgcc/config/rs6000/t-darwin
index deec5e3a470..abb41fc9bce 100644
--- a/libgcc/config/rs6000/t-darwin
+++ b/libgcc/config/rs6000/t-darwin
@@ -3,6 +3,21 @@ DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall -mmacosx-version-min=10.4
crt2.o: $(srcdir)/config/rs6000/darwin-crt2.c
$(crt_compile) $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $<
-LIB2ADD += $(srcdir)/config/rs6000/ppc64-fp.c
+LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \
+ $(srcdir)/config/darwin-64.c \
+ $(srcdir)/config/rs6000/darwin-fpsave.S \
+ $(srcdir)/config/rs6000/darwin-gpsave.S \
+ $(srcdir)/config/rs6000/darwin-world.S \
+ $(srcdir)/config/rs6000/ppc64-fp.c
+
+LIB2ADD_ST = \
+ $(srcdir)/config/rs6000/darwin-vecsave.S
+
+# The .S files above are designed to run on all processors, even though
+# they use AltiVec instructions.
+# -Wa is used because -force_cpusubtype_ALL doesn't work with -dynamiclib.
+# -mmacosx-version-min=10.4 is used to provide compatibility for code from
+# earlier OSX versions.
+HOST_LIBGCC2_CFLAGS += -Wa,-force_cpusubtype_ALL -mmacosx-version-min=10.4
LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
diff --git a/libgcc/config/rs6000/t-darwin64 b/libgcc/config/rs6000/t-darwin64
new file mode 100644
index 00000000000..eea0671f3b5
--- /dev/null
+++ b/libgcc/config/rs6000/t-darwin64
@@ -0,0 +1,6 @@
+LIB2_SIDITI_CONV_FUNCS = yes
+
+LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \
+ $(srcdir)/config/darwin-64.c \
+ $(srcdir)/config/rs6000/darwin-world.S
+
diff --git a/libgcc/config/rs6000/t-linux64 b/libgcc/config/rs6000/t-linux64
index 7b08315abc0..2b60f1a1f43 100644
--- a/libgcc/config/rs6000/t-linux64
+++ b/libgcc/config/rs6000/t-linux64
@@ -1,2 +1,4 @@
+HOST_LIBGCC2_CFLAGS += -mno-minimal-toc
+
softfp_wrap_start := '\#ifndef __powerpc64__'
softfp_wrap_end := '\#endif'
diff --git a/libgcc/config/rs6000/t-lynx b/libgcc/config/rs6000/t-lynx
new file mode 100644
index 00000000000..af7f5982b9c
--- /dev/null
+++ b/libgcc/config/rs6000/t-lynx
@@ -0,0 +1 @@
+LIB2ADD = $(srcdir)/config/rs6000/tramp.S
diff --git a/libgcc/config/rs6000/t-netbsd b/libgcc/config/rs6000/t-netbsd
new file mode 100644
index 00000000000..3b4ba32a215
--- /dev/null
+++ b/libgcc/config/rs6000/t-netbsd
@@ -0,0 +1,9 @@
+LIB2ADD = $(srcdir)/config/rs6000/tramp.S
+
+LIB2ADD_ST = \
+ $(srcdir)/config/rs6000/crtsavfpr.S \
+ $(srcdir)/config/rs6000/crtresfpr.S \
+ $(srcdir)/config/rs6000/crtsavgpr.S \
+ $(srcdir)/config/rs6000/crtresgpr.S \
+ $(srcdir)/config/rs6000/crtresxfpr.S \
+ $(srcdir)/config/rs6000/crtresxgpr.S
diff --git a/libgcc/config/rs6000/t-ppccomm b/libgcc/config/rs6000/t-ppccomm
index 174ccde2c3f..99f3867e194 100644
--- a/libgcc/config/rs6000/t-ppccomm
+++ b/libgcc/config/rs6000/t-ppccomm
@@ -1,83 +1,33 @@
-LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c
-
-LIB2ADD_ST += crtsavfpr.S crtresfpr.S \
- crtsavgpr.S crtresgpr.S \
- crtresxfpr.S crtresxgpr.S \
- e500crtres32gpr.S \
- e500crtres64gpr.S \
- e500crtres64gprctr.S \
- e500crtrest32gpr.S \
- e500crtrest64gpr.S \
- e500crtresx32gpr.S \
- e500crtresx64gpr.S \
- e500crtsav32gpr.S \
- e500crtsav64gpr.S \
- e500crtsav64gprctr.S \
- e500crtsavg32gpr.S \
- e500crtsavg64gpr.S \
- e500crtsavg64gprctr.S
+LIB2ADD += $(srcdir)/config/rs6000/ibm-ldouble.c \
+ $(srcdir)/config/rs6000/tramp.S
+
+# These can't end up in shared libgcc
+LIB2ADD_ST += \
+ $(srcdir)/config/rs6000/crtsavfpr.S \
+ $(srcdir)/config/rs6000/crtresfpr.S \
+ $(srcdir)/config/rs6000/crtsavgpr.S \
+ $(srcdir)/config/rs6000/crtresgpr.S \
+ $(srcdir)/config/rs6000/crtresxfpr.S
+ $(srcdir)/config/rs6000/crtresxgpr.S \
+ $(srcdir)/config/rs6000/e500crtres32gpr.S \
+ $(srcdir)/config/rs6000/e500crtres64gpr.S \
+ $(srcdir)/config/rs6000/e500crtres64gprctr.S \
+ $(srcdir)/config/rs6000/e500crtrest32gpr.S \
+ $(srcdir)/config/rs6000/e500crtrest64gpr.S \
+ $(srcdir)/config/rs6000/e500crtresx32gpr.S \
+ $(srcdir)/config/rs6000/e500crtresx64gpr.S \
+ $(srcdir)/config/rs6000/e500crtsav32gpr.S \
+ $(srcdir)/config/rs6000/e500crtsav64gpr.S \
+ $(srcdir)/config/rs6000/e500crtsav64gprctr.S \
+ $(srcdir)/config/rs6000/e500crtsavg32gpr.S \
+ $(srcdir)/config/rs6000/e500crtsavg64gpr.S \
+ $(srcdir)/config/rs6000/e500crtsavg64gprctr.S
+ $(srcdir)/config/rs6000/eabi.S
# We build {e,n}crti.o and {e,n}crtn.o, which serve to add begin and
# end labels to all of the special sections used when we link using gcc.
# Assemble startup files.
-crtsavfpr.S: $(gcc_srcdir)/config/rs6000/crtsavfpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtsavfpr.asm >crtsavfpr.S
-
-crtresfpr.S: $(gcc_srcdir)/config/rs6000/crtresfpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtresfpr.asm >crtresfpr.S
-
-crtsavgpr.S: $(gcc_srcdir)/config/rs6000/crtsavgpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtsavgpr.asm >crtsavgpr.S
-
-crtresgpr.S: $(gcc_srcdir)/config/rs6000/crtresgpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtresgpr.asm >crtresgpr.S
-
-crtresxfpr.S: $(gcc_srcdir)/config/rs6000/crtresxfpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtresxfpr.asm >crtresxfpr.S
-
-crtresxgpr.S: $(gcc_srcdir)/config/rs6000/crtresxgpr.asm
- cat $(gcc_srcdir)/config/rs6000/crtresxgpr.asm >crtresxgpr.S
-
-e500crtres32gpr.S: $(gcc_srcdir)/config/rs6000/e500crtres32gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtres32gpr.asm >e500crtres32gpr.S
-
-e500crtres64gpr.S: $(gcc_srcdir)/config/rs6000/e500crtres64gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtres64gpr.asm >e500crtres64gpr.S
-
-e500crtres64gprctr.S: $(gcc_srcdir)/config/rs6000/e500crtres64gprctr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtres64gprctr.asm >e500crtres64gprctr.S
-
-e500crtrest32gpr.S: $(gcc_srcdir)/config/rs6000/e500crtrest32gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtrest32gpr.asm >e500crtrest32gpr.S
-
-e500crtrest64gpr.S: $(gcc_srcdir)/config/rs6000/e500crtrest64gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtrest64gpr.asm >e500crtrest64gpr.S
-
-e500crtresx32gpr.S: $(gcc_srcdir)/config/rs6000/e500crtresx32gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtresx32gpr.asm >e500crtresx32gpr.S
-
-e500crtresx64gpr.S: $(gcc_srcdir)/config/rs6000/e500crtresx64gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtresx64gpr.asm >e500crtresx64gpr.S
-
-e500crtsav32gpr.S: $(gcc_srcdir)/config/rs6000/e500crtsav32gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsav32gpr.asm >e500crtsav32gpr.S
-
-e500crtsav64gpr.S: $(gcc_srcdir)/config/rs6000/e500crtsav64gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsav64gpr.asm >e500crtsav64gpr.S
-
-e500crtsav64gprctr.S: $(gcc_srcdir)/config/rs6000/e500crtsav64gprctr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsav64gprctr.asm >e500crtsav64gprctr.S
-
-e500crtsavg32gpr.S: $(gcc_srcdir)/config/rs6000/e500crtsavg32gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsavg32gpr.asm >e500crtsavg32gpr.S
-
-e500crtsavg64gpr.S: $(gcc_srcdir)/config/rs6000/e500crtsavg64gpr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsavg64gpr.asm >e500crtsavg64gpr.S
-
-e500crtsavg64gprctr.S: $(gcc_srcdir)/config/rs6000/e500crtsavg64gprctr.asm
- cat $(gcc_srcdir)/config/rs6000/e500crtsavg64gprctr.asm >e500crtsavg64gprctr.S
-
ecrti$(objext): $(srcdir)/config/rs6000/eabi-ci.S
$(crt_compile) -c ecrti.S
diff --git a/gcc/config/rs6000/tramp.asm b/libgcc/config/rs6000/tramp.S
index 133b98840f1..133b98840f1 100644
--- a/gcc/config/rs6000/tramp.asm
+++ b/libgcc/config/rs6000/tramp.S
diff --git a/libgcc/config/s390/t-tpf b/libgcc/config/s390/t-tpf
deleted file mode 100644
index 9d416acc12d..00000000000
--- a/libgcc/config/s390/t-tpf
+++ /dev/null
@@ -1,2 +0,0 @@
-# Compile libgcc2.a with pic.
-HOST_LIBGCC2_CFLAGS += -fPIC
diff --git a/gcc/config/sh/linux-atomic.asm b/libgcc/config/sh/linux-atomic.S
index 743c61bb76c..743c61bb76c 100644
--- a/gcc/config/sh/linux-atomic.asm
+++ b/libgcc/config/sh/linux-atomic.S
diff --git a/libgcc/config/sh/t-linux b/libgcc/config/sh/t-linux
index 9b1feacd1f3..d0f92405fd8 100644
--- a/libgcc/config/sh/t-linux
+++ b/libgcc/config/sh/t-linux
@@ -1,6 +1,8 @@
LIB1ASMFUNCS_CACHE = _ic_invalidate _ic_invalidate_array
-HOST_LIBGCC2_CFLAGS = -fpic -mieee -DNO_FPSCR_VALUES
+LIB2ADD = $(srcdir)/config/sh/linux-atomic.S
+
+HOST_LIBGCC2_CFLAGS += -mieee -DNO_FPSCR_VALUES
# Override t-slibgcc-elf-ver to export some libgcc symbols with
# the symbol versions that glibc used, and hide some lib1func
diff --git a/libgcc/config/sh/t-netbsd b/libgcc/config/sh/t-netbsd
index 663edbf4187..d4df407fa16 100644
--- a/libgcc/config/sh/t-netbsd
+++ b/libgcc/config/sh/t-netbsd
@@ -1 +1,5 @@
LIB1ASMFUNCS_CACHE = _ic_invalidate
+
+LIB2ADD =
+
+HOST_LIBGCC2_CFLAGS += -mieee
diff --git a/libgcc/config/sh/t-sh b/libgcc/config/sh/t-sh
index 2319adbef1d..2a7bc7df96c 100644
--- a/libgcc/config/sh/t-sh
+++ b/libgcc/config/sh/t-sh
@@ -46,7 +46,7 @@ sdivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.S
$(compile) -c -DL_sdivsi3_i4i $<
udivsi3_i4i-Os-4-200.o: $(srcdir)/config/sh/lib1funcs-Os-4-200.S
$(gcc_compile) -c -DL_udivsi3_i4i $<
-unwind-dw2-Os-4-200.o: $(gcc_srcdir)/unwind-dw2.c
+unwind-dw2-Os-4-200.o: $(srcdir)/unwind-dw2.c
$(gcc_compile) $(LIBGCC2_CFLAGS) $(vis_hide) -fexceptions -Os -c $<
OBJS_Os_4_200=sdivsi3_i4i-Os-4-200.o udivsi3_i4i-Os-4-200.o unwind-dw2-Os-4-200.o
@@ -58,3 +58,6 @@ div_table-4-300.o: $(srcdir)/config/sh/lib1funcs-4-300.S
libgcc-4-300.a: div_table-4-300.o
$(AR_CREATE_FOR_TARGET) $@ div_table-4-300.o
+
+HOST_LIBGCC2_CFLAGS = -mieee
+
diff --git a/libgcc/config/sparc/t-sol2 b/libgcc/config/sparc/t-sol2
index 372522bd0e4..ea3fa63a272 100644
--- a/libgcc/config/sparc/t-sol2
+++ b/libgcc/config/sparc/t-sol2
@@ -3,4 +3,4 @@
# to produce a shared library, but since we don't know ahead of time when
# we will be doing that, we just always use -fPIC when compiling the
# routines in crtstuff.c.
-CRTSTUFF_T_CFLAGS = -fPIC
+CRTSTUFF_T_CFLAGS = $(PICFLAG)
diff --git a/gcc/config/spu/divmodti4.c b/libgcc/config/spu/divmodti4.c
index 57c975c6b3c..c63fb6b393c 100644
--- a/gcc/config/spu/divmodti4.c
+++ b/libgcc/config/spu/divmodti4.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2008, 2009, 2011 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
@@ -65,7 +65,7 @@ count_leading_zeros (UTItype x)
}
/* Based on implementation of udivmodsi4, which is essentially
- * an optimized version of gcc/config/udivmodsi4.c
+ * an optimized version of libgcc/udivmodsi4.c
clz %7,%2
clz %4,%1
il %5,1
diff --git a/gcc/config/spu/divv2df3.c b/libgcc/config/spu/divv2df3.c
index 9d5e1a594e1..9d5e1a594e1 100644
--- a/gcc/config/spu/divv2df3.c
+++ b/libgcc/config/spu/divv2df3.c
diff --git a/gcc/config/spu/float_disf.c b/libgcc/config/spu/float_disf.c
index 0f4fe3d8e29..0f4fe3d8e29 100644
--- a/gcc/config/spu/float_disf.c
+++ b/libgcc/config/spu/float_disf.c
diff --git a/gcc/config/spu/float_unsdidf.c b/libgcc/config/spu/float_unsdidf.c
index 4fdf0b88a2b..4fdf0b88a2b 100644
--- a/gcc/config/spu/float_unsdidf.c
+++ b/libgcc/config/spu/float_unsdidf.c
diff --git a/gcc/config/spu/float_unsdisf.c b/libgcc/config/spu/float_unsdisf.c
index 7af120ecc8c..7af120ecc8c 100644
--- a/gcc/config/spu/float_unsdisf.c
+++ b/libgcc/config/spu/float_unsdisf.c
diff --git a/gcc/config/spu/float_unssidf.c b/libgcc/config/spu/float_unssidf.c
index b255f81af55..b255f81af55 100644
--- a/gcc/config/spu/float_unssidf.c
+++ b/libgcc/config/spu/float_unssidf.c
diff --git a/gcc/config/spu/mfc_multi_tag_release.c b/libgcc/config/spu/mfc_multi_tag_release.c
index 62eb2beeb8f..62eb2beeb8f 100644
--- a/gcc/config/spu/mfc_multi_tag_release.c
+++ b/libgcc/config/spu/mfc_multi_tag_release.c
diff --git a/gcc/config/spu/mfc_multi_tag_reserve.c b/libgcc/config/spu/mfc_multi_tag_reserve.c
index 06d70259276..06d70259276 100644
--- a/gcc/config/spu/mfc_multi_tag_reserve.c
+++ b/libgcc/config/spu/mfc_multi_tag_reserve.c
diff --git a/gcc/config/spu/mfc_tag_release.c b/libgcc/config/spu/mfc_tag_release.c
index d59c5713053..d59c5713053 100644
--- a/gcc/config/spu/mfc_tag_release.c
+++ b/libgcc/config/spu/mfc_tag_release.c
diff --git a/gcc/config/spu/mfc_tag_reserve.c b/libgcc/config/spu/mfc_tag_reserve.c
index 23b4817c74f..23b4817c74f 100644
--- a/gcc/config/spu/mfc_tag_reserve.c
+++ b/libgcc/config/spu/mfc_tag_reserve.c
diff --git a/gcc/config/spu/mfc_tag_table.c b/libgcc/config/spu/mfc_tag_table.c
index bd08c580c18..bd08c580c18 100644
--- a/gcc/config/spu/mfc_tag_table.c
+++ b/libgcc/config/spu/mfc_tag_table.c
diff --git a/gcc/config/spu/multi3.c b/libgcc/config/spu/multi3.c
index b8b0e90ee25..b8b0e90ee25 100644
--- a/gcc/config/spu/multi3.c
+++ b/libgcc/config/spu/multi3.c
diff --git a/libgcc/config/spu/t-elf b/libgcc/config/spu/t-elf
index 130d5610297..83616c1ca7d 100644
--- a/libgcc/config/spu/t-elf
+++ b/libgcc/config/spu/t-elf
@@ -2,6 +2,30 @@
# FIXME: This is the default.
CRTSTUFF_T_CFLAGS =
+# We exclude those because the libgcc2.c default versions do not support
+# the SPU single-precision format (round towards zero). We provide our
+# own versions below and/or via direct expansion.
+LIB2ADD = _floatdisf _floatundisf _floattisf _floatunstisf
+
+LIB2ADD_ST = $(srcdir)/config/spu/float_unssidf.c \
+ $(srcdir)/config/spu/float_unsdidf.c \
+ $(srcdir)/config/spu/float_unsdisf.c \
+ $(srcdir)/config/spu/float_disf.c \
+ $(srcdir)/config/spu/mfc_tag_table.c \
+ $(srcdir)/config/spu/mfc_tag_reserve.c \
+ $(srcdir)/config/spu/mfc_tag_release.c \
+ $(srcdir)/config/spu/mfc_multi_tag_reserve.c \
+ $(srcdir)/config/spu/mfc_multi_tag_release.c \
+ $(srcdir)/config/spu/multi3.c \
+ $(srcdir)/config/spu/divmodti4.c \
+ $(srcdir)/config/spu/divv2df3.c
+
+# Build TImode conversion routines to support Fortran 128-bit
+# integer data types.
+LIB2_SIDITI_CONV_FUNCS = yes
+
+HOST_LIBGCC2_CFLAGS += -mwarn-reloc -D__IN_LIBGCC2
+
# Neither gcc or newlib seem to have a standard way to generate multiple
# crt*.o files. So we don't use the standard crt0.o name anymore.
diff --git a/libgcc/config/stormy16/ashlsi3.c b/libgcc/config/stormy16/ashlsi3.c
new file mode 100644
index 00000000000..0ef42ad66d3
--- /dev/null
+++ b/libgcc/config/stormy16/ashlsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_ASHLSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/ashrsi3.c b/libgcc/config/stormy16/ashrsi3.c
new file mode 100644
index 00000000000..67bcbbbe05b
--- /dev/null
+++ b/libgcc/config/stormy16/ashrsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_ASHRSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/clzhi2.c b/libgcc/config/stormy16/clzhi2.c
new file mode 100644
index 00000000000..350ef41daaf
--- /dev/null
+++ b/libgcc/config/stormy16/clzhi2.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_CLZHI2
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/cmpsi2.c b/libgcc/config/stormy16/cmpsi2.c
new file mode 100644
index 00000000000..fe32fda95cb
--- /dev/null
+++ b/libgcc/config/stormy16/cmpsi2.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_CMPSI2
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/ctzhi2.c b/libgcc/config/stormy16/ctzhi2.c
new file mode 100644
index 00000000000..98ab76dcd69
--- /dev/null
+++ b/libgcc/config/stormy16/ctzhi2.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_CTZHI2
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/divsi3.c b/libgcc/config/stormy16/divsi3.c
new file mode 100644
index 00000000000..0fa75342f4a
--- /dev/null
+++ b/libgcc/config/stormy16/divsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_DIVSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/ffshi2.c b/libgcc/config/stormy16/ffshi2.c
new file mode 100644
index 00000000000..a36dec87eb9
--- /dev/null
+++ b/libgcc/config/stormy16/ffshi2.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_FFSHI2
+#include "lib2funcs.c"
diff --git a/gcc/config/stormy16/stormy16-lib2.c b/libgcc/config/stormy16/lib2funcs.c
index e3c16435471..e3c16435471 100644
--- a/gcc/config/stormy16/stormy16-lib2.c
+++ b/libgcc/config/stormy16/lib2funcs.c
diff --git a/libgcc/config/stormy16/lshrsi3.c b/libgcc/config/stormy16/lshrsi3.c
new file mode 100644
index 00000000000..13903d3d24a
--- /dev/null
+++ b/libgcc/config/stormy16/lshrsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_LSHRSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/modsi3.c b/libgcc/config/stormy16/modsi3.c
new file mode 100644
index 00000000000..c63e8906824
--- /dev/null
+++ b/libgcc/config/stormy16/modsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_MODSI3
+#include "lib2funcs.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-parityhi2.c b/libgcc/config/stormy16/parityhi2.c
index 1d128171a8b..4be7fbf3e14 100644
--- a/gcc/config/stormy16/stormy16-lib2-parityhi2.c
+++ b/libgcc/config/stormy16/parityhi2.c
@@ -1,2 +1,2 @@
#define XSTORMY16_PARITYHI2
-#include "stormy16-lib2.c"
+#include "lib2funcs.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-popcounthi2.c b/libgcc/config/stormy16/popcounthi2.c
index f07d66873e6..30bf0950d3d 100644
--- a/gcc/config/stormy16/stormy16-lib2-popcounthi2.c
+++ b/libgcc/config/stormy16/popcounthi2.c
@@ -1,2 +1,2 @@
#define XSTORMY16_POPCOUNTHI2
-#include "stormy16-lib2.c"
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/t-stormy16 b/libgcc/config/stormy16/t-stormy16
new file mode 100644
index 00000000000..8726a3dc4fc
--- /dev/null
+++ b/libgcc/config/stormy16/t-stormy16
@@ -0,0 +1,39 @@
+# -*- makefile -*-
+#
+# Copyright (C) 2001, 2004, 2010, 2011 Free Software Foundation, Inc.
+#
+# This file is part of GCC.
+#
+# GCC 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 3, or (at your option)
+# any later version.
+#
+# GCC 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 GCC; see the file COPYING3. If not see
+# <http://www.gnu.org/licenses/>.
+
+# SImode arithmetic and logical routines, HImode bit counting routines.
+LIB2ADD = \
+ $(srcdir)/config/stormy16/udivmodsi4.c \
+ $(srcdir)/config/stormy16/divsi3.c \
+ $(srcdir)/config/stormy16/modsi3.c \
+ $(srcdir)/config/stormy16/udivsi3.c \
+ $(srcdir)/config/stormy16/umodsi3.c \
+ $(srcdir)/config/stormy16/ashlsi3.c \
+ $(srcdir)/config/stormy16/ashrsi3.c \
+ $(srcdir)/config/stormy16/lshrsi3.c \
+ $(srcdir)/config/stormy16/popcounthi2.c \
+ $(srcdir)/config/stormy16/parityhi2.c \
+ $(srcdir)/config/stormy16/clzhi2.c \
+ $(srcdir)/config/stormy16/ctzhi2.c \
+ $(srcdir)/config/stormy16/ffshi2.c \
+ $(srcdir)/config/stormy16/cmpsi2.c \
+ $(srcdir)/config/stormy16/ucmpsi2.c
+
+HOST_LIBGCC2_CFLAGS = -O2
diff --git a/libgcc/config/stormy16/ucmpsi2.c b/libgcc/config/stormy16/ucmpsi2.c
new file mode 100644
index 00000000000..ee327b1da15
--- /dev/null
+++ b/libgcc/config/stormy16/ucmpsi2.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_UCMPSI2
+#include "lib2funcs.c"
diff --git a/gcc/config/stormy16/stormy16-lib2-udivmodsi4.c b/libgcc/config/stormy16/udivmodsi4.c
index d555e64c6d8..5fdd0f9189e 100644
--- a/gcc/config/stormy16/stormy16-lib2-udivmodsi4.c
+++ b/libgcc/config/stormy16/udivmodsi4.c
@@ -1,2 +1,2 @@
#define XSTORMY16_UDIVMODSI4
-#include "stormy16-lib2.c"
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/udivsi3.c b/libgcc/config/stormy16/udivsi3.c
new file mode 100644
index 00000000000..ad12bd86a58
--- /dev/null
+++ b/libgcc/config/stormy16/udivsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_UDIVSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/stormy16/umodsi3.c b/libgcc/config/stormy16/umodsi3.c
new file mode 100644
index 00000000000..eeec67f56c0
--- /dev/null
+++ b/libgcc/config/stormy16/umodsi3.c
@@ -0,0 +1,2 @@
+#define XSTORMY16_UMODSI3
+#include "lib2funcs.c"
diff --git a/libgcc/config/t-crtstuff-pic b/libgcc/config/t-crtstuff-pic
index 55e5fc1015e..4cda4c9bffb 100644
--- a/libgcc/config/t-crtstuff-pic
+++ b/libgcc/config/t-crtstuff-pic
@@ -1,2 +1,2 @@
# Compile crtbeginS.o and crtendS.o with pic.
-CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
+CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) $(PICFLAG)
diff --git a/libgcc/config/t-darwin b/libgcc/config/t-darwin
index 311b7e2679f..e32127e9d8a 100644
--- a/libgcc/config/t-darwin
+++ b/libgcc/config/t-darwin
@@ -3,6 +3,12 @@ crt3.o: $(srcdir)/config/darwin-crt3.c
$(crt_compile) \
-fno-tree-dominator-opts $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $<
+# -pipe because there's an assembler bug, 4077127, which causes
+# it to not properly process the first # directive, causing temporary
+# file names to appear in stabs, causing the bootstrap to fail. Using -pipe
+# works around this by not having any temporary file names.
+HOST_LIBGCC2_CFLAGS += -pipe
+
# Use unwind-dw2-fde-darwin
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/config/unwind-dw2-fde-darwin.c \
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/t-freebsd-thread b/libgcc/config/t-freebsd-thread
index 6e5c64f78cf..2948dc1a44c 100644
--- a/gcc/config/t-freebsd-thread
+++ b/libgcc/config/t-freebsd-thread
@@ -1,2 +1,2 @@
# This is currently needed to compile libgcc2 for threads support
-TARGET_LIBGCC2_CFLAGS += -pthread
+HOST_LIBGCC2_CFLAGS += -pthread
diff --git a/libgcc/config/t-libgcc-pic b/libgcc/config/t-libgcc-pic
new file mode 100644
index 00000000000..0eea16ebc39
--- /dev/null
+++ b/libgcc/config/t-libgcc-pic
@@ -0,0 +1,2 @@
+# Compile libgcc2.a with pic.
+HOST_LIBGCC2_CFLAGS += $(PICFLAG)
diff --git a/libgcc/config/t-libunwind b/libgcc/config/t-libunwind
index 135cbe1e82f..5244928da3c 100644
--- a/libgcc/config/t-libunwind
+++ b/libgcc/config/t-libunwind
@@ -1,5 +1,7 @@
# Use the system libunwind library.
+HOST_LIBGCC2_CFLAGS += -DUSE_GAS_SYMVER
+
LIB2ADDEH = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c \
$(srcdir)/unwind-compat.c $(srcdir)/unwind-dw2-fde-compat.c
LIB2ADDEHSTATIC = $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/gcc/config/t-openbsd-thread b/libgcc/config/t-openbsd-thread
index 5f4edf567c5..17d17edf936 100644
--- a/gcc/config/t-openbsd-thread
+++ b/libgcc/config/t-openbsd-thread
@@ -1,3 +1,3 @@
# This is currently needed to compile libgcc2 for threads support
-TARGET_LIBGCC2_CFLAGS=-pthread
+HOST_LIBGCC2_CFLAGS=-pthread
diff --git a/libgcc/config/t-sol2 b/libgcc/config/t-sol2
index ab34a753378..09bbdf646ec 100644
--- a/libgcc/config/t-sol2
+++ b/libgcc/config/t-sol2
@@ -31,5 +31,3 @@ crti.o: $(srcdir)/config/$(cpu_type)/sol2-ci.S
$(crt_compile) -c $<
crtn.o: $(srcdir)/config/$(cpu_type)/sol2-cn.S
$(crt_compile) -c $<
-
-HOST_LIBGCC2_CFLAGS = -fPIC
diff --git a/libgcc/config/t-vxworks b/libgcc/config/t-vxworks
new file mode 100644
index 00000000000..ab8f014dd5d
--- /dev/null
+++ b/libgcc/config/t-vxworks
@@ -0,0 +1,18 @@
+# FIXME: Need to specify the next two?
+# No special flags needed for libgcc.a
+HOST_LIBGCC2_CFLAGS =
+
+# Don't build libgcc.a with debug info
+LIBGCC2_DEBUG_CFLAGS =
+
+# Extra libgcc2 modules used by gthr-vxworks.h functions
+LIB2ADD = $(srcdir)/config/vxlib.c $(srcdir)/config/vxlib-tls.c
+
+# This ensures that the correct target headers are used; some
+# VxWorks system headers have names that collide with GCC's
+# internal (host) headers, e.g. regs.h.
+LIBGCC2_INCLUDES = -nostdinc -I \
+ `case "/$$(MULTIDIR)" in \
+ */mrtp*) echo $(WIND_USR)/h ;; \
+ *) echo $(WIND_BASE)/target/h ;; \
+ esac`
diff --git a/gcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c
index c4696768f0f..c4696768f0f 100644
--- a/gcc/config/vxlib-tls.c
+++ b/libgcc/config/vxlib-tls.c
diff --git a/gcc/config/vxlib.c b/libgcc/config/vxlib.c
index 0ff996cfced..0ff996cfced 100644
--- a/gcc/config/vxlib.c
+++ b/libgcc/config/vxlib.c
diff --git a/gcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S
index 65134e24ccf..65134e24ccf 100644
--- a/gcc/config/xtensa/lib2funcs.S
+++ b/libgcc/config/xtensa/lib2funcs.S
diff --git a/libgcc/config/xtensa/t-elf b/libgcc/config/xtensa/t-elf
index dffcbc8b9d2..59d51210b95 100644
--- a/libgcc/config/xtensa/t-elf
+++ b/libgcc/config/xtensa/t-elf
@@ -1,3 +1,5 @@
# Build CRT files and libgcc with the "longcalls" option
CRTSTUFF_T_CFLAGS += -mlongcalls
CRTSTUFF_T_CFLAGS_S += -mlongcalls
+
+HOST_LIBGCC2_CFLAGS += -mlongcalls
diff --git a/libgcc/config/xtensa/t-xtensa b/libgcc/config/xtensa/t-xtensa
index 5bcc0946243..27399e67fa0 100644
--- a/libgcc/config/xtensa/t-xtensa
+++ b/libgcc/config/xtensa/t-xtensa
@@ -10,5 +10,7 @@ LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3 _udivsi3 _umodsi3 \
_floatdidf _floatundidf \
_truncdfsf2 _extendsfdf2
+LIB2ADD = $(srcdir)/config/xtensa/lib2funcs.S
+
LIB2ADDEH = $(srcdir)/config/xtensa/unwind-dw2-xtensa.c \
$(srcdir)/unwind-dw2-fde.c $(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
diff --git a/libgcc/configure b/libgcc/configure
index 0506dcf8e40..192db62d0c2 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -627,6 +627,13 @@ build_subdir
build_libsubdir
target_noncanonical
host_noncanonical
+AWK
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+MAINT
+slibdir
+PICFLAG
host_os
host_vendor
host_cpu
@@ -635,12 +642,6 @@ build_os
build_vendor
build_cpu
build
-AWK
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-MAINT
-slibdir
enable_shared
libgcc_topdir
target_alias
@@ -2197,6 +2198,159 @@ fi
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+ as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+ ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+ as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+ as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test "x$host_alias" = x; then
+ ac_cv_host=$ac_cv_build
+else
+ ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+ as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+
+
+ # FIXME: Do we need something for CFLAGS below?
+
+case "${host}" in
+ # PIC is the default on some targets or must not be used.
+ *-*-darwin*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ PICFLAG=-fno-common
+ ;;
+ alpha*-dec-osf5*)
+ # PIC is the default.
+ ;;
+ hppa*64*-*-hpux*)
+ # PIC is the default for 64-bit PA HP-UX.
+ ;;
+ i3456786-*-cygwin* | i3456786-*-mingw* | x86_64-*-mingw*)
+ ;;
+ i3456786-*-interix3*)
+ # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+ # Instead, we relocate shared libraries at runtime.
+ ;;
+ i3456786-*-nto-qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+ PICFLAG='-fPIC -shared'
+ ;;
+ i3456786-pc-msdosdjgpp*)
+ # DJGPP does not support shared libraries at all.
+ ;;
+ ia64*-*-hpux*)
+ # On IA64 HP-UX, PIC is the default but the pic flag
+ # sets the default TLS model and affects inlining.
+ # FIXME: Still in gcc 4.7?
+ PICFLAG=-fPIC
+ ;;
+ mips-sgi-irix6*)
+ # PIC is the default.
+ ;;
+ rs6000-ibm-aix* | powerpc-ibm-aix*)
+ # All AIX code is PIC.
+ ;;
+
+ # Some targets support both -fPIC and -fpic, but prefer the latter.
+ # FIXME: Why?
+ i3456786-*-* | x86_64-*-*)
+ PICFLAG=-fpic
+ ;;
+ m68k-*-*)
+ PICFLAG=-fpic
+ ;;
+ s390*-*-*)
+ PICFLAG=-fpic
+ ;;
+ # FIXME: Override -fPIC default in libgcc only?
+ sh-*-linux* | sh2346lbe*-*-linux*)
+ PICFLAG=-fpic
+ ;;
+ # FIXME: Simplify to sh*-*-netbsd*?
+ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+ sh64-*-netbsd* | sh64l*-*-netbsd*)
+ PICFLAG=-fpic
+ ;;
+ sparc*-*-*)
+ # FIXME: This could be done everywhere -fpic and -fPIC differ.
+ case "${CFLAGS}" in
+ *-fpic*)
+ PICFLAG=-fpic
+ ;;
+ *)
+ PICFLAG=-fPIC
+ ;;
+ esac ;;
+ # Default to -fPIC unless specified otherwise.
+ *)
+ PICFLAG=-fPIC
+ ;;
+esac
+
+
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-version-specific-runtime-libs" >&5
$as_echo_n "checking for --enable-version-specific-runtime-libs... " >&6; }
# Check whether --enable-version-specific-runtime-libs was given.
@@ -2385,76 +2539,6 @@ case ${AWK} in
"") as_fn_error "can't build without awk, bailing out" "$LINENO" 5 ;;
esac
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if test "${ac_cv_build+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if test "${ac_cv_host+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
case ${build_alias} in
"") build_noncanonical=${build} ;;
diff --git a/libgcc/configure.ac b/libgcc/configure.ac
index b40e6d733d6..0aeede71275 100644
--- a/libgcc/configure.ac
+++ b/libgcc/configure.ac
@@ -6,6 +6,7 @@ sinclude(../config/acx.m4)
sinclude(../config/no-executables.m4)
sinclude(../config/lib-ld.m4)
sinclude(../config/override.m4)
+sinclude(../config/picflag.m4)
sinclude(../config/dfp.m4)
sinclude(../config/unwind_ipinfo.m4)
@@ -58,6 +59,9 @@ AC_ARG_ENABLE(shared,
], [enable_shared=yes])
AC_SUBST(enable_shared)
+GCC_PICFLAG
+AC_SUBST(PICFLAG)
+
AC_MSG_CHECKING([for --enable-version-specific-runtime-libs])
AC_ARG_ENABLE(version-specific-runtime-libs,
[ --enable-version-specific-runtime-libs Specify that runtime libraries should be installed in a compiler-specific directory ],
diff --git a/gcc/config/divmod.c b/libgcc/divmod.c
index c227b99ccd2..c227b99ccd2 100644
--- a/gcc/config/divmod.c
+++ b/libgcc/divmod.c
diff --git a/gcc/config/floatunsidf.c b/libgcc/floatunsidf.c
index ff28112502b..ff28112502b 100644
--- a/gcc/config/floatunsidf.c
+++ b/libgcc/floatunsidf.c
diff --git a/gcc/config/floatunsisf.c b/libgcc/floatunsisf.c
index 11d4aa78cbe..11d4aa78cbe 100644
--- a/gcc/config/floatunsisf.c
+++ b/libgcc/floatunsisf.c
diff --git a/gcc/config/floatunsitf.c b/libgcc/floatunsitf.c
index 955d67666c5..955d67666c5 100644
--- a/gcc/config/floatunsitf.c
+++ b/libgcc/floatunsitf.c
diff --git a/gcc/config/floatunsixf.c b/libgcc/floatunsixf.c
index 52511688dad..52511688dad 100644
--- a/gcc/config/floatunsixf.c
+++ b/libgcc/floatunsixf.c
diff --git a/gcc/gbl-ctors.h b/libgcc/gbl-ctors.h
index ac4faae1292..ac4faae1292 100644
--- a/gcc/gbl-ctors.h
+++ b/libgcc/gbl-ctors.h
diff --git a/gcc/libgcc2.c b/libgcc/libgcc2.c
index 57c40c5800f..57c40c5800f 100644
--- a/gcc/libgcc2.c
+++ b/libgcc/libgcc2.c
diff --git a/gcc/libgcc2.h b/libgcc/libgcc2.h
index 0c7d0e15623..0c7d0e15623 100644
--- a/gcc/libgcc2.h
+++ b/libgcc/libgcc2.h
diff --git a/gcc/longlong.h b/libgcc/longlong.h
index 30cc2e337f3..30cc2e337f3 100644
--- a/gcc/longlong.h
+++ b/libgcc/longlong.h
diff --git a/gcc/config/memcmp.c b/libgcc/memcmp.c
index 2348afe1d27..2348afe1d27 100644
--- a/gcc/config/memcmp.c
+++ b/libgcc/memcmp.c
diff --git a/gcc/config/memcpy.c b/libgcc/memcpy.c
index 58b1e405627..58b1e405627 100644
--- a/gcc/config/memcpy.c
+++ b/libgcc/memcpy.c
diff --git a/gcc/config/memmove.c b/libgcc/memmove.c
index 13b340af6a0..13b340af6a0 100644
--- a/gcc/config/memmove.c
+++ b/libgcc/memmove.c
diff --git a/gcc/config/memset.c b/libgcc/memset.c
index 3e7025ee394..3e7025ee394 100644
--- a/gcc/config/memset.c
+++ b/libgcc/memset.c
diff --git a/libgcc/siditi-object.mk b/libgcc/siditi-object.mk
index 69df8338f52..77699cb79ec 100644
--- a/libgcc/siditi-object.mk
+++ b/libgcc/siditi-object.mk
@@ -11,12 +11,12 @@ iter-labels := $(wordlist 2,$(words $(iter-labels)),$(iter-labels))
$o-size := $(firstword $(iter-sizes))
iter-sizes := $(wordlist 2,$(words $(iter-sizes)),$(iter-sizes))
-$o$(objext): %$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_compile) -DL$($*-label) -c $(gcc_srcdir)/libgcc2.c $(vis_hide) \
+$o$(objext): %$(objext): $(srcdir)/libgcc2.c
+ $(gcc_compile) -DL$($*-label) -c $< $(vis_hide) \
-DLIBGCC2_UNITS_PER_WORD=$($*-size)
ifeq ($(enable_shared),yes)
-$(o)_s$(objext): %_s$(objext): $(gcc_srcdir)/libgcc2.c
- $(gcc_s_compile) -DL$($*-label) -c $(gcc_srcdir)/libgcc2.c \
+$(o)_s$(objext): %_s$(objext): $(srcdir)/libgcc2.c
+ $(gcc_s_compile) -DL$($*-label) -c $< \
-DLIBGCC2_UNITS_PER_WORD=$($*-size)
endif
diff --git a/gcc/config/udivmod.c b/libgcc/udivmod.c
index dc70de64fc7..dc70de64fc7 100644
--- a/gcc/config/udivmod.c
+++ b/libgcc/udivmod.c
diff --git a/gcc/config/udivmodsi4.c b/libgcc/udivmodsi4.c
index 39c030fa4df..39c030fa4df 100644
--- a/gcc/config/udivmodsi4.c
+++ b/libgcc/udivmodsi4.c
diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog
index fd24f5f400d..97c15b573bf 100644
--- a/libquadmath/ChangeLog
+++ b/libquadmath/ChangeLog
@@ -1,3 +1,7 @@
+2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * printf/gmp-impl.h: Adapt path to longlong.h.
+
2011-09-21 Joseph Myers <joseph@codesourcery.com>
* Makefile.am (FLAGS_TO_PASS): Define.
diff --git a/libquadmath/printf/gmp-impl.h b/libquadmath/printf/gmp-impl.h
index ca49e196613..0f1419277de 100644
--- a/libquadmath/printf/gmp-impl.h
+++ b/libquadmath/printf/gmp-impl.h
@@ -1,6 +1,6 @@
/* Include file for internal GNU MP types and definitions.
-Copyright (C) 1991, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+Copyright (C) 1991, 1993, 1994, 1995, 1996, 2011 Free Software Foundation, Inc.
This file is part of the GNU MP Library.
@@ -60,7 +60,7 @@ typedef unsigned int UHWtype;
#define attribute_hidden
#endif
-#include "../../gcc/longlong.h"
+#include "../../libgcc/longlong.h"
/* Copy NLIMBS *limbs* from SRC to DST. */
#define MPN_COPY_INCR(DST, SRC, NLIMBS) \