From f9989b51a9bc3b0ad31bb5ad2c805ca03427801e Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 2 Nov 2011 15:23:48 +0000 Subject: [PATCH] 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. From-SVN: r180774 --- ChangeLog | 6 + Makefile.in | 7 +- Makefile.tpl | 7 +- config/ChangeLog | 4 + config/mh-interix | 5 - gcc/ChangeLog | 329 ++++++++++++++++++ gcc/Makefile.in | 74 +--- gcc/config.gcc | 52 +-- gcc/config/alpha/t-alpha | 2 - gcc/config/alpha/t-ieee | 2 - gcc/config/alpha/t-vms | 4 - gcc/config/arm/t-arm-elf | 8 - gcc/config/arm/t-bpabi | 24 -- gcc/config/arm/t-linux | 28 -- gcc/config/arm/t-linux-eabi | 6 - gcc/config/arm/t-netbsd | 24 -- gcc/config/arm/t-strongarm-elf | 8 - gcc/config/arm/t-symbian | 2 - gcc/config/arm/t-wince-pe | 4 - gcc/config/avr/t-avr | 11 - gcc/config/bfin/t-bfin-elf | 2 - gcc/config/bfin/t-bfin-linux | 2 - gcc/config/bfin/t-bfin-uclinux | 2 - gcc/config/c6x/t-c6x-elf | 15 - gcc/config/c6x/t-c6x-uclinux | 2 - gcc/config/cris/cris.h | 6 +- gcc/config/cris/cris_abi_symbol.c | 45 --- gcc/config/cris/t-cris | 12 - gcc/config/cris/t-elfmulti | 3 - gcc/config/cris/t-linux | 2 - gcc/config/fr30/t-fr30 | 34 -- gcc/config/frv/t-frv | 35 -- gcc/config/frv/t-linux | 2 - gcc/config/h8300/t-h8300 | 13 - gcc/config/i386/t-cygming | 5 - gcc/config/i386/t-cygwin | 24 -- gcc/config/i386/t-darwin | 3 - gcc/config/i386/t-darwin64 | 6 - gcc/config/i386/t-linux64 | 3 - gcc/config/i386/t-mingw-w32 | 3 - gcc/config/i386/t-mingw-w64 | 3 - gcc/config/i386/t-nto | 1 - gcc/config/i386/t-openbsd | 2 - gcc/config/ia64/t-hpux | 10 - gcc/config/ia64/t-ia64 | 7 - gcc/config/iq2000/t-iq2000 | 33 -- gcc/config/m32c/t-m32c | 2 - gcc/config/m32r/t-linux | 5 - gcc/config/m32r/t-m32r | 8 - gcc/config/m68k/t-floatlib | 25 -- gcc/config/m68k/t-mlibs | 3 - gcc/config/mcore/t-mcore | 10 +- gcc/config/mep/t-mep | 6 - gcc/config/mips/t-elf | 7 - gcc/config/mips/t-isa3264 | 7 - gcc/config/mips/t-mips | 2 - gcc/config/mips/t-r3900 | 7 - gcc/config/mips/t-sde | 4 - gcc/config/mips/t-sr71k | 8 - gcc/config/mips/t-vr | 11 - gcc/config/mmix/t-mmix | 4 - gcc/config/mn10300/t-mn10300 | 3 - gcc/config/pa/t-dce-thr | 3 - gcc/config/pa/t-linux | 27 -- gcc/config/pa/t-linux64 | 22 -- gcc/config/pa/t-pa-hpux | 7 - gcc/config/pa/t-pa-hpux10 | 2 - gcc/config/pa/t-pa-hpux11 | 2 - gcc/config/pa/t-pa64 | 21 -- gcc/config/pdp11/t-pdp11 | 5 - gcc/config/picochip/t-picochip | 31 -- gcc/config/rs6000/t-aix43 | 3 - gcc/config/rs6000/t-aix52 | 3 - gcc/config/rs6000/t-darwin | 39 --- gcc/config/rs6000/t-darwin64 | 9 - gcc/config/rs6000/t-fprules | 5 +- gcc/config/rs6000/t-linux64 | 2 - gcc/config/rs6000/t-lynx | 8 - gcc/config/rs6000/t-netbsd | 48 --- gcc/config/rs6000/t-ppccomm | 11 - gcc/config/rs6000/t-spe | 3 - gcc/config/rs6000/t-vxworks | 7 +- gcc/config/rx/t-rx | 3 - gcc/config/sh/t-linux | 2 - gcc/config/sh/t-netbsd | 21 -- gcc/config/sh/t-sh | 5 - gcc/config/sparc/t-elf | 3 - gcc/config/sparc/t-leon | 3 - gcc/config/sparc/t-leon3 | 3 - gcc/config/sparc/t-linux64 | 3 - gcc/config/sparc/t-netbsd64 | 5 +- gcc/config/spu/t-spu-elf | 27 -- gcc/config/stormy16/stormy16-lib2-ashlsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-ashrsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-clzhi2.c | 2 - gcc/config/stormy16/stormy16-lib2-cmpsi2.c | 2 - gcc/config/stormy16/stormy16-lib2-ctzhi2.c | 2 - gcc/config/stormy16/stormy16-lib2-divsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-ffshi2.c | 2 - gcc/config/stormy16/stormy16-lib2-lshrsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-modsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-ucmpsi2.c | 2 - gcc/config/stormy16/stormy16-lib2-udivsi3.c | 2 - gcc/config/stormy16/stormy16-lib2-umodsi3.c | 2 - gcc/config/stormy16/t-stormy16 | 39 --- gcc/config/t-darwin | 6 - gcc/config/t-freebsd | 2 - gcc/config/t-libgcc-pic | 2 - gcc/config/t-libunwind | 1 - gcc/config/t-linux | 21 -- gcc/config/t-lynx | 6 - gcc/config/t-rtems | 5 - gcc/config/t-sol2 | 3 - gcc/config/t-svr4 | 7 - gcc/config/t-vxworks | 22 -- gcc/config/v850/t-v850 | 1 - gcc/config/xtensa/t-elf | 1 - gcc/config/xtensa/t-xtensa | 2 - gcc/po/ChangeLog | 5 + gcc/po/EXCLUDES | 5 - libgcc/ChangeLog | 249 +++++++++++++ libgcc/Makefile.in | 62 +++- libgcc/config.host | 103 +++--- {gcc => libgcc/config/alpha}/gthr-posix.c | 5 +- .../qrnnd.asm => libgcc/config/alpha/qrnnd.S | 0 libgcc/config/alpha/t-alpha | 2 +- libgcc/config/alpha/t-osf-pthread | 2 +- libgcc/config/alpha/t-vms | 2 + .../config/alpha/vms-gcc_shell_handler.c | 0 {gcc => libgcc}/config/arm/bpabi.c | 0 {gcc => libgcc}/config/arm/fp16.c | 0 .../config/arm/linux-atomic-64bit.c | 0 {gcc => libgcc}/config/arm/linux-atomic.c | 0 libgcc/config/arm/t-bpabi | 6 + libgcc/config/arm/t-elf | 5 + libgcc/config/arm/t-linux | 4 + libgcc/config/arm/t-linux-eabi | 3 + libgcc/config/arm/t-netbsd | 7 + libgcc/config/arm/t-strongarm-elf | 5 + libgcc/config/arm/t-symbian | 3 + {gcc => libgcc}/config/arm/unaligned-funcs.c | 0 libgcc/config/avr/t-avr | 8 + libgcc/config/bfin/t-crtstuff | 2 +- libgcc/config/bfin/t-elf | 1 + {gcc => libgcc}/config/c6x/eqd.c | 0 {gcc => libgcc}/config/c6x/eqf.c | 0 {gcc => libgcc}/config/c6x/ged.c | 0 {gcc => libgcc}/config/c6x/gef.c | 0 {gcc => libgcc}/config/c6x/gtd.c | 0 {gcc => libgcc}/config/c6x/gtf.c | 0 {gcc => libgcc}/config/c6x/led.c | 0 {gcc => libgcc}/config/c6x/lef.c | 0 {gcc => libgcc}/config/c6x/ltd.c | 0 {gcc => libgcc}/config/c6x/ltf.c | 0 libgcc/config/c6x/t-elf | 16 + libgcc/config/c6x/t-uclinux | 4 +- {gcc => libgcc}/config/cris/arit.c | 0 .../mulsi3.asm => libgcc/config/cris/mulsi3.S | 0 libgcc/config/cris/t-cris | 10 + libgcc/config/cris/t-elfmulti | 2 + libgcc/config/cris/t-linux | 2 - {gcc => libgcc}/config/darwin-64.c | 0 libgcc/config/darwin-crt3.c | 6 +- {gcc => libgcc}/config/frv/cmovd.c | 0 {gcc => libgcc}/config/frv/cmovh.c | 0 {gcc => libgcc}/config/frv/cmovw.c | 0 {gcc => libgcc}/config/frv/modi.c | 0 libgcc/config/frv/t-frv | 10 + libgcc/config/frv/t-linux | 2 +- {gcc => libgcc}/config/frv/uitod.c | 0 {gcc => libgcc}/config/frv/uitof.c | 0 {gcc => libgcc}/config/frv/ulltod.c | 0 {gcc => libgcc}/config/frv/ulltof.c | 0 {gcc => libgcc}/config/frv/umodi.c | 0 {gcc => libgcc}/config/h8300/clzhi2.c | 0 {gcc => libgcc}/config/h8300/ctzhi2.c | 0 {gcc => libgcc}/config/h8300/fixunssfsi.c | 0 {gcc => libgcc}/config/h8300/parityhi2.c | 0 {gcc => libgcc}/config/h8300/popcounthi2.c | 0 libgcc/config/h8300/t-h8300 | 10 + {gcc => libgcc}/config/i386/gthr-win32.c | 0 libgcc/config/i386/t-cygming | 5 + libgcc/config/i386/t-cygwin | 6 + libgcc/config/i386/t-darwin | 3 + libgcc/config/i386/t-darwin64 | 2 + {gcc => libgcc}/config/i386/t-gthr-win32 | 2 +- libgcc/config/i386/t-interix | 3 + libgcc/config/i386/t-nto | 4 +- libgcc/config/i386/t-sol2 | 2 +- {gcc => libgcc}/config/ia64/quadlib.c | 0 libgcc/config/ia64/t-hpux | 3 + libgcc/config/ia64/t-ia64 | 7 + .../config/iq2000/lib2funcs.c | 0 libgcc/config/iq2000/t-iq2000 | 5 + libgcc/config/lm32/t-uclinux | 4 +- .../config/m32c/lib2funcs.c | 0 libgcc/config/m32c/t-m32c | 4 + .../config/m32c/trapv.c | 6 +- libgcc/config/m32r/t-linux | 4 + libgcc/config/m32r/t-m32r | 4 + {gcc => libgcc}/config/m68k/fpgnulib.c | 2 +- libgcc/config/m68k/t-floatlib | 6 + libgcc/config/mcore/t-mcore | 3 + .../config/mep/lib2funcs.c | 0 libgcc/config/mep/t-mep | 5 + .../mep-tramp.c => libgcc/config/mep/tramp.c | 0 .../microblaze/{divsi3.asm => divsi3.S} | 4 +- .../microblaze/{moddi3.asm => moddi3.S} | 4 +- .../microblaze/{modsi3.asm => modsi3.S} | 4 +- .../{muldi3_hard.asm => muldi3_hard.S} | 4 +- .../microblaze/{mulsi3.asm => mulsi3.S} | 4 +- ...verflow_exit.asm => stack_overflow_exit.S} | 4 +- libgcc/config/microblaze/t-microblaze | 16 +- .../microblaze/{udivsi3.asm => udivsi3.S} | 4 +- .../microblaze/{umodsi3.asm => umodsi3.S} | 4 +- libgcc/config/mips/t-elf | 3 + libgcc/config/mips/t-mips | 2 + libgcc/config/mips/t-vr | 2 + {gcc => libgcc}/config/mips/vr4120-div.S | 0 libgcc/config/mmix/t-mmix | 2 + {gcc => libgcc}/config/pa/fptr.c | 0 .../config/pa/lib2funcs.S | 0 {gcc => libgcc}/config/pa/linux-atomic.c | 0 {gcc => libgcc}/config/pa/quadlib.c | 0 libgcc/config/pa/t-hpux | 3 + libgcc/config/pa/t-hpux10 | 1 + libgcc/config/pa/t-linux | 6 +- libgcc/config/pa/t-linux64 | 4 + libgcc/config/pa/t-pa64 | 3 + libgcc/config/pdp11/t-pdp11 | 8 + .../config/picochip/adddi3.S | 0 .../config/picochip/ashlsi3.S | 0 .../config/picochip}/ashlsi3.c | 0 .../config/picochip/ashrsi3.S | 0 .../config/picochip}/ashrsi3.c | 0 .../config/picochip/clzsi2.S | 4 +- .../config/picochip/cmpsi2.S | 0 .../config/picochip/divmod15.S | 0 .../config/picochip/divmodhi4.S | 0 .../config/picochip/divmodsi4.S | 0 .../config/picochip/longjmp.S | 0 .../config/picochip/lshrsi3.S | 0 .../config/picochip}/lshrsi3.c | 0 .../config/picochip/parityhi2.S | 0 .../config/picochip/popcounthi2.S | 0 .../config/picochip/setjmp.S | 0 .../config/picochip/subdi3.S | 0 libgcc/config/picochip/t-picochip | 30 ++ .../config/picochip/ucmpsi2.S | 0 .../config/picochip/udivmodhi4.S | 0 .../config/picochip/udivmodsi4.S | 0 .../config/rs6000/crtresfpr.S | 0 .../config/rs6000/crtresgpr.S | 0 .../config/rs6000/crtresxfpr.S | 0 .../config/rs6000/crtresxgpr.S | 0 .../config/rs6000/crtsavfpr.S | 0 .../config/rs6000/crtsavgpr.S | 0 {gcc => libgcc}/config/rs6000/darwin-asm.h | 0 .../config/rs6000/darwin-fpsave.S | 0 .../config/rs6000/darwin-gpsave.S | 0 .../config/rs6000/darwin-tramp.S | 0 .../config/rs6000/darwin-vecsave.S | 0 .../config/rs6000/darwin-world.S | 0 .../config/rs6000/e500crtres32gpr.S | 0 .../config/rs6000/e500crtres64gpr.S | 0 .../config/rs6000/e500crtres64gprctr.S | 0 .../config/rs6000/e500crtrest32gpr.S | 0 .../config/rs6000/e500crtrest64gpr.S | 0 .../config/rs6000/e500crtresx32gpr.S | 0 .../config/rs6000/e500crtresx64gpr.S | 0 .../config/rs6000/e500crtsav32gpr.S | 0 .../config/rs6000/e500crtsav64gpr.S | 0 .../config/rs6000/e500crtsav64gprctr.S | 0 .../config/rs6000/e500crtsavg32gpr.S | 0 .../config/rs6000/e500crtsavg64gpr.S | 0 .../config/rs6000/e500crtsavg64gprctr.S | 0 .../eabi.asm => libgcc/config/rs6000/eabi.S | 0 libgcc/config/rs6000/t-darwin | 17 +- libgcc/config/rs6000/t-darwin64 | 6 + libgcc/config/rs6000/t-linux64 | 2 + libgcc/config/rs6000/t-lynx | 1 + libgcc/config/rs6000/t-netbsd | 9 + libgcc/config/rs6000/t-ppccomm | 100 ++---- .../tramp.asm => libgcc/config/rs6000/tramp.S | 0 libgcc/config/s390/t-tpf | 2 - .../config/sh/linux-atomic.S | 0 libgcc/config/sh/t-linux | 4 +- libgcc/config/sh/t-netbsd | 4 + libgcc/config/sh/t-sh | 5 +- libgcc/config/sparc/t-sol2 | 2 +- {gcc => libgcc}/config/spu/divmodti4.c | 4 +- {gcc => libgcc}/config/spu/divv2df3.c | 0 {gcc => libgcc}/config/spu/float_disf.c | 0 {gcc => libgcc}/config/spu/float_unsdidf.c | 0 {gcc => libgcc}/config/spu/float_unsdisf.c | 0 {gcc => libgcc}/config/spu/float_unssidf.c | 0 .../config/spu/mfc_multi_tag_release.c | 0 .../config/spu/mfc_multi_tag_reserve.c | 0 {gcc => libgcc}/config/spu/mfc_tag_release.c | 0 {gcc => libgcc}/config/spu/mfc_tag_reserve.c | 0 {gcc => libgcc}/config/spu/mfc_tag_table.c | 0 {gcc => libgcc}/config/spu/multi3.c | 0 libgcc/config/spu/t-elf | 24 ++ libgcc/config/stormy16/ashlsi3.c | 2 + libgcc/config/stormy16/ashrsi3.c | 2 + libgcc/config/stormy16/clzhi2.c | 2 + libgcc/config/stormy16/cmpsi2.c | 2 + libgcc/config/stormy16/ctzhi2.c | 2 + libgcc/config/stormy16/divsi3.c | 2 + libgcc/config/stormy16/ffshi2.c | 2 + .../config/stormy16/lib2funcs.c | 0 libgcc/config/stormy16/lshrsi3.c | 2 + libgcc/config/stormy16/modsi3.c | 2 + .../config/stormy16/parityhi2.c | 2 +- .../config/stormy16/popcounthi2.c | 2 +- libgcc/config/stormy16/t-stormy16 | 39 +++ libgcc/config/stormy16/ucmpsi2.c | 2 + .../config/stormy16/udivmodsi4.c | 2 +- libgcc/config/stormy16/udivsi3.c | 2 + libgcc/config/stormy16/umodsi3.c | 2 + libgcc/config/t-crtstuff-pic | 2 +- libgcc/config/t-darwin | 6 + {gcc => libgcc}/config/t-freebsd-thread | 2 +- libgcc/config/t-libgcc-pic | 2 + libgcc/config/t-libunwind | 2 + {gcc => libgcc}/config/t-openbsd-thread | 2 +- libgcc/config/t-sol2 | 2 - libgcc/config/t-vxworks | 18 + {gcc => libgcc}/config/vxlib-tls.c | 0 {gcc => libgcc}/config/vxlib.c | 0 {gcc => libgcc}/config/xtensa/lib2funcs.S | 0 libgcc/config/xtensa/t-elf | 2 + libgcc/config/xtensa/t-xtensa | 2 + libgcc/configure | 236 +++++++++---- libgcc/configure.ac | 4 + {gcc/config => libgcc}/divmod.c | 0 {gcc/config => libgcc}/floatunsidf.c | 0 {gcc/config => libgcc}/floatunsisf.c | 0 {gcc/config => libgcc}/floatunsitf.c | 0 {gcc/config => libgcc}/floatunsixf.c | 0 {gcc => libgcc}/gbl-ctors.h | 0 {gcc => libgcc}/libgcc2.c | 0 {gcc => libgcc}/libgcc2.h | 0 {gcc => libgcc}/longlong.h | 0 {gcc/config => libgcc}/memcmp.c | 0 {gcc/config => libgcc}/memcpy.c | 0 {gcc/config => libgcc}/memmove.c | 0 {gcc/config => libgcc}/memset.c | 0 libgcc/siditi-object.mk | 8 +- {gcc/config => libgcc}/udivmod.c | 0 {gcc/config => libgcc}/udivmodsi4.c | 0 libquadmath/ChangeLog | 4 + libquadmath/printf/gmp-impl.h | 4 +- 353 files changed, 1362 insertions(+), 1389 deletions(-) delete mode 100644 gcc/config/alpha/t-alpha delete mode 100644 gcc/config/alpha/t-ieee delete mode 100644 gcc/config/arm/t-bpabi delete mode 100644 gcc/config/arm/t-linux delete mode 100644 gcc/config/arm/t-netbsd delete mode 100644 gcc/config/cris/cris_abi_symbol.c delete mode 100644 gcc/config/fr30/t-fr30 delete mode 100644 gcc/config/i386/t-cygwin delete mode 100644 gcc/config/i386/t-nto delete mode 100644 gcc/config/iq2000/t-iq2000 delete mode 100644 gcc/config/m68k/t-floatlib delete mode 100644 gcc/config/pa/t-linux delete mode 100644 gcc/config/pa/t-linux64 delete mode 100644 gcc/config/pa/t-pa-hpux delete mode 100644 gcc/config/pa/t-pa-hpux10 delete mode 100644 gcc/config/pa/t-pa-hpux11 delete mode 100644 gcc/config/pa/t-pa64 delete mode 100644 gcc/config/rs6000/t-darwin delete mode 100644 gcc/config/sh/t-netbsd delete mode 100644 gcc/config/stormy16/stormy16-lib2-ashlsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-ashrsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-clzhi2.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-cmpsi2.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-ctzhi2.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-divsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-ffshi2.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-lshrsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-modsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-ucmpsi2.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-udivsi3.c delete mode 100644 gcc/config/stormy16/stormy16-lib2-umodsi3.c delete mode 100644 gcc/config/stormy16/t-stormy16 delete mode 100644 gcc/config/t-freebsd delete mode 100644 gcc/config/t-libgcc-pic delete mode 100644 gcc/config/t-linux delete mode 100644 gcc/config/t-svr4 delete mode 100644 gcc/config/xtensa/t-elf rename {gcc => libgcc/config/alpha}/gthr-posix.c (97%) rename gcc/config/alpha/qrnnd.asm => libgcc/config/alpha/qrnnd.S (100%) rename {gcc => libgcc}/config/alpha/vms-gcc_shell_handler.c (100%) rename {gcc => libgcc}/config/arm/bpabi.c (100%) rename {gcc => libgcc}/config/arm/fp16.c (100%) rename {gcc => libgcc}/config/arm/linux-atomic-64bit.c (100%) rename {gcc => libgcc}/config/arm/linux-atomic.c (100%) create mode 100644 libgcc/config/arm/t-netbsd rename {gcc => libgcc}/config/arm/unaligned-funcs.c (100%) create mode 100644 libgcc/config/bfin/t-elf rename {gcc => libgcc}/config/c6x/eqd.c (100%) rename {gcc => libgcc}/config/c6x/eqf.c (100%) rename {gcc => libgcc}/config/c6x/ged.c (100%) rename {gcc => libgcc}/config/c6x/gef.c (100%) rename {gcc => libgcc}/config/c6x/gtd.c (100%) rename {gcc => libgcc}/config/c6x/gtf.c (100%) rename {gcc => libgcc}/config/c6x/led.c (100%) rename {gcc => libgcc}/config/c6x/lef.c (100%) rename {gcc => libgcc}/config/c6x/ltd.c (100%) rename {gcc => libgcc}/config/c6x/ltf.c (100%) rename {gcc => libgcc}/config/cris/arit.c (100%) rename gcc/config/cris/mulsi3.asm => libgcc/config/cris/mulsi3.S (100%) create mode 100644 libgcc/config/cris/t-cris rename {gcc => libgcc}/config/darwin-64.c (100%) rename {gcc => libgcc}/config/frv/cmovd.c (100%) rename {gcc => libgcc}/config/frv/cmovh.c (100%) rename {gcc => libgcc}/config/frv/cmovw.c (100%) rename {gcc => libgcc}/config/frv/modi.c (100%) rename {gcc => libgcc}/config/frv/uitod.c (100%) rename {gcc => libgcc}/config/frv/uitof.c (100%) rename {gcc => libgcc}/config/frv/ulltod.c (100%) rename {gcc => libgcc}/config/frv/ulltof.c (100%) rename {gcc => libgcc}/config/frv/umodi.c (100%) rename {gcc => libgcc}/config/h8300/clzhi2.c (100%) rename {gcc => libgcc}/config/h8300/ctzhi2.c (100%) rename {gcc => libgcc}/config/h8300/fixunssfsi.c (100%) rename {gcc => libgcc}/config/h8300/parityhi2.c (100%) rename {gcc => libgcc}/config/h8300/popcounthi2.c (100%) rename {gcc => libgcc}/config/i386/gthr-win32.c (100%) create mode 100644 libgcc/config/i386/t-darwin create mode 100644 libgcc/config/i386/t-darwin64 rename {gcc => libgcc}/config/i386/t-gthr-win32 (53%) create mode 100644 libgcc/config/i386/t-interix rename {gcc => libgcc}/config/ia64/quadlib.c (100%) rename gcc/config/iq2000/lib2extra-funcs.c => libgcc/config/iq2000/lib2funcs.c (100%) create mode 100644 libgcc/config/iq2000/t-iq2000 rename gcc/config/m32c/m32c-lib2.c => libgcc/config/m32c/lib2funcs.c (100%) rename gcc/config/m32c/m32c-lib2-trapv.c => libgcc/config/m32c/trapv.c (90%) rename {gcc => libgcc}/config/m68k/fpgnulib.c (99%) rename gcc/config/mep/mep-lib2.c => libgcc/config/mep/lib2funcs.c (100%) rename gcc/config/mep/mep-tramp.c => libgcc/config/mep/tramp.c (100%) rename libgcc/config/microblaze/{divsi3.asm => divsi3.S} (97%) rename libgcc/config/microblaze/{moddi3.asm => moddi3.S} (97%) rename libgcc/config/microblaze/{modsi3.asm => modsi3.S} (97%) rename libgcc/config/microblaze/{muldi3_hard.asm => muldi3_hard.S} (97%) rename libgcc/config/microblaze/{mulsi3.asm => mulsi3.S} (96%) rename libgcc/config/microblaze/{stack_overflow_exit.asm => stack_overflow_exit.S} (95%) rename libgcc/config/microblaze/{udivsi3.asm => udivsi3.S} (97%) rename libgcc/config/microblaze/{umodsi3.asm => umodsi3.S} (97%) create mode 100644 libgcc/config/mips/t-elf create mode 100644 libgcc/config/mips/t-vr rename {gcc => libgcc}/config/mips/vr4120-div.S (100%) rename {gcc => libgcc}/config/pa/fptr.c (100%) rename gcc/config/pa/lib2funcs.asm => libgcc/config/pa/lib2funcs.S (100%) rename {gcc => libgcc}/config/pa/linux-atomic.c (100%) rename {gcc => libgcc}/config/pa/quadlib.c (100%) create mode 100644 libgcc/config/pa/t-hpux create mode 100644 libgcc/config/pa/t-hpux10 create mode 100644 libgcc/config/pa/t-pa64 create mode 100644 libgcc/config/pdp11/t-pdp11 rename gcc/config/picochip/libgccExtras/adddi3.asm => libgcc/config/picochip/adddi3.S (100%) rename gcc/config/picochip/libgccExtras/ashlsi3.asm => libgcc/config/picochip/ashlsi3.S (100%) rename {gcc/config/picochip/libgccExtras => libgcc/config/picochip}/ashlsi3.c (100%) rename gcc/config/picochip/libgccExtras/ashrsi3.asm => libgcc/config/picochip/ashrsi3.S (100%) rename {gcc/config/picochip/libgccExtras => libgcc/config/picochip}/ashrsi3.c (100%) rename gcc/config/picochip/libgccExtras/clzsi2.asm => libgcc/config/picochip/clzsi2.S (98%) rename gcc/config/picochip/libgccExtras/cmpsi2.asm => libgcc/config/picochip/cmpsi2.S (100%) rename gcc/config/picochip/libgccExtras/divmod15.asm => libgcc/config/picochip/divmod15.S (100%) rename gcc/config/picochip/libgccExtras/divmodhi4.asm => libgcc/config/picochip/divmodhi4.S (100%) rename gcc/config/picochip/libgccExtras/divmodsi4.asm => libgcc/config/picochip/divmodsi4.S (100%) rename gcc/config/picochip/libgccExtras/longjmp.asm => libgcc/config/picochip/longjmp.S (100%) rename gcc/config/picochip/libgccExtras/lshrsi3.asm => libgcc/config/picochip/lshrsi3.S (100%) rename {gcc/config/picochip/libgccExtras => libgcc/config/picochip}/lshrsi3.c (100%) rename gcc/config/picochip/libgccExtras/parityhi2.asm => libgcc/config/picochip/parityhi2.S (100%) rename gcc/config/picochip/libgccExtras/popcounthi2.asm => libgcc/config/picochip/popcounthi2.S (100%) rename gcc/config/picochip/libgccExtras/setjmp.asm => libgcc/config/picochip/setjmp.S (100%) rename gcc/config/picochip/libgccExtras/subdi3.asm => libgcc/config/picochip/subdi3.S (100%) rename gcc/config/picochip/libgccExtras/ucmpsi2.asm => libgcc/config/picochip/ucmpsi2.S (100%) rename gcc/config/picochip/libgccExtras/udivmodhi4.asm => libgcc/config/picochip/udivmodhi4.S (100%) rename gcc/config/picochip/libgccExtras/udivmodsi4.asm => libgcc/config/picochip/udivmodsi4.S (100%) rename gcc/config/rs6000/crtresfpr.asm => libgcc/config/rs6000/crtresfpr.S (100%) rename gcc/config/rs6000/crtresgpr.asm => libgcc/config/rs6000/crtresgpr.S (100%) rename gcc/config/rs6000/crtresxfpr.asm => libgcc/config/rs6000/crtresxfpr.S (100%) rename gcc/config/rs6000/crtresxgpr.asm => libgcc/config/rs6000/crtresxgpr.S (100%) rename gcc/config/rs6000/crtsavfpr.asm => libgcc/config/rs6000/crtsavfpr.S (100%) rename gcc/config/rs6000/crtsavgpr.asm => libgcc/config/rs6000/crtsavgpr.S (100%) rename {gcc => libgcc}/config/rs6000/darwin-asm.h (100%) rename gcc/config/rs6000/darwin-fpsave.asm => libgcc/config/rs6000/darwin-fpsave.S (100%) rename gcc/config/rs6000/darwin-gpsave.asm => libgcc/config/rs6000/darwin-gpsave.S (100%) rename gcc/config/rs6000/darwin-tramp.asm => libgcc/config/rs6000/darwin-tramp.S (100%) rename gcc/config/rs6000/darwin-vecsave.asm => libgcc/config/rs6000/darwin-vecsave.S (100%) rename gcc/config/rs6000/darwin-world.asm => libgcc/config/rs6000/darwin-world.S (100%) rename gcc/config/rs6000/e500crtres32gpr.asm => libgcc/config/rs6000/e500crtres32gpr.S (100%) rename gcc/config/rs6000/e500crtres64gpr.asm => libgcc/config/rs6000/e500crtres64gpr.S (100%) rename gcc/config/rs6000/e500crtres64gprctr.asm => libgcc/config/rs6000/e500crtres64gprctr.S (100%) rename gcc/config/rs6000/e500crtrest32gpr.asm => libgcc/config/rs6000/e500crtrest32gpr.S (100%) rename gcc/config/rs6000/e500crtrest64gpr.asm => libgcc/config/rs6000/e500crtrest64gpr.S (100%) rename gcc/config/rs6000/e500crtresx32gpr.asm => libgcc/config/rs6000/e500crtresx32gpr.S (100%) rename gcc/config/rs6000/e500crtresx64gpr.asm => libgcc/config/rs6000/e500crtresx64gpr.S (100%) rename gcc/config/rs6000/e500crtsav32gpr.asm => libgcc/config/rs6000/e500crtsav32gpr.S (100%) rename gcc/config/rs6000/e500crtsav64gpr.asm => libgcc/config/rs6000/e500crtsav64gpr.S (100%) rename gcc/config/rs6000/e500crtsav64gprctr.asm => libgcc/config/rs6000/e500crtsav64gprctr.S (100%) rename gcc/config/rs6000/e500crtsavg32gpr.asm => libgcc/config/rs6000/e500crtsavg32gpr.S (100%) rename gcc/config/rs6000/e500crtsavg64gpr.asm => libgcc/config/rs6000/e500crtsavg64gpr.S (100%) rename gcc/config/rs6000/e500crtsavg64gprctr.asm => libgcc/config/rs6000/e500crtsavg64gprctr.S (100%) rename gcc/config/rs6000/eabi.asm => libgcc/config/rs6000/eabi.S (100%) create mode 100644 libgcc/config/rs6000/t-darwin64 create mode 100644 libgcc/config/rs6000/t-lynx create mode 100644 libgcc/config/rs6000/t-netbsd rename gcc/config/rs6000/tramp.asm => libgcc/config/rs6000/tramp.S (100%) delete mode 100644 libgcc/config/s390/t-tpf rename gcc/config/sh/linux-atomic.asm => libgcc/config/sh/linux-atomic.S (100%) rename {gcc => libgcc}/config/spu/divmodti4.c (97%) rename {gcc => libgcc}/config/spu/divv2df3.c (100%) rename {gcc => libgcc}/config/spu/float_disf.c (100%) rename {gcc => libgcc}/config/spu/float_unsdidf.c (100%) rename {gcc => libgcc}/config/spu/float_unsdisf.c (100%) rename {gcc => libgcc}/config/spu/float_unssidf.c (100%) rename {gcc => libgcc}/config/spu/mfc_multi_tag_release.c (100%) rename {gcc => libgcc}/config/spu/mfc_multi_tag_reserve.c (100%) rename {gcc => libgcc}/config/spu/mfc_tag_release.c (100%) rename {gcc => libgcc}/config/spu/mfc_tag_reserve.c (100%) rename {gcc => libgcc}/config/spu/mfc_tag_table.c (100%) rename {gcc => libgcc}/config/spu/multi3.c (100%) create mode 100644 libgcc/config/stormy16/ashlsi3.c create mode 100644 libgcc/config/stormy16/ashrsi3.c create mode 100644 libgcc/config/stormy16/clzhi2.c create mode 100644 libgcc/config/stormy16/cmpsi2.c create mode 100644 libgcc/config/stormy16/ctzhi2.c create mode 100644 libgcc/config/stormy16/divsi3.c create mode 100644 libgcc/config/stormy16/ffshi2.c rename gcc/config/stormy16/stormy16-lib2.c => libgcc/config/stormy16/lib2funcs.c (100%) create mode 100644 libgcc/config/stormy16/lshrsi3.c create mode 100644 libgcc/config/stormy16/modsi3.c rename gcc/config/stormy16/stormy16-lib2-parityhi2.c => libgcc/config/stormy16/parityhi2.c (50%) rename gcc/config/stormy16/stormy16-lib2-popcounthi2.c => libgcc/config/stormy16/popcounthi2.c (52%) create mode 100644 libgcc/config/stormy16/t-stormy16 create mode 100644 libgcc/config/stormy16/ucmpsi2.c rename gcc/config/stormy16/stormy16-lib2-udivmodsi4.c => libgcc/config/stormy16/udivmodsi4.c (51%) create mode 100644 libgcc/config/stormy16/udivsi3.c create mode 100644 libgcc/config/stormy16/umodsi3.c rename {gcc => libgcc}/config/t-freebsd-thread (66%) create mode 100644 libgcc/config/t-libgcc-pic rename {gcc => libgcc}/config/t-openbsd-thread (68%) create mode 100644 libgcc/config/t-vxworks rename {gcc => libgcc}/config/vxlib-tls.c (100%) rename {gcc => libgcc}/config/vxlib.c (100%) rename {gcc => libgcc}/config/xtensa/lib2funcs.S (100%) rename {gcc/config => libgcc}/divmod.c (100%) rename {gcc/config => libgcc}/floatunsidf.c (100%) rename {gcc/config => libgcc}/floatunsisf.c (100%) rename {gcc/config => libgcc}/floatunsitf.c (100%) rename {gcc/config => libgcc}/floatunsixf.c (100%) rename {gcc => libgcc}/gbl-ctors.h (100%) rename {gcc => libgcc}/libgcc2.c (100%) rename {gcc => libgcc}/libgcc2.h (100%) rename {gcc => libgcc}/longlong.h (100%) rename {gcc/config => libgcc}/memcmp.c (100%) rename {gcc/config => libgcc}/memcpy.c (100%) rename {gcc/config => libgcc}/memmove.c (100%) rename {gcc/config => libgcc}/memset.c (100%) rename {gcc/config => libgcc}/udivmod.c (100%) rename {gcc/config => libgcc}/udivmodsi4.c (100%) diff --git a/ChangeLog b/ChangeLog index 65fd171913e..49ba74f4f0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-11-02 Rainer Orth + + * Makefile.tpl (EXTRA_GCC_FLAGS): Remove LIBGCC2_CFLAGS, + LIBGCC2_DEBUG_CFLAGS, LIBGCC2_INCLUDES. + * Makefile.in: Regenerate. + 2011-11-01 DJ Delorie * 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 + + * mh-interix (LIBGCC2_DEBUG_CFLAGS): Remove. + 2011-08-22 Rainer Orth * 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,3 +1,332 @@ +2011-11-02 Rainer Orth + + * 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 * Makefile.in (LIB1ASMSRC): Don't export. 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 # . -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 -# . - -# 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 -# . - -# 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 # . -# 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 -# . - -# 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 @@ # . 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 # . -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 , 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 -. */ - -#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 # . -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 -# . - -# 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 # . -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 # . -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 -# . - -# 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 # . -# ??? 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 -# . - -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 # . -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 # . -# 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 # . -# 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 -# . - -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 # . -# 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 # . -# 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 # . -# 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 # . -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 # . -# 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 # . -# 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 # . -# 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 # . -# 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 -# . - -# 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 -# . - -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 -# . - -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 # . -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 # . -# 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 -# . - -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 # . -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 # . -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 # . -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 # . -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 # . -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 -# . - -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 # . -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 -# . - -# 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 -# . - -# 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 # . -# 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 # . -# 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 # . -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,3 +1,8 @@ +2011-11-02 Rainer Orth + + * EXCLUDES (config/vxlib.c, gbl-ctors.h, libgcc2.c, libgcc2.h) + (longlong.h): Remove. + 2011-11-02 Rainer Orth * EXCLUDES (crtstuff.c): Remove. 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,3 +1,252 @@ +2011-11-02 Rainer Orth + + * 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 * Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): 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 similarity index 97% rename from gcc/gthr-posix.c rename to 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 similarity index 100% rename from gcc/config/alpha/qrnnd.asm rename to 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 similarity index 100% rename from gcc/config/alpha/vms-gcc_shell_handler.c rename to libgcc/config/alpha/vms-gcc_shell_handler.c diff --git a/gcc/config/arm/bpabi.c b/libgcc/config/arm/bpabi.c similarity index 100% rename from gcc/config/arm/bpabi.c rename to libgcc/config/arm/bpabi.c diff --git a/gcc/config/arm/fp16.c b/libgcc/config/arm/fp16.c similarity index 100% rename from gcc/config/arm/fp16.c rename to libgcc/config/arm/fp16.c diff --git a/gcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c similarity index 100% rename from gcc/config/arm/linux-atomic-64bit.c rename to libgcc/config/arm/linux-atomic-64bit.c diff --git a/gcc/config/arm/linux-atomic.c b/libgcc/config/arm/linux-atomic.c similarity index 100% rename from gcc/config/arm/linux-atomic.c rename to 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 similarity index 100% rename from gcc/config/arm/unaligned-funcs.c rename to 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 similarity index 100% rename from gcc/config/c6x/eqd.c rename to libgcc/config/c6x/eqd.c diff --git a/gcc/config/c6x/eqf.c b/libgcc/config/c6x/eqf.c similarity index 100% rename from gcc/config/c6x/eqf.c rename to libgcc/config/c6x/eqf.c diff --git a/gcc/config/c6x/ged.c b/libgcc/config/c6x/ged.c similarity index 100% rename from gcc/config/c6x/ged.c rename to libgcc/config/c6x/ged.c diff --git a/gcc/config/c6x/gef.c b/libgcc/config/c6x/gef.c similarity index 100% rename from gcc/config/c6x/gef.c rename to libgcc/config/c6x/gef.c diff --git a/gcc/config/c6x/gtd.c b/libgcc/config/c6x/gtd.c similarity index 100% rename from gcc/config/c6x/gtd.c rename to libgcc/config/c6x/gtd.c diff --git a/gcc/config/c6x/gtf.c b/libgcc/config/c6x/gtf.c similarity index 100% rename from gcc/config/c6x/gtf.c rename to libgcc/config/c6x/gtf.c diff --git a/gcc/config/c6x/led.c b/libgcc/config/c6x/led.c similarity index 100% rename from gcc/config/c6x/led.c rename to libgcc/config/c6x/led.c diff --git a/gcc/config/c6x/lef.c b/libgcc/config/c6x/lef.c similarity index 100% rename from gcc/config/c6x/lef.c rename to libgcc/config/c6x/lef.c diff --git a/gcc/config/c6x/ltd.c b/libgcc/config/c6x/ltd.c similarity index 100% rename from gcc/config/c6x/ltd.c rename to libgcc/config/c6x/ltd.c diff --git a/gcc/config/c6x/ltf.c b/libgcc/config/c6x/ltf.c similarity index 100% rename from gcc/config/c6x/ltf.c rename to 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 similarity index 100% rename from gcc/config/cris/arit.c rename to libgcc/config/cris/arit.c diff --git a/gcc/config/cris/mulsi3.asm b/libgcc/config/cris/mulsi3.S similarity index 100% rename from gcc/config/cris/mulsi3.asm rename to 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 similarity index 100% rename from gcc/config/darwin-64.c rename to 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 similarity index 100% rename from gcc/config/frv/cmovd.c rename to libgcc/config/frv/cmovd.c diff --git a/gcc/config/frv/cmovh.c b/libgcc/config/frv/cmovh.c similarity index 100% rename from gcc/config/frv/cmovh.c rename to libgcc/config/frv/cmovh.c diff --git a/gcc/config/frv/cmovw.c b/libgcc/config/frv/cmovw.c similarity index 100% rename from gcc/config/frv/cmovw.c rename to libgcc/config/frv/cmovw.c diff --git a/gcc/config/frv/modi.c b/libgcc/config/frv/modi.c similarity index 100% rename from gcc/config/frv/modi.c rename to 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 similarity index 100% rename from gcc/config/frv/uitod.c rename to libgcc/config/frv/uitod.c diff --git a/gcc/config/frv/uitof.c b/libgcc/config/frv/uitof.c similarity index 100% rename from gcc/config/frv/uitof.c rename to libgcc/config/frv/uitof.c diff --git a/gcc/config/frv/ulltod.c b/libgcc/config/frv/ulltod.c similarity index 100% rename from gcc/config/frv/ulltod.c rename to libgcc/config/frv/ulltod.c diff --git a/gcc/config/frv/ulltof.c b/libgcc/config/frv/ulltof.c similarity index 100% rename from gcc/config/frv/ulltof.c rename to libgcc/config/frv/ulltof.c diff --git a/gcc/config/frv/umodi.c b/libgcc/config/frv/umodi.c similarity index 100% rename from gcc/config/frv/umodi.c rename to libgcc/config/frv/umodi.c diff --git a/gcc/config/h8300/clzhi2.c b/libgcc/config/h8300/clzhi2.c similarity index 100% rename from gcc/config/h8300/clzhi2.c rename to libgcc/config/h8300/clzhi2.c diff --git a/gcc/config/h8300/ctzhi2.c b/libgcc/config/h8300/ctzhi2.c similarity index 100% rename from gcc/config/h8300/ctzhi2.c rename to libgcc/config/h8300/ctzhi2.c diff --git a/gcc/config/h8300/fixunssfsi.c b/libgcc/config/h8300/fixunssfsi.c similarity index 100% rename from gcc/config/h8300/fixunssfsi.c rename to libgcc/config/h8300/fixunssfsi.c diff --git a/gcc/config/h8300/parityhi2.c b/libgcc/config/h8300/parityhi2.c similarity index 100% rename from gcc/config/h8300/parityhi2.c rename to libgcc/config/h8300/parityhi2.c diff --git a/gcc/config/h8300/popcounthi2.c b/libgcc/config/h8300/popcounthi2.c similarity index 100% rename from gcc/config/h8300/popcounthi2.c rename to 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 similarity index 100% rename from gcc/config/i386/gthr-win32.c rename to 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 similarity index 53% rename from gcc/config/i386/t-gthr-win32 rename to 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 similarity index 100% rename from gcc/config/ia64/quadlib.c rename to 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 similarity index 100% rename from gcc/config/iq2000/lib2extra-funcs.c rename to 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 similarity index 100% rename from gcc/config/m32c/m32c-lib2.c rename to 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 similarity index 90% rename from gcc/config/m32c/m32c-lib2-trapv.c rename to 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 similarity index 99% rename from gcc/config/m68k/fpgnulib.c rename to 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 similarity index 100% rename from gcc/config/mep/mep-lib2.c rename to 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 similarity index 100% rename from gcc/config/mep/mep-tramp.c rename to libgcc/config/mep/tramp.c diff --git a/libgcc/config/microblaze/divsi3.asm b/libgcc/config/microblaze/divsi3.S similarity index 97% rename from libgcc/config/microblaze/divsi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 97% rename from libgcc/config/microblaze/moddi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# modsi3.asm +# modsi3.S # # modulo operation for 64 bit integers. # diff --git a/libgcc/config/microblaze/modsi3.asm b/libgcc/config/microblaze/modsi3.S similarity index 97% rename from libgcc/config/microblaze/modsi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 97% rename from libgcc/config/microblaze/muldi3_hard.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 96% rename from libgcc/config/microblaze/mulsi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 95% rename from libgcc/config/microblaze/stack_overflow_exit.asm rename to 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 . @@ -24,7 +24,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 97% rename from libgcc/config/microblaze/udivsi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 97% rename from libgcc/config/microblaze/umodsi3.asm rename to 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 . # @@ -23,7 +23,7 @@ # see the files COPYING3 and COPYING.RUNTIME respectively. If not, see # . # -# 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 similarity index 100% rename from gcc/config/mips/vr4120-div.S rename to 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 similarity index 100% rename from gcc/config/pa/fptr.c rename to libgcc/config/pa/fptr.c diff --git a/gcc/config/pa/lib2funcs.asm b/libgcc/config/pa/lib2funcs.S similarity index 100% rename from gcc/config/pa/lib2funcs.asm rename to libgcc/config/pa/lib2funcs.S diff --git a/gcc/config/pa/linux-atomic.c b/libgcc/config/pa/linux-atomic.c similarity index 100% rename from gcc/config/pa/linux-atomic.c rename to libgcc/config/pa/linux-atomic.c diff --git a/gcc/config/pa/quadlib.c b/libgcc/config/pa/quadlib.c similarity index 100% rename from gcc/config/pa/quadlib.c rename to 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 similarity index 100% rename from gcc/config/picochip/libgccExtras/adddi3.asm rename to libgcc/config/picochip/adddi3.S diff --git a/gcc/config/picochip/libgccExtras/ashlsi3.asm b/libgcc/config/picochip/ashlsi3.S similarity index 100% rename from gcc/config/picochip/libgccExtras/ashlsi3.asm rename to libgcc/config/picochip/ashlsi3.S diff --git a/gcc/config/picochip/libgccExtras/ashlsi3.c b/libgcc/config/picochip/ashlsi3.c similarity index 100% rename from gcc/config/picochip/libgccExtras/ashlsi3.c rename to libgcc/config/picochip/ashlsi3.c diff --git a/gcc/config/picochip/libgccExtras/ashrsi3.asm b/libgcc/config/picochip/ashrsi3.S similarity index 100% rename from gcc/config/picochip/libgccExtras/ashrsi3.asm rename to libgcc/config/picochip/ashrsi3.S diff --git a/gcc/config/picochip/libgccExtras/ashrsi3.c b/libgcc/config/picochip/ashrsi3.c similarity index 100% rename from gcc/config/picochip/libgccExtras/ashrsi3.c rename to libgcc/config/picochip/ashrsi3.c diff --git a/gcc/config/picochip/libgccExtras/clzsi2.asm b/libgcc/config/picochip/clzsi2.S similarity index 98% rename from gcc/config/picochip/libgccExtras/clzsi2.asm rename to 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 @@ // . // 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 similarity index 100% rename from gcc/config/picochip/libgccExtras/cmpsi2.asm rename to libgcc/config/picochip/cmpsi2.S diff --git a/gcc/config/picochip/libgccExtras/divmod15.asm b/libgcc/config/picochip/divmod15.S similarity index 100% rename from gcc/config/picochip/libgccExtras/divmod15.asm rename to libgcc/config/picochip/divmod15.S diff --git a/gcc/config/picochip/libgccExtras/divmodhi4.asm b/libgcc/config/picochip/divmodhi4.S similarity index 100% rename from gcc/config/picochip/libgccExtras/divmodhi4.asm rename to libgcc/config/picochip/divmodhi4.S diff --git a/gcc/config/picochip/libgccExtras/divmodsi4.asm b/libgcc/config/picochip/divmodsi4.S similarity index 100% rename from gcc/config/picochip/libgccExtras/divmodsi4.asm rename to libgcc/config/picochip/divmodsi4.S diff --git a/gcc/config/picochip/libgccExtras/longjmp.asm b/libgcc/config/picochip/longjmp.S similarity index 100% rename from gcc/config/picochip/libgccExtras/longjmp.asm rename to libgcc/config/picochip/longjmp.S diff --git a/gcc/config/picochip/libgccExtras/lshrsi3.asm b/libgcc/config/picochip/lshrsi3.S similarity index 100% rename from gcc/config/picochip/libgccExtras/lshrsi3.asm rename to libgcc/config/picochip/lshrsi3.S diff --git a/gcc/config/picochip/libgccExtras/lshrsi3.c b/libgcc/config/picochip/lshrsi3.c similarity index 100% rename from gcc/config/picochip/libgccExtras/lshrsi3.c rename to libgcc/config/picochip/lshrsi3.c diff --git a/gcc/config/picochip/libgccExtras/parityhi2.asm b/libgcc/config/picochip/parityhi2.S similarity index 100% rename from gcc/config/picochip/libgccExtras/parityhi2.asm rename to libgcc/config/picochip/parityhi2.S diff --git a/gcc/config/picochip/libgccExtras/popcounthi2.asm b/libgcc/config/picochip/popcounthi2.S similarity index 100% rename from gcc/config/picochip/libgccExtras/popcounthi2.asm rename to libgcc/config/picochip/popcounthi2.S diff --git a/gcc/config/picochip/libgccExtras/setjmp.asm b/libgcc/config/picochip/setjmp.S similarity index 100% rename from gcc/config/picochip/libgccExtras/setjmp.asm rename to libgcc/config/picochip/setjmp.S diff --git a/gcc/config/picochip/libgccExtras/subdi3.asm b/libgcc/config/picochip/subdi3.S similarity index 100% rename from gcc/config/picochip/libgccExtras/subdi3.asm rename to 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 similarity index 100% rename from gcc/config/picochip/libgccExtras/ucmpsi2.asm rename to libgcc/config/picochip/ucmpsi2.S diff --git a/gcc/config/picochip/libgccExtras/udivmodhi4.asm b/libgcc/config/picochip/udivmodhi4.S similarity index 100% rename from gcc/config/picochip/libgccExtras/udivmodhi4.asm rename to libgcc/config/picochip/udivmodhi4.S diff --git a/gcc/config/picochip/libgccExtras/udivmodsi4.asm b/libgcc/config/picochip/udivmodsi4.S similarity index 100% rename from gcc/config/picochip/libgccExtras/udivmodsi4.asm rename to libgcc/config/picochip/udivmodsi4.S diff --git a/gcc/config/rs6000/crtresfpr.asm b/libgcc/config/rs6000/crtresfpr.S similarity index 100% rename from gcc/config/rs6000/crtresfpr.asm rename to libgcc/config/rs6000/crtresfpr.S diff --git a/gcc/config/rs6000/crtresgpr.asm b/libgcc/config/rs6000/crtresgpr.S similarity index 100% rename from gcc/config/rs6000/crtresgpr.asm rename to libgcc/config/rs6000/crtresgpr.S diff --git a/gcc/config/rs6000/crtresxfpr.asm b/libgcc/config/rs6000/crtresxfpr.S similarity index 100% rename from gcc/config/rs6000/crtresxfpr.asm rename to libgcc/config/rs6000/crtresxfpr.S diff --git a/gcc/config/rs6000/crtresxgpr.asm b/libgcc/config/rs6000/crtresxgpr.S similarity index 100% rename from gcc/config/rs6000/crtresxgpr.asm rename to libgcc/config/rs6000/crtresxgpr.S diff --git a/gcc/config/rs6000/crtsavfpr.asm b/libgcc/config/rs6000/crtsavfpr.S similarity index 100% rename from gcc/config/rs6000/crtsavfpr.asm rename to libgcc/config/rs6000/crtsavfpr.S diff --git a/gcc/config/rs6000/crtsavgpr.asm b/libgcc/config/rs6000/crtsavgpr.S similarity index 100% rename from gcc/config/rs6000/crtsavgpr.asm rename to libgcc/config/rs6000/crtsavgpr.S diff --git a/gcc/config/rs6000/darwin-asm.h b/libgcc/config/rs6000/darwin-asm.h similarity index 100% rename from gcc/config/rs6000/darwin-asm.h rename to libgcc/config/rs6000/darwin-asm.h diff --git a/gcc/config/rs6000/darwin-fpsave.asm b/libgcc/config/rs6000/darwin-fpsave.S similarity index 100% rename from gcc/config/rs6000/darwin-fpsave.asm rename to libgcc/config/rs6000/darwin-fpsave.S diff --git a/gcc/config/rs6000/darwin-gpsave.asm b/libgcc/config/rs6000/darwin-gpsave.S similarity index 100% rename from gcc/config/rs6000/darwin-gpsave.asm rename to libgcc/config/rs6000/darwin-gpsave.S diff --git a/gcc/config/rs6000/darwin-tramp.asm b/libgcc/config/rs6000/darwin-tramp.S similarity index 100% rename from gcc/config/rs6000/darwin-tramp.asm rename to libgcc/config/rs6000/darwin-tramp.S diff --git a/gcc/config/rs6000/darwin-vecsave.asm b/libgcc/config/rs6000/darwin-vecsave.S similarity index 100% rename from gcc/config/rs6000/darwin-vecsave.asm rename to libgcc/config/rs6000/darwin-vecsave.S diff --git a/gcc/config/rs6000/darwin-world.asm b/libgcc/config/rs6000/darwin-world.S similarity index 100% rename from gcc/config/rs6000/darwin-world.asm rename to libgcc/config/rs6000/darwin-world.S diff --git a/gcc/config/rs6000/e500crtres32gpr.asm b/libgcc/config/rs6000/e500crtres32gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtres32gpr.asm rename to libgcc/config/rs6000/e500crtres32gpr.S diff --git a/gcc/config/rs6000/e500crtres64gpr.asm b/libgcc/config/rs6000/e500crtres64gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtres64gpr.asm rename to libgcc/config/rs6000/e500crtres64gpr.S diff --git a/gcc/config/rs6000/e500crtres64gprctr.asm b/libgcc/config/rs6000/e500crtres64gprctr.S similarity index 100% rename from gcc/config/rs6000/e500crtres64gprctr.asm rename to libgcc/config/rs6000/e500crtres64gprctr.S diff --git a/gcc/config/rs6000/e500crtrest32gpr.asm b/libgcc/config/rs6000/e500crtrest32gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtrest32gpr.asm rename to libgcc/config/rs6000/e500crtrest32gpr.S diff --git a/gcc/config/rs6000/e500crtrest64gpr.asm b/libgcc/config/rs6000/e500crtrest64gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtrest64gpr.asm rename to libgcc/config/rs6000/e500crtrest64gpr.S diff --git a/gcc/config/rs6000/e500crtresx32gpr.asm b/libgcc/config/rs6000/e500crtresx32gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtresx32gpr.asm rename to libgcc/config/rs6000/e500crtresx32gpr.S diff --git a/gcc/config/rs6000/e500crtresx64gpr.asm b/libgcc/config/rs6000/e500crtresx64gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtresx64gpr.asm rename to libgcc/config/rs6000/e500crtresx64gpr.S diff --git a/gcc/config/rs6000/e500crtsav32gpr.asm b/libgcc/config/rs6000/e500crtsav32gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtsav32gpr.asm rename to libgcc/config/rs6000/e500crtsav32gpr.S diff --git a/gcc/config/rs6000/e500crtsav64gpr.asm b/libgcc/config/rs6000/e500crtsav64gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtsav64gpr.asm rename to libgcc/config/rs6000/e500crtsav64gpr.S diff --git a/gcc/config/rs6000/e500crtsav64gprctr.asm b/libgcc/config/rs6000/e500crtsav64gprctr.S similarity index 100% rename from gcc/config/rs6000/e500crtsav64gprctr.asm rename to libgcc/config/rs6000/e500crtsav64gprctr.S diff --git a/gcc/config/rs6000/e500crtsavg32gpr.asm b/libgcc/config/rs6000/e500crtsavg32gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtsavg32gpr.asm rename to libgcc/config/rs6000/e500crtsavg32gpr.S diff --git a/gcc/config/rs6000/e500crtsavg64gpr.asm b/libgcc/config/rs6000/e500crtsavg64gpr.S similarity index 100% rename from gcc/config/rs6000/e500crtsavg64gpr.asm rename to libgcc/config/rs6000/e500crtsavg64gpr.S diff --git a/gcc/config/rs6000/e500crtsavg64gprctr.asm b/libgcc/config/rs6000/e500crtsavg64gprctr.S similarity index 100% rename from gcc/config/rs6000/e500crtsavg64gprctr.asm rename to libgcc/config/rs6000/e500crtsavg64gprctr.S diff --git a/gcc/config/rs6000/eabi.asm b/libgcc/config/rs6000/eabi.S similarity index 100% rename from gcc/config/rs6000/eabi.asm rename to 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 similarity index 100% rename from gcc/config/rs6000/tramp.asm rename to 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 similarity index 100% rename from gcc/config/sh/linux-atomic.asm rename to 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 similarity index 97% rename from gcc/config/spu/divmodti4.c rename to 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 similarity index 100% rename from gcc/config/spu/divv2df3.c rename to libgcc/config/spu/divv2df3.c diff --git a/gcc/config/spu/float_disf.c b/libgcc/config/spu/float_disf.c similarity index 100% rename from gcc/config/spu/float_disf.c rename to libgcc/config/spu/float_disf.c diff --git a/gcc/config/spu/float_unsdidf.c b/libgcc/config/spu/float_unsdidf.c similarity index 100% rename from gcc/config/spu/float_unsdidf.c rename to libgcc/config/spu/float_unsdidf.c diff --git a/gcc/config/spu/float_unsdisf.c b/libgcc/config/spu/float_unsdisf.c similarity index 100% rename from gcc/config/spu/float_unsdisf.c rename to libgcc/config/spu/float_unsdisf.c diff --git a/gcc/config/spu/float_unssidf.c b/libgcc/config/spu/float_unssidf.c similarity index 100% rename from gcc/config/spu/float_unssidf.c rename to 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 similarity index 100% rename from gcc/config/spu/mfc_multi_tag_release.c rename to 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 similarity index 100% rename from gcc/config/spu/mfc_multi_tag_reserve.c rename to 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 similarity index 100% rename from gcc/config/spu/mfc_tag_release.c rename to 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 similarity index 100% rename from gcc/config/spu/mfc_tag_reserve.c rename to 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 similarity index 100% rename from gcc/config/spu/mfc_tag_table.c rename to libgcc/config/spu/mfc_tag_table.c diff --git a/gcc/config/spu/multi3.c b/libgcc/config/spu/multi3.c similarity index 100% rename from gcc/config/spu/multi3.c rename to 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 similarity index 100% rename from gcc/config/stormy16/stormy16-lib2.c rename to 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 similarity index 50% rename from gcc/config/stormy16/stormy16-lib2-parityhi2.c rename to 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 similarity index 52% rename from gcc/config/stormy16/stormy16-lib2-popcounthi2.c rename to 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 +# . + +# 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 similarity index 51% rename from gcc/config/stormy16/stormy16-lib2-udivmodsi4.c rename to 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 similarity index 66% rename from gcc/config/t-freebsd-thread rename to 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 similarity index 68% rename from gcc/config/t-openbsd-thread rename to 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 similarity index 100% rename from gcc/config/vxlib-tls.c rename to libgcc/config/vxlib-tls.c diff --git a/gcc/config/vxlib.c b/libgcc/config/vxlib.c similarity index 100% rename from gcc/config/vxlib.c rename to libgcc/config/vxlib.c diff --git a/gcc/config/xtensa/lib2funcs.S b/libgcc/config/xtensa/lib2funcs.S similarity index 100% rename from gcc/config/xtensa/lib2funcs.S rename to 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 similarity index 100% rename from gcc/config/divmod.c rename to libgcc/divmod.c diff --git a/gcc/config/floatunsidf.c b/libgcc/floatunsidf.c similarity index 100% rename from gcc/config/floatunsidf.c rename to libgcc/floatunsidf.c diff --git a/gcc/config/floatunsisf.c b/libgcc/floatunsisf.c similarity index 100% rename from gcc/config/floatunsisf.c rename to libgcc/floatunsisf.c diff --git a/gcc/config/floatunsitf.c b/libgcc/floatunsitf.c similarity index 100% rename from gcc/config/floatunsitf.c rename to libgcc/floatunsitf.c diff --git a/gcc/config/floatunsixf.c b/libgcc/floatunsixf.c similarity index 100% rename from gcc/config/floatunsixf.c rename to libgcc/floatunsixf.c diff --git a/gcc/gbl-ctors.h b/libgcc/gbl-ctors.h similarity index 100% rename from gcc/gbl-ctors.h rename to libgcc/gbl-ctors.h diff --git a/gcc/libgcc2.c b/libgcc/libgcc2.c similarity index 100% rename from gcc/libgcc2.c rename to libgcc/libgcc2.c diff --git a/gcc/libgcc2.h b/libgcc/libgcc2.h similarity index 100% rename from gcc/libgcc2.h rename to libgcc/libgcc2.h diff --git a/gcc/longlong.h b/libgcc/longlong.h similarity index 100% rename from gcc/longlong.h rename to libgcc/longlong.h diff --git a/gcc/config/memcmp.c b/libgcc/memcmp.c similarity index 100% rename from gcc/config/memcmp.c rename to libgcc/memcmp.c diff --git a/gcc/config/memcpy.c b/libgcc/memcpy.c similarity index 100% rename from gcc/config/memcpy.c rename to libgcc/memcpy.c diff --git a/gcc/config/memmove.c b/libgcc/memmove.c similarity index 100% rename from gcc/config/memmove.c rename to libgcc/memmove.c diff --git a/gcc/config/memset.c b/libgcc/memset.c similarity index 100% rename from gcc/config/memset.c rename to 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 similarity index 100% rename from gcc/config/udivmod.c rename to libgcc/udivmod.c diff --git a/gcc/config/udivmodsi4.c b/libgcc/udivmodsi4.c similarity index 100% rename from gcc/config/udivmodsi4.c rename to 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 + + * printf/gmp-impl.h: Adapt path to longlong.h. + 2011-09-21 Joseph Myers * 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) \ -- 2.30.2