1. 03 Jan, 2018 1 commit
  2. 20 Nov, 2017 1 commit
  3. 27 Jun, 2017 1 commit
  4. 04 Jan, 2017 1 commit
  5. 29 Apr, 2016 2 commits
    • longlong.h (umul_ppmm): Remove SHMEDIA checks. · af952763
      include/
      	* longlong.h (umul_ppmm): Remove SHMEDIA checks.
      	(__umulsidi3, count_leading_zeros): Remove SHMEDIA implementations.
      
      gcc/
      	* common/config/sh/sh-common.c (sh_option_optimization_table): Remove
      	remaining SH5 related settings.
      	* config/sh/sh-protos.h (shmedia_cleanup_truncate,
      	shmedia_prepare_call_address): Delete.
      	* config/sh/sh.c (sh_print_operand, output_stack_adjust,
      	DWARF_CIE_DATA_ALIGNMENT, LOCAL_ALIGNMENT): Update comments.
      	* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC,
      	UNSUPPORTED_SH2A): Remove m5 checks.
      	(sh_divide_strategy_e): Remove SH5 division strategies.
      	(TARGET_PTRMEMFUNC_VBIT_LOCATION): Remove and use default.
      	* config/sh/sh.md (divsf3): Reinstate define_expand pattern.
      
      From-SVN: r235632
      Oleg Endo committed
    • [ARC] Fix obsolete constraint. · 1ab06af6
      include/
      2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* longlong.h (add_ssaaaa): Replace obsolete 'J' constraint with
      	'Cal' constraint.
      	(sub_ddmmss): Likewise.
      
      From-SVN: r235631
      Claudiu Zissulescu committed
  6. 07 Jan, 2016 1 commit
  7. 27 Oct, 2015 1 commit
    • config.gcc: Handle --enable-fdpic. · 1e44e857
      gcc/ChangeLog
      	* config.gcc: Handle --enable-fdpic.
      	* config/sh/constraints.md (Ccl): New constraint.
      	* config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
      	* config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
      	__SH_FDPIC__.
      	* config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
      	library functions.
      	* config/sh/sh-protos.h (function_symbol_result): New struct.
      	(function_symbol): Return function_symbol_result.
      	(sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
      	declarations.
      	* config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
      	target hook.
      	(TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
      	(sh_option_override): Force -fPIC if FDPIC is in effect.
      	(sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
      	UNSPEC_GOTOFFFUNCDESC cases.
      	(prepare_move_operands): Use FDPIC initial GOT register for
      	TLS-related GOT access; inhibit cross-section address offset constants
      	for FDPIC.
      	(sh_assemble_integer): New function.
      	(sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
      	PC-relative call sites.
      	(expand_ashiftrt): Adapt invocation of function_symbol.
      	(sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
      	(nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
      	UNSPEC_GOTOFFFUNCDESC.
      	(legitimize_pic_address): Resolve function symbols to function
      	descriptors for FDPIC.  Do not use GOT-relative addressing for local
      	data that may be read-only on FDPIC.
      	(sh_emit_storesi, sh_emit_storehi): New functions.
      	(sh_trampoline_init): Generate FDPIC trampolines.
      	(sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
      	(sh_expand_sym_label2reg): Don't assume sibcalls are local.
      	(sh_output_mi_thunk): Generate FDPIC call.
      	(function_symbol): Return function_symbol_result.  For SFUNC_STATIC on
      	FDPIC, generate call site labels to use PC-relative addressing rather
      	than GOT-relative addressing.
      	(sh_conditional_register_usage): Make PIC register fixed and call used
      	when FDPIC is in effect.
      	(sh_legitimate_constant_p): Impose FDPIC constant constraints.
      	(sh_cannot_force_const_mem_p, sh_load_function_descriptor,
      	sh_get_fdpic_reg_initial_val): New functions.
      	* config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
      	Handle -mfdpic.
      	(FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
      	PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
      	SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
      	(DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
      	FDPIC_SELF_SPECS.
      	(TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
      	(ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
      	(ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
      	* config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
      	constants.
      	(calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
      	sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
      	sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
      	sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
      	(udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
      	*divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
      	ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
      	call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
      	sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
      	sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
      	block_move_real, block_lump_real, block_move_real_i4,
      	block_lump_real_i4): Add support for FDPIC calls.
      	(mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
      	call_value_pop): Adjust for new function_symbol signature.
      	* config/sh/sh.opt (-mfdpic): New option.
      	* doc/install.texi (Options specification): Document --enable-fdpic.
      	* doc/invoke.texi (SH Options): Document -mfdpic.
      
      include/ChangeLog:
      	* longlong.h (udiv_qrnnd): Add FDPIC compatible version for SH.
      
      libitm/ChangeLog:
      	* config/sh/sjlj.S (_ITM_beginTransaction): Bypass PLT calling
      	GTM_begin_transaction for compatibility with FDPIC.
      
      Co-Authored-By: Andrew Stubbs <ams@codesourcery.com>
      Co-Authored-By: Joseph Myers <joseph@codesourcery.com>
      Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
      Co-Authored-By: Rich Felker <dalias@libc.org>
      
      From-SVN: r229438
      Daniel Jacobowitz committed
  8. 14 Jul, 2015 1 commit
  9. 28 Oct, 2014 1 commit
  10. 15 Sep, 2014 1 commit
  11. 01 May, 2014 1 commit
  12. 30 Apr, 2014 1 commit
  13. 22 Apr, 2014 1 commit
  14. 04 Dec, 2013 1 commit
    • longlong.h: New file. · b21fbbd2
      include/
      	* longlong.h: New file.
      
      libgcc/
      	* longlong.h: Delete (moved to include/).
      
      libquadmath/
      	* Makefile.am (AM_CPPFLAGS): Define.
      	* Makefile.in: Regenerate.
      	* printf/gmp-impl.h: Remove path from longlong.h include.
      
      From-SVN: r205659
      Richard Sandiford committed
  15. 16 Oct, 2013 1 commit
    • For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h. · 0e499e75
      	* config.host (cpu_type) <Setting default>: Add entry for
      	crisv32-*-*.
      	(tmake_file) <crisv32-*-elf, cris-*-elf, cris-*-linux*>
      	<crisv32-*-linux*>: Adjust.
      	* longlong.h: Wrap the whole CRIS section in a single
      	defined(__CRIS__) conditional.  Add comment about add_ssaaaa
      	and sub_ddmmss.
      	(COUNT_LEADING_ZEROS_0): Define when count_leading_zeros is
      	defined.
      	[__CRIS__] (__umulsidi3): Define.
      	[__CRIS__] (umul_ppmm): Define in terms of __umulsidi3.
      	* config/cris/sfp-machine.h: New file.
      	* config/cris/umulsidi3.S: New file.
      	* config/cris/t-elfmulti (LIB2ADD_ST): Add umulsidi3.S.
      	* config/cris/arit.c (SIGNMULT): New macro.
      	(__Div, __Mod): Use SIGNMULT instead of naked multiplication.
      	* config/cris/mulsi3.S: Tweak to avoid redundant register-copying;
      	saving 3 out of originally 33 cycles from the fastest
      	path, 3 out of 54 from the medium path and one from the longest
      	path.  Improve comments.
      
      From-SVN: r203640
      Hans-Peter Nilsson committed
  16. 01 Oct, 2013 1 commit
    • config.host (arc*-*-elf*, [...]): New configurations. · d38a64b4
      2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
                  Brendan Kehoe  <brendan@zen.org>
                  Simon Cook  <simon.cook@embecosm.com>
      
              * config.host (arc*-*-elf*, arc*-*-linux-uclibc*): New configurations.
              * config/arc: New directory.
              * longlong.h [__arc__] (umul_ppmm): Remove.
              [__arc__] (__umulsidi3): Define.
              [__arc__ && __ARC_NORM__] (count_leading_zeroes): Define.
              [__arc__ && __ARC_NORM__] (COUNT_LEADING_ZEROS_0): Likewise.
      
      Co-Authored-By: Brendan Kehoe <brendan@zen.org>
      Co-Authored-By: Simon Cook <simon.cook@embecosm.com>
      
      From-SVN: r203073
      Joern Rennecke committed
  17. 04 Feb, 2013 1 commit
  18. 16 Aug, 2012 2 commits
    • longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling. · 18efc0dd
      2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>
      
      libgcc/
             * longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.
      
      From-SVN: r190434
      Segher Boessenkool committed
    • aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS. · 6b39bc38
      2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>
      
      gcc/
      	* config/rs6000/aix43.h (TARGET_DEFAULT): Delete MASK_NEW_MNEMONICS.
      	(RS6000_CALL_GLUE): Adjust for single assembler syntax.
      	* config/rs6000/aix51.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
      	Ditto.
      	* config/rs6000/aix52.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
      	Ditto.
      	* config/rs6000/aix53.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
      	Ditto.
      	* config/rs6000/aix61.h (TARGET_DEFAULT, RS6000_CALL_GLUE):
      	Ditto.
      	* config/rs6000/darwin.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/darwin.md (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/darwin64.h (TARGET_DEFAULT): Delete
      	MASK_NEW_MNEMONICS.
      	* config/rs6000/default64.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/dfp.md: (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/eabi.h (TARGET_DEFAULT): Delete
      	MASK_NEW_MNEMONICS.
      	* config/rs6000/eabialtivec.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/eabispe.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Ditto.
      	* config/rs6000/rs6000-cpus.def (whole file): Delete
      	POWERPC_BASE_MASK.
      	* config/rs6000/rs6000-tables.opt: Regenerate.
      	* config/rs6000/rs6000.c (POWERPC_BASE_MASK): Delete.
      	(num_insns_constant_wide): Adjust comments.
      	(whole file): Adjust to single assembler syntax.
      	(output_cbranch): Adjust comment.
      	* config/rs6000/rs6000.h (ASSEMBLER_DIALECT): Delete.
      	* config/rs6000/rs6000.md: (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/rs6000.opt (mnew-mnemonics): Delete.
      	(mold-mnemonics): Delete.
      	* config/rs6000/spe.md: (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/sync.md: (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/sysv4.h (TARGET_DEFAULT): Delete
      	MASK_NEW_MNEMONICS.
      	(ASM_OUTPUT_REG_PUSH): Adjust.
      	(ASM_OUTPUT_REG_POP): Adjust.
      	* config/rs6000/sysv4le.h (TARGET_DEFAULT): Delete
      	MASK_NEW_MNEMONICS.
      	* config/rs6000/vsx.md: (whole file): Adjust to single
      	assembler syntax.
      	* config/rs6000/vxworks.h (TARGET_DEFAULT): Delete
      	MASK_NEW_MNEMONICS.
      	* doc/invoke.texi: Adjust documentation to reflect the
      	removal of -mnew-mnemonics and -mold-mnemonics.
      
      libgcc/
      	* longlong.h: (whole file, powerpc): Adjust to single assembler syntax.
      
      From-SVN: r190432
      Segher Boessenkool committed
  19. 04 Jun, 2012 1 commit
  20. 01 Jun, 2012 1 commit
  21. 09 May, 2012 1 commit
  22. 11 Mar, 2012 1 commit
  23. 05 Mar, 2012 1 commit
  24. 02 Nov, 2011 1 commit
    • Move libgcc2 to toplevel libgcc · f9989b51
      	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
      Rainer Orth committed
  25. 04 Oct, 2011 1 commit
  26. 15 Jul, 2011 1 commit
    • invoke.texi (C6X Options): New section. · bcead286
      gcc/
      	* doc/invoke.texi (C6X Options): New section.
      	* doc/md.texi (TI C6X family): New section.
      	* config.gcc: Handle tic6x, in particular tic6x-*-elf and
      	tic6x-*-uclinux.
      	* longlong.h (add_ssaaaa, __umulsidi3, umul_ppmm,
      	count_leading_zeros, count_trailing_zeros, UMUL_TIME, UDIV_TIME):
      	Provide C6X definitions.
      	* config/c6x/c6x.md: New file.
      	* config/c6x/constraints.md: New file.
      	* config/c6x/predicates.md: New file.
      	* config/c6x/c6x-sched.md.in: New file.
      	* config/c6x/c6x-sched.md: New file.
      	* config/c6x/gensched.sh: New file.
      	* config/c6x/c6x-mult.md.in: New file.
      	* config/c6x/genmult.sh: New file.
      	* config/c6x/c6x-mult.md: New file.
      	* config/c6x/sync.md: New file.
      	* config/c6x/c6x-protos.h: New file.
      	* config/c6x/sfp-machine.h: New file.
      	* config/c6x/c6x.c: New file.
      	* config/c6x/c6x.h: New file.
      	* config/c6x/crti.s: New file.
      	* config/c6x/crtn.s: New file.
      	* config/c6x/lib1funcs.asm: New file.
      	* config/c6x/c6x-modes.def: New file.
      	* config/c6x/genopt.sh: New file.
      	* config/c6x/c6x.opt: New file.
      	* config/c6x/c6x-tables.opt: New file.
      	* config/c6x/c6x-opts.h: New file.
      	* config/c6x/c6x-isas.def: New file.
      	* config/c6x/elf.h: New file.
      	* config/c6x/elf-common.h: New file.
      	* config/c6x/uclinux-elf.h: New file.
      	* config/c6x/t-c6x: New file.
      	* config/c6x/t-c6x-elf: New file.
      	* config/c6x/t-c6x-uclinux: New file.
      	* config/c6x/t-c6x-softfp: New file.
      	* config/c6x/gtd.c: New file.
      	* config/c6x/gtf.c: New file.
      	* config/c6x/ltd.c: New file.
      	* config/c6x/ltf.c: New file.
      	* config/c6x/ged.c: New file.
      	* config/c6x/gef.c: New file.
      	* config/c6x/led.c: New file.
      	* config/c6x/lef.c: New file.
      	* config/c6x/eqd.c: New file.
      	* config/c6x/eqf.c: New file.
      	* config/c6x/libgcc-c6xeabi.ver: New file.
      
      contrib/
      	* gcc_update: Add C6X generated files.
      	* contrib/config-list.mk: Add c6x-elf and c6x-uclinux.
      
      libgcc/
      	* config.host: Handle tic6x-*-*.
      	* config/c6x/c6x-abi.h: New file.
      
      From-SVN: r176308
      Bernd Schmidt committed
  27. 04 Jul, 2011 1 commit
  28. 18 Jun, 2011 1 commit
  29. 16 Jun, 2011 1 commit
    • re PR target/49313 (Inefficient libgcc implementations for avr) · 0ad8bb3b
      gcc/
      	PR target/49313
      	PR target/29524
      	* longlong.h: Add AVR support:
      	(count_leading_zeros): New macro.
      	(count_trailing_zeros): New macro.
      	(COUNT_LEADING_ZEROS_0): New macro.
      	* config/avr/t-avr (LIB1ASMFUNCS): Add
      	_ffssi2, _ffshi2, _loop_ffsqi2,
      	_ctzsi2, _ctzhi2, _clzdi2, _clzsi2, _clzhi2, 
      	_paritydi2, _paritysi2, _parityhi2,
      	_popcounthi2,_popcountsi2, _popcountdi2, _popcountqi2,
      	_bswapsi2, _bswapdi2,
      	_ashldi3, _ashrdi3, _lshrdi3
      	(LIB2FUNCS_EXCLUDE): Add _clz.
      	* config/avr/libgcc.S (XCALL): Move up in file.
      	(XJMP): New C Macro.
      	(DEFUN): New asm macro.
      	(ENDF): New asm macro.
      	(__ffssi2): New function.
      	(__ffshi2): New function.
      	(__loop_ffsqi2): New function.
      	(__ctzsi2): New function.
      	(__ctzhi2): New function.
      	(__clzdi2): New function.
      	(__clzsi2): New function.
      	(__clzhi2): New function.
      	(__paritydi2): New function.
      	(__paritysi2): New function.
      	(__parityhi2): New function.
      	(__popcounthi2): New function.
      	(__popcountsi2): New function.
      	(__popcountdi2): New function.
      	(__popcountqi2): New function.
      	(__bswapsi2): New function.
      	(__bswapdi2): New function.
      	(__ashldi3): New function.
      	(__ashrdi3): New function.
      	(__lshrdi3): New function.
      	Fix suspicous lines.
      
      libgcc/
      	PR target/49313
      	PR target/29524
      	* config/avr/t-avr: Fix line endings.
      	(intfuncs16): Remove _ffsXX2,  _clzXX2, _ctzXX2, _popcountXX2,
      	_parityXX2.
      
      From-SVN: r175097
      Georg-Johann Lay committed
  30. 06 Jun, 2011 1 commit
  31. 19 Jan, 2011 1 commit
  32. 03 Jan, 2011 1 commit
  33. 13 Apr, 2010 1 commit
    • s390.md: Replace TARGET_64BIT with TARGET_ZARCH. · 9602b6a1
      2010-04-13  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>
                  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
      	
      	* gcc/config/s390/s390.md: Replace TARGET_64BIT with TARGET_ZARCH.
      	* gcc/config/s390/s390.c: Replace UNTIS_PER_WORD with
      	UNITS_PER_LONG where it is ABI relevant.	
      	(s390_return_addr_rtx): Likewise.
      	(s390_back_chain_rtx): Likewise.
      	(s390_frame_area): Likewise.
      	(s390_frame_info): Likewise.
      	(s390_initial_elimination_offset): Likewise.
      	(save_gprs): Likewise.
      	(s390_emit_prologue): Likewise.
      	(s390_emit_epilogue): Likewise.
      	(s390_function_arg_advance): Likewise.
      	(s390_function_arg): Likewise.
      	(s390_va_start): Likewise.
      	(s390_gimplify_va_arg): Likewise.
      	(s390_function_profiler): Likewise.
      	(s390_optimize_prologue): Likewise.
      	(s390_rtx_costs): Likewise.
      	(s390_secondary_reload): Likewise.
      	(s390_promote_function_mode): Likewise.
      	(s390_hard_regno_mode_ok): Replace TARGET_64BIT with TARGET_ZARCH.
      	(s390_scalar_mode_supported_p): Disallow TImode if no 64 bit
      	registers available.
      	(s390_unwind_word_mode): New function.
      	(s390_function_value): Split 64 bit values into register pair if
      	used as return value.
      	(s390_call_saved_register_used): Don't use HARD_REGNO_NREGS for
      	function call parameters.  Handle parallels.
      	(TARGET_SCALAR_MODE_SUPPORTED_P): New macro.
      	(HARD_REGNO_CALL_PART_CLOBBERED): New macro.
      	(DWARF_CIE_DATA_ALIGNMENT): New macro.
      	(s390_expand_setmem): Remove unused variable src_addr.
      	* gcc/longlong.h: Make smul_ppmm and sdiv_qrnnd inline asms to
      	deal with 64 bit registers.	
      	* gcc/config/s390/s390.h: Define __zarch__ predefined macro.
      	Replace UNITS_PER_WORD with UNITS_PER_LONG where it is ABI relevant.
      	(UNITS_PER_LONG): New macro.
      	* libjava/include/s390-signal.h: Define extended ucontext
      	structure containing the upper halfs of the 64 bit registers.
      
      
      Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>
      
      From-SVN: r158257
      Andreas Krebbel committed
  34. 02 Dec, 2009 1 commit
  35. 27 Nov, 2009 1 commit
    • stormy16-lib2.c: Arrange for separate compilation of each function. · ba964383
              * config/stormy16/stormy16-lib2.c: Arrange for separate
              compilation of each function.
              (__ffshi2): New function.
              (__stormy16_count_leading_zeros): New function.
              * config/stormy16/t-stormy16 (LIB2FUNCS_EXTRA): Use stub files to
              compile each function into its own object file.
              (stormy16-lib2-ashlsi3.c): New stub file.
              (stormy16-lib2-ashrsi3.c): New stub file.
              (stormy16-lib2-clzhi2.c): New stub file.
              (stormy16-lib2-count-leading-zeros.c): New stub file.
              (stormy16-lib2-ctzhi2.c): New stub file.
              (stormy16-lib2-divsi3.c): New stub file.
              (stormy16-lib2-ffshi2.c): New stub file.
              (stormy16-lib2-lshrsi3.c): New stub file.
              (stormy16-lib2-modsi3.c): New stub file.
              (stormy16-lib2-parityhi2.c): New stub file.
              (stormy16-lib2-popcounthi2.c): New stub file.
              (stormy16-lib2-udivmodsi4.c): New stub file.
              (stormy16-lib2-udivsi3.c): New stub file.
              (stormy16-lib2-umodsi3.c): New stub file.
              * longlong.h (count_leading_zeros): Define macro for stormy16
              target.
              (COUNT_LEADING_ZEROS_0): Likewise.
      
      From-SVN: r154713
      Nick Clifton committed
  36. 10 Aug, 2009 1 commit
  37. 12 Feb, 2009 1 commit
    • longlong.h (sub_ddmmss): New for ia64. · c252db20
      gcc/
      
      2009-02-12  Uros Bizjak  <ubizjak@gmail.com>
      
      	* longlong.h (sub_ddmmss): New for ia64. Ported from GMP 4.2.
      	(umul_ppmm): Likewise.
      	(count_leading_zeros): Likewise.
      	(count_trailing_zeros): Likewise.
      	(UMUL_TIME): Likewise.
      
      2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config.gcc: Add ia64/t-fprules-softfp soft-fp/t-softfp to
      	tmake_file for ia64*-*-linux*.
      
      	* config/ia64/ia64.c (ia64_soft_fp_init_libfuncs): New.
      	(ia64_expand_compare): Use HPUX library for TFmode only for
      	HPUX.
      	(ia64_builtins): Add IA64_BUILTIN_COPYSIGNQ, IA64_BUILTIN_FABSQ
      	and IA64_BUILTIN_INFQ.
      	(ia64_init_builtins): Initialize __builtin_infq,
      	__builtin_fabsq and __builtin_copysignq if not HPUX.
      	(ia64_expand_builtin): Handle IA64_BUILTIN_COPYSIGNQ,
      	IA64_BUILTIN_FABSQ and IA64_BUILTIN_INFQ.
      
      	* config/ia64/lib1funcs.asm (__divtf3): Define only if
      	SHARED is defined.
      	(__fixtfti): Likewise.
      	(__fixunstfti): Likewise.
      	(__floattitf): Likewise.
      
      	* config/ia64/libgcc-glibc.ver: New.
      	* config/ia64/t-fprules-softfp: Likewise.
      	* config/ia64/sfp-machine.h: Likewise.
      
      	* config/ia64/linux.h (LIBGCC2_HAS_TF_MODE): New.
      	(LIBGCC2_TF_CEXT): Likewise.
      	(TF_SIZE): Likewise.
      	(TARGET_INIT_LIBFUNCS): Likewise.
      
      	* config/ia64/t-glibc: Add $(srcdir)/config/ia64/libgcc-glibc.ver
      	to SHLIB_MAPFILES.
      
      libgcc/
      
      2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* config.host: Add ia64/t-fprules-softfp ia64/t-softfp-compat
      	to tmake_file for ia64*-*-linux*.
      
      	* Makefile.in (gen-hide-list): Ignore .*_compat and .*@.*.
      
      	* config/ia64/__divxf3.asm: New.
      	* config/ia64/_fixtfdi.asm: Likewise.
      	* config/ia64/_fixunstfdi.asm: Likewise.
      	* config/ia64/_floatditf.asm: Likewise.
      	* config/ia64/t-fprules-softfp: Likewise.
      	* config/ia64/t-softfp-compat: Likewise.
      	* config/ia64/tf-signs.c: Likewise.
      
      From-SVN: r144130
      H.J. Lu committed
  38. 20 Jan, 2009 1 commit