Skip to content
Snippets Groups Projects
  1. Nov 02, 2011
    • Rainer Orth's avatar
      Move libgcc2 to toplevel libgcc · f9989b51
      Rainer Orth authored
      	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
      f9989b51
  2. Jun 21, 2011
    • Bernd Schmidt's avatar
      Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2. · 3801c801
      Bernd Schmidt authored
      	libgcc/
      	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
      	* libgcc-std.ver.in (GCC_4.7.0): New section.
      
      	gcc/
      	* doc/extend.texi (__builtin_clrsb, __builtin_clrsbl,
      	__builtin_clrsbll): Document.
      	* doc/rtl.texi (clrsb): New entry.
      	* optabs.c (widen_leading): Renamed from widen_clz.  New argument
      	UNOPTAB.  All callers changed.  Use UNOPTAB instead of clz_optab.
      	(expand_unop): Handle clrsb_optab.
      	(init_optabs): Initialize it.
      	* optabs.h (enum optab_index): New entry OTI_clrsb.
      	(clrsb_optab): Define.
      	* genopinit.c (optabs): Add an entry for it.
      	* builtins.c (expand_builtin): Handle clrsb builtin functions.
      	* builtins.def (BUILT_IN_CLRSB, BUILT_IN_CLRSBIMAX, BUILT_IN_CLRSBL,
      	BUILT_IN_CLRSBLL): New.
      	* rtl.def (CLRSB): New code.
      	* dwarf2out.c (mem_loc_descriptor): Handle it.
      	* simplify-rtx.c (simplify_const_unary_operation): Likewise.
      	Use op_mode rather than mode when optimizing ffs, clz, ctz, parity
      	and popcount.
      	* libgcc2.c (__clrsbSI2, __clrsbDI2): New functions.
      	* libgcc2.h (__clrsbSI2, __clrsbDI2): Define and declare.
      	(__ctzDI2): Move declaration.
      	* config/bfin/bfin.md (clrsbsi2): New expander.
      	(signbitssi2): Use the CLRSB rtx.
      	(clrsbhi2): Renamed from signbitshi2.  Use the CLRSB rtx.
      	* config/bfin/bfin.c (bdesc_1arg): Changed accordingly.
      
      	gcc/testsuite/
      	* gcc.c-torture/excute/builtin-bitops-1.c (MAKE_FUNS): Make
      	my_clrsb test functions.
      	(main): Test clrsb.
      	* gcc.dg/builtin-protos-1.c (test_s, test_u, test_sl, test_ul,
      	test_sll, test_ull): Add clrsb tests.
      	* gcc.dg/torture/builtin-attr-1.c: Add tests for clrsb, clrsbl,
      	clrsbll.
      
      From-SVN: r175261
      3801c801
  3. May 25, 2011
    • Bernd Schmidt's avatar
      re PR bootstrap/49160 (Bootstrap failure) · 0c007eb2
      Bernd Schmidt authored
      	PR bootstrap/49160
      	* libgcc2.h (__powisf2, __powidf2, __powitf2, __powixf2,
      	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3,
      	__divxc3, __divtc3): Wrap definitions in #ifndef.
      
      From-SVN: r174216
      0c007eb2
    • Bernd Schmidt's avatar
      libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if LIBGCC2_GNU_PREFIX is defined. · cdbf4541
      Bernd Schmidt authored
      	gcc/
      	* libgcc2.h (__NW, __NDW): Define using a __gnu_ prefix if
      	LIBGCC2_GNU_PREFIX is defined.
      	(__N): New macro.
      	(__powisf2, __powidf2, __powitf2, __powixf2, __bswapsi2, __bswapdi2,
      	__mulsc3, __muldc3, __mulxc3, __multc3, __divsc3, __divdc3, __divxc3,
      	__divtc3, __udiv_w_sdiv, __clear_cache, __enable_execute_stack,
      	__clz_tab): Define using __N.
      	(__absvsi2, __negvsi2, __addvsi3, __subvsi3, __mulvsi3): Likewise if
      	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	* target.def (libfunc_gnu_prefix): New hook.
      	* doc/tm.texi.in (LIBGCC2_GNU_PREFIX): Document.
      	(TARGET_LIBFUNC_GNU_PREFIX): Add hook.
      	* doc/tm.texi: Regenerate.
      	* system.h (LIBGCC2_GNU_PREFIX): Poison.
      	* optabs.c (gen_libfunc): Take the libfunc_gnu_prefix hook into
      	account.
      	(gen_interclass_conv_libfunc, gen_intraclass_conv_libfunc): Likewise.
      	(init_optabs): Likewise for the bswap libfuncs.
      	* tree.c (build_common_builtin_nodes): Likewise for complex multiply
      	and divide.
      	* config/t-slibgcc-elf-ver (SHLIB_MAPFILES): Use $$(libgcc_objdir).
      	* config/t-slibgcc-sld (SHLIB_MAPFILES): Likewise.
      	* libgcc-std.ver: Remove.
      	* Makefile.in (srcdirify): Handle $$(libgcc_objdir).
      	* config/frv/t-linux (SHLIB_MAPFILES): Use $$(libgcc_objdir) for
      	libgcc-std.ver.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/mips/t-slibgcc-irix (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix43 (SHLIB_MAPFILES): Likewise.
      	* config/rs6000/t-aix52 (SHLIB_MAPFILES): Likewise.
      	* config/sparc/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/i386/t-linux (SHLIB_MAPFILES): Likewise.
      	* config/fixed-bit.h (FIXED_OP): Define differently depending on
      	LIBGCC2_GNU_PREFIX. All uses changed not to pass leading underscores.
      	(FIXED_CONVERT_OP, FIXED_CONVERT_OP2): Likewise.
      
      	libgcc/
      	* libgcc-std.ver.in: New file.
      	* Makefile.in (LIBGCC_VER_GNU_PREFIX, LIBGCC_VER_SYMBOLS_PREFIX): New
      	variables.
      	(libgcc-std.ver): New rule.
      	* config/t-gnu-prefix: New file.
      
      From-SVN: r174187
      cdbf4541
  4. Jan 03, 2011
  5. Oct 23, 2010
    • Nathan Froyd's avatar
      cppbuiltin.c (define_builtin_macros_for_type_sizes): Define __BYTE_ORDER__... · 18ed6ee4
      Nathan Froyd authored
      gcc/
      	* cppbuiltin.c (define_builtin_macros_for_type_sizes): Define
      	__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__, __ORDER_BIG_ENDIAN__, and
      	__ORDER_PDP_ENDIAN__.
      	* libgcc2.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct DWstruct): Define based on __BYTE_ORDER__.
      	* config/fixed-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(struct INTstruct): Define based on __BYTE_ORDER__.
      	* config/dfp-bit.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      	* system.h (LIBGCC2_WORDS_BIG_ENDIAN): Poison identifier.
      	* config/arc/arc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/arm/arm.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/ia64/ia64.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/iq2000/iq2000.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/lm32/lm32.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/m32r/m32r.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mcore/mcore.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mep/mep.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/mips/mips.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/rx/rx.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/score/score.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sh/sh.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/sparc/sparc.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi.in (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	* doc/tm.texi: Regenerate.
      	* doc/cpp.texi (__BYTE_ORDER__, __ORDER_LITTLE_ENDIAN__): Document.
      	(__ORDER_BIG_ENDIAN__, __ORDER_PDP_ENDIAN__): Likewise.
      
      libdecnumber/
      	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      libgcc/
      	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
      	Delete.
      	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.
      
      From-SVN: r165881
      18ed6ee4
  6. Oct 12, 2010
    • Nathan Froyd's avatar
      libgcc2.h: Use __SIZEOF_DOUBLE__ instead of LIBGCC2_DOUBLE_TYPE_SIZE. · a18bdccd
      Nathan Froyd authored
      	* libgcc2.h: Use __SIZEOF_DOUBLE__ instead of
      	LIBGCC2_DOUBLE_TYPE_SIZE.
      	(LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
      	* config/fixed-bit.h: Likewise.
      	* config/rx/rx.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
      	* config/sh/sh.h (LIBGCC2_DOUBLE_TYPE_SIZE): Delete.
      	* system.h (LIBGCC2_DOUBLE_TYPE_SIZE): Poison.
      	* doc/tm.texi.in (LIBGCC2_HAS_DF_MODE): Use DOUBLE_TYPE_SIZE.
      	(DF_SIZE): Likewise.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r165396
      a18bdccd
  7. Oct 09, 2010
  8. Apr 09, 2009
  9. Nov 05, 2007
  10. Jul 06, 2007
    • Andreas Krebbel's avatar
      libgcc2.h (word_type): Type definition removed. · c7ff6e7a
      Andreas Krebbel authored
      2007-07-06  Andreas Krebbel  <krebbel1@de.ibm.com>
      
      	* libgcc2.h (word_type): Type definition removed.
      	(cmp_return_type, shift_count_type): Type definitions added.
      	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
      	replaced with shift_count_type.
      	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
      	cmp_return_type.
      	* libgcc2.c (__udivmoddi4, __moddi3): Type of local variable c
      	changed from word_type to Wtype.
      	(__lshrdi3, __ashldi3, __ashrdi3): word_type of second parameter
      	replaced with shift_count_type.
      	(__cmpdi2, __ucmpdi2): word_type of return type replaced with
      	cmp_return_type.
      	* c-common.c (handle_mode_attribute): Handling for libgcc_cmp_return and
      	libgcc_shift_count attribute added.
      	* target-def.h (TARGET_LIBGCC_CMP_RETURN_MODE,
      	TARGET_LIBGCC_SHIFT_COUNT_MODE): New target hooks defined.
      	(TARGET_INITIALIZER): New target hooks added.
      	* targhooks.c (default_libgcc_cmp_return_mode,
      	default_libgcc_shift_count_mode): Default implementations for the new
      	target hooks added.
      	* targhooks.h (default_libgcc_cmp_return_mode,
      	default_libgcc_shift_count_mode): Function prototypes added.
      	* target.h (struct gcc_target): Fields for the new target hooks added.
      	* optabs.c (expand_binop): Use shift_count_mode when expanding shift
      	as library call.
      	(prepare_cmp_insn): Use cmp_return_mode when expanding comparison as
      	library call.
      
      	* doc/tm.texi (TARGET_LIBGCC_CMP_RETURN_MODE,
      	TARGET_LIBGCC_SHIFT_COUNT_MODE): Documentation added.
      
      	* config/s390/s390.c (s390_libgcc_cmp_return_mode,
      	s390_libgcc_shift_count_mode): Functions added.
      	(TARGET_LIBGCC_CMP_RETURN_MODE,	TARGET_LIBGCC_SHIFT_COUNT_MODE): Target
      	hooks defined.
      
      From-SVN: r126410
      c7ff6e7a
  11. Jul 03, 2007
  12. Apr 24, 2007
    • Richard Henderson's avatar
      libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from IS_IBM_EXTENDED. · 5fb54b91
      Richard Henderson authored
              * libgcc2.h (AVOID_FP_TYPE_CONVERSION): Rename from 
              IS_IBM_EXTENDED.  Also define in terms of WIDEST_HARDWARE_FP_SIZE.
              * libgcc2.c (__floatdisf): Avoid double-word arithmetic when
              looking for non-zero bits shifted out.  Avoid a recursive call
              when constructing the scalar.
              (__floatundisf): Likewise.
      
      From-SVN: r124106
      5fb54b91
  13. Apr 02, 2007
  14. Jan 04, 2007
  15. Nov 08, 2006
    • Eric Christopher's avatar
      libgcc2.c (__bswapdi2): Rename from bswapDI2. · 6300f037
      Eric Christopher authored
      2006-11-07  Eric Christopher  <echristo@apple.com>
      
              * libgcc2.c (__bswapdi2): Rename from bswapDI2.
              (__bswapsi2): Ditto.
              * libgcc2.h: Remove transformation of bswap routines.
              * config/i386/i386.md (bswapsi2): New.
              (bswapdi2): Ditto.
      
      2006-11-07  Eric Christopher  <echristo@apple.com>
      
              * gcc.target/i386/builtin-bswap-1.c: Rewrite for 64-bit.
              Test using scan-assembler-not.
      
      From-SVN: r118576
      6300f037
  16. Nov 01, 2006
    • Eric Christopher's avatar
      extend.texi (__builtin_bswap32): Document. · 167fa32c
      Eric Christopher authored
      
      2006-09-07  Eric Christopher  <echristo@apple.com>
      	    Falk Hueffner  <falk@debian.org>
      
      	* doc/extend.texi (__builtin_bswap32): Document.
      	(__builtin_bswap64): Ditto.
      	* doc/libgcc.texi (bswapsi2): Document.
      	(bswapdi2): Ditto.
      	* doc/rtl.texi (bswap): Document.
      	* optabs.c (expand_unop): Don't widen a bswap.
      	(init_optabs): Init bswap. Set libfuncs explicitly
      	for bswapsi2 and bswapdi2.
      	* optabs.h (OTI_bswap): New.
      	(bswap_optab): Ditto.
      	* genopinit.c (optabs): Handle bswap_optab.
      	* tree.h (tree_index): Add TI_UINT32_TYPE and
      	TI_UINT64_TYPE.
      	(uint32_type_node): New.
      	(uint64_type_node): Ditto.
      	* tree.c (build_common_tree_nodes_2): Initialize
      	uint32_type_node and uint64_type_node.
      	* builtins.c (expand_builtin_bswap): New.
      	(expand_builtin): Call.
      	(fold_builtin_bswap): New.
      	(fold_builtin_1): Call.
      	* fold-const.c (tree_expr_nonnegative_p): Return true
      	for bswap.
      	* builtin-types.def (BT_UINT32): New.
      	(BT_UINT64): Ditto.
      	(BT_FN_UINT32_UINT32): Ditto.
      	(BT_FN_UINT64_UINT64): Ditto.
      	* builtins.def (BUILT_IN_BSWAP32): New.
      	(BUILT_IN_BSWAP64): Ditto.
      	* rtl.def (BSWAP): New.
      	* genattrtab.c (check_attr_value): New.
      	* libgcc2.c (__bswapSI2): New.
      	(__bswapDI2): Ditto.
      	* libgcc2.h (__bswapSI2): Declare.
      	(__bswapDI2): Ditto.
      	* mklibgcc.in (lib2funcs): Add _bswapsi2 and _bswapdi2.
      	* simplify-rtx.c (simplify_const_unary_operation): Return
      	0 for BSWAP.
      	* libgcc-std.ver (__bwapsi2): Add.
      	(__bswapdi2): Ditto.
      	* reload1.c (eliminate_regs_1): Add bswap.
      	(elimination_effects): Ditto.
      	* config/i386/i386.h (x86_bswap): New.
      	(TARGET_BSWAP): Use.
      	* config/i386/i386.c (x86_bswap): Set.
      
      Co-Authored-By: default avatarFalk Hueffner <falk@debian.org>
      
      From-SVN: r118361
      167fa32c
  17. May 28, 2006
    • Kazu Hirata's avatar
      cfgcleanup.c, [...]: Fix comment typos. · 6fc0bb99
      Kazu Hirata authored
      	* cfgcleanup.c, cfgexpand.c, cgraphunit.c, config/arm/arm.c,
      	config/fr30/fr30.md, config/i386/i386-interix.h,
      	config/i386/i386.c, config/i386/i386.md, config/sh/superh.h,
      	config/sh/superh64.h, config/v850/v850.c, df-core.c,
      	df-problems.c, df.h, except.c, final.c, haifa-sched.c,
      	lambda-code.c, libgcc2.h, omp-low.c, optabs.c, predict.c,
      	reload.c, tree-flow.h, tree-outof-ssa.c, tree-ssa-dce.c,
      	tree-ssa-pre.c, tree-vect-transform.c: Fix comment typos.
      	Follow spelling conventions.
      	* doc/invoke.texi, doc/rtl.texi, doc/tm.texi: Fix typos.
      	Follow spelling conventions.
      
      From-SVN: r114168
      6fc0bb99
  18. May 19, 2006
    • Richard Sandiford's avatar
      re PR target/22209 (libgfortran unresolvable symbols on irix6.5) · baffad1f
      Richard Sandiford authored
      	* libgcc2.c (MIN_UNITS_PER_WORD): Move default definition from
      	libgcc2.h.
      	(LIBGCC2_UNITS_PER_WORD): Provide default definition, using old
      	MIN_UNITS_PER_WORD logic from libgcc2.h.  Do nothing if
      	LIBGCC2_UNITS_PER_WORD > MIN_UNITS_PER_WORD.
      	* libgcc2.h (MIN_UNITS_PER_WORD): Remove definition from here.
      	Use LIBGCC2_UNITS_PER_WORD rather than MIN_UNITS_PER_WORD to
      	determine the size of Wtype, etc.
      	* mklibgcc.in (LIB2_SIDITI_CONV_FUNCS): New argument.
      	(swfloatfuncs): New variable.
      	(dwfloatfuncs): Likewise.
      	(lib2funcs): Remove floating-point conversion functions from
      	initial assignment.  Use LIB2_SIDITI_CONV_FUNCS to determine
      	the set of conversion routines needed.  Allow entries to specify
      	an object name, filename and word size.  Update users accordingly.
      	* Makefile.in (libgcc.mk): Pass LIB2_SIDITI_CONV_FUNCS.
      	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Define.
      
      	Revert:
      
      	2006-02-08  Roger Sayle  <roger@eyesopen.com>
      
      	PR target/22209
      	* config/fixtfdi.c: New libgcc source file.
      	* config/fixunstfdi.c: New source file.
      	* config/floatditf.c: New source file.
      	* config/floatunditf.c: New souce file.
      	* config/mips/t-iris6 (LIB2FUNCS_EXTRA): Include the new source
      	files above instead of config/mips/_tilib.c.
      	* config/mips/t-linux64 (LIB2FUNCS_EXTRA): Likewise.
      
      From-SVN: r113903
      baffad1f
  19. Jan 20, 2006
  20. Dec 15, 2005
    • Joseph Myers's avatar
      re PR other/25028 (TImode-to-floating conversions broken) · 4a73d865
      Joseph Myers authored
      	PR other/25028
      	* libgcc2.h (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Define.
      	* libgcc2.c (__floatdixf, __floatundixf, __floatditf,
      	__floatunditf): Use #error if type sizes don't match requirements
      	of implementation.
      	(__floatdisf, __floatdidf): Unify.  Possibly use XFmode or TFmode
      	as wider floating-point type.  Use #error if type sizes don't
      	match requirements of implementation.  Avoid overflow in computing
      	Wtype_MAXp1_F * Wtype_MAXp1_F.  When special casing conversion,
      	shift one more bit.  Cast 1 to DWtype or UDWtype for shifting.
      	(__floatundisf, __floatundidf): Likewise.
      	* config/ia64/hpux.h (XF_SIZE, TF_SIZE): Define.
      	* config/ia64/ia64.c (ia64_init_libfuncs): Use
      	_U_Qfcnvfxt_quad_to_quad and _U_Qfcnvxf_quad_to_quad for
      	TFmode-TImode conversions.
      	* doc/tm.texi (SF_SIZE, DF_SIZE, XF_SIZE, TF_SIZE): Document.
      
      testsuite:
      	* gcc.dg/torture/fp-int-convert-timode.c: Only XFAIL for LP64 IA64
      	HP-UX.
      
      From-SVN: r108598
      4a73d865
  21. Nov 22, 2005
    • Joseph Myers's avatar
      fp-bit.c (clzusi): New function. · d7735880
      Joseph Myers authored
      	* config/fp-bit.c (clzusi): New function.
      	(si_to_float, usi_to_float): Use it to compute proper shift.
      	(usi_to_float): Preserve guard bits when shifting right.
      	* libgcc-std.ver (GCC_4.2.0): New version.
      	* libgcc2.c (__floatundixf, __floatunditf, __floatundidf,
      	__floatundisf): New functions.
      	* libgcc2.h (__floatundixf, __floatunditf, __floatundidf,
      	__floatundisf): Declare.
      	* mklibgcc.in (lib2funcs): Add _floatundidf, _floatundisf,
      	_floatundixf, and _floatunditf.
      	* optabs.c (expand_float): If target does not define a pattern for
      	signed or unsigned conversion, use an unsigned libcall instead of
      	a signed one.
      	(init_optabs): Initialize ufloat_optab.
      
      testsuite:
      	* gcc.c-torture/execute/floatunsisf-1.c: New test.
      
      From-SVN: r107345
      d7735880
  22. Sep 09, 2005
    • Nick Clifton's avatar
      Makefile.in (LIBGCC_DEPS): Add libgcc2.h. · dcfae47c
      Nick Clifton authored
      * Makefile.in (LIBGCC_DEPS): Add libgcc2.h.
      * libgcc2.c (__clz_tab[], __popcount_tab[]): Set the fixed dimension of
        these arrays.
      * libgcc2.h (__clz_tab[], __popcount_tab[]): Add exports of these arrays.
      * longlong.h: Only provide a prototype for the __clz_tab[] array if this
        header has not been included from libgcc2.h.
      * config/stormy16/stormy16-lib2.c: Include libgcc2.h rather than defining
        own types.
        Provide prototypes for exported functions.
        Use the __clz_tab[] and __popcount_tab[] arrays provided by libgcc2.c.
      
      From-SVN: r104081
      dcfae47c
  23. Jul 02, 2005
    • Jakub Jelinek's avatar
      Makefile.def (target_modules): Add libssp. · 77008252
      Jakub Jelinek authored
      	* Makefile.def (target_modules): Add libssp.
      	* configure.in (target_libraries): Add target-libssp.
      	* configure: Rebuilt.
      	* Makefile.in: Rebuilt.
      gcc/
      	* gcc.c (LINK_SSP_SPEC): Define.
      	(link_ssp_spec): New variable.
      	(LINK_COMMAND_SPEC): Add %(link_ssp).
      	(static_specs): Add link_ssp_spec.
      	* configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
      	* configure: Rebuilt.
      	* config.in: Rebuilt.
      
      	* config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
      	* config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
      	* config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
      	* config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
      	* config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
      	If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
      	-0x7008(2) instead of reading __stack_chk_guard variable.
      	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
      	number.
      	(UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
      	(stack_protect_set, stack_protect_test): Use *_tls* patterns
      	if TARGET_THREAD_SSP_OFFSET is defined.
      	(stack_tls_protect_set_si, stack_tls_protect_set_di,
      	stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
      
      	Revert:
      	2005-06-27  Richard Henderson  <rth@redhat.com>
      	* libgcc-std.ver (GCC_4.1.0): New.
      	* libgcc.h (__stack_chk_guard): Declare.
      	(__stack_chk_fail, __stack_chk_fail_local): Declare.
      	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
      	* mklibgcc.in (lib2funcs): Add them.
      
      From-SVN: r101531
      77008252
  24. Jun 27, 2005
    • Richard Henderson's avatar
      c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__. · 7d69de61
      Richard Henderson authored
      	* c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
      	* cfgexpand.c: Include params.h.
      	(has_protected_decls, has_short_buffer): New.
      	(expand_stack_vars): Take a predicate to determine what to expand.
      	(defer_stack_allocation): True when flag_stack_protect on.
      	(SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
      	(SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
      	(stack_protect_classify_type, stack_protect_decl_phase): New.
      	(stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
      	(add_stack_protection_conflicts, create_stack_guard): New.
      	(expand_used_vars): Add stack protection logic.
      	(tree_expand_cfg): Likewise.
      	* common.opt (Wstack-protector): New.
      	(fstack-protector, fstack-protector-all): New.
      	* function.c: Include predict.h.
      	(assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
      	wants to copy the parameter into the stack frame.
      	(stack_protect_prologue, stack_protect_epilogue): New.
      	(expand_function_end): Call stack_protect_epilogue.  Do
      	sjlj_emit_function_exit_after after naked_return_label.
      	* function.h (struct function): Add stack_protect_guard.
      	* params.def (PARAM_SSP_BUFFER_SIZE): New.
      	* toplev.c (process_options): Disable flag_stack_protect and/or
      	warn_stack_protect based on FRAME_GROWS_DOWNWARD.
      	* tree.h (stack_protect_prologue): Declare.
      
      	* target-def.h (TARGET_STACK_PROTECT_GUARD): New.
      	(TARGET_STACK_PROTECT_FAIL): New.
      	(TARGET_INITIALIZER): Add them.
      	* target.h (struct gcc_target): Add stack_protect_guard and
      	stack_protect_fail.
      	* targhooks.c: Include ggc.h, gty header.
      	(stack_chk_guard_decl, default_stack_protect_guard): New.
      	(stack_chk_fail_decl, default_external_stack_protect_fail): New.
      	(default_hidden_stack_protect_fail): New.
      	* targhooks.h (default_stack_protect_guard): Declare.
      	(default_external_stack_protect_fail): Declare.
      	(default_hidden_stack_protect_fail): Declare.
      	* config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
      	* config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
      	(trap): Use ud2.
      	(conditional_trap, conditional_trap_1): Remove.
      	(stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
      	(stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
      	* doc/md.texi (stack_protect_set, stack_protect_test): New.
      	* doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
      	(TARGET_STACK_PROTECT_FAIL): New.
      
      	* libgcc-std.ver (GCC_4.1.0): New.
      	* libgcc.h (__stack_chk_guard): Declare.
      	(__stack_chk_fail, __stack_chk_fail_local): Declare.
      	* libgcc2.c (L_stack_chk, L_stack_chk_local): New.
      	* mklibgcc.in (lib2funcs): Add them.
      
      From-SVN: r101348
      7d69de61
  25. Jun 25, 2005
  26. Mar 30, 2005
  27. Mar 21, 2005
    • Richard Sandiford's avatar
      libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro. · cfa7bd9c
      Richard Sandiford authored
      	* libgcc2.h (LIBGCC2_HAS_SF_MODE): New macro.
      	(LIBGCC2_HAS_DF_MODE, LIBGCC2_HAS_TF_MODE, LIBGCC2_HAS_XF_MODE): Make
      	the defaults false if BITS_PER_UNIT != 8.
      	(SFtype, SCtype, __fixsfdi, __floatdisf, __fixunssfSI, __fixunssfDI)
      	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE rather
      	than BITS_PER_UNIT != 8.
      	(L_fixdfdi, L_fixsfdi, L_fixtfdi, L_fixunsdfdi, L_fixunsdfsi)
      	(L_fixunssfdi, L_fixunssfsi, L_fixunstfdi, L_fixunsxfdi, L_fixunsxfsi)
      	(L_fixxfdi, L_floatdidf, L_floatdisf, L_floatditf, L_floatdixf): Remove
      	#undefs.
      	* libgcc2.c (__fixunssfDI, __fixsfdi, __floatdisf, __fixunssfSI)
      	(__powisf2, __divsc3, __mulsc3): Guard with LIBGCC2_HAS_SF_MODE.
      
      From-SVN: r96778
      cfa7bd9c
  28. Feb 25, 2005
    • Steve Ellcey's avatar
      re PR target/19930 (gcc.dg/pr19402-2.c fails on ia64-hpux) · 4e9db8b2
      Steve Ellcey authored
      	PR target/19930
      	* doc/tm.texi (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Document.
      	(LIBGCC2_HAS_DF_MODE): New.
      	(LIBGCC2_HAS_XF_MODE): New.
      	(LIBGCC2_HAS_TF_MODE): New.
      	* libgcc2.h (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
      	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
      	* libgcc2.c (LIBGCC2_HAS_XF_MODE): New name for HAVE_XFMODE.
      	(LIBGCC2_HAS_TF_MODE): New name for HAVE_TFMODE.
      	(LIBGCC2_HAS_DF_MODE): New name for HAVE_DFMODE.
      	* config/ia64/t-ia64 (LIB1ASMFUNCS): Remove __compat
      	and add _fixtfdi, _fixunstfdi, _floatditf
      	* lib1funcs.asm: Remove L__compat. Add L_fixtfdi,
      	L_fixunstfdi, L_floatditf.
      	* config/ia64/hpux.h (LIBGCC2_HAS_XF_MODE): Define.
      	(LIBGCC2_HAS_TF_MODE): Define.
      
      From-SVN: r95548
      4e9db8b2
  29. Feb 16, 2005
    • Richard Henderson's avatar
      re PR middle-end/19920 (build broken on several targets due to recent 'DC' type update to libgcc2) · 4f2e0d5e
      Richard Henderson authored
              PR 19920
              * libgcc2.c (WORD_SIZE): Remove all definitions; replace uses
              with W_TYPE_SIZE.
              (HIGH_WORD_COEFF, HIGH_HALFWORD_COEFF): Remove all definitions;
              replace uses with Wtype_MAXp1_F.
              (L_fixunstfdi, L_fixtfdi, L_floatditf, L_fixunsxfdi, L_fixxfdi,
              L_floatdixf, L_fixunsxfsi, L_fixunsdfdi, L_floatdidf, L_fixunsdfsi,
              L_powidf2, L_powixf2, L_powitf2, L_muldc3, L_divdc3, L_mulxc3,
              L_divxc3, L_multc3, L_divtc3): Protect with HAVE_DFMODE, HAVE_XFMODE,
              and HAVE_TFMODE as appropriate.
              (__fixunssfDI): Provide an implementation that doesn't need DFmode.
              (__floatdisf): Likewise.
              * libgcc2.h (LIBGCC2_DOUBLE_TYPE_SIZE): New.
              (HAVE_DFMODE, HAVE_XFMODE, HAVE_TFMODE): New.
              (Wtype_MAXp1_F): New.
              (DFtype, DCtype, __fixdfdi, __floatdidf, __fixunsdfSI, __fixunsdfDI,
              __powidf2, __divdc3, __muldc3): Protect with HAVE_DFMODE.
      
      From-SVN: r95121
      4f2e0d5e
  30. Feb 12, 2005
    • Richard Henderson's avatar
      tree-complex.c (expand_complex_libcall): New. · 7e7e470f
      Richard Henderson authored
              * tree-complex.c (expand_complex_libcall): New.
              (expand_complex_multiplication): Use it for c99 compliance.
              (expand_complex_division): Likewise.
              * fold-const.c (fold_complex_add, fold_complex_mult): New.
              (fold): Call them.
              * builtins.c (built_in_names): Remove const.
              * tree.c (build_common_builtin_nodes): Build complex arithmetic
              builtins.
              * tree.h (BUILT_IN_COMPLEX_MUL_MIN, BUILT_IN_COMPLEX_MUL_MAX): New.
              (BUILT_IN_COMPLEX_DIV_MIN, BUILT_IN_COMPLEX_DIV_MAX): New.
              (built_in_names): Remove const.
              * c-common.c (c_common_type_for_mode): Handle complex modes.
              * flags.h, toplev.c (flag_complex_method): Rename from
              flag_complex_divide_method.
              * libgcc2.c (__divsc3, __divdc3, __divxc3, __divtc3,
              __mulsc3, __muldc3, __mulxc3, __multc3): New.
              * libgcc2.h: Declare them.
              * libgcc-std.ver: Export them.
              * mklibgcc.in (lib2funcs): Build them.
      
      From-SVN: r94909
      7e7e470f
  31. Feb 10, 2005
    • Kazu Hirata's avatar
      builtins.def, [...]: Update copyright. · c486021d
      Kazu Hirata authored
      	* builtins.def, haifa-sched.c, libgcc2.c, libgcc2.h,
      	tree-ssa-loop-ivcanon.c, tree-ssa-loop-niter.c,
      	config/cris/cris-protos.h, config/cris/cris.c: Update
      	copyright.
      
      From-SVN: r94840
      c486021d
  32. Feb 09, 2005
    • Richard Guenther's avatar
      re PR middle-end/19402 (__builtin_powi? still missing) · 17684d46
      Richard Guenther authored
      2005-02-09  Richard Guenther  <rguenth@gcc.gnu.org>
      
      	PR middle-end/19402
      
      	* builtins.def: New __builtin_powi[lf].
      	* builtins.c (mathfn_built_in): Handle BUILT_IN_POWI.
      	(expand_builtin_powi): New function.
      	(expand_builtin): Dispatch to expand_builtin_powi.
      	* libgcc2.h: Add prototypes for __builtin_powi[lf].
      	* libgcc2.c: Add __builtin_powi[lf] implementation.
      	* mklibgcc.in: Add __builtin_powi[lf] to lib2funcs.
      	* optabs.h: Add powi_optab.
      	* optabs.c (init_optabs): Initialize powi_optab.
      	* doc/extend.texi: Document __builtin_powi[lf].
      
      	* gcc.dg/pr19402-1.c: New testcase.
      	* gcc.dg/pr19402-2.c: likewise.
      
      From-SVN: r94774
      17684d46
  33. Dec 15, 2004
    • Eric Botcazou's avatar
      re PR other/18665 (-ftrapv borks up simple integer arithmetic) · 0aec6014
      Eric Botcazou authored
      	PR other/18665
      	* libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
      	Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
      	* libgcc2.c (__addvsi3): Rename to __addvSI3.
      	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(__addvdi3): Rename to __addvDI3.
      	(__subvsi3): Rename to __subvSI3.  Use word type for the result.
      	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(__subvdi3): Rename to __subvDI3.
      	(_mulvsi3): Rename to _mulvSI3.
      	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(_mulvdi3): Rename to _mulvDI3.
      	(__negvsi2): Rename to __negvSI2.
      	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(__negvdi2): Rename to __negvDI2.
      	(__absvsi2): Rename to __absvSI2.
      	New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(__absvdi2): Rename to __absvDI2.
      	* libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      	(__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
      	__addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
      	symbol and declare.
      	(__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
      	COMPAT_SIMODE_TRAPPING_ARITHMETIC.
      
      From-SVN: r92187
      0aec6014
  34. Nov 30, 2004
    • Zack Weinberg's avatar
      * gthr-gnat.c, gthr-gnat.h, gthr.h, libgcc2.h, unwind-dw2-fde.h · 7370bebd
      Zack Weinberg authored
      	* unwind.h: Surround all visibility pragmas with #ifndef HIDE_EXPORTS.
      
      	* mklibgcc.in: Drastic restructure for comprehensibility.
      	Remove the old hidden-directive hack.
      	Eliminate support for .txt files in LIB2ADD etc (never used).
      	Eliminate support for assembly source files in LIB2ADDEH* and
      	LIBUNWIND (also never used).
      	Build up dependency lists for libraries incrementally.
      	If we have SHLIB_LINK, compile each file twice, once for the
      	static and once for the shared library; also probe for
      	-fvisibility=hidden in the generated libgcc.mk.  If found,
      	pass that and -DHIDE_EXPORTS to the compilation of every C
      	source file going into the static library.  If found, generate
      	hidden-directive lists for every assembly source file going
      	into the static library, but incorporate them with -include
      	instead of ld -r.
      	Write comments into generated libgcc.mk to facilitate debugging.
      	* Makefile.in: Pass ASM_HIDDEN_OP to mklibgcc.
      	* config/t-slibgcc-darwin: Define ASM_HIDDEN_OP.
      
      	* config/darwin.h (REAL_LIBGCC_SPEC): Put -lgcc back in
      	-Zdynamiclib case.
      
      From-SVN: r91513
      7370bebd
  35. Oct 22, 2004
    • Kazu Hirata's avatar
      dwarf.h, [...]: Update copyright. · 279b5b3c
      Kazu Hirata authored
      	* dwarf.h, gthr-dce.h, gthr-single.h, gthr-solaris.h, gthr.h,
      	libfuncs.h, libgcc2.h, stab.def, tsystem.h: Update copyright.
      
      From-SVN: r89446
      279b5b3c
  36. Aug 03, 2004
    • Mark Mitchell's avatar
      gthr-gnat.c: Add visibility #pragmas. · 3fc1f660
      Mark Mitchell authored
      	* gthr-gnat.c: Add visibility #pragmas.
      	* gthr-gnat.h : Likewise.
      	* gthr.h: Likewise.
      	* libgcc2.c (__ffsSI2): Move prototype to libgcc2.h.
      	(__ffsDI2): Likewise.
      	(__clzSI2): Likewise.
      	(__ctzSI2): Likewise.
      	(__ctzDI2): Likewise.
      	(__popcountSI2): Likewise.
      	(__popcountDI2): Likewise.
      	(__paritySI2): Likewise.
      	(__parityDI2): Likewise.
      	* libgcc2.h: Add visibility #pragmas.
      	(__clzDI2): Add prototype.
      	(__clzSI2): Likewise.
      	(__ctzSI2): Likewise.
      	(__ffsDI2): Likewise.
      	(__ffsSI2): Likewise.
      	(__ctzDI2): Likewise.
      	(__popcountSI2): Likewise.
      	(__popcountDI2): Likewise.
      	(__paritySI2): Likewise.
      	(__parityDI2): Likewise.
      	* unwind-dw2-fde.h: Add visibility #pragmas.
      	* unwind.h: Likewise.
      
      From-SVN: r85489
      3fc1f660
  37. Jul 27, 2004
    • Zack Weinberg's avatar
      libgcc2.c: Change all conditionals testing LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80. · 968a7562
      Zack Weinberg authored
      	* libgcc2.c: Change all conditionals testing
      	LIBGCC2_LONG_DOUBLE_TYPE_SIZE == 96 to == 80.
      	* libgcc2.h: Likewise.
      	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Set
      	TYPE_PRECISION of float80_type to 80.
      	* config/ia64/ia64.c (ia64_init_builtins): Set TYPE_PRECISION
      	of fpreg_type and float80_type to 80.
      	* config/i386/i386.h, config/ia64/ia64.h, config/m68k/m68k.h
      	* config/m68k/netbsd-elf.h:
      	Change LONG_DOUBLE_TYPE_SIZE and possibly LIBGCC2_LONG_DOUBLE_TYPE_SIZE
      	to evaluate to 80 whenever they would formerly have evaluated to 96.
      	* config/i386/sco5.h: Remove unnecessary redefinition of
      	LONG_DOUBLE_TYPE_SIZE.
      	* doc/rtl.texi: Clarify uses of XFmode and TFmode.
      	* config/i386/i386-modes.def: Use FRACTIONAL_FLOAT_MODE for
      	XFmode, with a bitsize of 80.  Update commentary.
      	* config/ia64/ia64-modes.def: Likewise.
      	* config/m68k/m68k-modes.def: Likewise.
      
      From-SVN: r85232
      968a7562
  38. Dec 21, 2003
    • Kazu Hirata's avatar
      alias.c: Fix comment formatting. · 6614fd40
      Kazu Hirata authored
      	* alias.c: Fix comment formatting.
      	* alloc-pool.c: Likewise.
      	* bitmap.c: Likewise.
      	* bitmap.h: Likewise.
      	* bt-load.c: Likewise.
      	* c-common.c: Likewise.
      	* c-common.h: Likewise.
      	* c-decl.c: Likewise.
      	* c-opts.c: Likewise.
      	* c-pretty-print.c: Likewise.
      	* caller-save.c: Likewise.
      	* cfghooks.h: Likewise.
      	* cgraph.c: Likewise.
      	* collect2.c: Likewise.
      	* cppfiles.c: Likewise.
      	* cpplib.h: Likewise.
      	* dwarf2out.c: Likewise.
      	* dwarfout.c: Likewise.
      	* emit-rtl.c: Likewise.
      	* final.c: Likewise.
      	* function.c: Likewise.
      	* gcov.c: Likewise.
      	* gcse.c: Likewise.
      	* genemit.c: Likewise.
      	* ggc.h: Likewise.
      	* haifa-sched.c: Likewise.
      	* ifcvt.c: Likewise.
      	* libgcc2.h: Likewise.
      	* loop.c: Likewise.
      	* predict.h: Likewise.
      	* unwind-libunwind.c: Likewise.
      	* varasm.c: Likewise.
      
      From-SVN: r74907
      6614fd40
  39. Apr 22, 2003
Loading