2026-04-17  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/sfp-exceptions.c: New file.
	* config/arm/sfp-machine.h: Define FP_HANDLE_EXCEPTIONS, FP_EX_*
	MACROs, _FP_DECL_EX, FP_ROUNDMODE, FP_INIT_ROUNDMODE, FP_RND_* MACROs
	and declare __sfp_handle_exceptions.
	* config/arm/t-softfp: Add sfp-exceptions.c to LIB2ADD.

2026-04-15  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* libgcov-driver-system.c (gcov_exit_open_gcda_file): Handle
	potential NULL value from malloc.

2026-03-30  Saurabh Jha  <saurabh.jha@arm.com>
	    Evgeny Karpov  <evgeny.karpov@arm.com>

	* config.host: Disable soft floating point.

2026-03-28  Alexandre Oliva  <oliva@adacore.com>

	* config/gthr-vxworks-tls.c (TLS_DELETE_HOOK_ARG): Type-cast
	NULL constant to avoid warning.
	* config/t-vxworks (LIBGCC2_CFLAGS): Tolerate unused-parameter
	and discarded-qualifiers errors.

2026-03-25  Alexandre Oliva  <oliva@adacore.com>

	* config/gthr-vxworks.h (__GTHREAD_ALWAYS_INLINE,
	__GTHREAD_INLINE): Copy from gthr-posix.h.  Replace static
	inline with __GTHREAD_INLINE.

2026-03-13  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/libgcc-bpabi.ver: Add new symbols.
	* config/arm/t-softfp: Enable use of floatbitinthf and pass necessary options to build fp16.

2026-03-06  Saurabh Jha  <saurabh.jha@arm.com>
	    Evgeny Karpov  <evgeny.karpov@arm.com>

	* config.host: Set tmake_eh_file for aarch64-*-mingw* and update
	it for x86_64-*-mingw* and x86_64-*-cygwin*.
	* config/i386/t-seh-eh: Move to...
	* config/mingw/t-seh-eh: ...here.
	* config/aarch64/t-no-eh: Removed.

2026-03-05  Alice Carlotti  <alice.carlotti@arm.com>

	PR target/124333
	* config/aarch64/cpuinfo.c: Define __aarch64_cpu_features
	unconditionally.

2026-02-23  Alice Carlotti  <alice.carlotti@arm.com>

	* config/aarch64/libgcc-sme.ver: Add __arm_get_current_vg.
	* config/aarch64/t-aarch64: Add new source file.
	* config/aarch64/__arm_get_current_vg.S: New file.

2026-02-06  Torbjörn SVENSSON  <torbjorn.svensson@foss.st.com>

	* config/i386/gthr-win32.h: Replace CONST_CAST2 with expanded
	expression where used.
	* config/pa/gthr-dce.h: Likewise.

2026-01-24  Xin Wang  <wangxinw@hygon.cn>

	* sync.c: Replace UOItype with UTItype and use mode(TI) pass 16, not
	8, to DEFINE macro.

2026-01-13  Jakub Jelinek  <jakub@redhat.com>

	PR libstdc++/123396
	* config/t-slibgcc (SHLIB_ASNEEDED_SOLINK,
	SHLIB_MAKE_ASNEEDED_SOLINK, SHLIB_INSTALL_ASNEEDED_SOLINK): New
	vars.
	(SHLIB_LINK): Include $(SHLIB_MAKE_ASNEEDED_SOLINK).
	(SHLIB_INSTALL): Include $(SHLIB_INSTALL_ASNEEDED_SOLINK).

2026-01-13  Kito Cheng  <kito.cheng@sifive.com>

	PR target/117581
	* config/riscv/libgcc-riscv.ver: New file.
	* config/riscv/t-elf (SHLIB_MAPFILES): Add libgcc-riscv.ver.
	* config/riscv/t-softfp32 (softfp_extras): Add floatbitinttf and
	fixtfbitint.

2026-01-11  Jerome Guitton  <guitton@adacore.com>

	* config/gthr-vxworks.h: Remove #include of tickLib.h.

2026-01-10  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config.host: Include s390/t-float16.
	* config/s390/libgcc-glibc.ver: Export symbols
	__trunc{sf,df,tf}hf2, __extendhf{sf,df,tf}2, __fix{,uns}hfti,
	__float{,un}tihf, __floatbitinthf.
	* config/s390/t-softfp: Add to softfp_extras instead of setting
	it.
	* configure: Regenerate.
	* configure.ac: Support float16 only for 64-bit targets z10 and
	newer.
	* config/s390/_dpd_dd_to_hf.c: New file.
	* config/s390/_dpd_hf_to_dd.c: New file.
	* config/s390/_dpd_hf_to_sd.c: New file.
	* config/s390/_dpd_hf_to_td.c: New file.
	* config/s390/_dpd_sd_to_hf.c: New file.
	* config/s390/_dpd_td_to_hf.c: New file.
	* config/s390/t-float16: New file.

2026-01-07  Xinhui Yang  <cyan@cyano.uk>

	* config.host (ia64): include unwind-compat only if the system
	libunwind is being used.
	* config/ia64/t-linux-libunwind: include libgcc symver definition
	for libgcc symbols, since it bears the same role as t-linux
	(except libunwind); Include fde-glibc.c since the unwind
	implementation requires _Unwind_FindTableEntry in this file.
	* config/ia64/unwind-ia64.c: protect _Unwind_FindTableEntry inside
	inihbit_libc ifndefs to allow it to build with newlib or
	without proper headers.

2026-01-07  Vladimir Vishniakov  <volodia@hex-rays.com>

	* config/v850/lib1funcs.S (__return_r26_r31): Use compact
	add form to adjust stack pointer.
	(__save_r27_r31): Likewise.
	(__save_r29_r31): Likewise.
	(__save_r31): Likewise.
	(__return_r27_r31): Likewise.
	(__return_r28_r31): Likewise.
	(__return_r29_r31): Likewise.
	(__return_r31): Likewise.
	(__return_r2_r31): Likewise.

2026-01-07  Vladimir Vishniakov  <volodia@hex-rays.com>

	PR target/123403
	* config/v850/lib1funcs.S (__return_r25_r29): Fix ! __EP__ clause to
	use SP, not EP.
	(__return_r2_r31): Fix offsets to match store offsets.

2025-12-15  Peter Damianov  <peter0x44@disroot.org>

	* config/score/crti.S: Delete.
	* config/score/crtn.S: Delete.
	* config/score/sfp-machine.h: Delete.

2025-12-12  mengqinggang  <mengqinggang@loongson.cn>

	* configure: Regenerate.
	* configure.ac:
	* config/loongarch/t-crtstuff-la32: New file.
	* config/loongarch/t-crtstuff: Rename to t-crtstuff-la64.
	* config/loongarch/t-crtstuff-la64: New file.

2025-12-09  John Ericson  <git@JohnEricson.me>

	* config/rs6000/t-slibgcc-aix: Instead of using a
	TARGET_SYSTEM_ROOT make variable, just define a shell variable
	as part of the rule and use that.

2025-12-09  John Ericson  <git@JohnEricson.me>

	* Makefile.in: Define NO_PIE_CFLAGS make variable via autoconf
	substitution.
	* configure: Regenerate.
	* configure.ac: New configure check to define NO_PIE_CFLAGS
	using the algorithm Andrew asked for in the linked mail.

2025-12-09  John Ericson  <git@johnericson.me>

	* configure: Regenerate.
	* configure.ac: Use GCC_AC_THREAD_MODEL instead of hand-rolled

2025-11-27  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/cpuinfo.c (HWCAP_LOONGARCH_LSX): Define
	it if it is not defined.
	(HWCAP_LOONGARCH_LASX): Likewise.

2025-11-21  LIU Hao  <lh_mouse@126.com>

	PR target/122275
	* config/i386/32/dfp-machine.h (DFP_GET_ROUNDMODE): Change `_frnd_orig` to
	`unsigned short` for x87 control word.
	(DFP_SET_ROUNDMODE): Manipulate the x87 control word as `unsigned short`,
	and manipulate the MXCSR as `unsigned int`.

2025-11-11  Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/t-loongarch64: Add cpuinfo.c to LIB2ADD.
	* config/loongarch/cpuinfo.c: New file.

2025-10-25  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Replace $(VSB_DIR)
	by sysroot references.

2025-10-20  Olivier Hainque  <hainque@adacore.com>
	    Ashley Gay  <gay@adacore.com>

	* config/gthr-vxworks.h: Include stdatomic.h and prevent indirect
	inclusion of contents from the system version of that header.

2025-10-20  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks-thread.c (__init_gthread_tcb): Make static.
	(__delete_gthread_tcb): Likewise.
	(__task_wrapper): Likewise.
	(__gthread_create): Convert __task_wrapper to (void *) before going
	to (FUNCPTR).
	* config/gthr-vxworks-tls.c (tls_delete_hook): Accommodate prototype
	variations between kernel and rtp. Return STATUS.

2025-10-20  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks: -include vxworks-predef.h explicitly, as the
	automatic inclusion is disabled by -nostdinc.

2025-10-07  H.J. Lu  <hjl.tools@gmail.com>

	PR target/120691
	* Makefile.in (DECNUMINC): Add -I$(srcdir)/config/$(cpu_type).
	* config/i386/dfp-machine.h: New file.
	* config/i386/32/dfp-machine.h: Likewise.
	* config/i386/64/dfp-machine.h: Likewise.

2025-09-30  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/t-softfp: Don't use softfp_wrap for bitint functions.
	(softfp_cflags): New parameter that is passed to the building of bitint
	functions.

2025-09-25  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/sync-libfuncs.c (atomic_store_8): Fix asm.

2025-09-19  Jim Lin  <jim@andestech.com>

	* config/riscv/save-restore.S: Only save/restore the registers
	which are really used for ILP32E/LP64.

2025-08-21  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/libgcc-eabi.ver: Add __pruabi_softmpyi and
	__pruabi_softmpyll symbols.
	* config/pru/t-pru: Add softmpy source files.
	* config/pru/pru-softmpy.h: New file.
	* config/pru/softmpyi.c: New file.
	* config/pru/softmpyll.c: New file.

2025-08-13  Yang Yujie  <yangyujie@loongson.cn>

	PR target/117599
	* config/loongarch/t-softfp-tf: Enable _BitInt helper functions.
	* config/loongarch/t-loongarch: Same.
	* config/loongarch/libgcc-loongarch.ver: New file.

2025-08-13  Yang Yujie  <yangyujie@loongson.cn>

	* config.host: Remove unused code. Include LoongArch-specific
	tmake_files after the OS-specific ones.

2025-08-08  Christophe Lyon  <christophe.lyon@linaro.org>

	PR libgcc/117600
	* Makefile.in (WERROR): New.
	* config/aarch64/t-aarch64: Handle WERROR.
	* configure: Regenerate.
	* configure.ac: Add support for --enable-werror.

2025-08-07  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config/s390/libgcc-glibc.ver: Export _BitInt support
	functions.
	* config/s390/t-softfp (softfp_extras): Add fixtfbitint
	floatbitinttf.

2025-08-07  Stefan Schulze Frielinghaus  <stefansf@gcc.gnu.org>

	* config.host: Include makefiles t-softfp for -m64.
	* config/s390/sfp-exceptions.c: New file.
	* config/s390/sfp-machine.h: New file.
	* config/s390/t-softfp: New file.

2025-08-06  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/121397
	* enable-execute-stack-mprotect.c (check_enabling): Remove useless
	forward declaration.

2025-07-31  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/cpuinfo.c (__init_cpu_features_constructor):
	Remove unused features, add support for CSSC and MOPS.

2025-07-31  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/cpuinfo.c: Cleanup HWCAP defines.

2025-07-31  Yury Khrustalev  <yury.khrustalev@arm.com>

	* config/aarch64/cpuinfo.c (__ifunc_arg_t): Likewise.
	(__init_cpu_features): obtain and assign values for the
	fields _hwcap3 and _hwcap4.
	(__init_cpu_features_constructor): check _size in the
	arg argument.

2025-07-17  Richard Sandiford  <richard.sandiford@arm.com>
	    Yury Khrustalev  <yury.khrustalev@arm.com>

	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):
	If a signal was raised while there was an uncommitted lazy save,
	commit the save as part of the unwind process.

2025-07-16  John Ericson  <git@JohnEricson.me>

	* Makefile.in:  Delete dead `MACHMODE_H` variable

2025-07-10  Jan Dubiec  <jdx@o2.pl>

	PR target/116363
	* libgcc2.c (__fixunssfDI): Fix SFtype to UDWtype conversion for targets
	without LIBGCC2_HAS_DF_MODE defined

2025-05-27  Jakub Jelinek  <jakub@redhat.com>

	* config/t-softfp (softfp_bid_list): Don't guard with
	$(enable_decimal_float) == bid.
	* soft-fp/bitint.h (__bid_pow10bitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_pow10bitint.
	(__dpd_d2bbitint, __dpd_b2dbitint): Declare.
	* soft-fp/bitintpow10.c (__dpd_d2bbitint, __dpd_b2dbitint): New
	variables.
	* soft-fp/fixsdbitint.c (__bid_fixsdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixsdbitint.
	Add DPD support.  Fix big-endian support.
	* soft-fp/fixddbitint.c (__bid_fixddbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixddbitint.
	Add DPD support.  Fix big-endian support.
	* soft-fp/fixtdbitint.c (__bid_fixtdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixtdbitint.
	Add DPD support.  Fix big-endian support.
	* soft-fp/fixsdti.c (__bid_fixsdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixsdbitint.
	(__bid_fixsdti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_fixsdti.
	* soft-fp/fixddti.c (__bid_fixddbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixddbitint.
	(__bid_fixddti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_fixddti.
	* soft-fp/fixtdti.c (__bid_fixtdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixtdbitint.
	(__bid_fixtdti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_fixtdti.
	* soft-fp/fixunssdti.c (__bid_fixsdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixsdbitint.
	(__bid_fixunssdti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_fixunssdti.
	* soft-fp/fixunsddti.c (__bid_fixddbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixddbitint.
	(__bid_fixunsddti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_fixunsddti.
	* soft-fp/fixunstdti.c (__bid_fixtdbitint): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_fixtdbitint.
	(__bid_fixunstdti): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_fixunstdti.
	* soft-fp/floatbitintsd.c (__bid_floatbitintsd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintsd.
	Add DPD support.  Avoid calling __builtin_clzll with 0 argument.  Fix
	big-endian support.
	* soft-fp/floatbitintdd.c (__bid_floatbitintdd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintdd.
	Add DPD support.  Avoid calling __builtin_clzll with 0 argument.  Fix
	big-endian support.
	* soft-fp/floatbitinttd.c (__bid_floatbitinttd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitinttd.
	Add DPD support.  Avoid calling __builtin_clzll with 0 argument.  Fix
	big-endian support.
	* soft-fp/floattisd.c (__bid_floatbitintsd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintsd.
	(__bid_floattisd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_floattisd.
	* soft-fp/floattidd.c (__bid_floatbitintdd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintdd.
	(__bid_floattidd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_floattidd.
	* soft-fp/floattitd.c (__bid_floatbitinttd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitinttd.
	(__bid_floattitd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine to
	__dpd_floattitd.
	* soft-fp/floatuntisd.c (__bid_floatbitintsd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintsd.
	(__bid_floatuntisd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_floatuntisd.
	* soft-fp/floatuntidd.c (__bid_floatbitintdd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitintdd.
	(__bid_floatuntidd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_floatuntidd.
	* soft-fp/floatuntitd.c (__bid_floatbitinttd): For
	!defined(ENABLE_DECIMAL_BID_FORMAT) redefine to __dpd_floatbitinttd.
	(__bid_floatuntitd): For !defined(ENABLE_DECIMAL_BID_FORMAT) redefine
	to __dpd_floatuntitd.

2025-05-25  LIU Hao  <lh_mouse@126.com>

	* config.host: Enable mcf thread model for aarch64-*-mingw*.
	* config/i386/t-mingw-mcfgthread: Move to...
	* config/mingw/t-mingw-mcfgthread: ...here.

2025-05-21  Alexandre Oliva  <oliva@adacore.com>

	* config/gthr-vxworks-thread.c: Include string.h for memset.

2025-05-20  Jakub Jelinek  <jakub@redhat.com>

	* libgcc-std.ver.in (GCC_14.0.0): Remove bitint related exports
	from here.
	* config/i386/libgcc-glibc.ver (GCC_14.0.0): Add them here.
	* config/i386/libgcc-darwin.ver (GCC_14.0.0): Likewise.
	* config/i386/libgcc-sol2.ver (GCC_14.0.0): Likewise.
	* config/aarch64/libgcc-softfp.ver (GCC_14.0.0): Likewise.

2025-05-20  Jakub Jelinek  <jakub@redhat.com>

	* libgcc2.c (bitint_reduce_prec): For big endian
	__LIBGCC_BITINT_ORDER__ use ++*p and --*p instead of
	++p and --p.
	* soft-fp/bitint.h (bitint_reduce_prec): Likewise.

2025-05-17  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/lib1funcs.S (ashiftrt_r4_32): Increase alignment.
	(movemem): Force alignment of the mova intruction.

2025-04-25  Thomas Schwinge  <tschwinge@baylibre.com>

	PR target/119853
	PR target/119854
	* config/gcn/crt0.c (_fini_array): Call
	'__GCC_offload___cxa_finalize'.
	* config/nvptx/gbl-ctors.c (__static_do_global_dtors): Likewise.

2025-04-19  Jiaxun Yang  <jiaxun.yang@flygoat.com>

	PR target/118257
	* config/sh/sfp-machine.h (_FPU_GETCW): Implement with builtin.
	(_FPU_SETCW): Likewise.
	(FP_EX_ENABLE_SHIFT): Derive from arch spec.
	(FP_EX_CAUSE_SHIFT): Likewise.
	(FP_RND_MASK): Likewise.
	(FP_EX_INVALID): Likewise.
	(FP_EX_DIVZERO): Likewise.
	(FP_EX_ALL): Likewise.
	(FP_EX_OVERFLOW): Likewise.
	(FP_EX_UNDERFLOW): Likewise.
	(FP_EX_INEXACT): Likewise.
	(_FP_DECL_EX): Declear default FCSR value.
	(FP_RND_NEAREST): Derive from arch spec.
	(FP_RND_ZERO): Likewise.
	(FP_INIT_ROUNDMODE): Likewise.
	(FP_ROUNDMODE): Likewise.
	(FP_TRAPPING_EXCEPTIONS): Likewise.
	(FP_HANDLE_EXCEPTIONS): Implement with _FPU_SETCW.

2025-04-19  Jiaxun Yang  <jiaxun.yang@flygoat.com>

	PR target/111814
	* config/sh/sfp-machine.h (_FP_NANFRAC_B): Reverse signaling bit.
	(_FP_NANFRAC_H): Likewise.
	(_FP_NANFRAC_S): Likewise.
	(_FP_NANFRAC_D): Likewise.
	(_FP_NANFRAC_Q): Likewise.
	(_FP_KEEPNANFRACP): Enable for target.
	(_FP_QNANNEGATEDP): Enable for target.
	(_FP_CHOOSENAN): Port from MIPS.

2025-04-14  Thomas Schwinge  <tschwinge@baylibre.com>

	PR target/118794
	* config/gcn/unwind-gcn.c (_Unwind_Resume): New.
	* config/nvptx/unwind-nvptx.c (_Unwind_Resume): Likewise.

2025-04-14  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/119673
	* config/i386/gthr-win32.h (__GTHREAD_ALWAYS_INLINE): New macro.
	(__GTHREAD_INLINE): Likewise.
	(__GTHR_W32_InterlockedCompareExchange): Delete.
	(__gthread_active_p): Mark as __GTHREAD_INLINE instead of
	static inline.
	(__gthread_create): Likewise.
	(__gthread_join): Likewise.
	(__gthread_self): Likewise.
	(__gthread_detach): Likewise.
	(__gthread_equal): Likewise.
	(__gthread_yield): Likewise.
	(__gthread_once): Likewise.
	(__gthread_key_create): Likewise.
	(__gthread_key_delete): Likewise.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_mutex_init_function): Likewise.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_mutex_lock): Likewise.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_timedlock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_cond_init_function): Likewise.
	(__gthread_cond_broadcast): Likewise.
	(__gthread_cond_signal): Likewise.
	(__gthread_cond_wait): Likewise.
	(__gthread_cond_timedwait): Likewise.
	(__GTHREAD_WIN32_INLINE): Likewise.
	(__GTHREAD_WIN32_COND_INLINE): Likewise.
	(__gthread_recursive_mutex_init_function): Likewise.
	(__gthread_recursive_mutex_destroy): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_cond_destroy): Likewise.
	(__gthread_cond_wait_recursive): Likewise.

2025-04-08  Thomas Schwinge  <tschwinge@baylibre.com>

	* config/gcn/unwind-gcn.c (_Unwind_RaiseException)
	(_Unwind_Resume_or_Rethrow): New.
	* config/nvptx/unwind-nvptx.c (_Unwind_RaiseException)
	(_Unwind_Resume_or_Rethrow): Likewise.

2025-04-08  Thomas Schwinge  <tschwinge@baylibre.com>

	* config/gcn/unwind-gcn.c (_Unwind_DeleteException): New.
	* config/nvptx/unwind-nvptx.c (_Unwind_DeleteException): Likewise.

2025-04-07  Thomas Schwinge  <tschwinge@baylibre.com>

	* config/nvptx/alloca.c: New.
	* config/nvptx/t-nvptx (LIB2ADD): Add it.

2025-04-07  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (__mulhisi3, __umulhisi3): Use
	__mulhisi3_helper for better performance on AVRrc.

2025-04-06  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/t-avr (LIB1ASMFUNCS): Add (and remove from
	FUNCS_notiny): _mulhisi3, _umulhisi3, _mulqq3, _mulhq3, _muluhq3,
	_mulha3, _muluha3 _muluha3_round, _usmuluha3, _ssmulha3,
	_divqq3, _udivuqq3, _divqq_helper, _divhq3, _udivuhq3.
	_divha3 _udivuha3, _ssneg_2, _ssabs_1, _ssabs_2,
	_mask1, _ret, _roundqq3 _rounduqq3,
	_round_s2, _round_u2, _round_2_const, _addmask_2.
	* config/avr/lib1funcs.S (__umulhisi3, __mulhisi3): Make
	work on AVRrc.
	* config/avr/lib1funcs-fixed.S: Build 8-bit and 16-bit functions
	on AVRrc, too.

2025-04-05  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (__umulhisi3) [Have MUL]: Reduce call
	depth by 1.

2025-03-22  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/t-avr (LIB1ASMFUNCS, LIB2FUNCS_EXCLUDE):
	Properly handle avrtiny.

2025-03-14  Thomas Schwinge  <thomas@codesourcery.com>

	Revert:
	2023-12-23  Thomas Schwinge  <thomas@codesourcery.com>

	* c++-minimal/README: New.
	* c++-minimal/guard.c: New.
	* config/gcn/t-amdgcn (LIB2ADD): Add it.
	* config/nvptx/t-nvptx (LIB2ADD): Likewise.

2025-03-13  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/cpuinfo.c (__init_cpu_features_constructor):
	Remove FEAT_PREDRES and FEAT_LS64* support.

2025-03-10  Jakub Jelinek  <jakub@redhat.com>
	    Michael Leuchtenburg  <michael@slashhome.org>

	PR libgcc/119151
	* unwind-dw2-btree.h (btree_split_inner): Add size argument.  If
	left_fence is in the middle of [target,target + size - 1] range,
	increase it to target + size - 1.
	(btree_insert): Adjust btree_split_inner caller.  If fence is smaller
	than base + size - 1, increase it and separator of the slot to
	base + size - 1.

2025-03-10  Jakub Jelinek  <jakub@redhat.com>

	* unwind-dw2-btree.h: Formatting fixes.

2025-03-01  Jan Dubiec  <jdx@o2.pl>

	PR target/114222
	* config/h8300/t-h8300: Add __ffshi2().
	* config/h8300/ffshi2.c: New file.

2025-02-18  Roman Kagan  <rkagan@amazon.de>

	* config/i386/linux-unwind.h: Remove preprocessor
	condition to enable fallback path for all libc-s.

2025-02-17  Lulu Cheng  <chenglulu@loongson.cn>

	PR target/118844
	* config/loongarch/t-crtstuff: Add '-mcmodel=extreme'
	to CRTSTUFF_T_CFLAGS_S.

2025-02-12  Yangyu Chen  <cyy@cyyself.name>

	* config/riscv/feature_bits.c (RISCV_VENDOR_FEATURE_BITS_LENGTH): Drop.
	(__init_riscv_features_bits_linux): Drop.

2025-02-08  Dimitry Andric  <dimitry@andric.com>

	PR target/118685
	* config.host (*-*-freebsd*): Add crtbeginT.o to extra_parts.

2025-02-07  Peter Bergner  <bergner@linux.ibm.com>

	PR target/117674
	* config/rs6000/linux-unwind.h (ppc_backchain_fallback): Add cast to
	avoid comparison between pointer and integer warning.

2025-01-30  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/t-avr (LIB1ASMFUNCS): Add _strlen_memx.
	* config/avr/lib1funcs.S <L_strlen_memx, __strlen_memx>: Implement.

2025-01-28  Richard Earnshaw  <rearnsha@arm.com>

	PR target/118642
	* config/arm/sync-none.specs (link): Only add the defsym if
	libgcc will be used.
	* config/arm/sync-dmb.specs: Likewise.
	* config/arm/sync-cp15dmb.specs: Likewise.

2025-01-17  Monk Chiang  <monk.chiang@sifive.com>

	* config/riscv/crti.S: Add lpad instructions.
	* config/riscv/crtn.S: Likewise.
	* config/riscv/save-restore.S: Likewise.
	* config/riscv/riscv-asm.h: Add GNU_PROPERTY for ZICFILP,
	ZICFISS.
	Co-Developed-by: Jesse Huang <jesse.huang@sifive.com>

2025-01-17  Monk Chiang  <monk.chiang@sifive.com>

	* config/riscv/linux-unwind.h: Include shadow-stack-unwind.h.
	* config/riscv/shadow-stack-unwind.h
	(_Unwind_Frames_Extra): Define.
	(_Unwind_Frames_Increment): Define.

2025-01-07  Keith Packard  <keithp@keithp.com>

	* config/m68k/fpgnulib.c (extenddfxf2): Simplify code by removing code
	that should never execute.  Fix denorm shift test and insert hidden bit
	as needed.
	(__truncxfdf2): Properly compue and shift the significant right.
	* config/m68k/lb1sf68.S (__fixxfsi): Correct shift counts and simplify.
	(QUIET_NAN): Make it a positive quiet NaN and fix return values to inject
	sign properly.

2025-01-06  Stafford Horne  <shorne@gmail.com>

	* config/or1k/lib1funcs.S: Add .note.GNU-stack section on linux.

2024-12-12  Georg-Johann Lay  <avr@gjlay.de>

	PR target/118001
	* config/avr/t-avr (LIB1ASMFUNCS): Add _fload_1, _fload_2,
	_fload_3, _fload_4, _movmemf.
	* config/avr/lib1funcs.S (.branch_plus): New .macro.
	(__xload_1, __xload_2, __xload_3, __xload_4): When the address is
	located in flash, then forward to...
	(__fload_1, __fload_2, __fload_3, __fload_4): ...these new
	functions, respectively.
	(__movmemx_hi): When the address is located in flash, forward to...
	(__movmemf_hi): ...this new function.

2024-11-30  Jakub Jelinek  <jakub@redhat.com>

	PR libgomp/117851
	* configure.ac (extra_parts): Add crtoffloadtableS.o.
	* Makefile.in (crtoffloadtableS$(objext)): New goal.
	* configure: Regenerated.

2024-11-29  Yury Khrustalev  <yury.khrustalev@arm.com>

	* config/aarch64/aarch64-unwind.h (_CHKFEAT_GCS): Add.

2024-11-29  Yury Khrustalev  <yury.khrustalev@arm.com>

	* config/aarch64/aarch64-unwind.h (_Unwind_Frames_Extra): Update.
	(_Unwind_Frames_Increment): Update

2024-11-25  Sandra Loosemore  <sloosemore@baylibre.com>

	* config/nios2/*: Delete entire directory.
	* config.host: Remove refences to nios2.
	* unwind-dw2-fde-dip.c: Likewise.

2024-11-19  Evgeny Karpov  <evgeny.karpov@microsoft.com>

	* config.host: Update.
	* config/aarch64/t-mingw: New.

2024-11-18  Jeff Law  <jlaw@ventanamicro.com>

	PR target/117628
	* config/arm/freebsd-atomic.c (bool): Remove unnecessary typedef.
	* config/arm/linux-atomic-64bit.c: Likewise.
	* config/arm/linux-atomic.c: Likewise.
	* config/nds32/linux-atomic.c: Likewise.
	* config/nios2/linux-atomic.c: Likewise.

2024-11-18  Jeff Law  <jlaw@ventanamicro.com>

	PR target/117628
	* config/csky/linux-atomic.c (bool): Remove unnecessary typedef.
	* unwind-arm-common.inc (bool): Similarly.

2024-11-17  John David Anglin  <danglin@gcc.gnu.org>

	PR target/117627
	* config/pa/linux-atomic.c: Remove typedef for bool type.

2024-11-16  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/117624
	* libgcc2.c (INFINITY): Add #undef before #define.

2024-11-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/aarch64-asm.h (FEATURE_1_GCS): Define.
	(GCS_FLAG): Define if GCS is enabled.
	(GNU_PROPERTY): Add GCS_FLAG.

2024-11-14  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/aarch64-unwind.h (_Unwind_Frames_Extra): Update.
	(_Unwind_Frames_Increment): Define.

2024-10-25  Jakub Jelinek  <jakub@redhat.com>

	* crtstuff.c: Remove trailing whitespace.
	* libgcov.h: Likewise.
	* config/alpha/crtfastmath.c: Likewise.
	* config/alpha/vms-gcc_shell_handler.c: Likewise.
	* config/alpha/vms-unwind.h: Likewise.
	* config/pa/linux-atomic.c: Likewise.
	* config/pa/linux-unwind.h: Likewise.
	* config/pa/quadlib.c: Likewise.
	* config/pa/fptr.c: Likewise.
	* config/s390/32/_fixsfdi.c: Likewise.
	* config/s390/32/_fixunssfdi.c: Likewise.
	* config/s390/32/_fixunsdfdi.c: Likewise.
	* config/c6x/pr-support.c: Likewise.
	* config/lm32/_udivsi3.c: Likewise.
	* config/lm32/libgcc_lm32.h: Likewise.
	* config/lm32/_udivmodsi4.c: Likewise.
	* config/lm32/_mulsi3.c: Likewise.
	* config/lm32/_modsi3.c: Likewise.
	* config/lm32/_umodsi3.c: Likewise.
	* config/lm32/_divsi3.c: Likewise.
	* config/darwin-crt3.c: Likewise.
	* config/msp430/mpy.c: Likewise.
	* config/ia64/tf-signs.c: Likewise.
	* config/ia64/fde-vms.c: Likewise.
	* config/ia64/unwind-ia64.c: Likewise.
	* config/ia64/vms-unwind.h: Likewise.
	* config/ia64/sfp-exceptions.c: Likewise.
	* config/ia64/quadlib.c: Likewise.
	* config/ia64/unwind-ia64.h: Likewise.
	* config/rl78/vregs.h: Likewise.
	* config/arm/bpabi.c: Likewise.
	* config/arm/unwind-arm.c: Likewise.
	* config/arm/pr-support.c: Likewise.
	* config/arm/linux-atomic.c: Likewise.
	* config/arm/bpabi-lib.h: Likewise.
	* config/frv/frvend.c: Likewise.
	* config/frv/cmovw.c: Likewise.
	* config/frv/frvbegin.c: Likewise.
	* config/frv/cmovd.c: Likewise.
	* config/frv/cmovh.c: Likewise.
	* config/aarch64/cpuinfo.c: Likewise.
	* config/i386/crtfastmath.c: Likewise.
	* config/i386/cygming-crtend.c: Likewise.
	* config/i386/32/tf-signs.c: Likewise.
	* config/i386/crtprec.c: Likewise.
	* config/i386/sfp-exceptions.c: Likewise.
	* config/i386/w32-unwind.h: Likewise.
	* config/m32r/initfini.c: Likewise.
	* config/sparc/crtfastmath.c: Likewise.
	* config/gcn/amdgcn_veclib.h: Likewise.
	* config/nios2/linux-atomic.c: Likewise.
	* config/nios2/linux-unwind.h: Likewise.
	* config/nios2/lib2-mul.c: Likewise.
	* config/nios2/lib2-nios2.h: Likewise.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise.
	* config/rs6000/darwin-fallback.c: Likewise.
	* config/rs6000/ibm-ldouble.c: Likewise.
	* config/rs6000/sfp-machine.h: Likewise.
	* config/rs6000/darwin-asm.h: Likewise.
	* config/rs6000/darwin-crt2.c: Likewise.
	* config/rs6000/aix-unwind.h: Likewise.
	* config/rs6000/sfp-exceptions.c: Likewise.
	* config/gthr-vxworks.c: Likewise.
	* config/riscv/atomic.c: Likewise.
	* config/visium/memcpy.c: Likewise.
	* config/darwin-crt-tm.c: Likewise.
	* config/stormy16/lib2funcs.c: Likewise.
	* config/arc/ieee-754/divtab-arc-sf.c: Likewise.
	* config/arc/ieee-754/divtab-arc-df.c: Likewise.
	* config/arc/initfini.c: Likewise.
	* config/sol2/gmon.c: Likewise.
	* config/microblaze/divsi3_table.c: Likewise.
	* config/m68k/fpgnulib.c: Likewise.
	* libgcov-driver.c: Likewise.
	* unwind-dw2.c: Likewise.
	* fp-bit.c: Likewise.
	* dfp-bit.h: Likewise.
	* dfp-bit.c: Likewise.
	* libgcov-driver-system.c: Likewise.

2024-10-24  David Malcolm  <dmalcolm@redhat.com>
	    Gaius Mulley  <gaiusmod2@gmail.com>

	PR other/116613
	* libgcov-util.c: Add #define INCLUDE_MEMORY.

2024-10-17  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/aarch64/t-aarch64: Always use -Werror
	-Wno-prio-ctor-dtor.

2024-10-17  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/aarch64/cpuinfo.c (__init_cpu_features_resolver): Add
	prototype.
	(__init_cpu_features): Likewise.

2024-10-17  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/aarch64/lse.S: Undefine L() macro.

2024-10-14  Yangyu Chen  <chenyangyu@isrc.iscas.ac.cn>

	* config/riscv/feature_bits.c (__init_riscv_features_bits_linux):
	Add detailed comments on processing implied extensions.

2024-10-14  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/feature_bits.c: New.
	* config/riscv/t-elf (LIB2ADD): Add feature_bits.c.

2024-10-10  Sébastien Michelland  <sebastien.michelland@lcis.grenoble-inp.fr>

	PR target/29845
	* config.host (sh-*-elf*): Replace fdpbit with softfp.
	* config/sh/sfp-machine.h: New file.

2024-10-04  Tsung Chun Lin  <tclin914@gmail.com>

	* config/riscv/save-restore.S: Fix .cfi_offset for saving ra in
	__riscv_save_[0-3] on ilp32e.

2024-10-01  Tsung Chun Lin  <tclin914@gmail.com>

	* config/riscv/save-restore.S: Fix .cfi_offset for
	__riscv_save_[0-3] on RV32.

2024-09-27  Matthieu Longo  <matthieu.longo@arm.com>

	* config/aarch64/aarch64-unwind.h: Fix header path.

2024-09-27  Mark Mentovai  <mark@mentovai.com>

	PR target/116809
	* config.host: Don't build legacy libgcc_s.1 on macOS 14.

2024-09-27  Jim Lin  <jim@andestech.com>

	* config/riscv/save-restore.S: Check with __riscv_abi_rve rather than
	__riscv_32e.

2024-09-26  Nathaniel Shead  <nathanieloshead@gmail.com>

	PR libstdc++/115126
	* gthr-posix.h (__GTHREAD_ALWAYS_INLINE): New macro.
	(__GTHREAD_INLINE): New macro.
	(__gthread_active): Convert from variable to (hidden) function.
	(__gthread_active_p): Mark as __GTHREAD_INLINE instead of
	static; make visibility("hidden") when it has a static local
	variable.
	(__gthread_trigger): Mark as __GTHREAD_INLINE instead of static.
	(__gthread_create): Likewise.
	(__gthread_join): Likewise.
	(__gthread_detach): Likewise.
	(__gthread_equal): Likewise.
	(__gthread_self): Likewise.
	(__gthread_yield): Likewise.
	(__gthread_once): Likewise.
	(__gthread_key_create): Likewise.
	(__gthread_key_delete): Likewise.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_mutex_init_function): Likewise.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_mutex_lock): Likewise.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_timedlock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_init_function): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_recursive_mutex_timedlock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_destroy): Likewise.
	(__gthread_cond_init_function): Likewise.
	(__gthread_cond_broadcast): Likewise.
	(__gthread_cond_signal): Likewise.
	(__gthread_cond_wait): Likewise.
	(__gthread_cond_timedwait): Likewise.
	(__gthread_cond_wait_recursive): Likewise.
	(__gthread_cond_destroy): Likewise.
	(__gthread_rwlock_rdlock): Likewise.
	(__gthread_rwlock_tryrdlock): Likewise.
	(__gthread_rwlock_wrlock): Likewise.
	(__gthread_rwlock_trywrlock): Likewise.
	(__gthread_rwlock_unlock): Likewise.
	* gthr-single.h: (__GTHREAD_ALWAYS_INLINE): New macro.
	(__GTHREAD_INLINE): New macro.
	(__gthread_active_p): Mark as __GTHREAD_INLINE instead of static.
	(__gthread_once): Likewise.
	(__gthread_key_create): Likewise.
	(__gthread_key_delete): Likewise.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_mutex_lock): Likewise.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_destroy): Likewise.

2024-09-24  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/116809
	* config.host: Build legacy libgcc_s.1 on hosts before macOS 15.
	* config/i386/t-darwin: Remove reference to legacy libgcc_s.1
	* config/rs6000/t-darwin: Likewise.
	* config/t-darwin-libgccs1: New file.

2024-09-23  Matthieu Longo  <matthieu.longo@arm.com>

	* config/aarch64/aarch64-asm.h (PACIASP): Replace SPARC CFI
	directive by AArch64 one.
	(AUTIASP): Same.

2024-09-23  Matthieu Longo  <matthieu.longo@arm.com>

	* Makefile.in: New target for symbolic link to md-unwind-def.h
	* config.host: New parameter md_unwind_def_header. Set it to
	aarch64/aarch64-unwind-def.h for AArch64 targets, or no-unwind.h
	by default.
	* config/aarch64/aarch64-unwind.h
	(aarch64_pointer_auth_key): Move to aarch64-unwind-def.h
	(aarch64_cie_aug_handler): Update.
	(aarch64_arch_extension_frame_init): Update.
	(aarch64_demangle_return_addr): Update.
	* configure.ac: New substitute variable md_unwind_def_header.
	* unwind-dw2.h (defined): MD_ARCH_FRAME_STATE_T.
	* config/aarch64/aarch64-unwind-def.h: New file.
	* configure: Regenerate.
	* config/no-unwind.h: Updated comment

2024-09-23  Matthieu Longo  <matthieu.longo@arm.com>

	* config/aarch64/aarch64-unwind.h
	(MD_FRAME_LOCAL_REGISTER_P): new handler checking whether a register
	from the current context needs to be skipped before installation into
	the target context.
	(aarch64_frame_local_register): Likewise.
	* unwind-dw2.c (uw_install_context_1): use MD_FRAME_LOCAL_REGISTER_P.

2024-09-23  Matthieu Longo  <matthieu.longo@arm.com>

	* config/aarch64/aarch64-unwind.h
	(AARCH64_DWARF_RA_STATE_MASK): The mask for RA state register.
	(aarch64_ra_signing_method_t): The diversifiers used to sign a
	function's return address.
	(aarch64_pointer_auth_key): The key used to sign a function's
	return address.
	(aarch64_cie_signed_with_b_key): Deleted as the signing key is
	available now in _Unwind_FrameState.
	(MD_ARCH_EXTENSION_CIE_AUG_HANDLER): New CIE augmentation string
	handler for architecture extensions.
	(MD_ARCH_EXTENSION_FRAME_INIT): New architecture-extension
	initialization routine for DWARF frame state and context before
	execution of DWARF instructions.
	(aarch64_context_ra_state_get): Read RA state register from CONTEXT.
	(aarch64_ra_state_get): Read RA state register from FS.
	(aarch64_ra_state_set): Write RA state register into FS.
	(aarch64_ra_state_toggle): Toggle RA state register in FS.
	(aarch64_cie_aug_handler): Handler AArch64 augmentation strings.
	(aarch64_arch_extension_frame_init): Initialize defaults for the
	signing key (PAUTH_KEY_A), and RA state register (RA_no_signing).
	(aarch64_demangle_return_addr): Rely on the frame registers and
	the signing_key attribute in _Unwind_FrameState.
	* unwind-dw2-execute_cfa.h:
	Use the right alias DW_CFA_AARCH64_negate_ra_state for __aarch64__
	instead of DW_CFA_GNU_window_save.
	(DW_CFA_AARCH64_negate_ra_state): Save the signing method in RA
	state register. Toggle RA state register without resetting 'how'
	to REG_UNSAVED.
	* unwind-dw2.c:
	(extract_cie_info): Save the signing key in the current
	_Unwind_FrameState while parsing the augmentation data.
	(uw_frame_state_for): Reset some attributes related to architecture
	extensions in _Unwind_FrameState.
	(uw_update_context): Move authentication code to AArch64 unwinding.
	* unwind-dw2.h (enum register_rule): Give a name to the existing
	enum for the register rules, and replace 'unsigned char' by 'enum
	register_rule' to facilitate debugging in GDB.
	(_Unwind_FrameState): Add a new architecture-extension attribute
	to store the signing key.

2024-09-22  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: From macOS 11, limit earliest macOS support
	to macOS 11.
	* config/t-darwin-min-11: New file.

2024-08-27  YunQiang Su  <syq@gcc.gnu.org>

	* config/mips/lib1funcs.S: Includes mips16.S.

2024-06-10  Jan Beulich  <jbeulich@suse.com>

	* config/aarch64/cpuinfo.c: Provide AT_HWCAP2.

2024-06-06  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	PR target/115360
	* config/arm/cmse_nonsecure_call.S: Add .type and .size directives.

2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>
	    Andrew Stubbs  <ams@gcc.gnu.org>

	* config/nvptx/t-nvptx: Add unwind-nvptx.c.
	* config/nvptx/unwind-nvptx.c: New file.

2024-06-06  Thomas Schwinge  <tschwinge@baylibre.com>

	* config/nvptx/gbl-ctors.c ["mgomp"]
	(__do_global_ctors__entry__mgomp)
	(__do_global_dtors__entry__mgomp): New.
	[!"mgomp"] (__do_global_ctors__entry, __do_global_dtors__entry):
	New.

2024-06-05  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR target/115342
	* config/aarch64/cpuinfo.c (__init_cpu_features_constructor):
	Use HWCAP where possible.  Use atomic write for initialization.
	Fix FEAT_PREDRES comparison.
	(__init_cpu_features_resolver): Use atomic load for correct
	initialization.
	(__init_cpu_features): Likewise.

2024-05-31  Thomas Schwinge  <tschwinge@baylibre.com>

	* config/nvptx/crt0.c (__gbl_ctors): New weak function.
	(__main): Invoke it.
	* config/nvptx/gbl-ctors.c: New.
	* config/nvptx/t-nvptx: Configure global constructor, destructor
	support.

2024-05-21  Kewen Lin  <linkw@linux.ibm.com>

	* config.host: Remove powerpc-*-eabispe* support.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Remove
	__SPE__ code.
	* config/rs6000/t-savresfgpr (LIB2ADD_ST): Remove e500crtres32gpr.S,
	e500crtres32gpr.S, e500crtsav64gpr.S, e500crtsav64gprctr.S,
	e500crtres64gpr.S, e500crtsav32gpr.S, e500crtsavg32gpr.S,
	e500crtres64gprctr.S, e500crtsavg64gprctr.S, e500crtresx32gpr.S,
	e500crtrest32gpr.S, e500crtrest64gpr.S and e500crtresx64gpr.S.
	* config/rs6000/e500crtres32gpr.S: Remove.
	* config/rs6000/e500crtres64gpr.S: Remove.
	* config/rs6000/e500crtres64gprctr.S: Remove.
	* config/rs6000/e500crtrest32gpr.S: Remove.
	* config/rs6000/e500crtrest64gpr.S: Remove.
	* config/rs6000/e500crtresx32gpr.S: Remove.
	* config/rs6000/e500crtresx64gpr.S: Remove.
	* config/rs6000/e500crtsav32gpr.S: Remove.
	* config/rs6000/e500crtsav64gpr.S: Remove.
	* config/rs6000/e500crtsav64gprctr.S: Remove.
	* config/rs6000/e500crtsavg32gpr.S: Remove.
	* config/rs6000/e500crtsavg64gpr.S: Remove.
	* config/rs6000/e500crtsavg64gprctr.S: Remove.

2024-05-18  Wolfgang Hospital  <Wolfgang.Hospital@arcor.de>

	PR target/115065
	* config/avr/lib1funcs.S (__clzhi2): Tweak.

2024-05-10  Georg-Johann Lay  <avr@gjlay.de>

	PR target/114981
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _powisf2.
	(LIB1ASMFUNCS) [!avrtiny]: Add _powif.
	* config/avr/lib1funcs.S (mov4): New .macro.
	(L_powif, __powisf2) [!avrtiny]: New module and function.

2024-05-07  Zac Walker  <zacwalker@microsoft.com>

	* config.host: Add aarch64-w64-mingw32 target. Adjust targets
	after moving MinGW files.
	* config/i386/t-gthr-win32: Move to...
	* config/mingw/t-gthr-win32: ...here.
	* config/i386/t-mingw-pthread: Move to...
	* config/mingw/t-mingw-pthread: ...here.
	* config/aarch64/t-no-eh: New file. EH is not yet implemented for
	the target, and the default definition should be disabled.

2024-05-07  Wolfgang Hospital  <Wolfgang.Hospital@arcor.de>

	PR target/114835
	* config/avr/lib1funcs.S (__popcountqi2): Use code that
	is one instruction shorter / faster.

2024-05-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac <*-*-solaris2*> (libgcc_cv_solaris_crts): Remove.
	* config.host <*-*-solaris2*>: Remove !libgcc_cv_solaris_crts
	support.
	* configure, config.in: Regenerate.
	* config/sol2/gmon.c (internal_mcount) [!HAVE_SOLARIS_CRTS]: Remove.
	* config/i386/sol2-c1.S, config/sparc/sol2-c1.S: Remove.
	* config/sol2/t-sol2 (crt1.o, gcrt1.o): Remove.

2024-05-06  Xiao Zeng  <zengxiao@eswincomputing.com>
	    Jin Ma  <jinma@linux.alibaba.com>

	* config/riscv/sfp-machine.h (_FP_NANFRAC_B): New.
	(_FP_NANSIGN_B): Ditto.
	* config/riscv/t-softfp32: Add support for BF16 libfuncs.
	* config/riscv/t-softfp64: Ditto.
	* soft-fp/floatsibf.c: For si -> bf16.
	* soft-fp/floatunsibf.c: For unsi -> bf16.

2024-05-03  Peter Damianov  <peter0x44@disroot.org>

	* libgcov-util.c (tag_counters): Swap order of arguments to xcalloc.
	(topen_to_memory_representation): Likewise.

2024-04-30  Jakub Jelinek  <jakub@redhat.com>

	* gthr.h (GTHREAD_USE_WEAK): Don't redefine to 0 for glibc 2.34+
	on GNU Hurd.

2024-04-25  Jakub Jelinek  <jakub@redhat.com>

	* gthr.h (GTHREAD_USE_WEAK): Redefine to 0 for GLIBC 2.34 or later.

2024-04-21  Georg-Johann Lay  <avr@gjlay.de>

	PR target/114794
	* config/avr/lib1funcs.S (__udivmodqi4): Tweak.

2024-04-19  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/114762
	* libgcc2.c (__divmodbitint4): Perform the decrement on negative
	v with most significant limb all ones and the second least
	significant limb with most significant bit clear always, regardless of
	un < vn.

2024-04-18  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/114755
	* libgcc2.c (__divmodbitint4): Perform the decrement on negative
	v with most significant limb all ones and the second least
	significant limb with most significant bit clear always, regardless of
	un < vn.

2024-04-15  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/114689
	* config/m68k/fpgnulib.c (__truncdfsf2): Add parentheses around
	!!sticky bitwise or operand to quiet up cppcheck.  Add parentheses
	around mant >> 1 bitwise or operand.

2024-04-10  Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/aarch64/t-softfp (softfp_extras): Add floatbitinthf,
	floatbitintbf, floatbitinttf and fixtfbitint.
	* config/aarch64/libgcc-softfp.ver (GCC_14.0.0): Add __floatbitinthf,
	__floatbitintbf, __floatbitinttf and __fixtfbitint.

2024-04-09  Sergey Bugaev  <bugaevc@gmail.com>

	* config.host: Recognize aarch64*-*-gnu* hosts.
	* config/aarch64/gnu-unwind.h: New file.
	* config/aarch64/heap-trampoline.c
	(allocate_trampoline_page): Support GNU/Hurd.

2024-04-04  Jørgen Kvalsvik  <j@lambda.is>

	* libgcov-merge.c (__gcov_merge_ior): New.

2024-04-03  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/cpuinfo.c: Add HWCAP_EVTSTRM, HWCAP_CRC32, HWCAP_CPUID,
	HWCAP_PACA and HWCAP_PACG.

2024-04-02  Jakub Jelinek  <jakub@redhat.com>

	* unwind-dw2-fde.c (struct fde_accumulator): Fix duplicated
	words in comment; is is -> is.

2024-03-25  Max Filippov  <jcmvbkbc@gmail.com>

	* unwind-arm-common.inc (__gnu_personality_sigframe_fdpic): Cast
	last argument of _Unwind_VRS_Set to void *.

2024-03-22  Thomas Neumann  <tneumann@users.sourceforge.net>

	PR libgcc/111731
	* unwind-dw2-fde.c: Split unwind ranges if they contain the
	unwind table.

2024-03-21  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/114397
	* libgcc2.c (__divmodbitint4): Don't assume un < vn always means
	abs(v) > abs(u), check for a special case of un + 1 == vn where
	u is non-negative and v negative and after v's negation vn could
	be reduced by 1.

2024-03-20  Flavio Cruz  <flaviocruz@gmail.com>

	* config/i386/gnu-unwind.h: Support unwinding x86_64 signal frames.

2024-03-15  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/114327
	* libgcc2.c (bitint_negate): Return UWtype bitwise or of all the limbs
	before negation rather than void.
	(__divmodbitint4): Determine whether to fill in the upper limbs after
	negation based on whether bitint_negate returned 0 or non-zero, rather
	then always filling with -1.

2024-02-22  Kewen Lin  <linkw@linux.ibm.com>

	PR target/109987
	* config/rs6000/t-float128-hw: Replace options -mpower{8,9}-vector
	with -mcpu=power9.
	* configure.ac: Update use of option -mpower9-vector with
	-mcpu=power9.
	* configure: Regenerate.

2024-02-21  Iain Sandoe  <iain@sandoe.co.uk>

	* config/aarch64/heap-trampoline.c
	(aarch64_trampoline_insns): Arrange to encode instructions as a
	byte array so that the order is independent of memory byte order.
	(struct aarch64_trampoline): Likewise.

2024-02-20  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/113971
	* config/aarch64/heap-trampoline.c: Allow all linux variants.

2024-02-16  Matteo Italia  <matteo@mitalia.net>

	PR libgcc/113850
	* config/i386/gthr-win32-cond.c (__gthr_win32_abs_to_rel_time):
	fix absolute timespec to relative milliseconds count
	conversion (it incorrectly returned seconds instead of
	milliseconds); this avoids spurious wakeups in
	__gthr_win32_cond_timedwait

2024-02-14  Jakub Jelinek  <jakub@redhat.com>
	    H.J. Lu  <hjl.tools@gmail.com>

	PR target/113855
	* config/i386/heap-trampoline.c (trampoline_insns): Add IBT
	support and pad to the multiple of 4 bytes.  Use movabsq
	instead of movabs in comments.  Add -mx32 variant.

2024-02-13  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/bitint.h (FP_FROM_BITINT): If iprec < 0 and msb is all ones,
	just set n to 1 instead of using __builtin_clzll (~msb).

2024-02-12  Iain Sandoe  <iain@sandoe.co.uk>

	PR target/113855
	* config.host: Add trampoline support to x?86-linux.
	* config/i386/heap-trampoline.c (trampoline_insns): Provide
	a variant for IA32.
	(union ix86_trampoline): Likewise.
	(__gcc_nested_func_ptr_created): Implement a basic trampoline
	for IA32.

2024-02-10  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/floatbitintdd.c (__bid_floatbitintdd): Or in all remainder
	limbs into inexact rather than just first two.
	* soft-fp/floatbitintsd.c (__bid_floatbitintsd): Likewise.
	* soft-fp/floatbitinttd.c (__bid_floatbitinttd): Likewise.

2024-02-10  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/fixddbitint.c (__bid_fixddbitint): Fix up
	BIL_TYPE_SIZE == 32 shifts.
	* soft-fp/fixsdbitint.c (__bid_fixsdbitint): Likewise.
	* soft-fp/fixtdbitint.c (__bid_fixtdbitint): Likewise.
	* soft-fp/floatbitintdd.c (__bid_floatbitintdd): Likewise.
	* soft-fp/floatbitinttd.c (__bid_floatbitinttd): Likewise.

2024-02-09  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/libgcc-darwin.ver: Export bf and bitint-related
	synbols.

2024-02-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/113700
	* config/i386/libgcc-sol2.ver (GCC_14.0.0): Added all symbols from
	i386/libgcc-glibc.ver (GCC_12.0.0, GCC_13.0.0, GCC_14.0.0).
	* config/i386/libgcc-glibc.ver: Request notifications on updates.

2024-02-06  Matteo Italia  <matteo@mitalia.net>

	PR libgcc/113337
	* unwind-seh.c (_Unwind_Resume_or_Rethrow): forward
	_Unwind_RaiseException return code back to caller instead of
	calling abort, allowing __cxa_rethrow to invoke std::terminate
	in case of uncaught rethrown exception

2024-02-02  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/113604
	* libgcc2.c (__divmodbitint4): If uv1 >= vv1, subtract
	vv1 from uv1:uv0 once or twice as needed, rather than
	subtracting vv1:vv1.

2024-02-02  Khem Raj  <raj.khem@gmail.com>

	* config/i386/enable-execute-stack-mingw32.c: Include
	stdlib.h for abort() definition.

2024-02-02  Jakub Jelinek  <jakub@redhat.com>

	PR target/113700
	* config/i386/libgcc-glibc.ver (GCC_14.0.0): Remove __PFX prefixes
	from symbol names.

2024-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/113402
	* libgcc2.h (__gcc_nested_func_ptr_created): Change type of last
	argument from void ** to void *.
	* config/i386/heap-trampoline.c (__gcc_nested_func_ptr_created):
	Change type of dst from void ** to void * and cast dst to void **
	before dereferencing it.
	* config/aarch64/heap-trampoline.c (__gcc_nested_func_ptr_created):
	Likewise.

2024-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/113403
	* config/i386/t-heap-trampoline: Add to LIB2ADDEHSHARED
	i386/heap-trampoline.c rather than aarch64/heap-trampoline.c.

2024-02-01  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/crti.S: Remove stack marking.
	* config/aarch64/crtn.S: Remove stack marking, include aarch64-asm.h
	* config/aarch64/lse.S: Remove stack and GNU property markings.

2024-01-30  Iain Sandoe  <iain@sandoe.co.uk>

	PR libgcc/113403
	* config.host: Build libheap_t.a for i686/x86_64 Darwin.
	* config/aarch64/heap-trampoline.c (HEAP_T_ATTR): New.
	(allocate_tramp_ctrl): Allow a target to build this as a weak def.
	(__gcc_nested_func_ptr_created): Likewise.
	* config/i386/heap-trampoline.c (HEAP_T_ATTR): New.
	(allocate_tramp_ctrl): Allow a target to build this as a weak def.
	(__gcc_nested_func_ptr_created): Likewise.
	* config/t-darwin: Build libheap_t.a (a CRT with heap trampoline
	support).

2024-01-30  Iain Sandoe  <iain@sandoe.co.uk>

	PR libgcc/113403
	* config/aarch64/t-heap-trampoline: Move the heap trampoline
	support functions from libgcc.a to libgcc_eh.a.
	* config/i386/t-heap-trampoline: Likewise.

2024-01-28  Iain Sandoe  <iain@sandoe.co.uk>
	    Jakub Jelinek   <jakub@redhat.com>

	PR libgcc/113402
	* config/aarch64/heap-trampoline.c: Rename
	__builtin_nested_func_ptr_created to __gcc_nested_func_ptr_created and
	__builtin_nested_func_ptr_deleted to __gcc_nested_func_ptr_deleted.
	* config/i386/heap-trampoline.c: Likewise.
	* libgcc2.h: Likewise.
	* libgcc-std.ver.in (GCC_7.0.0): Likewise and then move
	__gcc_nested_func_ptr_created and
	__gcc_nested_func_ptr_deleted from this symbol version to ...
	(GCC_14.0.0): ... this one.

2024-01-26  Andrew Stubbs  <ams@baylibre.com>

	* config/gcn/amdgcn_veclib.h (CDNA3_PLUS): Handle RDNA3.

2024-01-23  Zac Walker  <zacwalker@microsoft.com>

	* config/aarch64/aarch64-asm.h (HIDDEN, SYMBOL_SIZE, SYMBOL_TYPE)
	(ENTRY_ALIGN, GNU_PROPERTY): New macros.
	* config/aarch64/__arm_sme_state.S: Use them.
	* config/aarch64/__arm_tpidr2_save.S: Likewise.
	* config/aarch64/__arm_za_disable.S: Likewise.
	* config/aarch64/crti.S: Likewise.
	* config/aarch64/lse.S: Likewise.

2024-01-12  Jakub Jelinek  <jakub@redhat.com>

	* libgcc2.h (UBILtype): New typedef with may_alias attribute.
	(__mulbitint3, __divmodbitint4): Use UBILtype * instead of
	UWtype * and const UBILtype * instead of const UWtype *.
	* libgcc2.c (bitint_reduce_prec, bitint_mul_1, bitint_addmul_1,
	__mulbitint3, bitint_negate, bitint_submul_1, __divmodbitint4):
	Likewise.
	* soft-fp/bitint.h (UBILtype): Change define into a typedef with
	may_alias attribute.

2024-01-12  Sandra Loosemore  <sandra@codesourcery.com>

	* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Do not try to use
	_dl_find_object on nios2; it doesn't work.

2023-12-23  Thomas Schwinge  <thomas@codesourcery.com>

	* c++-minimal/README: New.
	* c++-minimal/guard.c: New.
	* config/gcn/t-amdgcn (LIB2ADD): Add it.
	* config/nvptx/t-nvptx (LIB2ADD): Likewise.

2023-12-20  Alexandre Oliva  <oliva@adacore.com>

	PR middle-end/112917
	* config.host (sparc, sparc64): Enable...
	* config/sparc/t-sparc: ... this new fragment.

2023-12-20  Alexandre Oliva  <oliva@adacore.com>

	* strub.c (ATTRIBUTE_NOINLINE): New.
	(ATTRIBUTE_STRUB_CALLABLE): Add it.
	(__strub_dummy_force_no_leaf): Drop it.

2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>

	* config/aarch64/cpuinfo.c (enum CPUFeatures): Move to shared
	copy in gcc/common

2023-12-16  Andrew Carlotti  <andrew.carlotti@arm.com>
	    Pavel Iliin  <Pavel.Iliin@arm.com>

	* config/aarch64/t-aarch64: Include cpuinfo.c
	* config/aarch64/cpuinfo.c: New file
	(__init_cpu_features_constructor) New.
	(__init_cpu_features_resolver) New.
	(__init_cpu_features) New.

2023-12-11  Lipeng Zhu  <lipeng.zhu@intel.com>

	* gthr-posix.h (__GTHREAD_RWLOCK_INIT): New macro.
	(__gthrw): New function.
	(__gthread_rwlock_rdlock): New function.
	(__gthread_rwlock_tryrdlock): New function.
	(__gthread_rwlock_wrlock): New function.
	(__gthread_rwlock_trywrlock): New function.
	(__gthread_rwlock_unlock): New function.

2023-12-08  Florian Weimer  <fweimer@redhat.com>

	* libgcov-interface.c (__gcov_fork): Use __builtin_fork instead
	of fork.

2023-12-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.in: Regenerate.

2023-12-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/__arm_za_disable.S: Add hidden alias.
	* config/aarch64/aarch64-unwind.h: Reset the SME state before
	EH return via the _Unwind_Frames_Extra hook.

2023-12-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/t-aarch64: Add sources to the build.
	* config/aarch64/__aarch64_have_sme.c: New file.
	* config/aarch64/__arm_sme_state.S: New file.
	* config/aarch64/__arm_tpidr2_restore.S: New file.
	* config/aarch64/__arm_tpidr2_save.S: New file.
	* config/aarch64/__arm_za_disable.S: New file.
	* config/aarch64/aarch64-asm.h: New file.
	* config/aarch64/libgcc-sme.ver: New file.

2023-12-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.in: Undef HAVE___GETAUXVAL.
	* configure: Regenerate.
	* configure.ac: Check for __getauxval.

2023-12-08  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.in: Undef HAVE_AS_VARIANT_PCS.
	* configure: Regenerate.
	* configure.ac: Check for .variant_pcs.

2023-12-07  Alexandre Oliva  <oliva@adacore.com>

	* configure.ac: Check for strub support.
	* configure: Rebuilt.
	* Makefile.in: Compile strub.c conditionally.

2023-12-06  Thomas Schwinge  <thomas@codesourcery.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/109289
	* emutls.c: Add GCC diagnostic ignored "-Wbuiltin-declaration-mismatch"
	pragma.

2023-12-06  Alexandre Oliva  <oliva@adacore.com>

	* Makefile.in (LIB2ADD): Add strub.c.
	* libgcc2.h (__strub_enter, __strub_update, __strub_leave):
	Declare.
	* strub.c: New.
	* libgcc-std.ver.in (__strub_enter): Add to GCC_14.0.0.
	(__strub_update, __strub_leave): Likewise.

2023-12-03  Jeff Law  <jlaw@ventanamicro.com>

	* unwind-pe.h (_Unwind_gnu_Find_got): Add prototype.

2023-12-03  Jeff Law  <jlaw@ventanamicro.com>

	* config/rx/rx-abi-functions.c (__ltdf2, __gtdf2): Add prototype.
	(__ledf2, __gedf2, __eqdf2, __nedf2): Likewise.
	(__ltsf2, __gtsf2, __lesf2, __gesf2, __eqsf2, __nesf2): Likewise.

2023-12-03  Jeff Law  <jlaw@ventanamicro.com>

	* config/frv/frvbegin.c (atexit): Add prototype.

2023-12-01  Alexandre Oliva  <oliva@adacore.com>

	* libgcc-std.ver.in (__hardcfr_check): Add to GCC_14.0.0.

2023-12-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	PR target/112777
	* libgcov.h (GCOV_SUPPORTS_ATOMIC):  Honor that __LIBGCC_HAVE_LIBATOMIC is
	always defined as either 0 or 1.

2023-12-01  Florian Weimer  <fweimer@redhat.com>

	* config/aarch64/linux-unwind.h
	(aarch64_fallback_frame_state): Add cast to the expected type
	in sc assignment.

2023-11-30  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR target/111404
	* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Execute STLXP using
	either new value or loaded value.

2023-11-27  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/lib1funcs.S (__sync_synchronize): Adjust warning message.

2023-11-24  Richard Earnshaw  <rearnsha@arm.com>

	* config.host (arm*-*-eabi* | arm*-*-rtems*):
	Add arm/t-sync to the makefile rules.
	* config/arm/lib1funcs.S (__sync_synchronize_none)
	(__sync_synchronize_cp15dmb, __sync_synchronize_dmb)
	(__sync_synchronize): New functions.
	* config/arm/t-sync: New file.
	* config/arm/sync-none.specs: Likewise.
	* config/arm/sync-dmb.specs: Likewise.
	* config/arm/sync-cp15dmb.specs: Likewise.

2023-11-23  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* hardcfr.c (__hardcfr_check_fail): Mark as always_inline.

2023-11-21  Jakub Jelinek  <jakub@redhat.com>

	* libgcov.h (GCOV_SUPPORTS_ATOMIC): Formatting fixes.

2023-11-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov.h (GCOV_SUPPORTS_ATOMIC): Always define it.
	Set it also to 1, if __LIBGCC_HAVE_LIBATOMIC is defined.

2023-11-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	Revert:
	2023-11-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov.h (gcov_type): Define using __LIBGCC_GCOV_TYPE_SIZE.
	(gcov_type_unsigned): Likewise.

2023-11-10  Keith Packard  <keithp@keithp.com>

	* config/m68k/lb1sf68.S (__adddf3): Properly check for non-zero denorm.
	(__divdf3): Restore sign bit properly.
	(__addsf3): Correct exponent check.
	* config/m68k/fpgnulib.c (EXPMASK): Define.
	(__extendsfdf2): Handle Inf and NaN properly.
	(__truncdfsf2): Handle underflow and overflow correctly.
	(__extenddfxf2): Handle underflow, denorms, Inf and NaN correctly.
	(__truncxfdf2): Handle underflow and denorms correctly.
	(__fixxfsi): Reimplement.

2023-11-09  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/65833
	* config/t-softfp (softfp_bid_list): Add
	{U,}TItype <-> _Decimal{32,64,128} conversions.
	* soft-fp/floattisd.c: New file.
	* soft-fp/floattidd.c: New file.
	* soft-fp/floattitd.c: New file.
	* soft-fp/floatuntisd.c: New file.
	* soft-fp/floatuntidd.c: New file.
	* soft-fp/floatuntitd.c: New file.
	* soft-fp/fixsdti.c: New file.
	* soft-fp/fixddti.c: New file.
	* soft-fp/fixtdti.c: New file.
	* soft-fp/fixunssdti.c: New file.
	* soft-fp/fixunsddti.c: New file.
	* soft-fp/fixunstdti.c: New file.

2023-11-07  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* offloadstuff.c (OFFLOAD_IND_FUNC_TABLE_SECTION_NAME): New.
	(__offload_ind_func_table): New.
	(__offload_ind_funcs_end): New.
	(__OFFLOAD_TABLE__): Add entries for indirect functions.

2023-11-03  Thomas Schwinge  <thomas@codesourcery.com>

	* config/gcn/gthr-gcn.h (__gthread_getspecific): 's%NULL%0'.

2023-10-31  Alexandre Oliva  <oliva@adacore.com>

	* hardcfr.c: Adjust copyright year.

2023-10-24  Sergei Trofimovich  <siarheit@google.com>

	* config/aarch64/heap-trampoline.c: Disable when libc is not
	present.
	* config/i386/heap-trampoline.c: Ditto.

2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>

	* config/t-slibgcc-darwin: Generate libgcc_s
	with an @rpath name.
	* config.host: Handle Darwin rpaths.
	* config/t-darwin-rpath: New file.

2023-10-22  Andrew Burgess  <andrew.burgess@embecosm.com>
	    Maxim Blinov  <maxim.blinov@embecosm.com>
	    Iain Sandoe  <iain@sandoe.co.uk>
	    Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	* libgcc2.h (__builtin_nested_func_ptr_created): Declare.
	(__builtin_nested_func_ptr_deleted): Declare.
	* libgcc-std.ver.in: Add the new symbols.
	* config/aarch64/heap-trampoline.c: Implement heap-based
	trampolines for aarch64.
	* config/aarch64/t-heap-trampoline: Add rule to build
	config/aarch64/heap-trampoline.c
	* config/i386/heap-trampoline.c: Implement heap-based
	trampolines for x86_64.
	* config/i386/t-heap-trampoline: Add rule to build
	config/i386/heap-trampoline.cc
	* config.host: Handle --enable-heap-trampolines on
	x86_64-*-linux*, aarch64-*-linux*, x86_64-*-darwin*.

2023-10-20  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/amdgcn_veclib.h (CDNA3_PLUS): Set false for __RDNA2__.

2023-10-20  Alexandre Oliva  <oliva@adacore.com>

	* Makefile.in (LIB2ADD): Add hardcfr.c.
	* hardcfr.c: New.

2023-10-13  Florian Weimer  <fweimer@redhat.com>

	* config/or1k/linux-unwind.h (or1k_fallback_frame_state): Add
	missing cast.

2023-10-13  Florian Weimer  <fweimer@redhat.com>

	* config/arc/linux-unwind.h (arc_fallback_frame_state): Add
	missing cast.

2023-10-13  Florian Weimer  <fweimer@redhat.com>

	* config/riscv/linux-unwind.h (riscv_fallback_frame_state): Add
	missing cast.

2023-10-13  Florian Weimer  <fweimer@redhat.com>

	* config/csky/linux-unwind.h (csky_fallback_frame_state): Add
	missing cast.

2023-10-13  Florian Weimer  <fweimer@redhat.com>

	* config/m68k/fpgnulib.c (__cmpdf2): Declare.

2023-09-26  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* config/aarch64/lse.S (BTI_C): Remove define.

2023-09-20  Pekka Seppänen  <pexu@gcc.mail.kapsi.fi>

	* config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key):
	Use const unsigned type and a builtin.

2023-09-06  Jakub Jelinek  <jakub@redhat.com>

	PR c/102989
	* libgcc2.c (bitint_negate): Add function comment.
	* soft-fp/bitint.h (bitint_negate): Add function comment.
	(FP_TO_BITINT, FP_FROM_BITINT): Add comment explaining the macros.

2023-09-06  Jakub Jelinek  <jakub@redhat.com>

	PR c/102989
	* config/aarch64/t-softfp (softfp_extras): Use += rather than :=.
	* config/i386/64/t-softfp (softfp_extras): Likewise.
	* config/i386/libgcc-glibc.ver (GCC_14.0.0): Export _BitInt support
	routines.
	* config/i386/t-softfp (softfp_extras): Add fixxfbitint and
	bf, hf and xf mode floatbitint.
	(CFLAGS-floatbitintbf.c, CFLAGS-floatbitinthf.c): Add -msse2.
	* config/riscv/t-softfp32 (softfp_extras): Use += rather than :=.
	* config/rs6000/t-e500v1-fp (softfp_extras): Likewise.
	* config/rs6000/t-e500v2-fp (softfp_extras): Likewise.
	* config/t-softfp (softfp_floatbitint_funcs): New.
	(softfp_bid_list): New.
	(softfp_func_list): Add sf and df mode from and to _BitInt libcalls.
	(softfp_bid_file_list): New.
	(LIB2ADD_ST): Add $(softfp_bid_file_list).
	* config/t-softfp-sfdftf (softfp_extras): Add fixtfbitint and
	floatbitinttf.
	* config/t-softfp-tf (softfp_extras): Likewise.
	* libgcc2.c (bitint_reduce_prec): New inline function.
	(BITINT_INC, BITINT_END): Define.
	(bitint_mul_1, bitint_addmul_1): New helper functions.
	(__mulbitint3): New function.
	(bitint_negate, bitint_submul_1): New helper functions.
	(__divmodbitint4): New function.
	* libgcc2.h (LIBGCC2_UNITS_PER_WORD): When building _BitInt support
	libcalls, redefine depending on __LIBGCC_BITINT_LIMB_WIDTH__.
	(__mulbitint3, __divmodbitint4): Declare.
	* libgcc-std.ver.in (GCC_14.0.0): Export _BitInt support routines.
	* Makefile.in (lib2funcs): Add _mulbitint3.
	(LIB2_DIVMOD_FUNCS): Add _divmodbitint4.
	* soft-fp/bitint.h: New file.
	* soft-fp/fixdfbitint.c: New file.
	* soft-fp/fixsfbitint.c: New file.
	* soft-fp/fixtfbitint.c: New file.
	* soft-fp/fixxfbitint.c: New file.
	* soft-fp/floatbitintbf.c: New file.
	* soft-fp/floatbitintdf.c: New file.
	* soft-fp/floatbitinthf.c: New file.
	* soft-fp/floatbitintsf.c: New file.
	* soft-fp/floatbitinttf.c: New file.
	* soft-fp/floatbitintxf.c: New file.
	* soft-fp/op-common.h (_FP_FROM_INT): Add support for rsize up to
	4 * _FP_W_TYPE_SIZE rather than just 2 * _FP_W_TYPE_SIZE.
	* soft-fp/bitintpow10.c: New file.
	* soft-fp/fixsdbitint.c: New file.
	* soft-fp/fixddbitint.c: New file.
	* soft-fp/fixtdbitint.c: New file.
	* soft-fp/floatbitintsd.c: New file.
	* soft-fp/floatbitintdd.c: New file.
	* soft-fp/floatbitinttd.c: New file.

2023-09-06  Jakub Jelinek  <jakub@redhat.com>

	PR c/102989
	* soft-fp/bitintpow10.h: New file.

2023-09-05  Yang Yujie  <yangyujie@loongson.cn>

	* config.host: add loongarch*-elf target.

2023-08-11  Thomas Neumann  <thomas.neumann@in.tum.de>

	PR libgcc/110956
	* unwind-dw2-fde.c: Associate object with address of unwinding
	table.

2023-08-07  John Ericson  <git@JohnEricson.me>

	* configure: Regenerate.

2023-08-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2023-07-23  Andrew Pinski  <apinski@marvell.com>

	* config.host (riscv*-*-linux*): Add t-crtstuff to tmake_file.
	(riscv*-*-freebsd*): Likewise.
	* config/riscv/t-crtstuff: New file.

2023-07-19  liuhongt  <hongtao.liu@intel.com>

	* config/i386/t-softfp: Add -msse2 to libbid HFtype related
	files.

2023-07-11  Florian Weimer  <fweimer@redhat.com>

	PR libgcc/110179
	* unwind-dw2-fde-dip.c (find_fde_tail): Add cast to avoid
	implicit conversion of pointer value to integer.

2023-07-06  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/sfp-machine.h (FP_INIT_ROUNDMODE): Check zfinx.
	(FP_HANDLE_EXCEPTIONS): Ditto.

2023-06-19  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/lib2-divmod-di.c: Reimplement like lib2-divmod.c.
	* config/gcn/lib2-divmod.c: Likewise.
	* config/gcn/lib2-gcn.h: Add new types and prototypes for all the
	new vector libfuncs.
	* config/gcn/t-amdgcn: Add new files.
	* config/gcn/amdgcn_veclib.h: New file.
	* config/gcn/lib2-vec_divmod-di.c: New file.
	* config/gcn/lib2-vec_divmod-hi.c: New file.
	* config/gcn/lib2-vec_divmod-qi.c: New file.
	* config/gcn/lib2-vec_divmod.c: New file.

2023-06-19  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/lib2-gcn.h (QItype, UQItype, HItype, UHItype): Delete.
	(__divhi3, __modhi3, __udivhi3, __umodhi3): Delete.
	* config/gcn/t-amdgcn: Don't build lib2-divmod-hi.c.
	* config/gcn/lib2-divmod-hi.c: Removed.

2023-06-07  Florian Weimer  <fweimer@redhat.com>

	PR libgcc/109712
	* unwind-dw2-fde-dip.c (find_fde_tail): Correct fast path for
	parsing eh_frame.

2023-06-05  Kewen Lin  <linkw@linux.ibm.com>

	* config/i386/morestack.S: Use @init_array rather than
	@progbits for section type of section .init_array.
	* config/rs6000/morestack.S: Likewise.
	* config/s390/morestack.S: Likewise.

2023-06-05  YunQiang Su  <yunqiang.su@cipunited.com>

	* config/mips/lib1funcs.S: New file.
	define __speculation_barrier and include mips16.S.
	* config/mips/t-mips: define LIB1ASMSRC as mips/lib1funcs.S.
	define LIB1ASMFUNCS as _speculation_barrier.
	set version info for __speculation_barrier.
	* config/mips/libgcc-mips.ver: New file.
	* config/mips/t-mips16: don't define LIB1ASMSRC as mips16.S
	included in lib1funcs.S now.

2023-06-03  Thomas Neumann  <tneumann@users.sourceforge.net>

	PR libgcc/109670
	* unwind-dw2-fde.c: Fix radix sort buffer management.

2023-06-03  Thomas Neumann  <tneumann@users.sourceforge.net>

	PR libgcc/109685
	* unwind-dw2-fde.c: Free sort array in atomic fast path.

2023-05-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Arrange to set min Darwin OS versions from
	the configured host version.
	* config/darwin10-unwind-find-enc-func.c: Do not use current
	headers, but declare the nexessary structures locally to the
	versions in use for Mac OSX 10.6.
	* config/t-darwin: Amend to handle configured min OS
	versions.
	* config/t-darwin-min-1: New.
	* config/t-darwin-min-5: New.
	* config/t-darwin-min-8: New.

2023-05-15  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: Fix assert in non-atomic path.

2023-05-15  Sören Tempel  <soeren+git@soeren-tempel.net>

	* unwind-dw2-fde.c: Accept empty ranges when deregistering frames.

2023-05-02  Patrick O'Neill  <patrick@rivosinc.com>

	* config/riscv/atomic.c: Change LR.aq/SC.rl pairs into
	sequentially consistent LR.aqrl/SC.rl pairs.

2023-05-01  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/t-pru (HOST_LIBGCC2_CFLAGS): Add
	-DTARGET_HAS_NO_HW_DIVIDE.

2023-04-27  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/t-cris (HOST_LIBGCC2_CFLAGS): Add
	-DTARGET_HAS_NO_HW_DIVIDE.

2023-04-26  Patrick O'Neill  <patrick@rivosinc.com>

	PR target/104338
	* config/riscv/atomic.c: Add reference to duplicate logic.

2023-04-08  Tetsuma Hoshino  <t-hoshino@pony-e.jp>

	PR target/109402
	* config/v850/lib1funcs.S (___muldi3): Remove unnecessary
	stack manipulations.

2023-04-05  John David Anglin  <danglin@gcc.gnu.org>

	PR target/109374
	* config/pa/milli64.S (RETURN_COLUMN): Define.
	($$divI): Add CFI directives.
	($$divU): Likewise.
	($$remI): Likewise.
	($$remU): Likewise.

2023-03-19  Stafford Horne  <shorne@gmail.com>

	* config/or1k/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove
	statement clearing existing exceptions.

2023-03-13  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/crti.S: Add .note.GNU-stack section on linux.
	* config/xtensa/crtn.S: Likewise.
	* config/xtensa/lib1funcs.S: Likewise.
	* config/xtensa/lib2funcs.S: Likewise.

2023-03-12  Jakub Jelinek  <jakub@redhat.com>

	* config/aarch64/t-softfp (softfp_extensions): Add bfsf.
	(softfp_truncations): Add tfbf dfbf sfbf hfbf.
	(softfp_extras): Add floatdibf floatundibf floattibf floatuntibf.
	* config/aarch64/libgcc-softfp.ver (GCC_13.0.0): Export
	__extendbfsf2 and __trunc{s,d,t,h}fbf2.
	* config/aarch64/sfp-machine.h (_FP_NANFRAC_B, _FP_NANSIGN_B): Define.
	* soft-fp/floatundibf.c: New file.
	* soft-fp/floatdibf.c: New file.

2023-03-10  Jakub Jelinek  <jakub@redhat.com>

	PR target/107703
	* soft-fp/floattibf.c: New file.
	* soft-fp/floatuntibf.c: New file.
	* config/i386/libgcc-glibc.ver: Export __float{,un}tibf @ GCC_13.0.0.
	* config/i386/64/t-softfp (softfp_extras): Add floattibf and
	floatuntibf.
	(CFLAGS-floattibf.c, CFLAGS-floatunstibf.c): Add -msse2.

2023-03-08  Kewen Lin  <linkw@linux.ibm.com>

	PR libgcc/108727
	* config/rs6000/morestack.S (__morestack): Use PARAMS for new stack
	bump size.

2023-03-06   Michael Meissner  <meissner@linux.ibm.com>

	PR target/107299
	* config/rs6000/_divkc3.c (COPYSIGN): Use the correct built-in based on
	whether long double is IBM or IEEE.
	(INFINITY): Likewise.
	(FABS): Likewise.
	* config/rs6000/_mulkc3.c (COPYSIGN): Likewise.
	(INFINITY): Likewise.
	* config/rs6000/quad-float128.h (TF): Remove definition.
	(TFtype): Define to be long double or _Float128.
	(TCtype): Define to be _Complex long double or _Complex _Float128.
	* libgcc2.h (TFtype): Allow machine config files to override this.
	(TCtype): Likewise.
	* soft-fp/quad.h (TFtype): Likewise.

2023-02-13  Kito Cheng  <kito.cheng@sifive.com>

	* config.host (riscv*-*-*): Add config/riscv/value-unwind.h.
	* config/riscv/value-unwind.h: New.

2023-02-03  Christophe Lyon  <christophe.lyon@arm.com>

	* config/arm/pr-support.c (__gnu_unwind_execute): Use
	TARGET_HAVE_PACBTI to define set_pac and set_pac_sp.

2023-01-30  Flavio Cruz  <flaviocruz@gmail.com>

	* config.host: Recognize x86_64-*-gnu* targets.
	* config/i386/gnu-unwind.h: Update to handle __x86_64__ with a
	TODO for now.

2023-01-23  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

	* config/arm/pr-support.c (__gnu_unwind_execute): Decode opcode
	"0xb5".

2023-01-23  Andrea Corallo  <andrea.corallo@arm.com>
	    Tejas Belagod   <tbelagod@arm.com>
	    Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

	* config/arm/pr-support.c (__gnu_unwind_execute): Decode
	exception opcode (0xb4) for saving RA_AUTH_CODE and authenticate
	with AUTG if found.
	* config/arm/unwind-arm.c (struct pseudo_regs): New.
	(phase1_vrs): Introduce new field to store pseudo-reg state.
	(phase2_vrs): Likewise.
	(_Unwind_VRS_Get): Load pseudo register state from virtual reg set.
	(_Unwind_VRS_Set): Store pseudo register state to virtual reg set.
	(_Unwind_VRS_Pop): Load pseudo register value from stack into VRS.

2023-01-18  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR target/107678
	* unwind-dw2.h (REG_UNSAVED_ARCHEXT): Add new enum.
	* unwind-dw2.c (uw_update_context_1): Add REG_UNSAVED_ARCHEXT case.
	* unwind-dw2-execute_cfa.h: Use REG_UNSAVED_ARCHEXT/REG_UNSAVED to
	encode the return address signing state.
	* config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr)
	Check current return address signing state.
	(aarch64_frob_update_contex): Remove.

2023-01-13  John David Anglin  <danglin@gcc.gnu.org>

	* config.host (hppa*64*-*-linux*): Adjust tmake_file to use
	pa/t-pa64-linux.
	(hppa*64*-*-hpux11*): Adjust tmake_file to use pa/t-pa64-hpux
	instead of pa/t-hpux and pa/t-pa64.
	* config/pa/linux-atomic.c: Define u32 type.
	(ATOMIC_LOAD): Define new macro to implement atomic_load_1,
	atomic_load_2, atomic_load_4 and atomic_load_8.  Update sync
	defines to use atomic_load calls for type.
	(SYNC_LOCK_LOAD_2): New macro to implement __sync_lock_load_8.
	* config/pa/sync-libfuncs.c: New file.
	* config/pa/t-netbsd (LIB2ADD_ST): Define.
	* config/pa/t-openbsd (LIB2ADD_ST): Define.
	* config/pa/t-pa64-hpux: New file.
	* config/pa/t-pa64-linux: New file.

2023-01-13  Jonathan Wakely  <jwakely@redhat.com>

	PR libstdc++/108331
	* config/i386/gthr-win32.h (__gthr_win32_legacy_mutex_t): New
	struct matching the previous __gthread_mutex_t struct.
	(__GTHREAD_LEGACY_MUTEX_T): Define.

2023-01-13  Seija Kijin  <doremylover456@gmail.com>

	* config/arm/lib1funcs.S (clear_cache): Use SVC to conform to
	unified syntax.

2023-01-07  LIU Hao  <lh_mouse@126.com>

	PR middle-end/108300
	* config/i386/enable-execute-stack-mingw32.c: Define
	`WIN32_LEAN_AND_MEAN` before <windows.h>.
	* libgcc2.c: Likewise.
	* unwind-generic.h: Likewise.

2023-01-03  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-execute_cfa.h: New file.  Extracted from
	the execute_cfa_program function in unwind-dw2.c.
	* unwind-dw2.c (execute_cfa_program_generic): New function.
	(execute_cfa_program_specialized): Likewise.
	(execute_cfa_program): Call execute_cfa_program_specialized
	or execute_cfa_program_generic, as appropriate.

2023-01-03  Florian Weimer  <fweimer@redhat.com>

	Revert:
	2023-01-03  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2.c (dwarf_reg_size): New function.
	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_SetGRPtr)
	(_Unwind_SetSpColumn, uw_install_context_1): Use it.
	(uw_init_context_1): Do not initialize dwarf_reg_size_table
	if not in use.

2023-01-03  Florian Weimer  <fweimer@redhat.com>

	Revert:
	2023-01-03  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-execute_cfa.h: New file.  Extracted from
	the execute_cfa_program function in unwind-dw2.c.
	* unwind-dw2.c (execute_cfa_program_generic): New function.
	(execute_cfa_program_specialized): Likewise.
	(execute_cfa_program): Call execute_cfa_program_specialized
	or execute_cfa_program_generic, as appropriate.

2023-01-02  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-execute_cfa.h: New file.  Extracted from
	the execute_cfa_program function in unwind-dw2.c.
	* unwind-dw2.c (execute_cfa_program_generic): New function.
	(execute_cfa_program_specialized): Likewise.
	(execute_cfa_program): Call execute_cfa_program_specialized
	or execute_cfa_program_generic, as appropriate.

2023-01-02  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2.c (dwarf_reg_size): New function.
	(_Unwind_GetGR, _Unwind_SetGR, _Unwind_SetGRPtr)
	(_Unwind_SetSpColumn, uw_install_context_1): Use it.
	(uw_init_context_1): Do not initialize dwarf_reg_size_table
	if not in use.

2022-12-25  Jonathan Yong  <10walls@gmail.com>

	* config/i386/gthr-win32.h: undef CC_NONE

2022-12-24  Iain Sandoe  <iain@sandoe.co.uk>

	* config/t-slibgcc-darwin (install-darwin-libgcc-stubs): Skip the
	install of libgcc_s.1.dylib when the installation is into the build
	gcc directory.

2022-12-23  Eric Botcazou  <ebotcazou@adacore.com>

	* config.host (i[34567]86-*-mingw*): Add thread fragment after EH one
	as well as new i386/t-slibgcc-mingw fragment.
	(x86_64-*-mingw*): Likewise.
	* config/i386/gthr-win32.h: If _WIN32_WINNT is at least 0x0600, define
	both __GTHREAD_HAS_COND and __GTHREADS_CXX0X to 1.
	Error out if _GTHREAD_USE_MUTEX_TIMEDLOCK is 1.
	Include stdlib.h instead of errno.h and do not include _mingw.h.
	(CONST_CAST2): Add specific definition for C++.
	(ATTRIBUTE_UNUSED): New macro.
	(__UNUSED_PARAM): Delete.
	Define WIN32_LEAN_AND_MEAN before including windows.h.
	(__gthread_objc_data_tls): Use TLS_OUT_OF_INDEXES instead of (DWORD)-1.
	(__gthread_objc_init_thread_system): Likewise.
	(__gthread_objc_thread_get_data): Minor tweak.
	(__gthread_objc_condition_allocate): Use ATTRIBUTE_UNUSED.
	(__gthread_objc_condition_deallocate): Likewise.
	(__gthread_objc_condition_wait): Likewise.
	(__gthread_objc_condition_broadcast): Likewise.
	(__gthread_objc_condition_signal): Likewise.
	Include sys/time.h.
	(__gthr_win32_DWORD): New typedef.
	(__gthr_win32_HANDLE): Likewise.
	(__gthr_win32_CRITICAL_SECTION): Likewise.
	(__gthr_win32_CONDITION_VARIABLE): Likewise.
	(__gthread_t): Adjust.
	(__gthread_key_t): Likewise.
	(__gthread_mutex_t): Likewise.
	(__gthread_recursive_mutex_t): Likewise.
	(__gthread_cond_t): New typedef.
	(__gthread_time_t): Likewise.
	(__GTHREAD_MUTEX_INIT_DEFAULT): Delete.
	(__GTHREAD_RECURSIVE_MUTEX_INIT_DEFAULT): Likewise.
	(__GTHREAD_COND_INIT_FUNCTION): Define.
	(__GTHREAD_TIME_INIT): Likewise.
	(__gthr_i486_lock_cmp_xchg): Delete.
	(__gthr_win32_create): Declare.
	(__gthr_win32_join): Likewise.
	(__gthr_win32_self): Likewise.
	(__gthr_win32_detach): Likewise.
	(__gthr_win32_equal): Likewise.
	(__gthr_win32_yield): Likewise.
	(__gthr_win32_mutex_destroy): Likewise.
	(__gthr_win32_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
	(__gthr_win32_cond_broadcast): Likewise.
	(__gthr_win32_cond_signal): Likewise.
	(__gthr_win32_cond_wait): Likewise.
	(__gthr_win32_cond_timedwait): Likewise.
	(__gthr_win32_recursive_mutex_init_function): Delete.
	(__gthr_win32_recursive_mutex_lock): Likewise.
	(__gthr_win32_recursive_mutex_unlock): Likewise.
	(__gthr_win32_recursive_mutex_destroy): Likewise.
	(__gthread_create): New inline function.
	(__gthread_join): Likewise.
	(__gthread_self): Likewise.
	(__gthread_detach): Likewise.
	(__gthread_equal): Likewise.
	(__gthread_yield): Likewise.
	(__gthread_cond_init_function): Likewise if __GTHREADS_HAS_COND is 1.
	(__gthread_cond_broadcast): Likewise.
	(__gthread_cond_signal): Likewise.
	(__gthread_cond_wait): Likewise.
	(__gthread_cond_timedwait): Likewise.
	(__GTHREAD_WIN32_INLINE): New macro.
	(__GTHREAD_WIN32_COND_INLINE): Likewise.
	(__GTHREAD_WIN32_ACTIVE_P): Likewise.
	Define WIN32_LEAN_AND_MEAN before including windows.h.
	(__gthread_once): Minor tweaks.
	(__gthread_key_create): Use ATTRIBUTE_UNUSED and TLS_OUT_OF_INDEXES.
	(__gthread_key_delete): Minor tweak.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_mutex_init_function): Reimplement.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_mutex_lock): Likewise.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthr_win32_abs_to_rel_time): Declare.
	(__gthread_recursive_mutex_init_function): Reimplement.
	(__gthread_recursive_mutex_destroy): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_cond_destroy): New inline function.
	(__gthread_cond_wait_recursive): Likewise.
	* config/i386/gthr-win32.c: Delete everything.
	Include gthr-win32.h to get the out-of-line version of inline routines.
	Add compile-time checks for the local version of the Win32 types.
	* config/i386/gthr-win32-cond.c: New file.
	* config/i386/gthr-win32-thread.c: Likewise.
	* config/i386/t-gthr-win32: Add config/i386/gthr-win32-thread.c to the
	EH part, config/i386/gthr-win32-cond.c and config/i386/gthr-win32.c to
	the static version of libgcc.
	* config/i386/t-slibgcc-mingw: New file.
	* config/i386/libgcc-mingw.ver: Likewise.

2022-12-16  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: Initialize fde object lazily when
	the first exception tries to pass through.

2022-12-16  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: Use radix sort instead of split+sort+merge.

2022-12-08  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/xtensa-config-builtin.h (XCHAL_NUM_AREGS)
	(XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE, XCHAL_ICACHE_LINESIZE)
	(XCHAL_DCACHE_LINESIZE, XCHAL_MMU_MIN_PTE_PAGE_SIZE)
	(XSHAL_ABI): Remove stray symbols from macro definitions.

2022-12-07  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/crti.S (xtensa-config.h): Replace #inlcude with
	xtensa-config-builtin.h.
	* config/xtensa/crtn.S: Likewise.
	* config/xtensa/lib1funcs.S: Likewise.
	* config/xtensa/lib2funcs.S: Likewise.
	* config/xtensa/xtensa-config-builtin.h: New File.

2022-11-04  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-fde-dip.c (find_fde_tail): Special-case encoding
	values actually used by BFD ld.

2022-10-23  LIU Hao  <lh_mouse@126.com>

	* config/i386/gthr-mcf.h: Include 'gthr_libobjc.h' when building
	libobjc, instead of 'gthr.h'

2022-10-19  LIU Hao  <lh_mouse@126.com>

	* config.host: Add new cases for `mcf` thread model
	* config/i386/gthr-mcf.h: New file
	* config/i386/t-mingw-mcfgthread: New file
	* config/i386/t-slibgcc-cygming: Add mcfgthread for libgcc DLL
	* configure: Regenerate

2022-10-18  Jonathan Wakely  <jwakely@redhat.com>

	* Makefile.in: Quote variable.

2022-10-17  H.J. Lu  <hjl.tools@gmail.com>

	* unwind-generic.h (_Unwind_Frames_Increment): Add the EXC
	argument.
	* unwind.inc (_Unwind_RaiseException_Phase2): Pass EXC to
	_Unwind_Frames_Increment.
	(_Unwind_ForcedUnwind_Phase2): Likewise.
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
	Take the EXC argument.  Return _URC_FATAL_PHASE2_ERROR if the
	return address on normal stack doesn't match the return address
	on shadow stack.

2022-10-17  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2.h (struct frame_state_reg_info): Move cfa_how member
	and reduce its size.

2022-10-14  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/t-softfp (softfp_extensions): Add bfsf.
	(softfp_truncations): Add tfbf xfbf dfbf sfbf hfbf.
	(CFLAGS-extendbfsf2.c, CFLAGS-truncsfbf2.c, CFLAGS-truncdfbf2.c,
	CFLAGS-truncxfbf2.c, CFLAGS-trunctfbf2.c, CFLAGS-trunchfbf2.c): Add
	-msse2.
	* config/i386/libgcc-glibc.ver (GCC_13.0.0): Export
	__extendbfsf2 and __trunc{s,d,x,t,h}fbf2.
	* config/i386/sfp-machine.h (_FP_NANSIGN_B): Define.
	* config/i386/64/sfp-machine.h (_FP_NANFRAC_B): Define.
	* config/i386/32/sfp-machine.h (_FP_NANFRAC_B): Define.
	* soft-fp/brain.h: New file.
	* soft-fp/truncsfbf2.c: New file.
	* soft-fp/truncdfbf2.c: New file.
	* soft-fp/truncxfbf2.c: New file.
	* soft-fp/trunctfbf2.c: New file.
	* soft-fp/trunchfbf2.c: New file.
	* soft-fp/truncbfhf2.c: New file.
	* soft-fp/extendbfsf2.c: New file.

2022-10-12  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Use new function.
	* libgcov.h (gcov_write_summary): Rename to ...
	(gcov_write_object_summary): ... this.

2022-10-11  Olivier Hainque  <hainque@adacore.com>

	* config.host (*vxworks*): When enable_shared, add
	libgcc and crtstuff "shared" fragments for rtp except
	large code model.
	(aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from
	the list of fragments.

2022-10-06  Jakub Jelinek  <jakub@redhat.com>

	* config/arc/linux-unwind.h (arc_fallback_frame_state): Use
	fs->regs.how[X] instead of fs->regs.reg[X].how.

2022-10-06  Jakub Jelinek  <jakub@redhat.com>

	* unwind-dw2.h (REG_UNSAVED, REG_SAVED_OFFSET, REG_SAVED_REG,
	REG_SAVED_EXP, REG_SAVED_VAL_OFFSET, REG_SAVED_VAL_EXP,
	REG_UNDEFINED): New anonymous enum, moved from inside of
	struct frame_state_reg_info.
	(struct frame_state_reg_info): Remove reg[].how element and the
	anonymous enum there.  Add how element.
	* unwind-dw2.c: Include stddef.h.
	(uw_frame_state_for): Don't clear first
	offsetof (_Unwind_FrameState, regs.how[0]) bytes of *fs.
	(execute_cfa_program, __frame_state_for, uw_update_context_1,
	uw_update_context): Use fs->regs.how[X] instead of fs->regs.reg[X].how
	or fs.regs.how[X] instead of fs.regs.reg[X].how.
	* config/sh/linux-unwind.h (sh_fallback_frame_state): Likewise.
	* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
	* config/pa/hpux-unwind.h (UPDATE_FS_FOR_SAR, UPDATE_FS_FOR_GR,
	UPDATE_FS_FOR_FR, UPDATE_FS_FOR_PC, pa_fallback_frame_state):
	Likewise.
	* config/alpha/vms-unwind.h (alpha_vms_fallback_frame_state):
	Likewise.
	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Likewise.
	* config/arc/linux-unwind.h (arc_fallback_frame_state,
	arc_frob_update_context): Likewise.
	* config/riscv/linux-unwind.h (riscv_fallback_frame_state): Likewise.
	* config/nios2/linux-unwind.h (NIOS2_REG): Likewise.
	* config/nds32/linux-unwind.h (NDS32_PUT_FS_REG): Likewise.
	* config/s390/tpf-unwind.h (s390_fallback_frame_state): Likewise.
	* config/s390/linux-unwind.h (s390_fallback_frame_state): Likewise.
	* config/sparc/sol2-unwind.h (sparc64_frob_update_context,
	MD_FALLBACK_FRAME_STATE_FOR): Likewise.
	* config/sparc/linux-unwind.h (sparc64_fallback_frame_state,
	sparc64_frob_update_context, sparc_fallback_frame_state): Likewise.
	* config/i386/sol2-unwind.h (x86_64_fallback_frame_state,
	x86_fallback_frame_state): Likewise.
	* config/i386/w32-unwind.h (i386_w32_fallback_frame_state): Likewise.
	* config/i386/linux-unwind.h (x86_64_fallback_frame_state,
	x86_fallback_frame_state): Likewise.
	* config/i386/freebsd-unwind.h (x86_64_freebsd_fallback_frame_state):
	Likewise.
	* config/i386/dragonfly-unwind.h
	(x86_64_dragonfly_fallback_frame_state): Likewise.
	* config/i386/gnu-unwind.h (x86_gnu_fallback_frame_state): Likewise.
	* config/csky/linux-unwind.h (csky_fallback_frame_state): Likewise.
	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):
	Likewise.
	* config/aarch64/freebsd-unwind.h
	(aarch64_freebsd_fallback_frame_state): Likewise.
	* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
	Likewise.
	* config/or1k/linux-unwind.h (or1k_fallback_frame_state): Likewise.
	* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
	* config/loongarch/linux-unwind.h (loongarch_fallback_frame_state):
	Likewise.
	* config/m68k/linux-unwind.h (m68k_fallback_frame_state): Likewise.
	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
	Likewise.
	* config/rs6000/darwin-fallback.c (set_offset): Likewise.
	* config/rs6000/aix-unwind.h (MD_FROB_UPDATE_CONTEXT): Likewise.
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Likewise.
	* config/rs6000/freebsd-unwind.h (frob_update_context): Likewise.

2022-10-02  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDE): Augment comment.  Move
	-I options for gcc/include and gcc/include-fixed at the end
	and make them -isystem.

2022-10-02  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks.h: Prevent Wpragma warning for the
	pragma diagnostics on Wstrict-prototypes.

2022-09-29  Olivier Hainque  <hainque@adacore.com>

	* config/vxcrtstuff.c: Improve the comment attached to the use
	of auto-host.h and of __dso_handle.  Remove redundant guard on
	HAVE_INITFINI_ARRAY_SUPPORT within a USE_INITFINI_ARRAY section.

2022-09-26  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: Introduce a constant for in_shutdown
	for the non-fast-path case. Drop destructor priority.

2022-09-22  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: (release_register_frames) Remember
	when the btree has been destroyed.
	(__deregister_frame_info_bases) Disable the assert when
	shutting down.

2022-09-18  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c: Replace uintptr_t with typedef
	for __UINTPTR_TYPE__.
	* unwind-dw2-btree.h: Likewise.

2022-09-16  Thomas Neumann  <tneumann@users.sourceforge.net>

	* unwind-dw2-fde.c (release_registered_frames): Cleanup at shutdown.
	(__register_frame_info_table_bases): Use btree in atomic fast path.
	(__deregister_frame_info_bases): Likewise.
	(_Unwind_Find_FDE): Likewise.
	(base_from_object): Make parameter const.
	(classify_object_over_fdes): Add query-only mode.
	(get_pc_range): Compute PC range for lookup.
	* unwind-dw2-fde.h (last_fde): Make parameter const.
	* unwind-dw2-btree.h: New file.

2022-08-31  Martin Liska  <mliska@suse.cz>

	* config.host: Remove hppa.

2022-08-30  Martin Liska  <mliska@suse.cz>

	* config.host: Remove the port.

2022-08-26  Martin Liska  <mliska@suse.cz>

	* config.host: Remove cr16 related stuff.
	* config/cr16/crti.S: Removed.
	* config/cr16/crtlibid.S: Removed.
	* config/cr16/crtn.S: Removed.
	* config/cr16/divmodhi3.c: Removed.
	* config/cr16/lib1funcs.S: Removed.
	* config/cr16/t-cr16: Removed.
	* config/cr16/t-crtlibid: Removed.
	* config/cr16/unwind-cr16.c: Removed.
	* config/cr16/unwind-dw2.h: Removed.

2022-08-16  Kito Cheng  <kito.cheng@sifive.com>

	* config/riscv/sfp-machine.h (_FP_NANFRAC_H): New.
	(_FP_NANFRAC_H): Ditto.
	(_FP_NANSIGN_H): Ditto.
	* config/riscv/t-softfp32 (softfp_extensions): Add HF related
	routines.
	(softfp_truncations): Ditto.
	(softfp_extras): Ditto.
	* config/riscv/t-softfp64 (softfp_extras): Add HF related routines.

2022-08-16  Kito Cheng  <kito.cheng@sifive.com>

	* soft-fp/fixhfdi.c: New.
	* soft-fp/fixhfsi.c: Likewise.
	* soft-fp/fixunshfdi.c: Likewise.
	* soft-fp/fixunshfsi.c: Likewise.
	* soft-fp/floatdihf.c: Likewise.
	* soft-fp/floatsihf.c: Likewise.
	* soft-fp/floatundihf.c: Likewise.
	* soft-fp/floatunsihf.c: Likewise.
	* soft-fp/adddf3.c: Updating copyright years, removing "Contributed by"
	lines and update URL for license.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqhf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendhfdf2.c: Likewise.
	* soft-fp/extendhfsf2.c: Likewise.
	* soft-fp/extendhftf2.c: Likewise.
	* soft-fp/extendhfxf2.c: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixhfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunshfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattihf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntihf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/half.h: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfhf2.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/truncsfhf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfhf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/truncxfhf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

2022-07-18  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/lib2funcs.c (udivmodsi4): Update AND mask.
	* config/arc/lib1funcs.S (umodsi3): Don't use it for RF16
	configurations.

2022-06-25  Jeff Law  <jeffreyalaw@gmail.com>

	* config.host: Removed tilegx and tilepro entries.
	* config/tilegx/sfp-machine.h: Removed.
	* config/tilegx/sfp-machine32.h: Removed.
	* config/tilegx/sfp-machine64.h: Removed.
	* config/tilegx/t-crtstuff: Removed.
	* config/tilegx/t-softfp: Removed.
	* config/tilegx/t-tilegx: Removed.
	* config/tilepro/atomic.c: Removed.
	* config/tilepro/atomic.h: Removed.
	* config/tilepro/linux-unwind.h: Removed.
	* config/tilepro/sfp-machine.h: Removed.
	* config/tilepro/softdivide.c: Removed.
	* config/tilepro/softmpy.S: Removed.
	* config/tilepro/t-crtstuff: Removed.
	* config/tilepro/t-tilepro: Removed.

2022-06-09  Takayuki 'January June' Suwa  <jjsuwa_sys3175@yahoo.co.jp>

	* config/xtensa/lib1funcs.S (__clrsbsi2): New function.
	* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _clrsbsi2.

2022-06-01  H.J. Lu  <hjl.tools@gmail.com>

	PR libgcc/27576
	* crtstuff.c (__EH_FRAME_BEGIN__): Aligned to pointer size.

2022-05-25  Wilco Dijkstra  <wilco.dijkstra@arm.com>

	PR libgcc/105708
	* config/aarch64/lse-init.c: Increase constructor priority.

2022-05-25  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/104689
	* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
	Handle the !REG_UNSAVED case.
	* unwind-dw2.c (execute_cfa_program): Fail toggle if !REG_UNSAVED.

2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>

	* Makefile.in (D32PBIT_FUNCS): Add _hf_to_sd and _sd_to_hf.
	(D64PBIT_FUNCS): Add _hf_to_dd and _dd_to_hf.
	(D128PBIT_FUNCS): Add _hf_to_td _td_to_hf.

2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>

	* config.host: Add t-dfprules to AArch64 targets.

2022-05-20  Christophe Lyon  <christophe.lyon@arm.com>

	* configure: Regenerate.

2022-05-13  Sebastian Pop  <spop@amazon.com>

	PR target/105162
	* config/aarch64/lse.S: Define BARRIER and handle memory MODEL 5.
	* config/aarch64/t-lse: Add a 5th memory model for _sync functions.

2022-05-10  Martin Liska  <mliska@suse.cz>
	    Hans-Peter Helfert  <peter-helfert@t-online.de>

	PR gcov-profile/105535
	* libgcov.h (struct gcov_info): Use gcov_unsigned_t for
	n_functions.

2022-05-02  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Add ATTRIBUTE_UNUSED.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (ftw_read_file): Improve notice using xstrerror().
	(gcov_profile_merge_stream): Likewise.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (consume_stream): New.
	(get_target_profiles_for_merge): Likewise.
	(gcov_profile_merge_stream): Likewise.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (ftw_read_file): Use size_t for strlen() variables.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (read_gcda_file): Do not open file.
	(ftw_read_file): Open file here.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (read_gcda_file): Prepend new info object to global
	list.
	(ftw_read_file): Remove list append here.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (read_gcda_file): Do not duplicate filename.
	(ftw_read_file): Duplicate filename for read_gcda_file().

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* gcov.h (__gcov_info_to_gcda): Mention __gcov_filename_to_gcfn().
	(__gcov_filename_to_gcfn): Declare and document.
	* libgcov-driver.c (dump_string): New.
	(__gcov_filename_to_gcfn): Likewise.
	(__gcov_info_to_gcda): Adjust comment to match C11 standard language.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov.h (gcov_seek): Remove define and declaration.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-driver-system.c (gcov_exit_open_gcda_file): Add mode
	parameter.  Pass mode to gcov_open() calls.
	* libgcov-driver.c (dump_one_gcov):  Add mode parameter.  Pass mode to
	gcov_exit_open_gcda_file() call.
	(gcov_do_dump): Add mode parameter.  Pass mode to dump_one_gcov()
	calls.
	(__gcov_dump_one):  Open file for reading and writing.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-driver-system.c (gcov_exit_open_gcda_file): Open file for
	reading and writing.
	* libgcov-util.c (read_gcda_file): Open file for reading.
	* libgcov.h (gcov_open): Delete declaration.

2022-04-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-util.c (gcov_profile_merge): Return the list of merged
	profiles.  Accept empty target and source profile lists.

2022-04-08  Sergei Trofimovich  <siarheit@google.com>

	* config/ia64/fde-glibc.c: Make a no-op in inhibit_libc mode.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* configure: Regenerate file.

2022-03-29  Chenghua Xu  <xuchenghua@loongson.cn>
	    Lulu Cheng  <chenglulu@loongson.cn>

	* config/loongarch/crtfastmath.c: New file.
	* config/loongarch/linux-unwind.h: Like wise.
	* config/loongarch/sfp-machine.h: Like wise.
	* config/loongarch/t-crtstuff: Like wise.
	* config/loongarch/t-loongarch: Like wise.
	* config/loongarch/t-loongarch64: Like wise.
	* config/loongarch/t-softfp-tf: Like wise.
	* config.host: Add LoongArch tuples.
	* configure.ac: Add LoongArch support.

2022-03-19  Sergei Trofimovich  <slyfox at gentoo dot org>

	PR libgcc/86224
	* config/m68k/lb1sf68.S (__mulsi3_internal): Internal, hidden alias
	for __mulsi3.
	(__udivsi3_internal, __divsi3_internal): Similarly.
	(__umodsi3, __modsi3): Use the internal function names.

2022-03-09  Tobias Burnus  <tobias@codesourcery.com>

	PR target/102215
	* config/gcn/atomic.c (__sync_val_compare_and_swap_##SIZE): Move
	a line up to non-arg-dependent value first.
	(__ATOMIC_COMPARE_EXCHANGE): Define + call to generate
	__atomic_compare_exchange_{1,2}.

2022-03-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/t-darwin-ehs: Add darwin-fallback.o.
	* config/t-darwin-ehs: Add dependency on unwind.h.

2022-02-24  Xi Ruoyao  <xry111@mengyan1223.wang>

	* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Call find_fde_tail
	with 0 instead of NULL.

2022-02-24  Jose E. Marchesi  <jose.marchesi@oracle.com>

	PR target/104656
	* configure.ac: --disable-gcov if targetting bpf-*.
	* configure: Regenerate.

2022-01-25  Florian Weimer  <fweimer@redhat.com>

	PR libgcc/104207
	* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Add NULL check.

2022-01-17  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Rename .c names to .cc.

2022-01-15  David  <gccbugzilla@limegreensocks.com>

	* config/i386/gthr-win32.c (__gthr_i486_lock_cmp_xchg):
	Remove inlined version, Windows 95 is no longer relevant.
	* config/i386/gthr-win32.h
	(__GTHREAD_I486_INLINE_LOCK_PRIMITIVES): unset.

2022-01-14  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/linux-unwind.h (arc_fallback_frame_state): Use
	DWARF_ALT_FRAME_RETURN_COLUMN macro.

2022-01-04  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-fde-dip.c (_Unwind_Find_FDE): Call _dl_find_object
	if available.

2022-01-02  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (_ASM_EFAULT): Define.
	(__kernel_cmpxchg): Nullify illegal iitlbp instruction if error
	return is not equal _ASM_EFAULT.
	(__kernel_cmpxchg2): Likewise.

2021-12-17  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Add shim declaration header to powerpc*-darwin builds.
	* config/rs6000/t-darwin-ehs: Remove dependency on the powerpc end
	file.
	* config/t-darwin-ehs: Add dependencies to the shared unwinder
	objects.
	* config/t-slibgcc-darwin: Add extra_parts to the dependencies for
	the shared EH lib.  Add all-multi to the dependencies for the
	libgcc_s.1.dylib redirections.

2021-12-13  Olivier Hainque  <hainque@adacore.com>

	* config.host (powerpc*-*-vxworks7*): Remove
	rs6000/t-linux and t-slibgcc-libgcc from tmake_file.

2021-12-13  Olivier Hainque  <hainque@adacore.com>

	* config.host (*vxworks*): Remove special case for
	arm on the use of vxcrtstuff.

2021-12-13  Fred Konrad  <konrad@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config/t-vxcrtstuffS: New Makefile fragment.
	* config/vxcrtstuff.c: Provide __dso_handle. Provide _init/_fini
	functions for INITFINI_ARRAY support in shared libs and guard
	the definition of eh table registration functions on conditions
	indicating they are needed.

2021-12-13  Olivier Hainque  <hainque@adacore.com>

	* config.host (powerpc*-wrs-vxworks7*): Place t-crtstuff
	ahead of the other files in tmake_files.
	* config/t-vxworks: Add to CRTSTUFF_T_CFLAGS instead of
	overriding it.

2021-12-13  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Simplify and handle
	both VxWorks7 and earlier.
	* config/t-vxworks7: Remove.
	* config.host: Remove special case for vxworks7.

2021-12-11  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* config/vxcrtstuff.c: Make constructor and destructor
	functions static when possible.

2021-12-11  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* config/vxcrtstuff.c: Remove constructor/destructor
	declarations.

2021-12-10  Iain Sandoe  <iain@sandoe.co.uk>

	* config/t-darwin: Add libgcc_tm.h to the dependencies
	for darwin10-unwind-find-enc-func.

2021-12-10  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/rs6000/t-vxworks: New file.
	* config.host (powerpc*-*-vxworks*): Use it instead of
	t-ppccomm.

2021-12-09  Fred Konrad  <konrad@adacore.com>

	* config.host (powerpc*-wrs-vxworks7*): Fix path to
	rs6000/t-ppc64-fp, relative to config/ not libgcc/.

2021-12-09  Olivier Hainque  <hainque@adacore.com>
	    Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/t-vxworks: Set CRTSTUFF_T_CFLAGS to
	$(LIBGCC2_INCLUDES).
	* config/t-vxworks7: Likewise.

2021-12-08  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host (*-*-darwin*): Add logic to build a shared
	unwinder library for Darwin8-10.
	* config/i386/t-darwin: Build legacy libgcc_s.1.
	* config/rs6000/t-darwin: Likewise.
	* config/t-darwin: Reorganise the EH fragments to place
	them for inclusion in a shared EH lib.
	* config/t-slibgcc-darwin: Build a legacy libgcc_s.1 and
	the supporting pieces (all FAT libs).
	* config/t-darwin-noeh: Removed.
	* config/darwin-unwind.ver: New file.
	* config/rs6000/t-darwin-ehs: New file.
	* config/t-darwin-ehs: New file.

2021-12-06  Nelson Chu  <nelson.chu@sifive.com>

	* config/riscv/div.S: Add the hidden alias symbol for __udivdi3, and
	then use HIDDEN_JUMPTARGET to target it since it is non-preemptible.
	* config/riscv/riscv-asm.h: Added new macros HIDDEN_JUMPTARGET and
	HIDDEN_DEF.

2021-11-30  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* config/vxcrtstuff.c: Undefine caddr_t, pid_t, rlim_t,
	ssize_t and vfork after including auto-host.h.

2021-11-29  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* config.host (powerpc-wrs-vxworks): Do not add crtbegin.o and
	crtend.o to extra_parts.

2021-11-27  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/t-dimode (lib2difuncs): Fix typo.

2021-11-25  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Add hdr.
	Remove func, ret.
	(find_fde_tail): New function.  Split from
	_Unwind_IteratePhdrCallback.  Move the result initialization
	from _Unwind_Find_FDE.
	(_Unwind_Find_FDE): Updated to call find_fde_tail.

2021-11-22  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-fde-dip.c (NEED_DBASE_MEMBER): Define.
	(struct unw_eh_callback_data): Make dbase member conditional.
	(unw_eh_callback_data_dbase): New function.
	(base_from_cb_data): Simplify for the non-dbase case.
	(_Unwind_IteratePhdrCallback): Adjust.
	(_Unwind_Find_FDE): Likewise.

2021-11-22  Florian Weimer  <fweimer@redhat.com>

	* unwind-dw2-fde-dip.c (struct unw_eh_callback_data): Remove
	tbase member.
	(base_from_cb_data): Adjust.
	(_Unwind_IteratePhdrCallback): Likewise.
	(_Unwind_Find_FDE): Likewise.

2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Add weak emutls crt to the extra_parts.
	* config/i386/darwin-lib.h (DECLARE_LIBRARY_RENAMES): Remove
	workaround.
	* config/libgcc-libsystem.ver: Add exclude list for the system-
	provided unwinder.
	* config/t-slibgcc-darwin: Bump SO version, remove stubs code.
	* config/i386/libgcc-darwin.10.4.ver: Removed.
	* config/i386/libgcc-darwin.10.5.ver: Removed.
	* config/rs6000/libgcc-darwin.10.4.ver: Removed.
	* config/rs6000/libgcc-darwin.10.5.ver: Removed.
	* config/t-darwin-noeh: New file.

2021-11-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config/t-darwin: Build weak-defined emutls objects.
	* emutls.c (__emutls_get_address): Add optional attributes.
	(__emutls_register_common): Likewise.
	(EMUTLS_ATTR): New.

2021-11-11  Raphael Moreira Zinsly  <rzinsly@linux.ibm.com>

	PR libgcc/103044
	* config/rs6000/linux-unwind.h (ppc_backchain_fallback): Check if it's
	called with a null argument or at the end of the backtrace and return.
	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Treat _URC_NORMAL_STOP.

2021-11-10  Jakub Jelinek  <jakub@redhat.com>

	* config/rs6000/linux-unwind.h (ppc_back_fallback): Make it static,
	formatting fix.

2021-11-05  Iain Sandoe  <iain@sandoe.co.uk>

	* config/darwin10-unwind-find-enc-func.c: Include libgcc_tm.h.
	* config/i386/darwin-lib.h: Declare Darwin10 crt function.

2021-11-05  John David Anglin  <danglin@gcc.gnu.org>

	PR libgomp/96661
	* config.host (hppa*64*-*-linux*): Revise tmake_file.
	(hppa*64*-*-hpux11*): Likewise.
	* config/pa/sfp-exceptions.c: New.
	* config/pa/sfp-machine.h: New.
	* config/pa/t-dimode: New.
	* config/pa/t-softfp-sfdftf: New.

2021-10-27  John David Anglin  <danglin@gcc.gnu.org>

	* config.host (hppa*64*-*-linux*): Don't add pa/t-linux to
	tmake_file.
	* config/pa/linux-atomic.c: Define u8, u16 and u64 types.
	Use them in FETCH_AND_OP_2, OP_AND_FETCH_2, COMPARE_AND_SWAP_2,
	SYNC_LOCK_TEST_AND_SET_2 and SYNC_LOCK_RELEASE_1 macros.
	* config/pa/t-linux64 (LIB1ASMSRC): New define.
	(LIB1ASMFUNCS): Revise.
	(HOST_LIBGCC2_CFLAGS): Add "-DLINUX=1".

2021-10-22  Stafford Horne  <shorne@gmail.com>

	* config/or1k/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Change to 0.

2021-10-14  Raphael Moreira Zinsly  <rzinsly@linux.ibm.com>

	* config/rs6000/linux-unwind.h (struct rt_sigframe): Move it to
	outside of get_regs() in order to use it in another function, this
	is done twice: for __powerpc64__ and for !__powerpc64__.
	(struct trace_arg): New struct.
	(struct layout): New struct.
	(ppc_backchain_fallback): New function.
	* unwind.inc (_Unwind_Backtrace): Look for _URC_NORMAL_STOP code
	state and call MD_BACKCHAIN_FALLBACK.

2021-10-13  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/90364
	* libgcov-driver.c (merge_one_data): Skip timestamp and verify
	checksums.
	(write_one_data): Write also checksum.
	* libgcov-util.c (read_gcda_file): Read also checksum field.
	* libgcov.h (struct gcov_info): Add new field.

2021-10-08  Ian Lance Taylor  <iant@golang.org>

	* config/i386/morestack.S: Use .init_array for constructor if
	available.
	* config/rs6000/morestack.S: Likewise.
	* config/s390/morestack.S: Likewise.

2021-10-03  Patrick McGehearty  <patrick.mcgehearty@oracle.com>

	PR target/101104
	* libgcc2.c (RMIN2, RMINSCAL, RMAX2):
	Use more correct values for native IBM 128-bit.

2021-09-28  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/libgcc-darwin.ver: Add Symbols for
	__cpu_model, __cpu_indicator_init.

2021-09-22  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/sfp-machine.h: Guard Mach-O-specific code
	using __APPLE__.

2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config/t-slibgcc-darwin: Delete unused code.

2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/t-darwin: Add in a vers file for X86-specific
	symbols.
	* config/t-darwin: Add the generic symbol maps here...
	* config/t-slibgcc-darwin: ... removing from here.
	* config/i386/libgcc-darwin.ver: New file.

2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/t-softfp: Exclude libgcc2 versions of __divhc3
	and __mulhc3.

2021-09-19  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Use convenience library for Darwin10
	unwinder shim.
	* config/t-darwin: Build Darwin10 unwinder shim as a
	convenience library.

2021-09-13  Andrew Pinski  <apinski@marvell.com>

	* config.host: Remove m32r-*-linux* and m32rle-*-linux*.
	* config/m32r/libgcc-glibc.ver: Removed.
	* config/m32r/t-linux: Removed.

2021-09-08  liuhongt  <hongtao.liu@intel.com>

	* config/i386/t-softfp: Compile __{mul,div}hc3 into
	libgcc_s.so.1.

2021-09-08  Jakub Jelinek  <jakub@redhat.com>
	    Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/libgcc-glibc.ver: Add %inherit GCC_12.0.0 GCC_7.0.0
	and export *hf* and *hc* functions at GCC_12.0.0.

2021-09-06  liuhongt  <hongtao.liu@intel.com>

	* Makefile.in: Adjust to support specific CFLAGS for each
	libgcc source file.
	* config/i386/64/t-softfp: Explicitly add -msse2 for HF
	related libgcc source files.
	* config/i386/t-softfp: Ditto.
	* config/i386/_divhc3.c: New file.
	* config/i386/_mulhc3.c: New file.

2021-09-03  Iain Sandoe  <iain@sandoe.co.uk>

	* config/i386/sfp-machine.h (alias_HFtype, alias_SFtype
	alias_DFtype, alias_TFtype): New.
	(ALIAS_SELECTOR): New.
	(strong_alias): Use __typeof and a _Generic selector to
	provide the type to the synthesized function.

2021-09-02  liuhongt  <hongtao.liu@intel.com>

	* config/i386/32/sfp-machine.h (_FP_NANFRAC_H): New macro.
	* config/i386/64/sfp-machine.h (_FP_NANFRAC_H): Ditto.
	* config/i386/sfp-machine.h (_FP_NANSIGN_H): Ditto.
	* config/i386/t-softfp: Add hf soft-fp.
	* config.host: Add i386/64/t-softfp.
	* config/i386/64/t-softfp: New file.

2021-09-02  liuhongt  <hongtao.liu@intel.com>

	* soft-fp/eqhf2.c: New file.
	* soft-fp/extendhfdf2.c: New file.
	* soft-fp/extendhfsf2.c: New file.
	* soft-fp/half.h (FP_CMP_EQ_H): New marco.
	* soft-fp/truncdfhf2.c: New file
	* soft-fp/truncsfhf2.c: New file

2021-09-01  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* unwind-arm-common.inc (abort): Remove.

2021-08-31  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/value-unwind.h: Add missing runtime exception
	paragraph.
	* config/frv/frv-abi.h: Likewise.
	* config/i386/value-unwind.h: Likewise.
	* config/pa/pa64-hpux-lib.h: Likewise.

2021-08-26  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/ibm-ldouble.c (ldouble_qadd_internal): Rename from
	__gcc_qadd.
	(__gcc_qadd): Call ldouble_qadd_internal.
	(__gcc_qsub): Call ldouble_qadd_internal with second long double
	argument negated.

2021-08-26  Jonathan Yong  <10walls@gmail.com>

	* config/i386/cygming-crtend.c: Fix register_frame_ctor
	and register_frame_dtor warnings.

2021-08-24  Richard Earnshaw  <rearnsha@arm.com>

	PR target/102035
	* config/arm/cmse_nonsecure_call.S (__gnu_cmse_nonsecure_call):
	Add vlldm erratum work-around.

2021-08-21  John David Anglin  <danglin@gcc.gnu.org>

	* config.host: Remove extra_parts from hppa[12]*-*-hpux11* case.

2021-08-16  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov.h (gcov_type): Define using __LIBGCC_GCOV_TYPE_SIZE.
	(gcov_type_unsigned): Likewise.

2021-08-14  Stafford Horne  <shorne@gmail.com>

	PR target/99783
	* config.host (or1k-*, tmake_file): Add or1k/t-crtstuff.
	* config/or1k/t-crtstuff: New file.

2021-08-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* libgcov-driver.c (#include <stdint.h>): Remove.
	(write_topn_counters): Use __INTPTR_TYPE__ instead of intptr_t.

2021-08-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* Makefile.in (LIBGCOV_DRIVER): Add _gcov_info_to_gcda.
	* gcov.h (gcov_info): Declare.
	(__gcov_info_to_gdca): Likewise.
	* libgcov.h (gcov_write_counter): Remove.
	(gcov_write_tag_length): Likewise.
	* libgcov-driver.c (#include <stdint.h>): New.
	(#include <string.h>): Remove.
	(NEED_L_GCOV): Conditionally define.
	(NEED_L_GCOV_INFO_TO_GCDA): Likewise.
	(are_all_counters_zero): New.
	(gcov_dump_handler): Likewise.
	(gcov_allocate_handler): Likewise.
	(dump_unsigned): Likewise.
	(dump_counter): Likewise.
	(write_topn_counters): Add dump_fn, allocate_fn, and arg parameters.
	Use dump_unsigned() and dump_counter().
	(write_one_data): Add dump_fn, allocate_fn, and arg parameters.  Use
	dump_unsigned(), dump_counter(), and are_all_counters_zero().
	(__gcov_info_to_gcda): New.

2021-08-05  Jakub Jelinek  <jakub@redhat.com>

	* config/t-slibgcc (SHLIB_LINK): Add $(LDFLAGS).
	* config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
	* config/t-slibgcc-vms (SHLIB_LINK): Likewise.
	* config/t-slibgcc-fuchsia (SHLIB_LDFLAGS): Remove $(LDFLAGS).

2021-08-04  Jakub Jelinek  <jakub@redhat.com>

	* config/t-slibgcc-fuchsia: Undo doubly applied patch.

2021-07-15  Alan Modra  <amodra@gmail.com>

	* config/rs6000/morestack.S (R2_SAVE): Define.
	(__morestack): Save and restore r2.  Set up r2 for called
	functions.

2021-07-01  H.J. Lu  <hjl.tools@gmail.com>

	* soft-fp/extendhfxf2.c: New file.
	* soft-fp/truncxfhf2.c: Likewise.

2021-06-29  Julian Brown  <julian@codesourcery.com>

	* config/gcn/lib2-bswapti2.c: New file.
	* config/gcn/lib2-divmod-di.c: New file.
	* config/gcn/lib2-gcn.h (DItype, UDItype, TItype, UTItype): Add
	typedefs.
	(__divdi3, __moddi3, __udivdi3, __umoddi3): Add prototypes.
	* config/gcn/t-amdgcn (LIB2ADD): Add lib2-divmod-di.c and
	lib2-bswapti2.c.

2021-06-29  Julian Brown  <julian@codesourcery.com>

	* config/gcn/lib2-divmod.c (__udivsi3, __umodsi3): Change argument and
	return types to USItype.
	* config/gcn/lib2-gcn.h (__udivsi3, __umodsi3): Update prototypes.

2021-06-23  Kewen Lin  <linkw@linux.ibm.com>

	* configure: Regenerate.
	* configure.ac (test for libgcc_cv_powerpc_3_1_float128_hw): Fix
	typos among the name, CFLAGS and the test.
	* config/rs6000/t-float128-hw (fp128_3_1_hw_funcs, fp128_3_1_hw_src,
	fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj, fp128_3_1_hw_obj):
	Remove.
	* config/rs6000/t-float128-p10-hw (FLOAT128_HW_INSNS): Append
	macro FLOAT128_HW_INSNS_ISA3_1.
	(FP128_3_1_CFLAGS_HW): Fix option typo.
	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): Guard this with
	FLOAT128_HW_INSNS_ISA3_1.
	(__floattikf_resolve): Likewise.
	(__floatuntikf_resolve): Likewise.
	(__fixkfti_resolve): Likewise.
	(__fixunskfti_resolve): Likewise.
	(__floattikf): Likewise.
	(__floatuntikf): Likewise.
	(__fixkfti): Likewise.
	(__fixunskfti): Likewise.

2021-06-11  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

	PR target/99939
	* config/arm/cmse_nonsecure_call.S: Add	__ARM_FEATURE_MVE
	macro.
	* config/arm/t-arm: To link cmse.o and cmse_nonsecure_call.o
	on passing -mcmse option.

2021-06-10  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/quad-float128.h: Guard all uses of [U]TItype_ppc by
	_ARCH_PPC64 .

2021-06-09  Carl Love  <cel@us.ibm.com>

	* config.host: Add if test and set for
	libgcc_cv_powerpc_3_1_float128_hw.
	* config/rs6000/fixkfti.c: Renamed to fixkfti-sw.c.
	Change calls of __fixkfti to __fixkfti_sw.
	* config/rs6000/fixunskfti.c: Renamed to fixunskfti-sw.c.
	Change calls of __fixunskfti to __fixunskfti_sw.
	* config/rs6000/float128-p10.c (__floattikf_hw,
	__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw): New file.
	* config/rs6000/float128-ifunc.c (SW_OR_HW_ISA3_1): New macro.
	(__floattikf_resolve, __floatuntikf_resolve, __fixkfti_resolve,
	__fixunskfti_resolve): Add resolve functions.
	(__floattikf, __floatuntikf, __fixkfti, __fixunskfti): New functions.
	* config/rs6000/float128-sed (floattitf, __floatuntitf,
	__fixtfti, __fixunstfti): Add editor commands to change names.
	* config/rs6000/float128-sed-hw (__floattitf,
	__floatuntitf, __fixtfti, __fixunstfti): Add editor commands to
	change names.
	* config/rs6000/floattikf.c: Renamed to floattikf-sw.c.
	* config/rs6000/floatuntikf.c: Renamed to floatuntikf-sw.c.
	* config/rs6000/quad-float128.h (__floattikf_sw,
	__floatuntikf_sw, __fixkfti_sw, __fixunskfti_sw, __floattikf_hw,
	__floatuntikf_hw, __fixkfti_hw, __fixunskfti_hw, __floattikf,
	__floatuntikf, __fixkfti, __fixunskfti): New extern declarations.
	* config/rs6000/t-float128 (floattikf, floatuntikf,
	fixkfti, fixunskfti): Remove file names from fp128_ppc_funcs.
	(floattikf-sw, floatuntikf-sw, fixkfti-sw, fixunskfti-sw): Add
	file names to fp128_ppc_funcs.
	* config/rs6000/t-float128-hw(fp128_3_1_hw_funcs,
	fp128_3_1_hw_src, fp128_3_1_hw_static_obj, fp128_3_1_hw_shared_obj,
	fp128_3_1_hw_obj): Add variables for ISA 3.1 support.
	* config/rs6000/t-float128-p10-hw: New file.
	* configure: Update script for isa 3.1 128-bit float support.
	* configure.ac: Add check for 128-bit float hardware support.
	* config/rs6000/fixkfti-sw.c: New file.
	* config/rs6000/fixunskfti-sw.c: New file.
	* config/rs6000/floattikf-sw.c: New file.
	* config/rs6000/floatuntikf-sw.c: New file.

2021-05-13  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config/pru/mpyll.S (__pruabi_mpyll): Place into own section.

2021-05-13  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Fix GNU coding style.

2021-05-10  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (gcov_version): Use different name that does
	not clash with newly introduced macro.

2021-04-29  Eric Botcazou  <ebotcazou@adacore.com>

	* libgcov.h: For the target, define GCOV_LOCKED_WITH_LOCKING
	if __MSVCRT__ and, for the host, define it if HOST_HAS_LK_LOCK.
	* libgcov-driver.c: Add directives if GCOV_LOCKED_WITH_LOCKING.

2021-04-28  Patrick McGehearty  <patrick.mcgehearty@oracle.com>

	* libgcc2.c (XMTYPE, XCTYPE, RBIG, RMIN, RMIN2, RMINSCAL, RMAX2):
	Define.
	(__divsc3, __divdc3, __divxc3, __divtc3): Improve complex divide.
	* config/rs6000/_divkc3.c (RBIG, RMIN, RMIN2, RMINSCAL, RMAX2):
	Define.
	(__divkc3): Improve complex divide.

2021-04-23  Michael Meissner  <meissner@linux.ibm.com>

	PR target/98952
	* config/rs6000/tramp.S (__trampoline_setup, elfv1 #ifdef): Fix
	trampoline size comparison in 32-bit by reversing test and
	combining load immediate with compare.
	(__trampoline_setup, elfv2 #ifdef): Fix trampoline size comparison
	in 32-bit by reversing test and combining load immediate with
	compare.

2021-04-05  Florian Weimer  <fweimer@redhat.com>
	    Michael Meissner   <meissner@linux.ibm.com>

	* config/rs6000/t-float128 (fp128_ppc_funcs): Add decimal floating
	point functions for $(decimal_float) only.

2021-04-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/97653
	* config/rs6000/t-linux (IBM128_STATIC_OBJS): Fix spelling, use
	$(objext) instead of $(object).  Use _floatunditf instead of
	_floatunsditf.  Add tf <-> ti conversion objects.
	(IBM128_SHARED_OBJS): Use proper substitution reference syntax.

2021-03-29  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/t-float128 (fp128_decstr_funcs): Delete.
	(fp128_ppc_funcs): Do not add $(fp128_decstr_funcs).
	(fp128_decstr_objs): Delete.
	* dfp-bit.h: Call __sprintfieee128 to do conversions from
	_Float128 to a Decimal type.  Call __strtoieee128 to do
	conversions from a Decimal type to _Float128.
	* config/rs6000/_sprintfkf.c: Delete file.
	* config/rs6000/_sprintfkf.h: Delete file.
	* config/rs6000/_strtokf.c: Delete file.
	* config/rs6000/_strtokf.h: Delete file.

2021-03-23  Marcus Comstedt  <marcus@mc.pp.se>

	* config/riscv/sfp-machine.h (__BYTE_ORDER): Set according
	to __BYTE_ORDER__.

2021-03-06  Jakub Jelinek  <jakub@redhat.com>

	PR gcov-profile/99406
	* libgcov.h (MAP_FAILED, MAP_ANONYMOUS): If HAVE_SYS_MMAN_H is
	defined, define these macros if not defined already.

2021-03-04  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/99105
	* libgcov-driver.c (write_top_counters): Rename to ...
	(write_topn_counters): ... this.
	(write_one_data): Pre-allocate buffer for number of items
	in the corresponding linked lists.
	* libgcov.h (malloc_mmap): New function.
	(allocate_gcov_kvp): Use it.

2021-03-04  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/99385
	* libgcov.h (allocate_gcov_kvp): Call mmap with fd equal to -1.

2021-03-03  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/97461
	* config.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Check sys/mman.h header file
	* libgcov-driver.c (struct gcov_kvp): Remove static
	pre-allocated pool and use a dynamic one.
	* libgcov.h (MMAP_CHUNK_SIZE): New.
	(gcov_counter_add): Use mmap to allocate pool for struct
	gcov_kvp.

2021-03-02  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/_sprintfkf.h (__sprintfkf): Fix prototype to match
	the function.
	* config/rs6000/_sprintfkf.c: Include _sprintfkf.h.

2021-02-24  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/99236
	* libgcc2.c (__powisf2, __powidf2, __powitf2, __powixf2): Perform
	negation of m in unsigned type.

2021-02-24  Christophe Lyon  <christophe.lyon@linaro.org>
	    Hau Hsu  <hsuhau617@gmail.com>

	PR target/99157
	* config/arm/t-arm: Fix cmse support detection.

2021-02-22  Michael Meissner  <meissner@linux.ibm.com>

	* dfp-bit.c (BFP_TO_DFP): Fix a comment line that was too long.

2021-02-22  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/_dd_to_kf.c: New file.
	* config/rs6000/_kf_to_dd.c: New file.
	* config/rs6000/_kf_to_sd.c: New file.
	* config/rs6000/_kf_to_td.c: New file.
	* config/rs6000/_sd_to_kf.c: New file.
	* config/rs6000/_sprintfkf.c: New file.
	* config/rs6000/_sprintfkf.h: New file.
	* config/rs6000/_strtokf.h: New file.
	* config/rs6000/_strtokf.c: New file.
	* config/rs6000/_td_to_kf.c: New file.
	* config/rs6000/quad-float128.h: Add new declarations.
	* config/rs6000/t-float128 (fp128_dec_funcs): New macro.
	(fp128_decstr_funcs): New macro.
	(ibm128_dec_funcs): New macro.
	(fp128_ppc_funcs): Add the new conversions.
	(fp128_dec_objs): Force Decimal <-> __float128 conversions to be
	compiled with -mabi=ieeelongdouble.
	(fp128_decstr_objs): Force __float128 <-> string conversions to be
	compiled with -mabi=ibmlongdouble.
	(ibm128_dec_objs): Force Decimal <-> __float128 conversions to be
	compiled with -mabi=ieeelongdouble.
	(FP128_CFLAGS_DECIMAL): New macro.
	(IBM128_CFLAGS_DECIMAL): New macro.
	* dfp-bit.c (DFP_TO_BFP): Add PowerPC _Float128 support.
	(BFP_TO_DFP): Add PowerPC _Float128 support.
	* dfp-bit.h (BFP_KIND): Add new binary floating point kind for
	IEEE 128-bit floating point.
	(DFP_TO_BFP): Add PowerPC _Float128 support.
	(BFP_TO_DFP): Add PowerPC _Float128 support.
	(BFP_SPRINTF): New macro.

2021-01-27  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/savms64.h: Add .note.GNU-stack section on Linux.
	* config/i386/savms64f.h: Likewise.
	* config/i386/resms64.h: Likewise.
	* config/i386/resms64f.h: Likewise.
	* config/i386/resms64x.h: Likewise.
	* config/i386/resms64fx.h: Likewise.

2021-01-26  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/98739
	* libgcov.h (gcov_topn_add_value): Do not train when
	we have a merged profile with a negative number of total
	value.

2021-01-25  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/98739
	* libgcov-merge.c (__gcov_merge_topn): Mark when merging
	ends with a dropped counter.
	* libgcov.h (gcov_topn_add_value): Add return value.

2021-01-13  Stafford Horne  <shorne@gmail.com>

	* config/or1k/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
	FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_EX_OVERFLOW,
	FP_EX_UNDERFLOW, FP_EX_INEXACT, FP_EX_INVALID, FP_EX_DIVZERO,
	FP_EX_ALL): New constant macros.
	(_FP_DECL_EX, FP_ROUNDMODE, FP_INIT_ROUNDMODE,
	FP_HANDLE_EXCEPTIONS): New macros.
	(_FP_TININESS_AFTER_ROUNDING): Change to 1.

2021-01-13  Samuel Thibault  <samuel.thibault@gnu.org>

	* config/i386/gnu-unwind.h (x86_gnu_fallback_frame_state): Add the
	posix siginfo case to struct handler_args. Detect between legacy
	and siginfo from the second parameter, which is a small sigcode in
	the legacy case, and a pointer in the siginfo case.

2020-12-20  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/lib1funcs.S (__bswapsi2, __bswapdi2): New
	functions.
	* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _bswapsi2 and
	_bswapdi2.

2020-12-08  Ian Lance Taylor  <iant@golang.org>

	* generic-morestack-thread.c (free_segments): Block signals during
	thread exit.

2020-12-03  Michael Meissner  <meissner@linux.ibm.com>

	PR libgcc/97543
	PR libgcc/97643
	* config/rs6000/t-linux (IBM128_STATIC_OBJS): New make variable.
	(IBM128_SHARED_OBJS): New make variable.
	(IBM128_OBJS): New make variable.  Set all objects to use the
	explicit IBM format, and disable gnu attributes.
	(IBM128_CFLAGS): New make variable.
	(gcc_s_compile): Add -mno-gnu-attribute to all shared library
	modules.

2020-12-03  Alexandre Oliva  <oliva@adacore.com>

	* config/t-vxworks (LIB2ADD): Drop.
	* config/t-vxworks7 (LIB2ADD): Likewise.
	* config/vxcache.c: Remove.

2020-11-30  Stefan Kanthak  <stefan.kanthak@nexgo.de>

	* libgcc2.c (bswapsi2): Make constants unsigned.

2020-11-25  Stefan Kanthak  <stefan.kanthak@nexgo.de>

	* libgcc2.c (absvSI2): Simplify/improve implementation by using
	builtin_add_overflow.
	(absvsi2, absvDI2): Likewise.

2020-11-20  Maciej W. Rozycki  <macro@linux-mips.org>

	* unwind-dw2-fde-dip.c [__OpenBSD__ || __NetBSD__]
	(USE_PT_GNU_EH_FRAME): Do not define if !TARGET_DL_ITERATE_PHDR.

2020-11-18  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/lib2hw_mul.S (mult64_hw): New.
	(if MUL_32): Use mult64_hw for __muldi3.
	(if MUL_F5): Use mult64_hw for __muldi3.
	* config/msp430/lib2mul.c (__muldi3): New.
	* config/msp430/t-msp430 (LIB2FUNCS_EXCLUDE): Define.

2020-11-17  Alan Modra  <amodra@gmail.com>

	* config/rs6000/t-ppc64-fp (LIB2ADD): Delete.
	(LIB2_SIDITI_CONV_FUNCS): Define.
	* config/rs6000/ppc64-fp.c: Delete file.

2020-11-15  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/lib2hw_mul.S: Omit _hw* suffix from GCC names for
	hwmult library functions.

2020-11-10  Jeff Law  <law@redhat.com>

	* libgcc2.c: Fix whitespace issues in most recent change.

2020-11-10  Stefan Kanthak  <stefan.kanthak@nexgo.de>

	* libgcc2.c (__addvSI3): Use overflow builtins.
	(__addvsi3, __addvDI3 ,__subvSI3, __subvsi3): Likewise.
	(__subvDI3 __mulvSI3, __mulvsi3, __negvSI2): Likewise.
	(__negvsi2, __negvDI2): Likewise.
	(__cmpdi2, __ucmpdi2): Adjust implementation to improve
	generated code.
	* libgcc2.h (__ucmpdi2): Adjust prototype.

2020-11-03  Pat Bernardi  <bernardi@adacore.com>
	    Olivier Hainque   <hainque@adacore.com>

	* config.host (aarch64-vxworks7*, tmake_file): Add
	${cpu_type}/t-lse and t-slibgcc-libgcc.

2020-11-03  Martin Storsjö  <martin@martin.st>

	* unwind-seh.c (_Unwind_Backtrace): Set the ra and cfa pointers
	before calling the callback.

2020-10-30  Olivier Hainque  <hainque@adacore.com>
	    Douglas Rupp  <rupp@adacore.com>
	    Pat Bernardi  <bernardi@adacore.com>

	* config.host: Adjust the ix86/x86_64-wrs-vxworks filters
	to apply to VxWorks 7 as well.

2020-10-29  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks-tls.c: Fix preprocessor logic
	controlling the definition of VX_ENTER_TLS_DTOR and
	VX_LEAVE_TLS_DTOR based on a version major check.

2020-10-29  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks-thread.c: Fix name of macro used
	to condition the inclusion of an actual implementation.

2020-10-27  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/97461
	* libgcov.h (gcov_counter_add): Use first static counters
	as it should help to have malloc wrappers set up.

2020-10-23  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks-thread.c: #include gthr.h before
	testing the guard defined there.
	* config/gthr-vxworks-cond.c: Likewise.

2020-10-21  Douglas Rupp  <rupp@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config.host (powerpc*-wrs-vxworks7*): New case.
	* configure.ac: Handle powerpc*-*-vxworks7* as
	powerpc*-*-linux* for ppc-fp_type.
	* configure: Regenerate.

2020-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks.h: Condition the ___GTHREADS_CXX0X
	section on VxWorks >= 6.
	* config/gthr-vxworks-thread.c: Condition the entire
	implementation on __GTHREAD_CXX0X.

2020-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks.h: Condition the __GTHREAD_HAS_COND
	section on VxWorks >= 6.
	* config/gthr-vxworks-cond.c: Condition the entire
	implementation on __GTHREAD_HAS_COND.

2020-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks.c: #include <taskLib.h>.

2020-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks.h: Rewrite remaining occurrence
	of _VXW_PRE_69 as _VXWORKS_PRE(6,9).

2020-10-16  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
	     Olivier Hainque   <hainque@adacore.com>

	* config/gthr-vxworks-tls.c (VX_ENTER_TLS_DTOR): Nil
	except on VxWorks 6.

2020-10-16  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxcrtstuff: Remove the -kernel/-rtp specialization.

2020-10-14  Alexandre Oliva  <oliva@adacore.com>

	* config/gthr-vxworks-thread.c: Include stdlib.h.
	(tls_delete_hook): Prototype it.
	(__gthread_cond_signal): Return early if no waiters.  Consume
	signal in case the semaphore got full.  Use semInfoGet instead
	of kernel-mode-only semInfo.
	(__gthread_cond_timedwait): Use semExchange.  Always take the
	mutex again before returning.
	* config/gthr-vxworks-cond.c (__ghtread_cond_wait): Likewise.

2020-10-14  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Append
	$(MULTISUBDIR) to the -I path for fixed headers, as we
	arrange to have different sets of such headers for different
	multilibs when they are activated.
	* config/t-vxworks7: Likewise.

2020-10-14  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks: Add include-fixed to include search
	paths for libgcc on VxWorks.
	* config/t-vxworks7: Likewise.

2020-10-09  H.J. Lu  <hjl.tools@gmail.com>

	PR target/97148
	* config/i386/shadow-stack-unwind.h: Include <x86gprintrin.h>
	instead of <cetintrin.h>.

2020-10-01  Alan Modra  <amodra@gmail.com>

	* config/rs6000/morestack.S,
	* config/rs6000/tramp.S: Support __PCREL__ code.

2020-10-01  Alan Modra  <amodra@gmail.com>

	* config/rs6000/t-linux: Document purpose of -mno-minimal-toc.

2020-09-29  Maciej W. Rozycki  <macro@wdc.com>

	* config/riscv/t-elf (LIB2_DIVMOD_EXCEPTION_FLAGS): New
	variable.

2020-09-28  Richard Sandiford  <richard.sandiford@arm.com>

	* config/aarch64/libgcc-softfp.ver: New file.
	* config/aarch64/t-softfp (SHLIB_MAPFILES): Add it.

2020-09-27  Clement Chigot  <clement.chigot@atos.net>

	* config/rs6000/t-slibgcc-aix: Use $(AR) without -X32_64.

2020-09-22  Sergei Trofimovich  <siarheit@google.com>

	PR gcov-profile/96913
	* libgcov-driver.c (write_one_data): Avoid function pointer
	comparison in TOP streaming decision.

2020-09-17  Torbjörn SVENSSON  <torbjorn.svensson@st.com>
	    Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/fp16.c (__gnu_h2f_internal): Add 'static inline'
	qualifier.
	(__gnu_f2h_ieee, __gnu_h2f_ieee, __gnu_f2h_alternative)
	(__gnu_h2f_alternative,__gnu_d2h_ieee, __gnu_d2h_alternative): Add
	missing prototypes.

2020-09-17  Wei Wentao  <weiwt.fnst@cn.fujitsu.com>

	* config/aarch64/aarch64-unwind.h (aarch64_demangle_return_addr): Fix
	unused variable warning.

2020-09-16  Jojo R  <jiejie_rong@c-sky.com>

	* config.host (C-SKY): Enable crtbegin/crtend.o of libgcc for elf target.

2020-09-09  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/atomic.c (__SYNC_SUBWORD_COMPARE_AND_SWAP): Fix
	Wbuiltin-declaration-mismatch.

2020-08-26  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/slli.S (__gnu_mspabi_sllp): New.
	* config/msp430/srai.S (__gnu_mspabi_srap): New.
	* config/msp430/srli.S (__gnu_mspabi_srlp): New.

2020-08-13  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* config/nvptx/atomic.c: New.
	* config/nvptx/t-nvptx (LIB2ADD): Add atomic.c.

2020-08-03  Ian Lance Taylor  <iant@golang.org>

	* config/i386/morestack.S (BACKOFF) [x86_64]: Add 2048 bytes.

2020-08-03  Jakub Jelinek  <jakub@redhat.com>

	PR target/96402
	* config/aarch64/lse.S (__aarch64_cas16_acq_rel): Use x2, x3 instead
	of x(tmp0), x(tmp1) in STXP arguments.

2020-07-31  Maciej W. Rozycki  <macro@wdc.com>

	* config/riscv/save-restore.S [__riscv_xlen == 64]
	(__riscv_save_10, __riscv_save_8, __riscv_save_6, __riscv_save_4)
	(__riscv_save_2): Replace negative immediates used for the final
	stack pointer adjustment with positive ones, right-shifted by 4.

2020-07-31  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Add __gcov_kvp_pool
	and __gcov_kvp_pool_index variables.
	* libgcov.h (allocate_gcov_kvp): New.
	(gcov_topn_add_value): Use it.

2020-07-24  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/lse.S: Add PAC property note.

2020-07-23  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/96035
	* libgcov-driver-system.c: Create gcov folders with 0777
	so that it respects a system umask.

2020-07-14  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/t-slibgcc-aix: Set BITS from compiler cpp macro.

2020-07-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/94891
	* config/aarch64/aarch64-unwind.h (MD_POST_EXTRACT_ROOT_ADDR): Remove.
	(MD_POST_FROB_EH_HANDLER_ADDR): Remove.
	(MD_POST_EXTRACT_FRAME_ADDR): Rename to ...
	(MD_DEMANGLE_RETURN_ADDR): This.
	(aarch64_post_extract_frame_addr): Rename to ...
	(aarch64_demangle_return_addr): This.
	(aarch64_post_frob_eh_handler_addr): Remove.
	* unwind-dw2.c (uw_update_context): Demangle return address.
	(uw_frob_return_addr): Remove.

2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/96001
	* config/aarch64/lse.S: Add BTI marking and related definitions,
	and add BTI c to function entries.

2020-07-09  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/aarch64/lse.S: Add stack note.

2020-07-02  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/95348
	* libgcov-driver.c (merge_one_data): Merge only profiles
	that are not of non-zero type.
	(write_one_data): Write counters only if there's one non-zero
	value.
	* libgcov-util.c (tag_function): Change signature from unsigned
	to int.
	(tag_blocks): Likewise.
	(tag_arcs): Likewise.
	(tag_counters): Likewise.
	(tag_summary): Likewise.
	(tag_lines): Read only if COUNTERS is non-zero.
	(read_gcda_file): Handle negative length for COUNTERS type.

2020-06-25  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (merge_summary): Remove function as its name
	is misleading and doing something different.
	(dump_one_gcov): Add ATTRIBUTE_UNUSED for 2 args. Take read summary
	in gcov-tool.
	* libgcov-util.c (curr_object_summary): Remove.
	(read_gcda_file): Remove unused curr_object_summary.
	(gcov_merge): Merge summaries.
	* libgcov.h: Add summary argument for gcov_info struct.

2020-06-24  H.J. Lu  <hjl.tools@gmail.com>

	PR target/95259
	* config/i386/cpuinfo.c: Don't include "cpuinfo.h".  Include
	"common/config/i386/i386-cpuinfo.h" and
	"common/config/i386/cpuinfo.h".
	(__cpu_features2): Changed to array.
	(get_amd_cpu): Removed.
	(get_intel_cpu): Likewise.
	(get_available_features): Likewise.
	(__cpu_indicator_init): Call cpu_indicator_init.
	* config/i386/cpuinfo.h: Removed.

2020-06-23  David Edelsohn  <dje.gcc@gmail.com>

	* Makefile.in: Remove uses of empty.mk. Use -include.
	* config/avr/t-avr: Use -include.
	* empty.mk: Delete.

2020-06-21  David Edelsohn  <dje.gcc@gmail.com>

	* config.host (extra_parts): Add crtcxa_64 and crtdbase_64.
	* config/rs6000/t-aix-cxa: Explicitly compile 32 bit with -maix32
	and 64 bit with -maix64.
	* config/rs6000/t-slibgcc-aix: Remove extra @multilib_dir@ level.
	Build and install AIX-style FAT libraries.

2020-06-17  Samuel Thibault  <samuel.thibault@gnu.org>

	* config.host (md_unwind_header) <i[34567]86-*-gnu*>: Set to
	'i386/gnu-unwind.h'
	* config/i386/gnu-unwind.h: New file.

2020-06-17  Martin Liska  <mliska@suse.cz>

	* libgcov-util.c (read_gcda_finalize): Remove const operator.
	(merge_wrapper): Add both counts and use them properly.
	(topn_to_memory_representation): New function.
	(gcov_merge): Covert on disk representation to in memory
	representation.
	* libgcov.h: Remove const operator.

2020-06-15  Max Filippov  <jcmvbkbc@gmail.com>

	* configure: Regenerate.
	* configure.ac: Use AC_COMPILE_IFELSE instead of manual
	preprocessor invocation to check for __XTENSA_CALL0_ABI__.

2020-06-09  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/95494
	* libgcov-driver.c (write_top_counters): Cast first to
	intptr_t as sizeof(*) != sizeof(gcov_type).
	* libgcov.h (gcov_counter_set_if_null): Remove.
	(gcov_topn_add_value): Cast first to intptr_t and update
	linked list directly.

2020-06-09  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/unwind-dw2-xtensa.c (uw_install_context): Merge
	with uw_install_context_1.

2020-06-04  Andreas Schwab  <schwab@suse.de>

	PR target/59230
	PR libfortran/59227
	* config/ia64/t-softfp-compat (softfp_file_list): Filter out
	soft-fp/divtf3.c.
	(LIB2ADD): Add config/ia64/divtf3.c.
	* config/ia64/divtf3.c: New file.

2020-06-03  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/95480
	* libgcov-profiler.c (GCOV_SUPPORTS_ATOMIC): Move to...
	* libgcov.h (GCOV_SUPPORTS_ATOMIC): ...here.
	(gcov_counter_add): Use GCOV_SUPPORTS_ATOMIC guard.
	(gcov_counter_set_if_null): Likewise.

2020-06-02  Jim Wilson  <jimw@sifive.com>

	* config/riscv/div.S (__divdi3): For negative arguments, change bgez
	to bgtz.

2020-06-02  Martin Liska  <mliska@suse.cz>

	* libgcov.h (gcov_topn_add_value): Use xcalloc instead
	of xmalloc.

2020-06-02  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (prune_topn_counter): Remove.
	(prune_counters): Likewise.
	(merge_one_data): Special case TOP N counters
	as they have variable length.
	(write_top_counters): New.
	(write_one_data): Special case TOP N.
	(dump_one_gcov): Do not prune TOP N counters.
	* libgcov-merge.c (merge_topn_values_set): Remove.
	(__gcov_merge_topn): Use gcov_topn_add_value.
	* libgcov-profiler.c (__gcov_topn_values_profiler_body):
	Likewise here.
	* libgcov.h (gcov_counter_add): New.
	(gcov_counter_set_if_null): Likewise.
	(gcov_topn_add_value): New.

2020-06-01  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (struct fenv):
	Add __attribute__ ((gcc_struct)).

2020-05-29  H.J. Lu  <hjl.tools@gmail.com>

	PR bootstrap/95413
	* configure: Regenerated.

2020-05-28  Dong JianQiang  <dongjianqiang2@huawei.com>

	PR gcov-profile/95332
	* libgcov-util.c (read_gcda_file): Call gcov_magic.
	* libgcov.h (gcov_magic): Disable GCC poison.

2020-05-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/95212
	* config/i386/cpuinfo.h (processor_features): Move
	FEATURE_AVX512VP2INTERSECT after FEATURE_AVX512BF16.

2020-05-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/91695
	* config/i386/cpuinfo.c (get_available_features): Fix VPCLMULQDQ
	check.

2020-05-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/95212
	PR target/95220
	* config/i386/cpuinfo.c (get_available_features): Fix
	FEATURE_GFNI check.  Also check FEATURE_AVX512VP2INTERSECT.
	* config/i386/cpuinfo.h (processor_features): Add
	FEATURE_AVX512VP2INTERSECT.

2020-05-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/95147
	* configure: Regenerated.

2020-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2020-05-09  Hans-Peter Nilsson  <hp@axis.com>

	* config.host: Remove support for crisv32-*-* and cris*-*-linux.
	* config/cris/libgcc-glibc.ver, config/cris/t-linux: Remove.

2020-05-06  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__math_force_eval): Remove.
	(__math_force_eval_div): New define.
	(__sfp_handle_exceptions): Use __math_force_eval_div to use
	generic division to generate INVALID, DIVZERO and INEXACT
	exceptions.

2020-05-06  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval
	instead of getauxval.
	(AT_HWCAP): Define.
	(HWCAP_ATOMICS): Define.
	Guard detection on __gnu_linux__.

2020-05-05  Michael Meissner  <meissner@linux.ibm.com>

	* config.host: Delete changes meant for a private branch.
	* config/rs6000/t-float128: Likewise.
	* configure.ac: Likewise.
	* configure: Likewise.

2020-05-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/93623
	* Makefile.in: Remove __gcov_flush.
	* gcov.h (__gcov_flush): Remove.
	* libgcov-interface.c (__gcov_flush): Remove.
	(init_mx): Use renamed mutex.
	(__gcov_lock): Likewise.
	(__gcov_unlock): Likewise.
	(__gcov_fork): Likewise.
	(__gcov_flush): Remove.

2020-05-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/93623
	* libgcov-interface.c (__gcov_fork): Do not flush
	and reset only in child process.
	(__gcov_execl): Dump counters only and reset them
	only if exec* fails.
	(__gcov_execlp): Likewise.
	(__gcov_execle): Likewise.
	(__gcov_execv): Likewise.
	(__gcov_execvp): Likewise.
	(__gcov_execve): Likewise.

2020-05-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/93623
	* Makefile.in: Add _gcov_lock_unlock to LIBGCOV_INTERFACE.
	* libgcov-interface.c (ALIAS_void_fn): Remove.
	(__gcov_lock): New.
	(__gcov_unlock): New.
	(__gcov_flush): Use __gcov_lock and __gcov_unlock.
	(__gcov_reset): Likewise.
	(__gcov_dump): Likewise.
	* libgcov.h (__gcov_lock): New declaration.
	(__gcov_unlock): Likewise.

2020-05-01  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__math_force_eval): New define.
	(__sfp_handle_exceptions): Use __math_force_eval to evaluate
	generic division to generate INVALID and DIVZERO exceptions.

2020-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/rs6000/crtresfpr.S: Use .machine ppc.
	* config/rs6000/crtresxfpr.S: Likewise.
	* config/rs6000/crtsavfpr.S: Likewise.

2020-04-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/94514
	* config/aarch64/aarch64-unwind.h (aarch64_frob_update_context):
	Update context->flags accroding to the frame state.

2020-04-19  Uroš Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__sfp_handle_exceptions) [__SSE_MATH__]:
	Remove unneeded assignments to volatile memory.

2020-04-15  Jakub Jelinek  <jakub@redhat.com>

	PR target/93053
	* configure.ac (LIBGCC_CHECK_AS_LSE): Add HAVE_AS_LSE checking.
	* config/aarch64/lse.S: Include auto-target.h, if HAVE_AS_LSE
	is not defined, use just .arch armv8-a.
	(B, M, N, OPN): Define.
	(COMMENT): New .macro.
	(CAS, CASP, SWP, LDOP): Use .inst directive if HAVE_AS_LSE is not
	defined.  Otherwise, move the operands right after the glue? and
	comment out operands where the macros are used.
	* configure: Regenerated.
	* config.in: Regenerated.

2020-04-07  Ian Lance Taylor  <iant@golang.org>

	PR libgcc/94513
	* generic-morestack.c: Give up trying to use __mmap/__munmap, use
	syscall instead.

2020-04-04  Ian Lance Taylor  <iant@golang.org>

	* generic-morestack.c: Only use __mmap on glibc >= 2.26.

2020-04-03  Ian Lance Taylor  <iant@golang.org>

	* generic-morestack.c: On GNU/Linux use __mmap/__munmap rather
	than mmap/munmap, to avoid hooks.

2020-04-03  Jim Johnston  <jjohnst@us.ibm.com>

	* config/s390/tpf-unwind.h (MIN_PATRANGE, MAX_PATRANGE)
	(TPFRA_OFFSET): Macros removed.
	(CP_CNF, cinfc_fast, CINFC_CMRESET, CINTFC_CMCENBKST)
	(CINTFC_CMCENBKED, ICST_CRET, ICST_SRET, LOWCORE_PAGE3_ADDR)
	(PG3_SKIPPING_OFFSET): New macros.
	(__isPATrange): Use cinfc_fast for the check.
	(__isSkipResetAddr): New function.
	(s390_fallback_frame_state): Check for skip trace addresses. Use
	either ICST_CRET or ICST_SRET to calculate return address
	location.
	(__tpf_eh_return): Handle skip trace addresses.

2020-03-26  Richard Earnshaw  <rearnsha@arm.com>

	PR target/94220
	* config/arm/lib1funcs.asm (COND): Use a single definition for
	unified syntax.
	(aeabi_uidivmod): Unified syntax when optimizing Thumb for size.
	(aeabi_idivmod): Likewise.
	(divsi3_skip_div0_test): Likewise.

2020-03-17  Mihail Ionescu  <mihail.ionescu@arm.com>

	* config/arm/t-arm: Do not compile cmse_nonsecure_call.S for v8.1-m.

2020-03-04  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config.host: Include the new makefile fragment.
	* config/s390/t-tpf: New file.

2020-03-03  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/bpabi-v6m.S (aeabi_lcmp): Convert thumb1 code to unified
	syntax.
	(aeabi_ulcmp, aeabi_ldivmod, aeabi_uldivmod): Likewise.
	(aeabi_frsub, aeabi_cfcmpeq, aeabi_fcmpeq): Likewise.
	(aeabi_fcmp, aeabi_drsub, aeabi_cdrcmple): Likewise.
	(aeabi_cdcmpeq, aeabi_dcmpeq, aeabi_dcmp): Likewise.
	* config/arm/lib1funcs.S (Lend_fde): Convert thumb1 code to unified
	syntax.
	(divsi3, modsi3): Likewise.
	(clzdi2, ctzsi2): Likewise.
	* config/arm/libunwind.S (restore_core_regs): Convert thumb1 code to
	unified syntax.
	(UNWIND_WRAPPER): Likewise.

2020-03-02  Martin Liska  <mliska@suse.cz>

	* libgcov-interface.c: Remove duplicate
	declaration of __gcov_flush_mx.

2020-02-18  Martin Liska  <mliska@suse.cz>

	PR ipa/92924
	* libgcov-merge.c (merge_topn_values_set): Record
	when a TOP N counter becomes invalid.  When merging
	remove a smallest value if the space is needed.

2020-02-12  Sandra Loosemore  <sandra@codesourcery.com>

	PR libstdc++/79193
	PR libstdc++/88999

	* configure: Regenerated.

2020-02-10  Jeff Law  <law@redhat.com>

	* config/frv/frvbegin.c: Use right flags for .ctors and .dtors
	sections.
	* config/frv/frvend.c: Similarly.

2020-02-10  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcc/85334
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
	New.

2020-02-10  Christophe Lyon  <christophe.lyon@linaro.org>

	PR target/93615
	* unwind-arm-common.inc: Replace uses of gnu_Unwind_Find_got with
	_Unwind_gnu_Find_got.
	* unwind-pe.h: Likewise.

2020-02-07  Jakub Jelinek  <jakub@redhat.com>

	PR target/93615
	* config/arm/unwind-arm.h (gnu_Unwind_Find_got): Rename to ...
	(_Unwind_gnu_Find_got): ... this.  Use __asm instead of asm.  Remove
	trailing :s in asm.  Formatting fixes.
	(_Unwind_decode_typeinfo_ptr): Adjust caller.

2020-01-31  Sandra Loosemore  <sandra@codesourcery.com>

	nios2: Support for GOT-relative DW_EH_PE_datarel encoding.

	* config.host [nios2-*-linux*] (tmake_file, tm_file): Adjust.
	* config/nios2-elf-lib.h: New.
	* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback): Use existing
	code for finding GOT base for nios2.

2020-01-27  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/93403
	* libgcov-profiler.c (__gcov_indirect_call_profiler_v4):
	Call __gcov_indirect_call_profiler_body.
	(__gcov_indirect_call_profiler_body): New.
	(__gcov_indirect_call_profiler_v4_atomic): New.
	* libgcov.h (__gcov_indirect_call_profiler_v4_atomic):
	New declaration.

2020-01-27  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/crti.S: Add RF16 object attribute.
	* config/arc/crtn.S: Likewise.
	* config/arc/crttls.S: Likewise.
	* config/arc/lib1funcs.S: Likewise.
	* config/arc/fp-hack.h (ARC_OPTFPE): Define.
	* config/arc/lib2funcs.c: New file.
	* config/arc/t-arc: Add lib2funcs to LIB2ADD.

2020-01-24  Maciej W. Rozycki  <macro@wdc.com>

	* Makefile.in (configure_deps): Add `toolexeclibdir.m4'.
	* configure.ac: Handle `--with-toolexeclibdir='.
	* configure: Regenerate.

2020-01-23  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>

	* config/mips/gnustack.h: Check for TARGET_LIBC_GNUSTACK also.

2020-01-23  Dragan Mladjenovic  <dmladjenovic@wavecomp.com>

	* config/mips/gnustack.h: New file.
	* config/mips/crti.S: Include gnustack.h.
	* config/mips/crtn.S: Likewise.
	* config/mips/mips16.S: Likewise.
	* config/mips/vr4120-div.S: Likewise.

2020-01-23  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (prune_topn_counter): Remove
	check for -1 as we only prune run-time counters
	that do not generate an invalid state.

2020-01-22  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/92924
	* libgcov-profiler.c (__gcov_topn_values_profiler_body): First
	try to find an existing value, then find an empty slot
	if not found.

2020-01-22  Martin Liska  <mliska@suse.cz>

	PR tree-optimization/92924
	* libgcov-driver.c (prune_topn_counter): New.
	(prune_counters): Likewise.
	(dump_one_gcov): Prune a run-time counter.
	* libgcov-profiler.c (__gcov_topn_values_profiler_body):
	For a known value, add GCOV_TOPN_VALUES to value.
	Otherwise, decrement all counters by one.

2020-01-18  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/arit.c (DS): Apply attribute __fallthrough__.

2020-01-18  John David Anglin  <danglin@gcc.gnu.org>

	PR libgcc/92988
	* crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if
	DEFAULT_USE_CXA_ATEXIT is true.

2020-01-16  Mihail-Calin Ionescu  <mihail.ionescu@arm.com>
	    Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/t-arm: Check return value of gcc rather than lack of
	output.

2020-01-14  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (skip): Simplify.

2020-01-10  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* config/gcn/atomic.c: Remove include of stdint.h.
	(__sync_val_compare_and_swap_##SIZE): Replace uintptr_t with
	__UINTPTR_TYPE__.

2020-01-09  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* config/gcn/atomic.c: New.
	* config/gcn/t-amdgcn (LIB2ADD): Add atomic.c.

2020-01-08  Georg-Johann Lay  <avr@gjlay.de>

	Implement 64-bit double functions.

	PR target/92055
	* config.host (tmake_file) [target=avr]: Add t-libf7,
	t-libf7-math, t-libf7-math-symbols as specified by --with-libf7=.
	* config/avr/t-avrlibc: Don't copy libgcc.a if there are modules
	depending on sizeof (double) or sizeof (long double).
	* config/avr/libf7: New folder.

2020-01-05  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks.h: Guard #include vxAtomicLib.h
	by IN_LIBGCC2.

2020-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks.h: Use _vxworks-versions.h.
	* config/gthr-vxworks-tls.c: Likewise.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks.h (GTHREAD_ONCE_INIT): Use
	standard zero-initializer syntax.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* config/gthr-vxworks-tls.c (__gthread_getspecific): Fix
	reference to the internal VX_GET_TLS_DATA interface.

2019-12-30  Olivier Hainque  <hainque@adacore.com>

	* config/vxcrtstuff.c: Fix incorrect spelling of
	USE_INITFINI_ARRAY in guard.

2019-12-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.host: s/msp430*-*-elf/msp430-*-elf*.
	Override default "extra_parts" variable.
	* configure: Regenerate.
	* configure.ac: Disable TM clone registry by default for
	msp430-elfbare.

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config.host (msp430*-*-elf): Add crt{begin,end}_no_eh.o to
	"extra_parts".
	* config/msp430/t-msp430: Add rules to build crt{begin,end}_no_eh.o.

2019-12-11  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c: Declare __dso_handle only if DEFAULT_USE_CXA_ATEXIT is
	true.

2019-12-09  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c (__do_global_dtors_aux): Check if USE_EH_FRAME_REGISTRY is
	defined instead of its value.

2019-12-09  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c (__do_global_dtors_aux): Wrap in #if so it's only defined
	if it will have contents.

2019-12-05  Georg-Johann Lay  <avr@gjlay.de>

	PR target/92055
	* config/avr/t-avrlibc (MULTISUBDIR): Search for double, not double64.

2019-11-18  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR libgcc/91737
	* config.host: Add t-gthr-noweak on *-*-musl*.
	* config/t-gthr-noweak: New file.

2019-11-17  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__kernel_cmpxchg): Change argument 1 to
	volatile void *.  Remove trap check.
	(__kernel_cmpxchg2): Likewise.
	(FETCH_AND_OP_2): Adjust operand types.
	(OP_AND_FETCH_2): Likewise.
	(FETCH_AND_OP_WORD): Likewise.
	(OP_AND_FETCH_WORD): Likewise.
	(COMPARE_AND_SWAP_2): Likewise.
	(__sync_val_compare_and_swap_4): Likewise.
	(__sync_bool_compare_and_swap_4): Likewise.
	(SYNC_LOCK_TEST_AND_SET_2): Likewise.
	(__sync_lock_test_and_set_4): Likewise.
	(SYNC_LOCK_RELEASE_1): Likewise.  Use __kernel_cmpxchg2 for release.
	(__sync_lock_release_4): Adjust operand types.  Use __kernel_cmpxchg
	for release.
	(__sync_lock_release_8): Remove.

2019-11-15  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/m68k/linux-unwind.h (struct uw_ucontext): Use sigset_t instead
	of __sigset_t.

2019-11-14  Jerome Lambourg  <lambourg@adacore.com>
	    Doug Rupp <rupp@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config.host: Collapse the arm-vxworks entries into
	a single arm-wrs-vxworks7* one.
	* config/arm/unwind-arm-vxworks.c: Update comments.  Provide
	__gnu_Unwind_Find_exidx and a weak dummy __cxa_type_match for
	kernel modules, to be overriden by libstdc++ when we link with
	it.  Rely on externally provided __exidx_start/end.

2019-11-14  Doug Rupp  <rupp@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config.host: Handle aarch64*-wrs-vxworks7*.

2019-11-12  Olivier Hainque  <hainque@adacore.com>

	* config/t-gthr-vxworksae: New file, add all the gthr-vxworks
	sources except the cxx0x support to LIB2ADDEH.  We don't support
	cxx0x on AE/653.
	* config/t-vxworksae: New file.
	* config.host: Handle *-*-vxworksae: Add the two aforementioned
	Makefile fragment files at their expected position in the tmake_file
	list, in accordance with what is done for other VxWorks variants.

2019-11-12  Corentin Gay  <gay@adacore.com>
	    Jerome Lambourg  <lambourg@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config/t-gthr-vxworks: New file, add all the gthr-vxworks
	sources to LIB2ADDEH.
	* config/t-vxworks: Remove adjustments to LIB2ADDEH.
	* config/t-vxworks7: Likewise.

	* config.host: Append a block at the end of the file to add the
	t-gthr files to the tmake_file list for VxWorks after everything
	else.

	* config/vxlib.c: Rename as gthr-vxworks.c.
	* config/vxlib-tls.c: Rename as gthr-vxworks-tls.c.

	* config/gthr-vxworks.h: Simplify a few comments.  Expose a TAS
	API and a basic error checking API, both internal.  Simplify the
	__gthread_once_t type definition and initializers.  Add sections
	for condition variables support and for the C++0x thread support,
	conditioned against Vx653 for the latter.

	* config/gthr-vxworks.c (__gthread_once): Simplify comments and
	implementation, leveraging the TAS internal API.
	* config/gthr-vxworks-tls.c: Introduce an internal TLS data access
	API, leveraging the general availability of TLS services in VxWorks7
	post SR6xxx.
	(__gthread_setspecific, __gthread_setspecific): Use it.
	(tls_delete_hook): Likewise, and simplify the enter/leave dtor logic.
	* config/gthr-vxworks-cond.c: New file.  GTHREAD_COND variable
	support based on VxWorks primitives.
	* config/gthr-vxworks-thread.c: New file.  GTHREAD_CXX0X support
	based on VxWorks primitives.

2019-11-06  Jerome Lambourg  <lambourg@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config/vxcrtstuff.c: New file.
	* config/t-vxcrtstuff: New Makefile fragment.
	* config.host: Append t-vxcrtstuff to the tmake_file list
	on all VxWorks ports using dwarf for table based EH.

2019-11-07  Georg-Johann Lay  <avr@gjlay.de>

	Support 64-bit double and 64-bit long double configurations.

	PR target/92055
	* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Only add -DF=SF if
	long double is a 32-bit type.
	* config/avr/t-avrlibc: Copy double64 and long-double64
	multilib(s) from the vanilla one.
	* config/avr/t-copy-libgcc: New Makefile snip.

2019-11-04  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* crtstuff.c: Define USE_TM_CLONE_REGISTRY to 0 if it's undefined and
	the target output object format is not ELF.
	s/defined(USE_TM_CLONE_REGISTRY)/USE_TM_CLONE_REGISTRY.

2019-11-03  Oleg Endo  <olegendo@gcc.gnu.org>

	PR libgcc/78804
	* fp-bit.h: Remove FLOAT_BIT_ORDER_MISMATCH.
	* fp-bit.c (pack_d, unpack_d): Remove special cases for
	FLOAT_BIT_ORDER_MISMATCH.
	* config/arc/t-arc: Remove FLOAT_BIT_ORDER_MISMATCH.

2019-11-01  Jim Wilson  <jimw@sifive.com>

	* config/riscv/t-softfp32 (softfp_extra): Add FP divide routines

2019-10-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/lib2hw_mul.S: Fix wrong syntax in branch instruction.
	s/RESULT_LO/RESLO, s/RESULT_HI/RESHI, s/MPY_OP1/MPY, 
	s/MPY_OP1_S/MPYS, s/MAC_OP1/MAC, s/MPY_OP2/OP2, s/MAC_OP2/OP2.
	Define symbols for 32-bit and f5series hardware multiply
	register addresses.
	Replace hard-coded register addresses with symbols.
	Fix "_mspabi*" typo.
	Fix whitespace.
	* config/msp430/lib2mul.c: Add comment.

2019-10-15  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (_dl_read_access_allowed): Change argument to
	unsigned int.  Adjust callers.
	(__canonicalize_funcptr_for_compare): Change plabel type to volatile
	unsigned int *.  Load relocation offset before function pointer.
	Add barrier to ensure ordering.

2019-10-12  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21.
	Load PIC register after branch target.  Fix white space.
	* config/pa/milli64.S ($$dyncall): Separate LINUX and non LINUX
	implementations.  Load PIC register after branch target.  Don't
	clobber function pointer when it points to function descriptor.
	Use nullification instead of branch in LINUX implementation.

2019-10-03  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c: Disable -Warray-bounds warning.

2019-09-25  Richard Henderson  <richard.henderson@linaro.org>

	* config.in, configure: Re-rebuild with stock autoconf 2.69,
	not the ubuntu modified 2.69.

	PR target/91833
	* config/aarch64/lse-init.c: Include auto-target.h.  Disable
	initialization if !HAVE_SYS_AUXV_H.
	* configure.ac (AC_CHECK_HEADERS): Add sys/auxv.h.
	* config.in, configure: Rebuild.

	PR target/91834
	* config/aarch64/lse.S (LDNM): Ensure STXR output does not
	overlap the inputs.

2019-09-25  Shaokun Zhang  <zhangshaokun@hisilicon.com>

	* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Add support for
	CTR_EL0.IDC and CTR_EL0.DIC.

2019-09-20  Christophe Lyon  <christophe.lyon@st.com>

	Revert:
	2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
		Mickaël Guêné <mickael.guene@st.com>

	* config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only
	architecture.

2019-09-19  Richard Henderson  <richard.henderson@linaro.org>

	* config/aarch64/lse-init.c: New file.
	* config/aarch64/lse.S: New file.
	* config/aarch64/t-lse: New file.
	* config.host: Add t-lse to all aarch64 tuples.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné <mickael.guene@st.com>

	* config/arm/unwind-arm.c (_Unwind_VRS_Set): Handle thumb-only
	architecture.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné <mickael.guene@st.com>

	* unwind-arm-common.inc (ARM_SET_R7_RT_SIGRETURN)
	(THUMB2_SET_R7_RT_SIGRETURN, FDPIC_LDR_R12_WITH_FUNCDESC)
	(FDPIC_LDR_R9_WITH_GOT, FDPIC_LDR_PC_WITH_RESTORER)
	(FDPIC_FUNCDESC_OFFSET, ARM_NEW_RT_SIGFRAME_UCONTEXT)
	(ARM_UCONTEXT_SIGCONTEXT, ARM_SIGCONTEXT_R0, FDPIC_T2_LDR_R12_WITH_FUNCDESC)
	(FDPIC_T2_LDR_R9_WITH_GOT, FDPIC_T2_LDR_PC_WITH_RESTORER): New.
	(__gnu_personality_sigframe_fdpic): New.
	(get_eit_entry): Add FDPIC signal frame support.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné <mickael.guene@st.com>

	* config/arm/linux-atomic.c (__kernel_cmpxchg): Add FDPIC support.
	(__kernel_dmb): Likewise.
	(__fdpic_cmpxchg): New function.
	(__fdpic_dmb): New function.
	* config/arm/unwind-arm.h (FDPIC_REGNUM): New define.
	(gnu_Unwind_Find_got): New function.
	(_Unwind_decode_typeinfo_ptr): Add FDPIC support.
	* unwind-arm-common.inc (UCB_PR_GOT): New.
	(funcdesc_t): New struct.
	(get_eit_entry): Add FDPIC support.
	(unwind_phase2): Likewise.
	(unwind_phase2_forced): Likewise.
	(__gnu_Unwind_RaiseException): Likewise.
	(__gnu_Unwind_Resume): Likewise.
	(__gnu_Unwind_Backtrace): Likewise.
	* unwind-pe.h (read_encoded_value_with_base): Likewise.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>
	Mickaël Guêné <mickael.guene@st.com>

	* libgcc/crtstuff.c: Add support for FDPIC.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

	* config.host: Handle *-*-uclinuxfdpiceabi.

2019-09-09  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config.host: Set cpu_type for bpf-*-* targets.
	* config/bpf/t-bpf: Likewise.
	* config/bpf/crtn.S: Likewise.
	* config/bpf/crti.S: New file.

2019-09-06  Jim Wilson  <jimw@sifive.com>

	* config.host (riscv*-*-linux*): Add t-slibgcc-libgcc to tmake_file.
	(riscv*-*-freebsd*): Likewise.

2019-09-03  Ulrich Weigand  <uweigand@de.ibm.com>

	* config.host: Remove references to spu.
	* config/spu/: Remove directory.

2019-08-23  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	PR target/91306
	* crtstuff.c (__CTOR_LIST__): Align to the "__alignof__" the array
	element type, instead of "sizeof" the element type.
	(__DTOR_LIST__): Likewise.
	(__TMC_LIST__): Likewise.
	(__do_global_dtors_aux_fini_array_entry): Likewise.
	(__frame_dummy_init_array_entry): Likewise.
	(__CTOR_END__): Likewise.
	(__DTOR_END__): Likweise.
	(__FRAME_END__): Likewise.
	(__TMC_END__): Likewise.

2019-08-20  Lili Cui  <lilicui@intel.com>

	* config/i386/cpuinfo.h: Add INTEL_COREI7_TIGERLAKE and
	INTEL_COREI7_COOPERLAKE.

2019-07-31  Matt Thomas  <matt@3am-software.com>
	    Nick Hudson <nick@nthcliff.demon.co.uk>
	    Matthew Green <mrg@eterna.com.au>
	    Maya Rashish <coypu@sdf.org>

	* config.host (hppa*-*-netbsd*): New case.
	* config/pa/t-netbsd: New file.

2019-07-31  Joel Hutton  <Joel.Hutton@arm.com>

	* config/arm/cmse.c (cmse_check_address_range): Add
	warn_unused_result attribute.

2019-07-22  Martin Liska  <mliska@suse.cz>

	* config/pa/stublib.c: Remove stub symbol __gnu_lto_v1.
	* config/pa/t-stublib: Likewise.

2019-07-22  Stafford Horne  <shorne@gmail.com>

	PR target/90362
	* config/or1k/lib1funcs.S (__udivsi3): Change l.sfeqi
	to l.sfeq and l.sfltsi to l.sflts equivalents as the immediate
	instructions are not available on every processor.  Change a
	l.bnf to l.bf to fix logic issue.

2019-07-04  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Remove reference to t-darwin8.

2019-07-03  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt
	list.
	* config/rs6000/t-darwin: Build crt3_2 for older systems.  Revise
	mmacosx-version-min for crts to run across all system versions.
	* config/rs6000/t-darwin64 (LIB2ADD): Remove.
	* config/t-darwin: Revise mmacosx-version-min for crts to run across
	system versions >= 10.4.

2019-07-03  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Use topn_values instead of one_value names.
	* libgcov-merge.c (__gcov_merge_single): Move to ...
	(__gcov_merge_topn): ... this.
	(merge_single_value_set): Move to ...
	(merge_topn_values_set): ... this.
	* libgcov-profiler.c (__gcov_one_value_profiler_body): Move to
	...
	(__gcov_topn_values_profiler_body): ... this.
	(__gcov_one_value_profiler_v2): Move to ...
	(__gcov_topn_values_profiler): ... this.
	(__gcov_one_value_profiler_v2_atomic): Move to ...
	(__gcov_topn_values_profiler_atomic): ... this.
	(__gcov_indirect_call_profiler_v4): Remove.
	* libgcov-util.c (__gcov_single_counter_op): Move to ...
	(__gcov_topn_counter_op): ... this.
	* libgcov.h (L_gcov_merge_single): Remove.
	(L_gcov_merge_topn): New.
	(__gcov_merge_single): Remove.
	(__gcov_merge_topn): New.
	(__gcov_one_value_profiler_v2): Move to ..
	(__gcov_topn_values_profiler): ... this.
	(__gcov_one_value_profiler_v2_atomic): Move to ...
	(__gcov_topn_values_profiler_atomic): ... this.

2019-07-03  Martin Liska  <mliska@suse.cz>

	* libgcov-merge.c (merge_single_value_set): Support N values.
	* libgcov-profiler.c (__gcov_one_value_profiler_body): Likewise.

2019-06-27  Ilia Diachkov  <ilia.diachkov@optimitech.com>

	* Makefile.in (USE_TM_CLONE_REGISTRY): New.
	(CRTSTUFF_CFLAGS): Use USE_TM_CLONE_REGISTRY.
	* configure.ac: Add --disable-tm-clone-registry option.
	* configure: Regenerate.

2019-06-27  Martin Liska  <mliska@suse.cz>

	* libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously
	dead assignments.
	* libgcov-util.c: Likewise.

2019-06-27  Martin Liska  <mliska@suse.cz>

	* libgcov-util.c (gcov_profile_merge): Release allocated
	memory.
	(calculate_overlap): Likewise.

2019-06-25  Iain Sandoe  <iain@sandoe.co.uk>

	* config.host: Add libef_ppc.a to the extra files for powerpc-darwin.
	* config/rs6000/t-darwin: (PPC_ENDFILE_SRC, PPC_ENDFILE_OBJS): New.
	Build objects for the out of line save/restore register functions
	so that they can be used for any supported Darwin version.
	* config/t-darwin: Default the build Darwin version to Darwin8
	(MacOS 10.4).

2019-06-25  Martin Liska  <mliska@suse.cz>

	* libgcov-driver-system.c (replace_filename_variables): Do not
	call strlen with NULL argument.

2019-06-25  Andrew Stubbs  <ams@codesourcery.com>

	* config/gcn/t-amdgcn (LIB2ADD): Add unwind-gcn.c.
	* config/gcn/unwind-gcn.c: New file.

2019-06-25  Kwok Cheung Yeung  <kcy@codesourcery.com>
            Andrew Stubbs  <ams@codesourcery.com>

	* configure: Regenerate.
	* config/gcn/gthr-gcn.h: New.

2019-06-18  Tom de Vries  <tdevries@suse.de>

	* config/nvptx/crt0.c (__main): Declare.

2019-06-17  Matthew Green  <mrg@eterna.com.au>
	    Maya Rashish  <coypu@sdf.org>

	* config.host (aarch64*-*-netbsd*): New case.

2019-06-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/slli.S (__mspabi_sllll): New library function for
	performing a logical left shift of a 64-bit value.
	* config/msp430/srai.S (__mspabi_srall): New library function for
	performing a arithmetic right shift of a 64-bit value.
	* config/msp430/srll.S (__mspabi_srlll): New library function for
	performing a logical right shift of a 64-bit value.

2019-06-14  Matt Thomas  <matt@3am-software.com>
	    Matthew Green  <mrg@eterna.com.au>
	    Nick Hudson  <skrll@netbsd.org>
	    Maya Rashish  <coypu@sdf.org>

	* config.host (arm*-*-netbsdelf*): Add support for EABI configurations.
	* config/arm/t-netbsd (LIB1ASMFUNCS): Add some additional assembler
	functions to build.
	* config/arm/t-netbsd-eabi: New file.

2019-06-12  Dimitar Dimitrov  <dimitar@dinux.eu>

	* config.host: Add PRU target.
	* config/pru/asri.c: New file.
	* config/pru/eqd.c: New file.
	* config/pru/eqf.c: New file.
	* config/pru/ged.c: New file.
	* config/pru/gef.c: New file.
	* config/pru/gtd.c: New file.
	* config/pru/gtf.c: New file.
	* config/pru/led.c: New file.
	* config/pru/lef.c: New file.
	* config/pru/lib2bitcountHI.c: New file.
	* config/pru/lib2divHI.c: New file.
	* config/pru/lib2divQI.c: New file.
	* config/pru/lib2divSI.c: New file.
	* config/pru/libgcc-eabi.ver: New file.
	* config/pru/ltd.c: New file.
	* config/pru/ltf.c: New file.
	* config/pru/mpyll.S: New file.
	* config/pru/pru-abi.h: New file.
	* config/pru/pru-asm.h: New file.
	* config/pru/pru-divmod.h: New file.
	* config/pru/sfp-machine.h: New file.
	* config/pru/t-pru: New file.

2019-06-11  Jakub Jelinek  <jakub@redhat.com>

	* libgcov-merge.c (__gcov_merge_single): Revert previous change.

2019-06-10  Martin Liska  <mliska@suse.cz>

	PR bootstrap/90808
	* libgcov.h: Add ATTRIBUTE_UNUSED.

2019-06-10  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Add __gcov_one_value_profiler_v2,
	__gcov_one_value_profiler_v2_atomic and
	__gcov_indirect_call_profiler_v4.
	* libgcov-merge.c (__gcov_merge_single): Change
	function signature.
	(merge_single_value_set): New.
	* libgcov-profiler.c (__gcov_one_value_profiler_body):
	Update functionality.
	(__gcov_one_value_profiler): Remove.
	(__gcov_one_value_profiler_v2): ... this.
	(__gcov_one_value_profiler_atomic): Rename to ...
	(__gcov_one_value_profiler_v2_atomic): this.
	(__gcov_indirect_call_profiler_v3): Rename to ...
	(__gcov_indirect_call_profiler_v4): ... this.
	* libgcov.h (__gcov_one_value_profiler): Remove.
	(__gcov_one_value_profiler_atomic): Remove.
	(__gcov_one_value_profiler_v2_atomic): New.
	(__gcov_indirect_call_profiler_v3): Remove.
	(__gcov_one_value_profiler_v2): New.
	(__gcov_indirect_call_profiler_v4): New.
	(gcov_get_counter_ignore_scaling): New function.

2019-06-07  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Remove usage of
	_gcov_merge_icall_topn.
	* libgcov-driver.c (gcov_sort_n_vals): Remove.
	(gcov_sort_icall_topn_counter): Likewise.
	(gcov_sort_topn_counter_arrays): Likewise.
	(dump_one_gcov): Remove call to gcov_sort_topn_counter_arrays.
	* libgcov-merge.c (__gcov_merge_icall_topn): Remove.
	* libgcov-profiler.c (__gcov_topn_value_profiler_body):
	Likewise.
	(GCOV_ICALL_COUNTER_CLEAR_THRESHOLD): Remove.
	(struct indirect_call_tuple): Remove.
	(__gcov_indirect_call_topn_profiler): Remove.
	* libgcov-util.c (__gcov_icall_topn_counter_op): Remove.
	* libgcov.h (gcov_sort_n_vals): Remove.
	(L_gcov_merge_icall_topn): Likewise.
	(__gcov_merge_icall_topn): Likewise.
	(__gcov_indirect_call_topn_profiler): Likewise.

2019-06-06  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/t-darwin: Ensure that the unwinder is built with
	altivec enabled.

2019-06-06  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	* config/msp430/slli.S (__mspabi_slli_n): Put function in its own
	section.
	(__mspabi_slli): Likewise.
	(__mspabi_slll_n): Likewise.
	(__mspabi_slll): Likewise.
	* config/msp430/srai.S (__mspabi_srai_n): Likewise.
	(__mspabi_srai): Likewise.
	(__mspabi_sral_n): Likewise.
	(__mspabi_sral): Likewise.
	* config/msp430/srli.S (__mspabi_srli_n): Likewise.
	(__mspabi_srli): Likewise.
	(__mspabi_srll_n): Likewise.
	(__mspabi_srll): Likewise.

2019-06-05  Yoshinori Sato  <ysato@users.sourceforge.jp>

	* config.host (rx-*-linux*): Add t-fdpbit to tmake_file
	Add appropriate tm_file clause as well.
	* config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Remove.

2019-06-05  James Clarke  <jrtc27@jrtc27.com>

	* config/ia64/crtbegin.S (__dso_handle): Put in .sdata/.sbss
	rather than .data/.bss so it can be accessed via gp-relative
	addressing.

2019-06-05  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR.
	(CR2_REGNO): Rename to R_CR2.
	(XER_REGNO): Rename to R_XER.
	(FIRST_ALTIVEC_REGNO): Rename to R_FIRST_ALTIVEC.
	(VRSAVE_REGNO): Rename to R_VRSAVE.
	(VSCR_REGNO): R_VSCR.

2019-05-29  Yoshinori Sato  <ysato@users.sourceforge.jp>

	* config.host (rx-*-linux*): Add new case.
	* config/rx/t-rx (HOST_LIBGCC2_CFLAGS): Force DFmode to SFmode.

2019-05-29  Sam Tebbs  <sam.tebbs@arm.com>

	* config/aarch64/aarch64-unwind.h (aarch64_cie_signed_with_b_key): New
	function.
	* config/aarch64/aarch64-unwind.h (aarch64_post_extract_frame_addr,
	aarch64_post_frob_eh_handler_addr): Add	check for b-key.
	* config/aarch64/aarch64-unwind-h (aarch64_post_extract_frame_addr,
	aarch64_post_frob_eh_handler_addr, aarch64_post_frob_update_context):
	Rename RA_A_SIGNED_BIT to RA_SIGNED_BIT.
	* unwind-dw2-fde.c (get_cie_encoding): Add check for 'B' in augmentation
	string.
	* unwind-dw2.c (extract_cie_info): Add check for 'B' in augmentation
	string.
	(RA_A_SIGNED_BIT): Rename to RA_SIGNED_BIT.

2019-05-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/sparc/sol2-unwind.h [__arch64__] (sparc64_is_sighandler):
	Remove Solaris 9 and 10 support.
	(sparc_is_sighandler): Likewise.

2019-05-26  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Add cast.

2019-05-17  H.J. Lu  <hongjiu.lu@intel.com>

	* soft-fp/extenddftf2.c: Use "_FP_W_TYPE_SIZE < 64" to check if
	4_FP_W_TYPEs are used for IEEE quad precision.
	* soft-fp/extendhftf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfhf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* config/rs6000/ibm-ldouble.c: Likewise.

2019-05-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host: Simplify various *-*-solaris2.1[0-9]* to
	*-*-solaris2*.
	* configure.ac: Likewise.
	* configure: Regenerate.

	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 10 and Solaris 11 < snv_125 handling.

2019-05-12  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin-vecsave.S: Set .machine appropriately.

2019-05-07  Hongtao Liu  <hongtao.liu@intel.com>

	* config/i386/cpuinfo.c (get_available_features): Detect BF16.
	* config/i386/cpuinfo.h (enum processor_features): Add
	FEATURE_AVX512BF16.

2019-04-23  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Bernd Edlinger  <bernd.edlinger@hotmail.de>
	    Jakub Jelinek  <jakub@redhat.com>

	PR target/89093
	* config/arm/pr-support.c: Add #pragma GCC target("general-regs-only").
	* config/arm/unwind-arm.c: Likewise.
	* unwind-c.c (PERSONALITY_FUNCTION): Add general-regs-only target
	attribute for ARM.

2019-04-15  Monk Chiang  <sh.chiang04@gmail.com>

	* config/nds32/linux-unwind.h (SIGRETURN): Remove.
	(RT_SIGRETURN): Update.
	(nds32_fallback_frame_state): Update.

2019-02-21  Martin Sebor  <msebor@redhat.com>

	* libgcc2.h (__clear_cache): Correct signature.
	* libgcc2.c (__clear_cache): Same.

2019-02-20  Uroš Bizjak  <ubizjak@gmail.com>

	* config/alpha/linux-unwind.h (alpha_fallback_frame_state):
	Cast 'mcontext_t *' &rt_->uc.uc_mcontext to 'struct sigcontext *'.

2019-02-19  Uroš Bizjak  <ubizjak@gmail.com>

	* unwind-dw2.c (_Unwind_GetGR) [DWARF_ZERO_REG]: Compare
	regno instead of index to DWARF_ZERO_REG.

2019-02-15  Eric Botcazou  <ebotcazou@adacore.com>

	* config/visium/lib2funcs.c (__set_trampoline_parity): Replace
	TRAMPOLINE_SIZE with __LIBGCC_TRAMPOLINE_SIZE__.

2019-01-31  Uroš Bizjak  <ubizjak@gmail.com>

	* config/alpha/t-linux: Add -mfp-rounding-mode=d
	to HOST_LIBGCC2_CFLAGS.

2019-01-23  Joseph Myers  <joseph@codesourcery.com>

	PR libgcc/88931
	* libgcc2.c (FSTYPE FUNC (DWtype u)): Correct no leading bits case.

2019-01-18  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Rename
	to ...
	(__gcov_indirect_call_profiler_v3): ... this.
	* libgcov.h (__gcov_indirect_call_profiler_v2): Likewise.
	(__gcov_indirect_call_profiler_v3): Likewise.
	* Makefile.in: Bump function name.

2019-01-18  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (GCOV_PROF_PREFIX): Define.
	(gcov_version): Use in gcov_error.
	(merge_one_data): Likewise.
	(dump_one_gcov): Likewise.

2019-01-18  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (gcov_version_string): New function.
	(gcov_version): Convert version integer into string.

2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
	    Kwok Cheung Yeung  <kcy@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	    Tom de Vries  <tom@codesourcery.com>

	* config.host: Recognize amdgcn*-*-amdhsa.
	* config/gcn/crt0.c: New file.
	* config/gcn/lib2-divmod-hi.c: New file.
	* config/gcn/lib2-divmod.c: New file.
	* config/gcn/lib2-gcn.h: New file.
	* config/gcn/sfp-machine.h: New file.
	* config/gcn/t-amdgcn: New file.

2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	* config/c6x/libunwind.S: Mechanically replace "can not" with
	"cannot".
	* config/tilepro/atomic.h: Likewise.
	* config/vxlib-tls.c: Likewise.
	* generic-morestack-thread.c: Likewise.
	* generic-morestack.c: Likewise.
	* mkmap-symver.awk: Likewise.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2018-12-20  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind-pe.h (read_encoded_value_with_base): Add GCC pragma
	to ignore -Waddress-of-packed-member.

2018-12-19  Thomas Preud'homme  <thomas.preudhomme@linaro.org>

	* /config/arm/lib1funcs.S (FUNC_START): Remove unused sp_section
	parameter and corresponding code.
	(ARM_FUNC_START): Likewise in both definitions.
	Also update footer comment about condition that need to match with
	gcc/config/arm/elf.h to also include libgcc/config/arm/t-arm.
	* config/arm/ieee754-df.S (muldf3): Also build it if L_arm_muldf3 is
	defined.  Weakly define it in this case.
	* config/arm/ieee754-sf.S (mulsf3): Likewise with L_arm_mulsf3.
	* config/arm/t-elf (LIB1ASMFUNCS): Build _arm_muldf3.o and
	_arm_mulsf3.o before muldiv versions if targeting Thumb-1 only. Add
	comment to keep condition in sync with the one in
	libgcc/config/arm/lib1funcs.S and gcc/config/arm/elf.h.

2018-12-18  Wei Xiao  <wei3.xiao@intel.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Handle cascadelake.
	* config/i386/cpuinfo.h: Add INTEL_COREI7_CASCADELAKE.

2018-12-12  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/rs6000/tramp.S (__trampoline_setup): Also emit .size
	and .cfi_endproc directives for VxWorks targets.

2018-12-05  Paul Koning  <ni1d@arrl.net>

	* udivmodhi4.c (__udivmodhi4): Fix loop end check.

2018-11-27  Alan Modra  <amodra@gmail.com>

	* config/rs6000/morestack.S (__stack_split_initialize),
	(__morestack_get_guard, __morestack_set_guard),
	(__morestack_make_guard): Provide CFI covering these functions.
	* config/rs6000/tramp.S (__trampoline_setup): Likewise.

2018-11-15  Xianmiao Qu  <xianmiao_qu@c-sky.com>

	* config/csky/linux-unwind.h (sc_pt_regs): Update for kernel.
	(sc_pt_regs_lr): Update for kernel.
	(sc_pt_regs_tls): Update for kernel.

2018-11-15  Xianmiao Qu  <xianmiao_qu@c-sky.com>

	* config/csky/linux-unwind.h: Fix coding style.

2018-11-13  Xianmiao Qu  <xianmiao_qu@c-sky.com>

	* config/csky/linux-unwind.h (_sig_ucontext_t): Remove.
	(csky_fallback_frame_state): Modify the check of the
	instructions to adapt to changes in the kernel

2018-11-09  Stafford Horne  <shorne@gmail.com>
	    Richard Henderson  <rth@twiddle.net>

	* config.host: Add OpenRISC support.
	* config/or1k/*: New.

2018-11-08  Kito Cheng  <kito@andestech.com>

	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendhftf2.c: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixhfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunshfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattihf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntihf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/half.h: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfhf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

2018-11-04  Venkataramanan Kumar  <Venkataramanan.kumar@amd.com>

	* config/i386/cpuinfo.c: (get_amd_cpu): Add znver2.
	* config/i386/cpuinfo.h (processor_types): Add znver2.

2018-11-01  Paul Koning  <ni1d@arrl.net>

	* config/pdp11/t-pdp11 (LIB2ADD): Add divmod.c.
	(HOST_LIBGCC2_CFLAGS): Change to optimize for size.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
	* configure: Regenerate.

2018-10-31  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/lib1funcs.S (_muldi3): New function.
	* config/arc/t-arc (LIB1ASMFUNCS): Add _muldi3.

2018-10-30  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config/gthr-vxworks.h (__gthread_mutex_destroy): Call semDelete.

2018-10-25  Martin Liska  <mliska@suse.cz>

	PR other/87735
	* libgcov-profiler.c: Revert.

2018-10-24  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c: Start from 1 in order to distinguish
	functions which were seen and these that were not.

2018-10-18  Paul Koning  <ni1d@arrl.net>

	* udivmodsi4.c (__udivmodsi4): Rename to conform to coding
	standard.
	* divmod.c: Update references to __udivmodsi4.
	* udivmod.c: Ditto.
	* udivhi3.c: New file.
	* udivmodhi4.c: New file.
	* config/pdp11/t-pdp11 (LIB2ADD): Add the new files.

2018-10-17  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* Makefile.in (LIB2FUNCS_ST): Filter out LIB2FUNCS_EXCLUDE.

2018-10-12  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/ibm-ldouble.c: Augment the toplevel guard with
	defined (__FLOAT128_TYPE__) || defined (__LONG_DOUBLE_128__).

2018-10-08  Paul Koning  <ni1d@arrl.net>

	* config/pdp11/t-pdp11: Remove -mfloat32 switch.

2018-10-04  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/84107
	* libgcov-profiler.c (__gcov_indirect_call):
	Change type to indirect_call_tuple.
	(struct indirect_call_tuple): New struct.
	(__gcov_indirect_call_topn_profiler): Change type.
	(__gcov_indirect_call_profiler_v2): Use the new
	variables.
	* libgcov.h (struct indirect_call_tuple): New struct
	definition.

2018-10-03  Uros Bizjak  <ubizjak@gmail.com>

	* libgcc2.c (isnan): Use __builtin_isnan.
	(isfinite): Use __builtin_isfinite.
	(isinf): Use __builtin_isinf.

2018-09-26  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/crtprec.c (set_precision): Use fnstcw instead of fstcw.

2018-09-21  Alexandre Oliva  <oliva@adacore.com>

	* config/vxcache.c: New file.  Provide __clear_cache, based on
	the cacheTextUpdate VxWorks service.
	* config/t-vxworks (LIB2ADD): Add vxcache.c.
	(LIB2FUNCS_EXCLUDE): Add _clear_cache.
	* config/t-vxwoks7: Likewise.

2018-09-21  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (crc32_unsigned): Remove.
	(gcov_histogram_insert): Likewise.
	(gcov_compute_histogram): Likewise.
	(compute_summary): Simplify rapidly.
	(merge_one_data): Do not handle PROGRAM_SUMMARY tag.
	(merge_summary): Rapidly simplify.
	(dump_one_gcov): Ignore gcov_summary.
	(gcov_do_dump): Do not handle program summary, it's not
	used.
	* libgcov-util.c (tag_summary): Remove.
	(read_gcda_finalize): Fix coding style.
	(read_gcda_file): Initialize curr_object_summary.
	(compute_summary): Remove.
	(calculate_overlap): Remove settings of run_max.

2018-09-21  Monk Chiang  <sh.chiang04@gmail.com>

	* config/nds32/linux-unwind.h (struct _rt_sigframe): Use struct
	ucontext_t type instead.
	(nds32_fallback_frame_state): Remove struct _sigframe statement.

2018-09-21  Kito Cheng  <kito.cheng@gmail.com>

	* config/nds32/t-nds32-glibc: New file.

2018-09-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (solaris_ld_v2_maps): New test.
	* configure: Regenerate.
	* Makefile.in (solaris_ld_v2_maps): New variable.
	* config/t-slibgcc-sld (libgcc-unwind.map): Emit v2 mapfile syntax
	if supported.

2018-08-23  Richard Earnshaw  <rearnsha@arm.com>

	PR target/86951
	* config/arm/lib1funcs.asm (speculation_barrier): New function.
	* config/arm/t-arm (LIB1ASMFUNCS): Add it to list of functions
	to build.

2018-08-22  Iain Sandoe  <iain@sandoe.co.uk>

	* config/unwind-dw2-fde-darwin.c
	(_darwin10_Unwind_FindEnclosingFunction): move from here ...
	* config/darwin10-unwind-find-enc-func.c: … to here.
	* config/t-darwin: Build Darwin10 unwinder shim crt.
	* libgcc/config.host: Add the Darwin10 unwinder shim.

2018-08-21  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* config.host: Add crtbegin.o and crtend.o for
	powerpc-wrs-vxworks target.

2018-08-17  Jojo  <jijie_rong@c-sky.com>
	    Huibin Wang  <huibin_wang@c-sky.com>
	    Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	C-SKY port: libgcc

	* config.host: Add C-SKY support.
	* config/csky/*: New.

2018-08-12  Chung-Ju Wu  <jasonwucj@gmail.com>

	* config/nds32/t-nds32-isr: Rearrange object dependency.
	* config/nds32/initfini.c: Add dwarf2 unwinding support.
	* config/nds32/isr-library/adj_intr_lvl.inc: Consider new extensions
	and registers usage.
	* config/nds32/isr-library/excp_isr.S: Ditto.
	* config/nds32/isr-library/intr_isr.S: Ditto.
	* config/nds32/isr-library/reset.S: Ditto.
	* config/nds32/isr-library/restore_all.inc: Ditto.
	* config/nds32/isr-library/restore_mac_regs.inc: Ditto.
	* config/nds32/isr-library/restore_partial.inc: Ditto.
	* config/nds32/isr-library/restore_usr_regs.inc: Ditto.
	* config/nds32/isr-library/save_all.inc: Ditto.
	* config/nds32/isr-library/save_mac_regs.inc: Ditto.
	* config/nds32/isr-library/save_partial.inc: Ditto.
	* config/nds32/isr-library/save_usr_regs.inc: Ditto.
	* config/nds32/isr-library/vec_vid*.S: Consider 4-byte vector size.

2018-08-11  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c: Update comment.
	(FETCH_AND_OP_2, OP_AND_FETCH_2, FETCH_AND_OP_WORD, OP_AND_FETCH_WORD,
	COMPARE_AND_SWAP_2, __sync_val_compare_and_swap_4,
	SYNC_LOCK_TEST_AND_SET_2, __sync_lock_test_and_set_4): Use
	__ATOMIC_RELAXED for atomic loads.
	(SYNC_LOCK_RELEASE_1): New define.  Use __sync_synchronize() and
	unordered store to release lock.
	(__sync_lock_release_8): Likewise.
	(SYNC_LOCK_RELEASE_2): Remove define.

2018-08-02  Nicolas Pitre <nico@fluxnic.net>

	PR libgcc/86512
	* config/arm/ieee754-df.S: Don't shortcut denormal handling when
	exponent goes negative. Update my email address.
	* config/arm/ieee754-sf.S: Likewise.

2018-08-01  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_indirect_call_profiler_v2): Do not
	check that  __gcov_indirect_call_callee is non-null.

2018-07-30  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/ieee754-df.S: Fix comment for code working on
	architectures >= 4.
	* config/arm/ieee754-sf.S: Likewise.

2018-07-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcc/85334
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
	Removed.

2018-07-05  James Clarke  <jrtc27@jrtc27.com>

	* configure: Regenerated.

2018-06-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (install_leaf): Use enable_gcov instead of
	enable_libgcov.

2018-06-27  Rasmus Villemoes  <rv@rasmusvillemoes.dk>

	* configure.ac: Add --disable-gcov option.
	* configure: Regenerate.
	* Makefile.in: Honour @enable_gcov@.

2018-06-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/lib1funcs.S (__ARM_ARCH__): Remove definitions, use
	__ARM_ARCH and __ARM_FEATURE_CLZ instead.
	(HAVE_ARM_CLZ): Remove definition, use __ARM_FEATURE_CLZ instead.
	* config/arm/ieee754-df.S: Use __ARM_FEATURE_CLZ instead of
	__ARM_ARCH__.
	* config/arm/ieee754-sf.S: Likewise.
	* config/arm/libunwind.S: Use __ARM_ARCH instead of __ARM_ARCH__.

2018-06-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/ieee754-df.S: Remove code for __ARM_ARCH__ < 4, no
	longer supported.
	* config/arm/ieee754-sf.S: Likewise.

2018-06-20  Than McIntosh  <thanm@google.com>

	PR libgcc/86213
	* generic-morestack.c (allocate_segment): Move calls to getenv and
	getpagesize to __morestack_load_mmap.
	(__morestack_load_mmap) Initialize static_pagesize and
	use_guard_page here so as to avoid clobbering SSE regs during a
	__morestack call.

2018-06-18  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/t-float128 (FP128_CFLAGS_SW): Compile float128
	support modules with -mno-gnu-attribute.
	* config/rs6000/t-float128-hw (FP128_CFLAGS_HW): Likewise.

2018-06-07  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC_INCLUDES): Add
	-I$(MULTIBUILDTOP)../../gcc/include.
	* config/t-vxworks7: Likewise. Reformat a bit to match
	the t-vxworks layout.

2018-06-07  Olga Makhotina  <olga.makhotina@intel.com>

	* config/i386/cpuinfo.h (processor_types): Add INTEL_TREMONT.

2018-06-07  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c: Rename cs_all to all and assign it from
	all_prg.

2018-06-07  Martin Liska  <mliska@suse.cz>

	PR bootstrap/86057
	* libgcov-driver-system.c (replace_filename_variables): Use
	memcpy instead of mempcpy.
	(allocate_filename_struct): Do not allocate filename, allocate
	prefix and set it.
	(gcov_exit_open_gcda_file): Allocate memory for gf->filename
	here and properly copy content into it.
	* libgcov-driver.c (struct gcov_filename): Remove max_length
	field, change prefix from size_t into char *.
	(compute_summary): Do not calculate longest filename.
	(gcov_do_dump): Release memory of gf.filename after each file.
	* libgcov-util.c (compute_summary): Use new signature of
	compute_summary.
	(calculate_overlap): Likewise.

2018-06-05  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/47618
	* libgcov-driver-system.c (replace_filename_variables): New
	function.
	(gcov_exit_open_gcda_file): Use it.

2018-06-05  Martin Liska  <mliska@suse.cz>

	* libgcov-driver.c (gcov_compute_histogram): Remove usage
	of gcov_ctr_summary.
	(compute_summary): Do it just for a single summary.
	(merge_one_data): Likewise.
	(merge_summary): Simplify as we read just single summary.
	(dump_one_gcov): Pass proper argument.
	* libgcov-util.c (compute_one_gcov): Simplify as we have just
	single summary.
	(gcov_info_count_all_cold): Likewise.
	(calculate_overlap): Likewise.

2018-06-02  Chung-Ju Wu  <jasonwucj@gmail.com>
	    Monk Chiang  <sh.chiang04@gmail.com>

	* config.host (nds32*-linux*): New.
	* config/nds32/linux-atomic.c: New file.
	* config/nds32/linux-unwind.h: New file.

2018-05-31  Uros Bizjak  <ubizjak@gmail.com>

	PR target/85591
	* config/i386/cpuinfo.c (get_amd_cpu): Return
	AMDFAM15H_BDVER2 for AMDFAM15H model 0x2.

2018-05-30  Rasmus Villemoes  <rasmus.villemoes@prevas.dk>

	* crtstuff.c: Remove declaration of _Jv_RegisterClasses.

2018-05-29  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/85759
	* libgcov-driver-system.c (gcov_error): Introduce usage of
	GCOV_EXIT_AT_ERROR env. variable.
	* libgcov-driver.c (merge_one_data): Print error that we
	overwrite a gcov file with a different timestamp.

2018-05-23  Kalamatee  <kalamatee@gmail.com>

	* config/m68k/lb1sf68.S (Laddsf$nf): Fix sign bit handling in
	path to Lf$finfty.

2018-05-18  Kito Cheng <kito.cheng@gmail.com>
	    Monk Chiang  <sh.chiang04@gmail.com>
	    Jim Wilson <jimw@sifive.com>

	* config/riscv/save-restore.S: Add support for rv32e.

2018-05-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/arm/libunwind.S: Update comment relating to armv5.

2018-05-17  Jerome Lambourg  <lambourg@adacore.com>

	* config/arm/cmse.c (cmse_check_address_range): Replace
	UINTPTR_MAX with __UINTPTR_MAX__ and uintptr_t with __UINTPTR_TYPE__.

2018-05-17  Olga Makhotina  <olga.makhotina@intel.com>

	* config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT_PLUS.
	* config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont Plus.

2018-05-08  Olga Makhotina  <olga.makhotina@intel.com>

	* config/i386/cpuinfo.h (processor_types): Add INTEL_GOLDMONT.
	* config/i386/cpuinfo.c (get_intel_cpu): Detect Goldmont.

2018-05-07  Amaan Cheval  <amaan.cheval@gmail.com>

	* config.host (x86_64-*-rtems*): Build crti.o and crtn.o.

2018-04-27  Andreas Tobler  <andreast@gcc.gnu.org>
	    Maryse Levavasseur <maryse.levavasseur@stormshield.eu>

	PR libgcc/84292
	* config/arm/freebsd-atomic.c (SYNC_OP_AND_FETCH_N): Fix the
	op_and_fetch to return the right result.

2018-04-27  Alan Modra  <amodra@gmail.com>

	PR libgcc/85532
	* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add
	-fno-asynchronous-unwind-tables.

2018-04-25  Chung-Ju Wu  <jasonwucj@gmail.com>

	* config/nds32/sfp-machine.h: Fix settings for NDS32_ABI_2FP_PLUS.
	* config/nds32/t-nds32-newlib (HOST_LIBGCC2_CFLAGS): Use -fwrapv.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h: Add (__CET__ & 2) != 0 check
	when including "config/i386/shadow-stack-unwind.h".

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2018-04-20  Michael Meissner  <meissner@linux.ibm.com>

	PR target/85456
	* config/rs6000/_powikf2.c: New file.  Add support for the
	__builtin_powil function when long double is IEEE 128-bit floating
	point.
	* config/rs6000/float128-ifunc.c (__powikf2_resolve): Add
	__powikf2 support.
	(__powikf2): Likewise.
	* config/rs6000/quad-float128.h (__powikf2_sw): Likewise.
	(__powikf2_hw): Likewise.
	(__powikf2): Likewise.
	* config/rs6000/t-float128 (fp128_ppc_funcs): Likewise.
	* config/rs6000/t-float128-hw (fp128_hw_func): Likewise.
	(_powikf2-hw.c): Likewise.

2018-04-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcc/85334
	* unwind-generic.h (_Unwind_Frames_Increment): New.
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Increment):
	Likewise.
	* unwind.inc (_Unwind_RaiseException_Phase2): Increment frame
	count with _Unwind_Frames_Increment.
	(_Unwind_ForcedUnwind_Phase2): Likewise.

2018-04-19  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcc/85379
	* config/i386/morestack.S (__stack_split_initialize): Add
	_CET_ENDBR.

2018-04-19  Jakub Jelinek  <jakub@redhat.com>

	* configure: Regenerated.

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-04-16  Jakub Jelinek  <jakub@redhat.com>

	PR target/84945
	* config/i386/cpuinfo.c (set_feature): Wrap into do while (0) to avoid
	-Wdangling-else warnings.  Mask shift counts to avoid
	-Wshift-count-negative and -Wshift-count-overflow false positives.

2018-04-06  Ruslan Bukin  <br@bsdpad.com>

	* config.host (riscv*-*-freebsd*): Add RISC-V FreeBSD support.

2018-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/85100
	* config/i386/cpuinfo.c (XCR_XFEATURE_ENABLED_MASK): New.
	(XSTATE_FP): Likewise.
	(XSTATE_SSE): Likewise.
	(XSTATE_YMM): Likewise.
	(XSTATE_OPMASK): Likewise.
	(XSTATE_ZMM): Likewise.
	(XSTATE_HI_ZMM): Likewise.
	(XCR_AVX_ENABLED_MASK): Likewise.
	(XCR_AVX512F_ENABLED_MASK): Likewise.
	(get_available_features): Enable AVX and AVX512 features only
	if their states are supported by OSXSAVE.

2018-03-22  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/85025
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
	Fix a typo, tmp => 255.

2018-03-20  Jakub Jelinek  <jakub@redhat.com>

	PR target/84945
	* config/i386/cpuinfo.h (__cpu_features2): Declare.
	* config/i386/cpuinfo.c (__cpu_features2): New variable for
	ifndef SHARED only.
	(set_feature): Define.
	(get_available_features): Use set_feature macro.  Set __cpu_features2
	to the second word of features ifndef SHARED.

2018-03-15  Julia Koval  <julia.koval@intel.com>

	* config/i386/cpuinfo.c (get_available_features): Add
	FEATURE_AVX512VBMI2, FEATURE_GFNI, FEATURE_VPCLMULQDQ,
	FEATURE_AVX512VNNI, FEATURE_AVX512BITALG.
	* config/i386/cpuinfo.h (processor_features): Add FEATURE_AVX512VBMI2,
	FEATURE_GFNI, FEATURE_VPCLMULQDQ, FEATURE_AVX512VNNI,
	FEATURE_AVX512BITALG.

2018-03-14  Julia Koval  <julia.koval@intel.com>

	* config/i386/cpuinfo.h (processor_subtypes): Split up icelake on
	icelake client and icelake server.

2018-03-06  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (_dl_read_access_allowed): New.
	(__canonicalize_funcptr_for_compare): Use it.

2018-02-28  Jakub Jelinek  <jakub@redhat.com>

	PR debug/83917
	* configure.ac (AS_HIDDEN_DIRECTIVE): AC_DEFINE_UNQUOTED this to
	$asm_hidden_op if visibility ("hidden") attribute works.
	(HAVE_AS_CFI_SECTIONS): New AC_DEFINE.
	* config/i386/i386-asm.h: Don't include auto-host.h.
	(PACKAGE_VERSION, PACKAGE_NAME, PACKAGE_STRING, PACKAGE_TARNAME,
	PACKAGE_URL): Don't undefine.
	(USE_GAS_CFI_DIRECTIVES): Don't use nor define this macro, instead
	guard cfi_startproc only on ifdef __GCC_HAVE_DWARF2_CFI_ASM.
	(FN_HIDDEN): Change guard from #ifdef HAVE_GAS_HIDDEN to
	#ifdef AS_HIDDEN_DIRECTIVE, use AS_HIDDEN_DIRECTIVE macro in the
	definition instead of hardcoded .hidden.
	* config/i386/cygwin.S: Include i386-asm.h first before .cfi_sections
	directive.  Use #ifdef HAVE_AS_CFI_SECTIONS rather than
	#ifdef HAVE_GAS_CFI_SECTIONS_DIRECTIVE to guard .cfi_sections.
	(USE_GAS_CFI_DIRECTIVES): Don't define.
	* configure: Regenerated.
	* config.in: Likewise.

2018-02-26  Jakub Jelinek  <jakub@redhat.com>

	PR debug/83917
	* config/i386/i386-asm.h (PACKAGE_VERSION, PACKAGE_NAME,
	PACKAGE_STRING, PACKAGE_TARNAME, PACKAGE_URL): Undefine between
	inclusion of auto-target.h and auto-host.h.
	(USE_GAS_CFI_DIRECTIVES): Define if not defined already based on
	__GCC_HAVE_DWARF2_CFI_ASM.
	(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
	cfi_def_cfa_register, cfi_def_cfa, cfi_register, cfi_offset, cfi_push,
	cfi_pop): Define.
	* config/i386/cygwin.S: Don't include auto-host.h here, just
	define USE_GAS_CFI_DIRECTIVES to 1 or 0 and include i386-asm.h.
	(cfi_startproc, cfi_endproc, cfi_adjust_cfa_offset,
	cfi_def_cfa_register, cfi_register, cfi_push, cfi_pop): Remove.
	* config/i386/resms64fx.h: Add cfi_* directives.
	* config/i386/resms64x.h: Likewise.

2018-02-20  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/ieee754-df.S (__adddf3_aux): Add
	.literal_position directive.
	* config/xtensa/ieee754-sf.S (__addsf3_aux): Likewise.

2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84148
	* configure: Regenerate.

2018-02-16  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84239
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
	Include cetintrin.h not x86intrin.h.

2018-02-08  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84239
	* config/i386/shadow-stack-unwind.h (_Unwind_Frames_Extra):
	Use new _get_ssp and _inc_ssp intrinsics.

2018-02-02  Julia Koval  <julia.koval@intel.com>

	* config/i386/cpuinfo.h (processor_subtypes): Add INTEL_COREI7_ICELAKE.

2018-01-26  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/lib1funcs.S (__udivmodsi4): Use safe version for RF16
	option.
	(__divsi3): Use RF16 safe registers.
	(__modsi3): Likewise.

2018-01-23  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/ieee754-df.S (__addsf3, __subsf3, __mulsf3)
	(__divsf3): Make NaN return value quiet.
	* config/xtensa/ieee754-sf.S (__adddf3, __subdf3, __muldf3)
	(__divdf3): Make NaN return value quiet.

2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/anddi3.S: New assembly file.
	* config/rl78/t-rl78: Added anddi3.S to LIB2ADD.

2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/umindi3.S: New assembly file.
	* config/rl78/t-rl78: Added umindi3.S to LIB2ADD.

2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/smindi3.S: New assembly file.
	* config/rl78/t-rl78: Added smindi3.S to LIB2ADD.

2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/smaxdi3.S: New assembly file.
	* config/rl78/t-rl78: Added smaxdi3.S to LIB2ADD.

2018-01-22  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/umaxdi3.S: New assembly file.
	* config/rl78/t-rl78: Added umaxdi3.S to LIB2ADD.

2018-01-21  John David Anglin  <danglin@gcc.gnu.org>

	PR lto/83452
	* config/pa/stublib.c (L_gnu_lto_v1): New stub definition.
	* config/pa/t-stublib (gnu_lto_v1-stub.o): Add make fragment.

2018-01-13  Richard Sandiford  <richard.sandiford@linaro.org>

	* config/aarch64/value-unwind.h (aarch64_vg): New function.
	(DWARF_LAZY_REGISTER_VALUE): Define.
	* unwind-dw2.c (_Unwind_GetGR): Use DWARF_LAZY_REGISTER_VALUE
	to provide a fallback register value.

2018-01-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/quad-float128.h (IBM128_TYPE): Explicitly use
	__ibm128, instead of trying to use long double.
	(CVT_FLOAT128_TO_IBM128): Use TFtype instead of __float128 to
	accomidate -mabi=ieeelongdouble multilibs.
	(CVT_IBM128_TO_FLOAT128): Likewise.
	* config/rs6000/ibm-ldouble.c (IBM128_TYPE): New macro to define
	the appropriate IBM extended double type.
	(__gcc_qadd): Change all occurances of long double to IBM128_TYPE.
	(__gcc_qsub): Likewise.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(pack_ldouble): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_qeq): Likewise.
	(__gcc_qne): Likewise.
	(__gcc_qge): Likewise.
	(__gcc_qle): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.
	(__gcc_itoq): Likewise.
	(__gcc_utoq): Likewise.
	(__gcc_qunord): Likewise.
	* config/rs6000/_mulkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(__mulkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/_divkc3.c (toplevel): Include soft-fp.h and
	quad-float128.h for the definitions.
	(COPYSIGN): Use the f128 version instead of the q version.
	(INFINITY): Likewise.
	(FABS): Likewise.
	(__divkc3): Use TFmode/TCmode for float128 scalar/complex types.
	* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): Likewise.
	* config/rs6000/trunctfkf2-sw.c (__trunctfkf2_sw): Likewise.

2018-01-05  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host (epiphany-*-elf*): Add (epiphany-*-rtems*)
	configuration.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2017-12-12  Kito Cheng  <kito.cheng@gmail.com>

	* config/riscv/t-elf: Use multi3.c instead of multi3.S.
	* config/riscv/multi3.c: New file.
	* config/riscv/multi3.S: Remove.

2017-12-08  Jim Wilson  <jimw@sifive.com>

	* config/riscv/div.S: Use FUNC_* macros.
	* config/riscv/muldi3.S, config/riscv/multi3.S: Likewise
	* config/riscv/save-restore.S: Likewise.
	* config/riscv/riscv-asm.h: New.

2017-11-30  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/_mulkc3.c (__mulkc3): Add forward declaration.
	* config/rs6000/_divkc3.c (__divkc3): Likewise.

	PR libgcc/83112
	* config/rs6000/float128-ifunc.c (__addkf3_resolve): Use the
	correct type for all ifunc resolvers to silence -Wattribute-alias
	warnings.  Eliminate the forward declaration of the resolver
	functions which is no longer needed.
	(__subkf3_resolve): Likewise.
	(__mulkf3_resolve): Likewise.
	(__divkf3_resolve): Likewise.
	(__negkf2_resolve): Likewise.
	(__eqkf2_resolve): Likewise.
	(__nekf2_resolve): Likewise.
	(__gekf2_resolve): Likewise.
	(__gtkf2_resolve): Likewise.
	(__lekf2_resolve): Likewise.
	(__ltkf2_resolve): Likewise.
	(__unordkf2_resolve): Likewise.
	(__extendsfkf2_resolve): Likewise.
	(__extenddfkf2_resolve): Likewise.
	(__trunckfsf2_resolve): Likewise.
	(__trunckfdf2_resolve): Likewise.
	(__fixkfsi_resolve): Likewise.
	(__fixkfdi_resolve): Likewise.
	(__fixunskfsi_resolve): Likewise.
	(__fixunskfdi_resolve): Likewise.
	(__floatsikf_resolve): Likewise.
	(__floatdikf_resolve): Likewise.
	(__floatunsikf_resolve): Likewise.
	(__floatundikf_resolve): Likewise.
	(__extendkftf2_resolve): Likewise.
	(__trunctfkf2_resolve): Likewise.

	PR libgcc/83103
	* config/rs6000/quad-float128.h (TF): Don't define if long double
	is IEEE 128-bit floating point.
	(TCtype): Define as either TCmode or KCmode, depending on whether
	long double is IEEE 128-bit floating point.
	(__mulkc3_sw): Add declarations for software/hardware versions of
	complex multiply/divide.
	(__divkc3_sw): Likewise.
	(__mulkc3_hw): Likewise.
	(__divkc3_hw): Likewise.
	* config/rs6000/_mulkc3.c (_mulkc3): If we are building ifunc
	handlers to switch between using software emulation and hardware
	float128 instructions, build the complex multiply/divide functions
	for both software and hardware support.
	* config/rs6000/_divkc3.c (_divkc3): Likewise.
	* config/rs6000/float128-ifunc.c (__mulkc3_resolve): Likewise.
	(__divkc3_resolve): Likewise.
	(__mulkc3): Likewise.
	(__divkc3): Likewise.
	* config/rs6000/t-float128-hw (fp128_hardfp_src): Likewise.
	(fp128_hw_src): Likewise.
	(fp128_hw_static_obj): Likewise.
	(fp128_hw_shared_obj): Likewise.
	(_mulkc3-hw.c): Create _mulkc3-hw.c and _divkc3-hw.c from
	_mulkc3.c and _divkc3.c, changing the function name.
	(_divkc3-hw.c): Likewise.
	* config/rs6000/t-float128 (clean-float128): Delete _mulkc3-hw.c
	and _divkc3-hw.c.

2017-11-26  Julia Koval  <julia.koval@intel.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Handle cannonlake.
	* config/i386/cpuinfo.h (processor_subtypes): Add
	INTEL_COREI7_CANNONLAKE.

2017-11-20  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR bootstrap/83015
	* config/cr16/unwind-cr16.c (uw_install_context): Add FRAMES
	parameter.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise
	* config/ia64/unwind-ia64.c: Add frames parameter.
	* unwind-sjlj.c: Likewise.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* config/i386/linux-unwind.h: Include
	config/i386/shadow-stack-unwind.h.
	* config/i386/shadow-stack-unwind.h: New file.
	* unwind-dw2.c: (uw_install_context): Add a frame parameter and
	pass it to _Unwind_Frames_Extra.
	* unwind-generic.h (_Unwind_Frames_Extra): New.
	* unwind.inc (_Unwind_RaiseException_Phase2): Add frames_p
	parameter. Add local variable frames to count number of frames.
	(_Unwind_ForcedUnwind_Phase2): Likewise.
	(_Unwind_RaiseException): Add local variable frames to count
	number of frames, pass it to _Unwind_RaiseException_Phase2 and
	uw_install_context.
	(_Unwind_ForcedUnwind): Likewise.
	(_Unwind_Resume): Likewise.
	(_Unwind_Resume_or_Rethrow): Likewise.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* Makefile.in (configure_deps): Add $(srcdir)/../config/cet.m4.
	(CET_FLAGS): New.
	* config/i386/morestack.S: Include <cet.h>.
	(__morestack_large_model): Add _CET_ENDBR at function entrance.
	* config/i386/resms64.h: Include <cet.h>.
	* config/i386/resms64f.h: Likewise.
	* config/i386/resms64fx.h: Likewise.
	* config/i386/resms64x.h: Likewise.
	* config/i386/savms64.h: Likewise.
	* config/i386/savms64f.h: Likewise.
	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add $(CET_FLAGS).
	(CRTSTUFF_T_CFLAGS): Likewise.
	* configure.ac: Include ../config/cet.m4.
	Set and substitute CET_FLAGS.
	* configure: Regenerated.

2017-11-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (*-*-solaris2*): Adapt comment for Solaris 12
	renaming.
	* config/sol2/crtpg.c (__start_crt_compiler): Likewise.
	* configure.ac (libgcc_cv_solaris_crts): Likewise.
	* configure: Regenerate.

2017-11-07  Tom de Vries  <tom@codesourcery.com>

	* config/rs6000/aix-unwind.h (REGISTER_CFA_OFFSET_FOR): Remove semicolon
	after "do {} while (0)".

2017-11-07  Tom de Vries  <tom@codesourcery.com>

	PR other/82784
	* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Remove
	semicolon after "do {} while (0)".
	* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
	* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
	* config/mips/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.
	* config/rs6000/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Same.

2017-11-04  Andreas Tobler  <andreast@gcc.gnu.org>

	PR libgcc/82635
	* config/i386/freebsd-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Use a
	sysctl to determine whether we're in a trampoline.
	Keep the pattern matching method for systems without
	KERN_PROC_SIGTRAMP sysctl.

2017-11-03  Cupertino Miranda  <cmiranda@synopsys.com>
	    Vineet Gupta <vgupta@synopsys.com>

	* config.host (arc*-*-linux*): Set md_unwind_header variable.
	* config/arc/linux-unwind-reg.def: New file.
	* config/arc/linux-unwind-reg.h: Likewise.

2017-10-23  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/subdi3.S: New assembly file.
	* config/rl78/t-rl78: Added subdi3.S to LIB2ADD.

2017-10-13  Sebastian Perta  <sebastian.perta@renesas.com>

	* config/rl78/adddi3.S: New assembly file.
	* config/rl78/t-rl78: Added adddi3.S to LIB2ADD.

2017-10-13  Jakub Jelinek  <jakub@redhat.com>

	PR target/82274
	* libgcc2.c (__mulvDI3): If both operands have
	the same highpart of -1 and the topmost bit of lowpart is 0,
	multiplication overflows even if both lowparts are 0.

2017-09-28  James Bowman  <james.bowman@ftdichip.com>

	* config/ft32/crti-hw.S: Add watchdog vector, FT930 IRQ support.

2017-09-26  Joseph Myers  <joseph@codesourcery.com>

	* config/microblaze/crti.S, config/microblaze/crtn.S,
	config/microblaze/divsi3.S, config/microblaze/moddi3.S,
	config/microblaze/modsi3.S, config/microblaze/muldi3_hard.S,
	config/microblaze/mulsi3.S,
	config/microblaze/stack_overflow_exit.S,
	config/microblaze/udivsi3.S, config/microblaze/umodsi3.S,
	config/pa/milli64.S: Add .note.GNU-stack section.

2017-09-23  Daniel Santos  <daniel.santos@pobox.com>

	* configure.ac: Add Check for HAVE_AS_AVX.
	* config.in: Regenerate.
	* configure: Likewise.
	* config/i386/i386-asm.h: Include auto-target.h from libgcc.
	(SSE_SAVE, SSE_RESTORE): Emit .byte sequence for !HAVE_AS_AVX.
	Correct out-of-date comments.

2017-09-20  Sebastian Peryt  <sebastian.peryt@intel.com>

	* config/i386/cpuinfo.h (processor_types): Add INTEL_KNM.
	* config/i386/cpuinfo.c (get_intel_cpu): Detect Knights Mill.

2017-09-17  Daniel Santos  <daniel.santos@pobox.com>

	* config/i386/i386-asm.h (PASTE2): New macro.
	(ASMNAME): Modify to use PASTE2.
	(MS2SYSV_STUB_PREFIX): New macro for isa prefix.
	(MS2SYSV_STUB_BEGIN, MS2SYSV_STUB_END): New macros for stub headers.
	* config/i386/resms64.S: Rename to a header file, use MS2SYSV_STUB_BEGIN
	instead of HIDDEN_FUNC and MS2SYSV_STUB_END instead of FUNC_END.
	* config/i386/resms64f.S: Likewise.
	* config/i386/resms64fx.S: Likewise.
	* config/i386/resms64x.S: Likewise.
	* config/i386/savms64.S: Likewise.
	* config/i386/savms64f.S: Likewise.
	* config/i386/avx_resms64.S: New file that only defines a macro and
	includes it's corresponding header file.
	* config/i386/avx_resms64f.S: Likewise.
	* config/i386/avx_resms64fx.S: Likewise.
	* config/i386/avx_resms64x.S: Likewise.
	* config/i386/avx_savms64.S: Likewise.
	* config/i386/avx_savms64f.S: Likewise.
	* config/i386/sse_resms64.S: Likewise.
	* config/i386/sse_resms64f.S: Likewise.
	* config/i386/sse_resms64fx.S: Likewise.
	* config/i386/sse_resms64x.S: Likewise.
	* config/i386/sse_savms64.S: Likewise.
	* config/i386/sse_savms64f.S: Likewise.
	* config/i386/t-msabi: Modified to add avx and sse versions of stubs.

2017-09-01  Olivier Hainque  <hainque@adacore.com>
	* config.host (*-*-vxworks7): Widen scope to vxworks7*.

2017-08-31  Olivier Hainque  <hainque@adacore.com>

	* config.host (powerpc-wrs-vxworks|vxworksae|vxworksmils): Now
	match as powerpc-wrs-vxworks*.

2017-08-07  Jonathan Yong  <10walls@gmail.com>

	* config.host (*-cygwin): Include file from mingw
	config/i386/enable-execute-stack-mingw32.c

2017-08-01  Jerome Lambourg  <lambourg@adacore.com>
	    Doug Rupp  <rupp@adacore.com>
	    Olivier Hainque  <hainque@adacore.com>

	* config.host (arm-wrs-vxworks*): Rework to handle arm-wrs-vxworks7
	as well as arm-wrs-vxworks.
	* config/arm/t-vxworks7: New file.  Add unwind-arm-vxworks.c to
	LIB2ADDEH.
	* config/arm/unwind-arm-vxworks.c: New file. Provide dummy
	__exidx_start and __exidx_end for downloadable modules.

2017-08-01  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Start with -I. after -nostdinc.
	* config/t-vxworks7: Likewise.

2017-08-01  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks: Instead of redefining LIB2ADD,
	augment LIB2ADDEH with vxlib.c and vxlib-tls.c.

2017-07-28  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/rs6000/ibm-ldouble.c: Disable if defined __rtems__.

2017-07-24  Daniel Santos  <daniel.santos@pobox.com>

	PR testsuite/80759
	* config.host: include i386/t-msabi for darwin and solaris.
	* config/i386/i386-asm.h
	(ELFFN): Rename to FN_TYPE.
	(FN_SIZE): New macro.
	(FN_HIDDEN): Likewise.
	(ASMNAME): Likewise.
	(FUNC_START): Rename to FUNC_BEGIN, use ASMNAME, replace .global with
	.globl.
	(HIDDEN_FUNC): Use ASMNAME and .globl instead of .global.
	(SSE_SAVE): Convert to cpp macro, hard-code offset (always 0x60).
	* config/i386/resms64.S: Use SSE_SAVE as cpp macro instead of gas
	.macro.
	* config/i386/resms64f.S: Likewise.
	* config/i386/resms64fx.S: Likewise.
	* config/i386/resms64x.S: Likewise.
	* config/i386/savms64.S: Likewise.
	* config/i386/savms64f.S: Likewise.

2017-07-19  John Marino  <gnugcc@marino.st>

	* config/i386/dragonfly-unwind.h: Handle sigtramp relocation.

2017-07-12  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/81193
	* configure.ac (PowerPC float128 hardware support): Test whether
	we can use __builtin_cpu_supports before enabling the ifunc
	handler.
	* configure: Regenerate.

2017-07-10  Vineet Gupta <vgupta@synopsys.com>

	* config.host: Remove uclibc from arc target spec.

2017-07-09  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config.host (*-*-netbsd*): Remove check for aout NetBSD releases.

2017-07-07  Peter Bergner  <bergner@vnet.ibm.com>

	* config/rs6000/float128-ifunc.c: Don't include auxv.h.
	(have_ieee_hw_p): Delete function.
	(SW_OR_HW) Use __builtin_cpu_supports().

2017-07-06  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/lib1funcs.S: Defined __ARM_ARCH__ to 8 for ARMv8-R.

2017-07-03  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks7: New file, really.

2017-06-28  Joseph Myers  <joseph@codesourcery.com>

	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
	config/alpha/linux-unwind.h (alpha_fallback_frame_state),
	config/bfin/linux-unwind.h (bfin_fallback_frame_state),
	config/i386/linux-unwind.h (x86_64_fallback_frame_state,
	x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
	uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
	config/pa/linux-unwind.h (pa32_fallback_frame_state),
	config/riscv/linux-unwind.h (riscv_fallback_frame_state),
	config/sh/linux-unwind.h (sh_fallback_frame_state),
	config/tilepro/linux-unwind.h (tile_fallback_frame_state),
	config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
	ucontext_t instead of struct ucontext.

2017-06-27  Jerome Lambourg  <lambourg@adacore.com>

	* config.host (i*86-wrs-vxworks7): Handle new acceptable triplet.
	(x86_64-wrs-vxworks7): Likewise.

2017-06-27  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks7: New file.
	* config.host (*-*-vxworks7): Use it.

2017-06-22  Matt Turner  <mattst88@gmail.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Add Kaby Lake models to
	skylake case.

2017-06-21  Richard Biener  <rguenther@suse.de>

	PR gcov-profile/81080
	* configure.ac: Add AC_SYS_LARGEFILE.
	* libgcov.h: Include auto-target.h before tsystem.h to pick
	up _FILE_OFFSET_BITS which might differ for multilibs.
	* config.in: Regenerate.
	* configure: Likewise.

2017-06-16  Richard Earnshaw  <rearnsha@arm.com>

	* config/arm/cmse_nonsecure_call.S: Explicitly set the FPU.

2017-06-09  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_indirect_call_profiler_v2):
	Reset __gcov_indirect_call_callee to NULL.

2017-06-08  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Add path to wrn/coreip to
	the set of -I options, support for direct inclusions of net/uio.h
	by VxWorks header files via ioLib.h.

2017-06-07  Tony Reix  <tony.reix@atos.net>
	    Matthieu Sarter  <matthieu.sarter.external@atos.net>
	    David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/aix-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Define
	unconditionally.
	(ucontext_for): Add 64-bit AIX 6.1, 7.1, 7.2 support.  Add 32-bit
	AIX 7.2 support.

2017-06-02  Olivier Hainque  <hainque@adacore.com>

	* config/vxlib.c (__gthread_once): Add missing value to
	return statement.

2017-05-30  Olivier Hainque  <hainque@adacore.com>

	* config/t-vxworks (LIBGCC2_INCLUDES): Remove extraneous
	dollar sign before $(MULTIDIR).

2017-05-26  Richard Henderson  <rth@redhat.com>

	PR libgcc/80037
	* config/alpha/t-alpha (CRTSTUFF_T_CFLAGS): New.

2017-05-17  Andreas Tobler  <andreast@gcc.gnu.org>

	* config/arm/unwind-arm.h: Make _Unwind_GetIP, _Unwind_GetIPInfo and
	_Unwind_SetIP available as functions for arm*-*-freebsd*.
	* config/arm/unwind-arm.c: Implement the above.

2017-05-15  Adhemerval Zanella  <adhemerval.zanella@linaro.org>

	* config/sparc/lb1spc.S [__ELF__ && __linux__]: Emit .note.GNU-stack
	section for a non-executable stack.

2017-05-14  Krister Walfridsson  <krister.walfridsson@gmail.com>

	PR target/80600
	* config.host (*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file.

2017-05-14  Daniel Santos  <daniel.santos@pobox.com>

	* config.host: Add i386/t-msabi to i386/t-linux file list.
	* config/i386/i386-asm.h: New file.
	* config/i386/resms64.S: New file.
	* config/i386/resms64f.S: New file.
	* config/i386/resms64fx.S: New file.
	* config/i386/resms64x.S: New file.
	* config/i386/savms64.S: New file.
	* config/i386/savms64f.S: New file.
	* config/i386/t-msabi: New file.

2017-05-09  Andreas Tobler  <andreast@gcc.gnu.org>

	* config.host: Use the generic FreeBSD t-slibgcc-elf-ver for
	arm*-*-freebsd* instead of the t-slibgcc-libgcc.

2017-05-05  Joshua Conner  <joshconner@google.com>

	* config/arm/unwind-arm.h (_Unwind_decode_typeinfo_ptr): Use
	pc-relative indirect handling for fuchsia.
	* config/t-slibgcc-fuchsia: New file.
	* config.host (*-*-fuchsia*, aarch64*-*-fuchsia*, arm*-*-fuchsia*,
	x86_64-*-fuchsia*): Add definitions.

2017-04-19  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/80435
	* Makefile.in: Install gcov.h.
	* gcov.h: New file.
	* libgcov.h: Use the header and make __gcov_flush publicly
	visible.

2017-04-18  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/78783
	* libgcov-driver.c (gcov_get_filename): New function.

2017-04-07  Jeff Law  <law@redhat.com>

	* Makefile.in: Swap definition of LIBGCC_LINKS and inclusion of
	target makefile fragment.
	* config/sh/t-sh (unwind-dw2-Os-4-200.o): Depend on LIBGCC_LINKS.

2017-04-07  Alan Modra  <amodra@gmail.com>

	PR target/45053
	* config/rs6000/t-crtstuff (CRTSTUFF_T_CFLAGS): Add -O2.

2017-04-03  Jonathan Wakely  <jwakely@redhat.com>

	* config/c6x/pr-support.c (__gnu_unwind_execute): Fix typo in comment.

2017-03-27  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/ieee-754/divdf3.S (__divdf3): Use __ARCEM__.

2017-03-10  John Marino  <gnugcc@marino.st>

	* config/aarch64/freebsd-unwind.h: New file.
	* config.host: Add aarch64-*-freebsd unwinder.

2017-03-10  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/rs6000/crtrestvr.s: Use .machine altivec.
	* config/rs6000/crtsavevr.s: Ditto.

2017-03-10  Segher Boessenkool  <segher@kernel.crashing.org>

	* configure.ac (test for libgcc_cv_powerpc_float128): Temporarily
	modify CFLAGS.  Add -mabi=altivec -mvsx -mfloat128.
	(test for libgcc_cv_powerpc_float128_hw): Add -mpower9-vector and
	-mfloat128-hardware to the CFLAGS.  Fix syntax error in the C snippet.
	* configure: Regenerate.
	* config.in: Regenerate.

2017-03-02  Jonathan Yong <10walls@gmail.com>

	* config/i386/gthr-win32.h: Define NOGDI before
	windows.h include to prevent w32api CC_NONE macro
	clash with libgfortran.

2017-03-02  Jonathan Yong <10walls@gmail.com>

	* unwind-seh.c: Suppress warnings for RtlUnwindEx calls.

2017-02-16  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/value-unwind.h: New file.
	* config.host (aarch64*-*-*): Add aarch64/value-unwind.h
	to tm_file.

2017-02-06  Palmer Dabbelt <palmer@dabbelt.com>

	* config.host: Add RISC-V tuples.
	* config/riscv/atomic.c: New file.
	* config/riscv/crti.S: Likewise.
	* config/riscv/crtn.S: Likewise.
	* config/riscv/div.S: Likewise.
	* config/riscv/linux-unwind.h: Likewise.
	* config/riscv/muldi3.S: Likewise.
	* config/riscv/multi3.S: Likewise.
	* config/riscv/save-restore.S: Likewise.
	* config/riscv/sfp-machine.h: Likewise.
	* config/riscv/t-elf: Likewise.
	* config/riscv/t-elf32: Likewise.
	* config/riscv/t-elf64: Likewise.
	* config/riscv/t-softfp32: Likewise.
	* config/riscv/t-softfp64: Likewise.

2017-01-24  Jakub Jelinek  <jakub@redhat.com>

	* soft-fp/op-common.h (_FP_MUL, _FP_FMA, _FP_DIV): Add
	/* FALLTHRU */ comments.

2017-01-21  Gerald Pfeifer  <gerald@pfeifer.com>

	* config/i386/cygming-crtbegin.c (LIBGCJ_SONAME): No longer #define.

2017-01-20  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64-unwind.h: Empty this file on ILP32.
	* unwind-dw2.c (execute_cfa_program):  Only multiplexing
	DW_CFA_GNU_window_save for AArch64 and LP64.

2017-01-20  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/linux-unwind.h: Always include aarch64-unwind.h.

2017-01-19  Jiong Wang  <jiong.wang@arm.com>

	* config/aarch64/aarch64-unwind.h: New file.
	(DWARF_REGNUM_AARCH64_RA_STATE): Define.
	(MD_POST_EXTRACT_ROOT_ADDR): New target marcro and define it on AArch64.
	(MD_POST_EXTRACT_FRAME_ADDR): Likewise.
	(MD_POST_FROB_EH_HANDLER_ADDR): Likewise.
	(MD_FROB_UPDATE_CONTEXT): Define it on AArch64.
	(aarch64_post_extract_frame_addr): New function.
	(aarch64_post_frob_eh_handler_addr): New function.
	(aarch64_frob_update_context): New function.
	* config/aarch64/linux-unwind.h: Include aarch64-unwind.h
	* config.host (aarch64*-*-elf, aarch64*-*-rtems*,
	aarch64*-*-freebsd*):
	Initialize md_unwind_header to include aarch64-unwind.h.
	* unwind-dw2.c (struct _Unwind_Context): Define "RA_A_SIGNED_BIT".
	(execute_cfa_program): Multiplex DW_CFA_GNU_window_save for
	__aarch64__.
	(uw_update_context): Honor MD_POST_EXTRACT_FRAME_ADDR.
	(uw_init_context_1): Honor MD_POST_EXTRACT_ROOT_ADDR.
	(uw_frob_return_addr): New function.
	(uw_install_context): Use uw_frob_return_addr.

2017-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	* configure: Regenerated.

2017-01-13  Joe Seymour  <joe.s@somniumtech.com>

	* config/msp430/t-msp430 (libmul_none.a, libmul_16.a, libmul_32.a,
	libmul_f5.a): Filter archived prerequisites.

2017-01-10  Andrew Senkevich  <andrew.senkevich@intel.com>

	* config/i386/cpuinfo.h (processor_features): Add
	FEATURE_AVX512VPOPCNTDQ.
	* config/i386/cpuinfo.c (get_available_features): Habdle new
	feature.

2017-01-04  Joseph Myers  <joseph@codesourcery.com>

	* config/mips/sfp-machine.h (_FP_CHOOSENAN): Always preserve NaN
	payload if [__mips_nan2008].

2017-01-04  Alan Modra  <amodra@gmail.com>

	* Makefile.in (configure_deps): Update.
	* configure: Regenerate.

2017-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2016-12-19  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config.host (*-*-netbsd*): Add t-eh-dw2-dip to tmake_file.
	* crtstuff.c (BSD_DL_ITERATE_PHDR_AVAILABLE): Define for NetBSD.
	* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME, ElfW): Likewise.

2016-12-17  Matthias Klose  <doko@ubuntu.com>

	* config/arc/gmon: Remove empty directory.

2016-12-16  Claudiu Zissulescu  <claziss@synopsys.com>

	* config.host (arc*-*-linux-uclibc*): Remove libgmon, crtg, and
	crtgend.
	(arc*-*-elf*): Likewise.
	* config/arc/t-arc: Remove old gmon lib targets.
	* config/arc/crtg.S: Remove.
	* config/arc/crtgend.S: Likewise.
	* config/arc/gmon/atomic.h: Likewise.
	* config/arc/gmon/auxreg.h: Likewise.
	* config/arc/gmon/dcache_linesz.S: Likewise.
	* config/arc/gmon/gmon.c: Likewise.
	* config/arc/gmon/machine-gmon.h: Likewise.
	* config/arc/gmon/mcount.c: Likewise.
	* config/arc/gmon/prof-freq-stub.S: Likewise.
	* config/arc/gmon/prof-freq.c: Likewise.
	* config/arc/gmon/profil.S: Likewise.
	* config/arc/gmon/sys/gmon.h: Likewise.
	* config/arc/gmon/sys/gmon_out.h: Likewise.
	* config/arc/t-arc-newlib: Likewise.
	* config/arc/t-arc700-uClibc: Renamed to t-arc-uClibc.

2016-12-12  George Spelvin  <linux@sciencehorizons.net>

	* config/avr/lib1funcs.S (__ashrdi3): Fix typo from r243545.

2016-12-12  George Spelvin  <linux@sciencehorizons.net>

	* config/avr/lib1funcs.S (__ashldi3): Use __tmp_reg__ to restore
	R16 instead of push + pop.
	(__ashrdi3, __lshrdi3): Same. And use __zero_reg__ for signs.

2016-12-10  Krister Walfridsson  <krister.walfridsson@gmail.com>

	* config.host (i[34567]86-*-netbsdelf*): Add i386/t-crtstuff to
	tmake_file.

2016-12-05  Cupertino Miranda  <cmiranda@synopsys.com>

	* config.host (arc*-*-linux-uclibc*): Use default extra
	objects. Include linux-android header.
	* config/arc/crti.S (_init): Declare symbol as function.
	(_fini): Likewise.

2016-12-03  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/78379
	* config/i386/cpuinfo.c:  Move denums for processor vendors,
	processor type, processor subtypes and declaration of
	struct __processor_model into
	* config/i386/cpuinfo.h:  New header file.

2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
	    Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/cmse_nonsecure_call.S: New.
	* config/arm/t-arm: Compile cmse_nonsecure_call.S

2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
	    Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/t-arm (HAVE_CMSE): New.
	* config/arm/cmse.c: New.

2016-11-28  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

	PR gcc/74748
	* libgcc/config/bfin/libgcc-glibc.ver, libgcc/config/bfin/t-linux:
	use generic linker version information on Blackfin.

	PR gcc/74748
	* libgcc/mkmap-symver.awk: add support for skip_underscore

2016-11-27  Iain Sandoe  <iain@codesourcery.com>
	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/67710
	*  config/t-darwin: Default builds to 10.5 codegen.

2016-11-24  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/sfp-machine.h (_FP_NANFRAC_H): Define.
	(_FP_NANSIGN_H): Likewise.
	* config/aarch64/t-softfp (softfp_extensions): Add hftf.
	(softfp_truncations): Add tfhf.
	(softfp_extras): Add required conversion functions.

2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
	    Matthew Wahab  <matthew.wahab@arm.com>

	* config/arm/fp16.c (binary64): New.
	(__gnu_d2h_internal): New.
	(__gnu_d2h_ieee): New.
	(__gnu_d2h_alternative): New.

2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>
	    Matthew Wahab  <matthew.wahab@arm.com>

	* config/arm/fp16.c (struct format): New.
	(binary32): New.
	(__gnu_float2h_internal): New.  Body moved from
	__gnu_f2h_internal and generalize.
	(_gnu_f2h_internal): Move body to function __gnu_float2h_internal.
	Call it with binary32.

2016-11-23  James Greenhalgh  <james.greenhalgh@arm.com>

	* soft-fp/extendhftf2.c: Update from glibc.
	* soft-fp/fixhfti.c: Likewise.
	* soft-fp/fixunshfti.c: Likewise.
	* soft-fp/floattihf.c: Likewise.
	* soft-fp/floatuntihf.c: Likewise.
	* soft-fp/half.h: Likewise.
	* soft-fp/trunctfhf2.c: Likewise.

2016-11-20  Marc Glisse  <marc.glisse@inria.fr>

	PR libgcc/77813
	* crtstuff.c (deregister_tm_clones, register_tm_clones): Hide
	__TMC_END__ behind a passthrough asm.

2016-11-18  Walter Lee  <walt@tilera.com>

	* config.host (tilepro*-*-linux*): Add t-slibgcc-libgcc to tmake_file.

2016-11-17  Andrew Senkevich <andrew.senkevich@intel.com>

	* config/i386/cpuinfo.c (processor_features): Add
	FEATURE_AVX5124VNNIW, FEATURE_AVX5124FMAPS.

2016-11-17  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/dp-hack.h (ARC_OPTFPE): Define.
	(__ARC_NORM__): Use instead ARC_OPTFPE.
	* config/arc/fp-hack.h: Likewise.
	* config/arc/lib1funcs.S (ARC_OPTFPE): Define.
	(__ARC_MPY__): Use it insetead of __ARC700__ and __HS__.

2016-11-16  Alexander Monakov  <amonakov@ispras.ru>

	* config/nvptx/crt0.c (__main): Setup __nvptx_stacks and __nvptx_uni.
	* config/nvptx/mgomp.c: New file.
	* config/nvptx/t-nvptx: Add mgomp.c

2016-11-16  Waldemar Brodkorb  <wbx@openadk.org>

	PR libgcc/68468
	* unwind-dw2-fde-dip.c: Fix build on FDPIC targets.

2016-11-15  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/lib1funcs.S (__mulsi3): Use feature defines instead
	of checking for cpus.
	(__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3)
	(__modsi3, __clzsi2): Likewise.

2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config.host (i[3456]86-*-musl*, x86_64-*-musl*): Use
	i386/t-cpuinfo-static instead of i386/t-cpuinfo.
	* config/i386/t-cpuinfo-static: New.

2016-11-03  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_time_profiler): Remove.
	(__gcov_time_profiler_atomic): Likewise.

2016-11-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	PR libgcc/78067
	* libgcc2.c (__floatdisf, __floatdidf): Avoid undefined results from
	count_leading_zeros.

2016-11-02  Uros Bizjak  <ubizjak@gmail.com>

	* Makefile.in (LIB2_DIVMOD_FUNCS): Add _divmoddi4.
	* libgcc2.c (__divmoddi4): New function.
	* libgcc2.h (__divmoddi4): Declare.
	* libgcc-std.ver.in (GCC_7.0.0): New. Add __PFX_divmoddi4
	and __PFX_divmodti4.

2016-10-24  Florian Weimer  <fweimer@redhat.com>

	PR libgcc/78064
	* unwind-c.c: Include auto-target.h.

2016-10-19  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/pa64-hpux-lib.h: New file.
	(EH_FRAME_SECTION_NAME): Rename to __LIBGCC_EH_FRAME_SECTION_NAME__.
	(DTORS_SECTION_ASM_OP): Rename to __LIBGCC_DTORS_SECTION_ASM_OP__.
	* config.host (tm_file): Add pa/pa64-hpux-lib.h to tm_file on
	hppa*64*-*-hpux11*.

2016-10-18  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/t-elf (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New
	definition.
	* config/xtensa/t-linux (LIB2ADDEH_XTENSA_UNWIND_DW2_FDE): New
	definition.
	* config/xtensa/t-windowed (LIB2ADDEH): Use
	LIB2ADDEH_XTENSA_UNWIND_DW2_FDE defined by either xtensa/t-elf
	or xtensa/t-linux.

2016-10-18  Ding-Kai Chen  <dkchen@cadence.com>

	* config/xtensa/ieee754-df.S (__recipdf2, __rsqrtdf2,
	__ieee754_sqrt): New functions.
	(__divdf3): Add implementation with new FPU instructions under
	#if XCHAL_HAVE_DFP_DIV.
	* config/xtensa/ieee754-sf.S (__recipsf2, __rsqrtsf2,
	__ieee754_sqrtf): New functions.
	(__divsf3): Add implementation with new FPU instructions under
	#if XCHAL_HAVE_FP_DIV.
	* config/xtensa/t-xtensa (LIB1ASMFUNCS): Add _sqrtf, _recipsf2
	_rsqrtsf2, _sqrt, _recipdf2 and _rsqrtdf2.

2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* libgcov-profiler.c: Replace MEMMODEL_* macros by their __ATOMIC_*
	equivalent.
	* config/tilepro/atomic.c: Likewise and stop casting model to
	enum memmodel.

2016-10-10  Joseph Myers  <joseph@codesourcery.com>

	PR target/77586
	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64-hp-*vms*): Use
	soft-fp.

2016-10-10  Andreas Tobler  <andreast@gcc.gnu.org>

	* config.host: Add support for aarch64-*-freebsd*.

2016-10-05  Andreas Schwab  <schwab@suse.de>

	* config/ia64/crtbegin.S (__do_jv_register_classes): Remove.
	(.section .init_array): Don't call __do_jv_register_classes.
	(.section .init): Likewise.

2016-10-04  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/cygming-crtbegin.c (_Jv_RegisterClasses): Remove.
	(__JCR_LIST__): Remove.
	(__gcc_register_frame): Don't attempt to _Jv_RegisterClasses.
	* config/i386/cygming-crtend.c (__JCR_END__): Remove.
	* config/ia64/crtbegin.S (__JCR_LIST__): Remove.
	* config/ia64/crtend.S (__JCR_END__): Remove.
	* crtstuff.c: Remove __LIBGCC_JCR_SECTION_NAME__ from preprocessor
	conditionals.
	(__JCR_LIST__, __JCR_END__): Remove.
	(frame_dummy): Don't attempt to _Jv_RegisterClasses.
	(__do_global_ctors_1): Likewise.

2015-09-28  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/cpuinfo.c (__get_cpuid_output): Remove.
	(__cpu_indicator_init): Call __get_cpuid, not __get_cpuid_output.

2016-09-27  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/7970
	PR gcov-profile/16855
	PR gcov-profile/44779
	* libgcov-driver.c (__gcov_init): Do not register a atexit
	handler.
	(__gcov_exit): Rename from gcov_exit.
	* libgcov.h (__gcov_exit): Declare.

2016-09-27  Martin Liska  <mliska@suse.cz>

	PR bootstrap/77749
	* Makefile.in: Remove _gcov_merge_delta.
	* libgcov-merge.c (void __gcov_merge_delta): Remove.
	* libgcov-util.c (__gcov_delta_counter_op): Remove.
	* libgcov.h: Remove declaration of __gcov_merge_delta.

2016-09-21  Eric Botcazou  <ebotcazou@adacore.com>

	* configure.ac: Do not create links, only substitute the filenames.
	* configure: Regenerate.
	* Makefile.in: Assign the substitution results to variables.
	(LIBGCC_LINKS): Define.
	(enable-execute-stack.c): New rule.
	(unwind.h): Likewise.
	(md-unwind-support.h): Likewise.
	(sfp-machine.h): Likewise.
	(gthr-default.h): Likewise.
	Add $(LIBGCC_LINKS) to the prerequisites of all object files and
	unwind.h as prerequisite of install-unwind_h-forbuild.

2016-09-16  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/71744
	* unwind-dw2-fde.c (ATOMIC_FDE_FAST_PATH): Define if __register_frame*
	is not the primary registry and atomics are available.
	(any_objects_registered): New variable.
	(__register_frame_info_bases, __register_frame_info_table_bases):
	Atomically store 1 to any_objects_registered after registering first
	unwind info.
	(_Unwind_Find_FDE): Return early if any_objects_registered is 0.

2016-09-09  James Greenhalgh  <james.greenhalgh@arm.com>

	PR target/63250
	*  Makefile.in (lib2funcs): Build _mulhc3 and _divhc3.
	* libgcc2.h (LIBGCC_HAS_HF_MODE): Conditionally define.
	(HFtype): Likewise.
	(HCtype): Likewise.
	(__divhc3): Likewise.
	(__mulhc3): Likewise.
	* libgcc2.c: Support _mulhc3 and _divhc3.

2016-09-07  Joseph Myers  <joseph@codesourcery.com>

	PR libgcc/77519
	* libgcc2.c (NOTRUNC): Invert settings.

2016-09-06  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/77378
	PR gcov-profile/77466
	* libgcov-profiler.c: Use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{4,8} to
	conditionaly enable/disable *_atomic functions.

2016-08-26  Joseph Myers  <joseph@codesourcery.com>

	* config.host (i[34567]86-*-* | x86_64-*-*): Enable TFmode soft-fp
	where not already enabled.

2016-08-25  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* config/mips/linux-unwind.h: Use sys/syscall.h.

2016-08-16  Joseph Myers  <joseph@codesourcery.com>

	PR libgcc/77265
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

2016-08-15  Gilles Gouaillardet  <gilles.gouaillardet@gmail.com>

	PR gcov-profile/67097
	* libgcov-util.c (gcov_profile_merge): Skip missing files.

2016-08-10  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/58306
	* Makefile.in: New functions (modules) are added.
	* libgcov-profiler.c (__gcov_interval_profiler_atomic): New
	function.
	(__gcov_pow2_profiler_atomic): New function.
	(__gcov_one_value_profiler_body): New argument is instroduced.
	(__gcov_one_value_profiler): Call with the new argument.
	(__gcov_one_value_profiler_atomic): Likewise.
	(__gcov_indirect_call_profiler_v2): Likewise.
	(__gcov_time_profiler_atomic): New function.
	(__gcov_average_profiler_atomic): Likewise.
	(__gcov_ior_profiler_atomic): Likewise.
	* libgcov.h: Declare the aforementioned functions.

2016-08-09  Martin Liska  <mliska@suse.cz>

	* libgcov-util.c: Fix typo and GNU coding style.

2016-08-09  Martin Liska  <mliska@suse.cz>

	* Makefile.in: Remove __gcov_indirect_call_profiler.
	* libgcov-profiler.c (__gcov_indirect_call_profiler): Remove
	function.
	* libgcov.h: And the declaration of the function.

2016-08-09  Martin Liska  <mliska@suse.cz>

	* libgcov-profiler.c (__gcov_pow2_profiler): Consider 0 as not
	power of two.

2016-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/_divkc3.c: Add copyright/license boilerplate.
	* config/rs6000/_mulkc3.c: Likewise.

2016-07-29  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (__muldi3) [have MUL]: No need to clear
	zero_reg as previous call to __umulhisi3 already cleared it.

2016-07-21  Aurelien Jarno <aurelien@aurel32.net>

	PR target/59833
	* config/arm/ieee754-df.S (extendsfdf2): Convert sNaN to qNaN.

2016-07-19  Nick Clifton  <nickc@redhat.com>

	* config.host (m32r): Add m32r/t-m32r to tmake_file.
	Add crtinit.o and crtfini.o to extra_parts.

2016-07-12  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/_divkc3.c: New.
	* config/rs6000/_mulkc3.c: New.
	* config/rs6000/quad-float128.h: Define TFtype; declare _mulkc3
	and _divkc3.
	* config/rs6000/t-float128: Add _mulkc3 and _divkc3 to
	fp128_ppc_funcs.

2016-07-11  Hale Wang  <hale.wang@arm.com>
	    Andre Vieira  <andre.simoesdiasvieira@arm.com>

	* config/arm/lib1funcs.S: Add new wrapper.

2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/lib1funcs.S (__ARM_ARCH__): Define to 8 for ARMv8-M.

2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/lib1funcs.S (HAVE_ARM_CLZ): Define for ARMv6* or later
	and ARMv5t* rather than for a fixed list of architectures.

2016-07-07  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* config/arm/bpabi-v6m.S: Clarify what architectures is the
	implementation suitable for.
	* config/arm/lib1funcs.S (__prefer_thumb__): Define among other cases
	for all Thumb-1 only targets.
	(NOT_ISA_TARGET_32BIT): Define for Thumb-1 only targets.
	(THUMB_LDIV0): Test for NOT_ISA_TARGET_32BIT rather than
	__ARM_ARCH_6M__.
	(EQUIV): Likewise.
	(ARM_FUNC_ALIAS): Likewise.
	(umodsi3): Add check to __ARM_ARCH_ISA_THUMB != 1 to guard the idiv
	version.
	(modsi3): Likewise.
	(clzsi2): Test for NOT_ISA_TARGET_32BIT rather than __ARM_ARCH_6M__.
	(clzdi2): Likewise.
	(ctzsi2): Likewise.
	(L_interwork_call_via_rX): Test for __ARM_ARCH_ISA_ARM rather than
	__ARM_ARCH_6M__ in guard for checking whether it is defined.
	(final includes): Test for NOT_ISA_TARGET_32BIT rather than
	__ARM_ARCH_6M__ and add comment to indicate the connection between
	this condition and the one in gcc/config/arm/elf.h.
	* config/arm/libunwind.S: Test for __ARM_ARCH_ISA_THUMB and
	__ARM_ARCH_ISA_ARM rather than __ARM_ARCH_6M__.
	* config/arm/t-softfp: Likewise.

2016-07-06  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* libgcc2.c (SYMBOL__MAIN): Remove checks for
	CTOR_LISTS_DEFINED_EXTERNALLY.

2016-06-28  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.h: Do not include arch/spr_def.h and
	asm/unistd.h.
	(SPR_CMPEXCH_VALUE): Define for tilegx.
	(__NR_FAST_cmpxchg): Define for tilepro.
	(__NR_FAST_atomic_update): Define for tilepro.
	(__NR_FAST_cmpxchg64): Define for tilepro.

2016-06-23  Jakub Sejdak  <jakub.sejdak@phoesys.com>

	* config.host: Add suport for arm*-*-phoenix* targets.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for mep-*.
	* config/mep/lib1funcs.S: Remove.
	* config/mep/lib2funcs.c: Remove.
	* config/mep/t-mep: Remove.
	* config/mep/tramp.c: Remove.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for avr-rtems.
	* config/avr/t-rtems: Remove.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove m32r-rtems support.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove h8300-rtems support.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for knetbsd.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove support for openbsd 2 and 3.

2016-06-21  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.host: Remove interix support.
	* config/i386/t-interix: Remove.

2016-06-18  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Don't set
	least-significant bit in function pointer for fixup.

2016-06-05  Aaron Conole  <aconole@redhat.com>
	    Nathan Sidwell  <nathan@acm.org>

	PR libgcc/71400
	* libgcov-driver-system.c (__gcov_error_file): Disable if IN_GCOV_TOOL.
	(get_gcov_error_file): Check __gcov_error_file before trying to
	initialize it.
	(gcov_error): Always use get_gcov_error_file.

2016-06-02  Aaron Conole  <aconole@redhat.com>

	* libgcov-driver-system.c (__gcov_error_file): New.
	(get_gcov_error_file): New.
	(gcov_error): Use and set __gcov_error_file.
	(gcov_error_exit): New.
	* libgcov-driver.c (gcov_exit): Call gcov_error_exit.

2016-05-26  Nathan Sidwell  <nathan@acm.org>

	* config/nvptx/free.asm: Delete.
	* config/nvptx/malloc.asm: Delete.
	* config/nvptx/realloc.c: Delete.
	* t-nvptx: Update.

2016-05-25  Nathan Sidwell  <nathan@acm.org>

	* config/nvptx/crt0.s: Delete.
	* config/nvptx/crt0.c: New.
	* t-nvptx: Update.

2016-05-19  Sandra Loosemore  <sandra@codesourcery.com>

	* config.host [x86_64-*-cygwin*]: Handle tmake_eh_file for mixed
	dw2/seh configuration.
	[x86_64-*-mingw*]: Likewise.

2016-05-10  Joel Sherrill <joel@rtems.org>

	PR libgcc/70720
	* config.host (moxie-*-rtems*): Merge this stanza with other moxie
	targets so the same extra_parts are built.  Also have tmake_file add
	on to its value rather than override.

2016-04-30  Oleg Endo  <olegendo@gcc.gnu.org>

	* config.host: Remove SH5 support.
	* configure: Likewise.

2016-04-29  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/crt1.S: Remove SH5 support.
	* config/sh/crti.S: Likewise.
	* config/sh/crtn.S: Likewise.
	* config/sh/lib1funcs-4-300.S: Likewise.
	* config/sh/lib1funcs-Os-4-200.S: Likewise.
	* config/sh/lib1funcs.S: Likewise.
	* config/sh/linux-unwind.h: Likewise.
	* config/sh/t-sh64: Delete.

2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/ieee-754/eqdf2.S: Handle FPX NaN.

2016-04-28  Claudiu Zissulescu  <claziss@synopsys.com>
	    Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/crttls.S: New file.
	* config/arc/t-arc: New rule.
	* config.host (arc*-*-elf*, arc*-*-linux*): Add crttls.o.

2016-04-25  Nick Clifton  <nickc@redhat.com>

	* config/msp430/cmpd.c (__mspabi_cmpf): Add prototype.
	(__mspabi_cmpd): Likewise.
	* config/msp430/floathidf.c (__floathidf): Likewise.
	* config/msp430/floathisf.c (__floathisf): Likewise
	* config/msp430/floatunhidf.c (__floatunssidf): Likewise.
	* config/msp430/floatunhisf.c (__floatunshisf): Likewise.
	* config/msp430/lib2shift.c (__ashlsi3): Take a signed char as the
	second parameter.
	(__ashrsi3): Likewise.

2016-04-21  Waldemar Brodkorb  <wbx@openadk.org>

	* config/m68k/linux-atomic.c: Do not include unistd.h

2016-04-20  Martin Galvan  <martin.galvan@tallertechnologies.com>

	* config/arm/ieee754-df.S: Fix typos in comments.

2016-04-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/70381
	* configure.ac (powerpc*-*-linux*): Rework tests to build
	__float128 emulation routines to not depend on using #pragma GCC
	target to enable -mfloat128.
	* configure: Regnerate.

2016-04-04  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/67172
	* libgcc2.c (L__main): Undefine __LIBGCC_EH_FRAME_SECTION_NAME__ if
	__MINGW32__ is defined.

2016-03-28  James Bowman  <james.bowman@ftdichip.com>

	* libgcc/config/ft32/lib1funcs.S (*divsi3, *modsi3): New.

2016-03-22  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR libgcc/70363
	* config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): If libgcc was
	built with an assembler that does not support ISA 3.0
	instructions, rename __extendkftf2_sw to __extendkftf2.

2016-03-16  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/38239
	* config/sol2/gmon.c [__i386__] (_mcount): Save and restore
	call-clobbered registers.
	(internal_mcount): Remove __i386__ handling.

2016-02-26  Joel Sherrill <joel@rtems.org>

	* config.host: Add x86_64-*-rtems*.

2016-02-26  Joel Sherrill <joel@rtems.org>

	* libgcc/config.host: Add aarch64-*-rtems*.

2016-02-26  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
	    Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/sfp-machine.h (_FP_DECL_EX): Declare _fpsr as a
	union of u64 and double.
	(FP_TRAPPING_EXCEPTIONS): Return a bitmask of trapping exceptions.
	(FP_INIT_ROUNDMODE): Read the fpscr instead of writing a mystery
	value.
	(FP_ROUNDMODE): Update the usage of _fpscr.

2016-02-25  Ilya Verbin  <ilya.verbin@intel.com>

	PR driver/68463
	* Makefile.in (crtoffloadtable$(objext)): New rule.
	* configure.ac (extra_parts): Add crtoffloadtable$(objext) if
	enable_offload_targets is not empty.
	* configure: Regenerate.
	* offloadstuff.c: Move __OFFLOAD_TABLE__ from crtoffloadend to
	crtoffloadtable.

2016-02-17  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/ieee754-df.S (__muldf3_aux, __divdf3_aux): Add
	.literal_position before the function.
	* config/xtensa/ieee754-sf.S (__mulsf3_aux, __divsf3_aux):
	Likewise.

2016-02-15  Marcin Kościelnicki  <koriakin@0x04.net>

	* config.host: Use t-stack and t-stack-s390 for s390*-*-linux.
	* config/s390/morestack.S: New file.
	* config/s390/t-stack-s390: New file.
	* generic-morestack.c (__splitstack_find): Add s390-specific code.

2016-02-12  Walter Lee  <walt@tilera.com>

	* config.host (tilegx*-*-linux*): remove ti from
	softfp_int_modes for 32-bit configs.

2016-02-10  Ian Lance Taylor  <iant@google.com>

	PR go/68562
	* config/i386/morestack.S (__stack_split_initialize): Align
	stack.

2016-02-03  Andreas Tobler  <andreast@gcc.gnu.org>

	PR bootstrap/69611
	* config/rs6000/sfp-machine.h: Guard __sfp_exceptions with
	__FLOAT128__ to compile only for __float128 capable targets.

2016-01-25  Jakub Jelinek  <jakub@redhat.com>

	PR target/69444
	* config/rs6000/sfp-machine.h: Fix a typo in #ifndef - __NO_FPRS__
	instead of ___NO_FPRS__.

2016-01-21  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Steven Munroe  <munroesj@linux.vnet.ibm.com>
	    Tulio Magno Quites Machado Filho  <tulioqm@br.ibm.com>

	* config/rs6000/float128-sed: New files to convert TF names to KF
	names for PowerPC IEEE 128-bit floating point support.
	* config/rs6000/float128-sed-hw: Likewise.

	* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
	floating point hardware support.

	* config/rs6000/float128-ifunc.c: New file to pick either IEEE
	128-bit floating point software emulation or use ISA 3.0 hardware
	support if it is available.

	* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
	floating point.

	* config/rs6000/extendkftf2-sw.c: New file, convert IEEE 128-bit
	floating point to IBM extended double.

	* config/rs6000/trunctfkf2-sw.c: New file, convert IBM extended
	double to IEEE 128-bit floating point.

	* config/rs6000/t-float128: New Makefile fragments to enable
	building __float128 emulation support.
	* config/rs6000/t-float128-hw: Likewise.

	* config/rs6000/sfp-exceptions.c: New file to provide exception
	support for IEEE 128-bit floating point.

	* config/rs6000/floattikf.c: New files for converting between IEEE
	128-bit floating point and signed/unsigned 128-bit integers.
	* config/rs6000/fixunskfti.c: Likewise.
	* config/rs6000/fixkfti.c: Likewise.
	* config/rs6000/floatuntikf.c: Likewise.

	* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
	when building on 64-bit systems, or when VSX is enabled.
	(_FP_W_TYPE): Likewise.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.
	(TItype): Define on 64-bit systems.
	(UTItype): Likewise.
	(TI_BITS): Likewise.
	(_FP_MUL_MEAT_D): Add support for using 64-bit types.
	(_FP_MUL_MEAT_Q): Likewise.
	(_FP_DIV_MEAT_D): Likewise.
	(_FP_DIV_MEAT_Q): Likewise.
	(_FP_NANFRAC_D): Likewise.
	(_FP_NANFRAC_Q): Likewise.
	(ISA_BIT): Add exception support if we are being compiled on a
	machine with hardware floating point support to build the IEEE
	128-bit emulation functions.
	(FP_EX_INVALID): Likewise.
	(FP_EX_OVERFLOW): Likewise.
	(FP_EX_UNDERFLOW): Likewise.
	(FP_EX_DIVZERO): Likewise.
	(FP_EX_INEXACT): Likewise.
	(FP_EX_ALL): Likewise.
	(__sfp_handle_exceptions): Likewise.
	(FP_HANDLE_EXCEPTIONS): Likewise.
	(FP_RND_NEAREST): Likewise.
	(FP_RND_ZERO): Likewise.
	(FP_RND_PINF): Likewise.
	(FP_RND_MINF): Likewise.
	(FP_RND_MASK): Likewise.
	(_FP_DECL_EX): Likewise.
	(FP_INIT_ROUNDMODE): Likewise.
	(FP_ROUNDMODE): Likewise.

	* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
	VSX code, enable IEEE 128-bit floating point.  If the compiler can
	compile IEEE 128-bit floating point code with ISA 3.0 IEEE 128-bit
	floating point hardware instructions and it supports declaring
	functions with the ifunc attribute, enable ifunc functions to
	switch between software and hardware support.
	* configure.ac (powerpc*-*-linux*): Likewise.
	* configure: Regenerate.

2016-01-15  Nick Clifton  <nickc@redhat.com>

	* config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
	dependency as the source file to be compiled.
	(lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
	(lib2hw_mul_f5.o): Likewise.

2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* libgcc/config/rs6000/extendkftf2-sw.c: Revert 2016-01-13 change.
	* libgcc/config/rs6000/fixkfti.c: Likewise.
	* libgcc/config/rs6000/fixunskfti.c: Likewise.
	* libgcc/config/rs6000/float128-hw.c: Likewise.
	* libgcc/config/rs6000/float128-ifunc.c: Likewise.
	* libgcc/config/rs6000/float128-sed: Likewise.
	* libgcc/config/rs6000/floattikf.c: Likewise.
	* libgcc/config/rs6000/floatuntikf.c: Likewise.
	* libgcc/config/rs6000/quad-float128.h: Likewise.
	* libgcc/config/rs6000/sfp-exceptions.c: Likewise.
	* libgcc/config/rs6000/sfp-machine.h: Likewise.
	* libgcc/config/rs6000/t-float128: Likewise.
	* libgcc/config/rs6000/t-float128-hw: Likewise.
	* libgcc/config/rs6000/trunctfkf2-sw.c: Likewise.
	* libgcc/config.host: Likewise.
	* libgcc/configure: Likewise.
	* libgcc/configure.ac: Likewise.

2016-01-13  Michael Meissner  <meissner@linux.vnet.ibm.com>
	    Steven Munroe  <munroesj@linux.vnet.ibm.com>
	    Tulio Magno Quites Machado Filho  <tulioqm@br.ibm.com>

	* config/rs6000/sfp-exceptions.c: New file to provide exception
	support for IEEE 128-bit floating point.

	* config/rs6000/float128-hw.c: New file for ISA 3.0 IEEE 128-bit
	floating point hardware support.

	* config/rs6000/floattikf.c: New files for IEEE 128-bit floating
	point conversions.
	* config/rs6000/fixunskfti.c: Likewise.
	* config/rs6000/fixkfti.c: Likewise.
	* config/rs6000/floatuntikf.c: Likewise.
	* config/rs6000/extendkftf2-sw.c: Likewise.
	* config/rs6000/trunctfkf2-sw.c: Likewise.

	* config/rs6000/float128-ifunc.c: New file to pick either IEEE
	128-bit floating point software emulation or use ISA 3.0 hardware
	support if it is available.

	* config/rs6000/quad-float128.h: New file to support IEEE 128-bit
	floating point.

	* config/rs6000/t-float128: New Makefile fragments to enable
	building __float128 emulation support.
	* config/rs6000/t-float128-hw: Likewise.

	* config/rs6000/float128-sed: New file to convert TF names to KF
	names for PowerPC IEEE 128-bit floating point support.

	* config/rs6000/sfp-machine.h (_FP_W_TYPE_SIZE): Use 64-bit types
	when building on 64-bit systems, or when VSX is enabled.
	(_FP_W_TYPE): Likewise.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.
	(TItype): Define on 64-bit systems.
	(UTItype): Likewise.
	(TI_BITS): Likewise.
	(_FP_MUL_MEAT_D): Add support for using 64-bit types.
	(_FP_MUL_MEAT_Q): Likewise.
	(_FP_DIV_MEAT_D): Likewise.
	(_FP_DIV_MEAT_Q): Likewise.
	(_FP_NANFRAC_D): Likewise.
	(_FP_NANFRAC_Q): Likewise.
	(ISA_BIT): Add exception support if we are being compiled on a
	machine with hardware floating point support to build the IEEE
	128-bit emulation functions.
	(FP_EX_INVALID): Likewise.
	(FP_EX_OVERFLOW): Likewise.
	(FP_EX_UNDERFLOW): Likewise.
	(FP_EX_DIVZERO): Likewise.
	(FP_EX_INEXACT): Likewise.
	(FP_EX_ALL): Likewise.
	(__sfp_handle_exceptions): Likewise.
	(FP_HANDLE_EXCEPTIONS): Likewise.
	(FP_RND_NEAREST): Likewise.
	(FP_RND_ZERO): Likewise.
	(FP_RND_PINF): Likewise.
	(FP_RND_MINF): Likewise.
	(FP_RND_MASK): Likewise.
	(_FP_DECL_EX): Likewise.
	(FP_INIT_ROUNDMODE): Likewise.
	(FP_ROUNDMODE): Likewise.

	* configure.ac (powerpc*-*-linux*): Check whether the PowerPC
	compiler can do __float128.
	* configure: Regenerate.

	* libgcc/config.host (powerpc*-*-linux*): If compiler can compile
	VSX code, enable IEEE 128-bit floating point.

2016-01-05  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/aix-unwind.h (ucontext_for): Handle AIX 7.1
	specificities.

2016-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2015-12-18  Andris Pavenis  <andris.pavenis@iki.fi>

	* config.host: Add *-*-msdosdjgpp to lists of i[34567]86-*-*
	soft-fp targets.

2015-12-16  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* unwind-generic.h (_Unwind_GetTextRelBase): Call __builtin_abort
	instead of abort to avoid dependency on stdlib.h.

2015-12-09  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Remove code
	to initialize call to __dl_fixup once.

2015-12-04  Nick Clifton  <nickc@redhat.com>

	* config/msp430/mpy.c (__mulhi3): Use a faster algorithm.
	Allow for the second argument being negative.
	* config.host (extra_parts): Define for MSP430.  Create separate
	libraries for each of the hardware multiply formats.
	* config/msp430/lib2hw_mul.S: Build only the multiply routines
	that are needed.
	* config/msp430/lib2mul.c: Likewise.
	* config/msp430/t-msp430 (LIB2ADD): Remove lib2hw_mul.S.
	Add rules to build hardware multiply libraries.
	* config/msp430/lib2divSI.c: (__mspabi_divlu): Alias for
	__mspabi_divul function.
	(__mspabi_divllu): New stub function.

2015-12-01  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (__canonicalize_funcptr_for_compare): Initialize
	fixup values if saved GOT address doesn't match runtime address.
	(fixup_branch_offset): Reorder list.

2015-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (VTV_CFLAGS): New variable.
	(vtv_start$(objext), vtv_end$(objext), vtv_end$(objext))
	(vtv_start_preinit$(objext), vtv_end_preinit$(objext)): Use it.
	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
	Add vtv_start.o, vtv_end.o, vtv_start_preinit.o, vtv_end_preinit.o
	to extra_parts if $enable_vtable_verify = yes.

2015-11-23  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/68059
	* config/arm/linux-atomic-64bit.c (__write): Rename to...
	(write): ...this and fix the return type.

2015-11-19  DJ Delorie  <dj@redhat.com>

	* config/msp430/lib2hw_mul.S: Fix alignment.

2015-11-18  Nathan Sidwell  <nathan@codesourcery.com>

	* config/nvptx/reduction.c: New.
	* config/nvptx/t-nvptx (LIB2ADD): Add it.

2015-11-15  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/on_exit.c: New file.
	* config/rs6000/t-aix-cxa (LIB2ADDEH): Build on_exit.c.
	* config/rs6000/libgcc-aix-cxa.ver (on_exit): Add symbol to exports.

2015-11-11  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/dp-hack.h: Add support for ARCHS.
	* config/arc/ieee-754/divdf3.S: Likewise.
	* config/arc/ieee-754/divsf3-stdmul.S: Likewise.
	* config/arc/ieee-754/muldf3.S: Likewise.
	* config/arc/ieee-754/mulsf3.S: Likewise
	* config/arc/lib1funcs.S: Likewise
	* config/arc/gmon/dcache_linesz.S: Don't read the build register
	for ARCv2 cores.
	* config/arc/gmon/profil.S (__profil, __profil_irq): Don't profile
	for ARCv2 cores.
	* config/arc/ieee-754/arc-ieee-754.h (MPYHU, MPYH): Define.
	* config/arc/t-arc700-uClibc: Remove hard selection for ARC 700
	cores.

2015-11-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/ia64/crtbegin.S: Check HAVE_INITFINI_ARRAY_SUPPORT
	value.
	* config/ia64/crtend.S: Likewise.

2015-11-07  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config/visium/lib2funcs.c (__set_trampoline_parity): Use
	__CHAR_BIT__ instead of BITS_PER_UNIT.
	* fixed-bit.h: Likewise.
	* fp-bit.h: Likewise.
	* libgcc2.c (__popcountSI2): Likewise.
	(__popcountDI2): Likewise.
	* libgcc2.h: Likewise.
	* libgcov.h: Likewise.

2015-11-07  David Edelsohn  <dje.gcc@gmail.com>

	* config/rs6000/atexit.c: New file.
	* config/rs6000/t-aix-cxa (LIB2ADDEH): Build atexit.c.
	* config/rs6000/libgcc-aix-cxa.ver (atexit): Add symbol to exports.
	* config/rs6000/cxa_finalize.c
	(catomic_compare_and_exchange_bool_acq): Negate return value.

2015-10-30  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

	* config/i386/cpuinfo.c (enum processor_types): Add AMDFAM17H.
	(processor_subtypes): Add znver1.
	(get_amd_cpu): Detect znver1.

2015-10-29  Christophe Lyon  <christophe.lyon@linaro.org>

	* config.host (arm*-*-eabi*, arm*-*-symbianelf*, arm*-*-rtems*):
	Include crtfastmath.o.

2015-10-23  Joern Rennecke  <joern.rennecke@embecosm.com>

	PR libgcc/66883
	* config/epiphany/udivsi3-float.c: Fix CONCISE test, and comment typo.

2015-10-16  Kaushik Phatak  <kaushik.phatak@kpit.com>

	* config/rl78/divmodqi.S: Return 0x00 by default for div by 0.
	* config/rl78/divmodsi.S: Update return register to r8.
	* config/rl78/divmodhi.S: Update return register to r8,r9.
	Branch to main_loop_done_himode to pop registers before return.

2015-10-09  Venkataramanan Kumar  <venkataramanan.kumar@amd.com>

	* config/i386/cpuinfo.c (get_amd_cpu): Detect bdver4.
	(__cpu_indicator_init): Fix model selection for AMD CPUs.

2015-10-05  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Detect "skylake-avx512".

2015-10-03  Max Filippov  <jcmvbkbc@gmail.com>

	* config.host (xtensa*-*-uclinux*): New configuration.

2015-10-02  Kirill Yukhin  <kirill.yukhin@intel.com>

	* config/i386/cpuinfo.c (processor_features): Add
	FEATURE_AVX512VBMI and FEATURE_AVX512VBMI.

2015-09-28  Joseph Myers  <joseph@codesourcery.com>

	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

2015-09-24  Richard Earnshaw  <rearnsha@arm.com>

	PR libgcc/67624
	* config/arm/fp16.c (__gnu_f2h_internal): Handle infinity correctly.

2015-09-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (*-*-solaris2*): Add t-crtstuff-pic to tmake_file.
	Add crtbeginS.o, crtendS.o to extra_parts if libgcc_cv_solaris_crts.
	* config/sol2/gmon.c: (monstartup): Don't write trailing NUL of
	messages.
	(internal_mcount): Likewise.
	* config/sol2/t-sol2 (crtp.o, crtpg.o, gmon.o): Compile with
	crt_compile, add CRTSTUFF_T_CFLAGS_S.

2015-09-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (libgcc_cv_solaris_crts): New test.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/sol2/crtp.c, config/sol2/crtpg.c: New files.
	* config/gmon-sol2.c: Rename to ...
	* config/sol2/gmon.c: ... this.
	Include auto-target.h.
	(internal_mcount): Wrap setup handling in !HAVE_SOLARIS_CRTS.
	* config/t-sol2: Rename to ...
	* config/sol2/t-sol2: ... this.
	(gmon.o): Reflect renaming.
	(crtp.o, crtpg.o): New rules.
	* config.host (*-*-solaris2*): Reflect renaming.
	Use system CRTs if present.
	Remove default CRT case.

2015-09-23  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__kernel_cmpxchg2): Reorder error checks.
	(__sync_fetch_and_##OP##_##WIDTH): Change result to match type of
	__kernel_cmpxchg2.
	(__sync_##OP##_and_fetch_##WIDTH): Likewise.
	(__sync_val_compare_and_swap_##WIDTH): Likewise.
	(__sync_bool_compare_and_swap_##WIDTH): Likewise.
	(__sync_lock_test_and_set_##WIDTH): Likewise.
	(__sync_lock_release_##WIDTH): Likewise.
	(__sync_fetch_and_##OP##_4): Change result to match type of
	__kernel_cmpxchg.
	(__sync_##OP##_and_fetch_4): Likewise.
	(__sync_val_compare_and_swap_4): Likewise.
	(__sync_bool_compare_and_swap_4): likewise.
	(__sync_lock_test_and_set_4): Likewise.
	(__sync_lock_release_4): Likewise.
	(FETCH_AND_OP_2): Add long long variants.
	(OP_AND_FETCH_2): Likewise.
	(COMPARE_AND_SWAP_2 ): Likewise.
	(SYNC_LOCK_TEST_AND_SET_2): Likewise.
	(SYNC_LOCK_RELEASE_2): Likewise.
	(__sync_bool_compare_and_swap_##WIDTH): Correct return.

2015-09-22  Kirill Yukhin  <kirill.yukhin@intel.com>

	* libgcc/config/i386/cpuinfo.c (enum processor_features): Add
	FEATURE_AVX512VL, FEATURE_AVX512BW, FEATURE_AVX512DQ,
	FEATURE_AVX512CD, FEATURE_AVX512ER, FEATURE_AVX512PF.
	(get_available_features): Habdle new features.

2015-09-21  James Bowman  <james.bowman@ftdichip.com>

	* config/ft32/crti-hw.S: Use __PMSIZE to allow configurable
	memory layout. Deal correctly with BSS region larger than 32K.
	Handle a watchdog reset like a power-on reset. Clean up unused
	code.

2015-09-18  Andrew Dixie  <andrewd@gentrack.com>
	    David Edelsohn  <dje.gcc@gmail.com>

	* config.host (powerpc-ibm-aix*): Add crtdbase.o to extra_parts.
	* config/rs6000/crtdbase.S: New file.
	* config/rs6000/t-aix-cxa: Build crtdbase.o.

2015-09-15  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state):
	Add support for call0 ABI.

2015-09-13  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/fptr.c (SIGN_EXTEND): Cast -1 to unsigned.

2015-09-03  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config/gthr-rtems.h (__GTHREADS_CXX0X): New.
	(__GTHREAD_HAS_COND): Likewise.
	(__gthread_t): Likewise.
	(__gthread_cond_t): Likewise.
	(__gthread_time_t): Likewise.
	(__GTHREAD_MUTEX_INIT): Likewise.
	(__GTHREAD_RECURSIVE_MUTEX_INIT): Likewise.
	(__GTHREAD_COND_INIT): Likewise.
	(__GTHREAD_COND_INIT_FUNCTION): Likewise.
	(__GTHREAD_TIME_INIT): Likewise.
	(__gthread_create): Likewise.
	(__gthread_join): Likewise.
	(__gthread_detach): Likewise.
	(__gthread_equal): Likewise.
	(__gthread_self): Likewise.
	(__gthread_yield): Likewise.
	(__gthread_cond_broadcast): Likewise.
	(__gthread_cond_signal): Likewise.
	(__gthread_cond_wait): Likewise.
	(__gthread_cond_timedwait): Likewise.
	(__gthread_cond_wait_recursive): Likewise.
	(__gthread_cond_destroy): Likewise.
	(rtems_gxx_once): Delete.
	(rtems_gxx_key_create): Likewise.
	(rtems_gxx_key_delete): Likewise.
	(rtems_gxx_getspecific): Likewise.
	(rtems_gxx_setspecific): Likewise.
	(rtems_gxx_mutex_init): Likewise.
	(rtems_gxx_mutex_destroy): Likewise.
	(rtems_gxx_mutex_lock): Likewise.
	(rtems_gxx_mutex_trylock): Likewise.
	(rtems_gxx_mutex_unlock): Likewise.
	(rtems_gxx_recursive_mutex_init): Likewise.
	(rtems_gxx_recursive_mutex_lock): Likewise.
	(rtems_gxx_recursive_mutex_trylock): Likewise.
	(rtems_gxx_recursive_mutex_unlock): Likewise.
	(__GTHREAD_ONCE_INIT): Use <pthread.h> initializer.
	(__GTHREAD_MUTEX_INIT_FUNCTION): Use <pthread.h> function.
	(__GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION): Likewise.
	(__gthread_once): Likewise.
	(__gthread_key_create): Likewise.
	(__gthread_key_delete): Likewise.
	(__gthread_getspecific): Likewise.
	(__gthread_setspecific): Likewise.
	(__gthread_key_t): Use <pthread.h> type.
	(__gthread_once_t): Likewise
	(__gthread_mutex_t): Use <sys/lock.h> type.
	(__gthread_recursive_mutex_t): Likewise
	(__gthread_mutex_lock): Use <sys/lock.h> function.
	(__gthread_mutex_trylock): Likewise.
	(__gthread_mutex_timedlock): Likewise.
	(__gthread_mutex_unlock): Likewise.
	(__gthread_mutex_destroy): Likewise.
	(__gthread_recursive_mutex_lock): Likewise.
	(__gthread_recursive_mutex_trylock): Likewise.
	(__gthread_recursive_mutex_timedlock): Likewise.
	(__gthread_recursive_mutex_unlock): Likewise.
	(__gthread_recursive_mutex_destroy): Likewise.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
	context->sp instead of context->cfa.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
	with unwind-dw2-fde-dip.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>

	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
	CALL12 followed by series of ENTRY to spill windowed registers.
	(__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
	instead of making linux spill syscall.

2015-08-14  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/cpuinfo.c (enum processor_subtypes): Add skylake.
	(get_intel_cpu): Likewise.

2015-08-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cpuinfo.c (processor_types): Add INTEL_KNL.
	(get_intel_cpu): Add Knights Landing support.

2015-08-11  Uros Bizjak  <ubizjak@gmail.com>

	PR target/66954
	* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_PCLMUL.
	(get_available_features): Handle FEATURE_PCLMUL.

2015-08-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Treat model == 0x4f as
	Broadwell.

2015-07-22  Uros Bizjak  <ubizjak@gmail.com>

	PR target/66954
	* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_AES.
	(get_available_features): Handle FEATURE_AES.

2015-07-22  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/nios2/linux-atomic.c (<asm/unistd.h>): Remove #include.
	(EFAULT,EBUSY,ENOSYS): Delete unused #defines.

2015-07-17  Nathan Sidwell  <nathan@codesourcery.com>

	* offloadstuff.c: Constify host data.

2015-07-17  Jan Beulich  <jbeulich@suse.com>

	* config/t-softfp: Split up "else ifneq".

2015-07-14  Sandra Loosemore  <sandra@codesourcery.com>
	    Cesar Philippidis  <cesar@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	* config/nios2/tramp.c (MOVHI, ORI, JMP): Conditionalize
	for __nios2_arch__ level.

2015-07-13  John Marino  <gnugcc@marino.st>

	* config/i386/t-dragonfly: New.

2015-07-01  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__kernel_cmpxchg): Reorder arguments to
	better match light-weight syscall argument order.
	(__kernel_cmpxchg2): Likewise.
	Adjust callers.

2015-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config.host: Support i[34567]86-*-elfiamcu target.
	* config/t-softfp-sfdftf: New file.
	* config/i386/32/t-iamcu: Likewise.
	* configure: Regenerated.

2015-06-23  James Lemke  <jwlemke@codesourcery.com>

	libgcc/config/arm/
	* lib1funcs.S (aeabi_idiv0, aeabi_ldiv0): Add CFI entries.

2015-05-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (CRTSTUFF_CFLAGS): Add $(NO_PIE_CFLAGS).

2015-05-27  John Marino  <gnugcc@marino.st>

	* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Set
	md_unwind_header
	* config/i386/freebsd-unwind.h: New.

2015-05-22  Uros Bizjak  <ubizjak@gmail.com>

	* config.host (i[34567]-*-*, x86_64-*-*): Add t-crtfm instead of
	i386/t-crtfm to tmake_file.
	* config/i386/crtfastmath.c (set_fast_math_sse): New function.
	(set_fast_math): Use set_fast_math_sse for SSE targets.
	* config/i386/t-crtfm: Remove.

2015-05-21  Alan Modra  <amodra@gmail.com>

	PR libgcc/66225
	* config/rs6000/morestack.S: Remove ".abiversion 1".

2015-05-20  Alan Modra  <amodra@gmail.com>

	* config/rs6000/morestack.S: New.
	* config/rs6000/t-stack-rs6000: New.
	* config.host (powerpc*-*-linux*): Add t-stack and t-stack-rs6000
	to tmake_file.
	* generic-morestack.c: Don't build for powerpc 32-bit.

2015-05-19  Eric Botcazou  <ebotcazou@adacore.com>

	* Makefile.in (LIBUNWIND): Move dependency for shared libgcc.
	Remove useless endif/ifneq ($(enable_shared),yes) pair.

2015-05-16  James Bowman  <james.bowman@ftdichip.com>

	* config.host: FT32 target added.
	* config/ft32/*: New files for FT32 target.

2015-05-15  Martin Galvan  <martin.galvan@tallertechnologies.com>

	* config/arm/lib1funcs.S (CFI_START_FUNCTION, CFI_END_FUNCTION):
	New macros.
	* config/arm/ieee754-df.S: Add CFI directives.
	* config/arm/ieee754-sf.S: Add CFI directives.

2015-05-13  Eric Botcazou  <ebotcazou@adacore.com>

	* configure.ac: Include config/sjlj.m4.
	Remove manual SJLJ check, add GCC_CHECK_SJLJ_EXCEPTIONS and adjust.
	* config.in: Regenerate.
	* configure: Likewise.
	* config.host: Replace enable_sjlj_exceptions by ac_cv_sjlj_exceptions.

2015-05-12  Uros Bizjak  <ubizjak@gmail.com>

	* libgcov-util.c: Add space between string literal and macro name.

2015-05-06  Sandra Loosemore  <sandra@codesourcery.com>
	    Chris Jones  <chrisj@nvidia.com>
	    Joshua Conner  <jconner@nvidia.com>

	* config.host (arm*-*-linux*): Add support for crtfastmath.o.
	(arm*-*-uclinux*): Likewise.
	(arm*-*-eabi* | arm*-*-rtems*): Likewise.
	* config/arm/crtfastmath.c: New file.

2014-04-29  Bernd Schmidt  <bernds@codesourcery.com>

	* Makefile.in (real_host_noncanonical): New variable.
	(libsubdir): Use it.
	* configure.ac (real_host_noncanonical): Compute.  Remove special
	case for intelmicemul.
	* configure: Regenerate.

2015-04-28  Uros Bizjak  <ubizjak@gmail.com>

	* config/frv/elf-lib.h: New file.
	(CRT_GET_RFIB_DATA): Move definition from gcc/config/frv/frv.h.
	* libgcc/config.host (frv-*elf, frv-*-*linux*): Add frv/elf-lib.h
	to tm_file.

2015-04-28  Uros Bizjak  <ubizjak@gmail.com>

	* config/frv/frvbengin.c: Do not include defaults.h
	* config/frv/frvend.c: Ditto.

2015-04-27  Yoshinori Sato  <ysato@users.sourceforge.jp>

	* config.host: Add h8300-*-linux
	* config/h8300/t-linux: New file.
	* config/h8300/lib1funs.s: Change symbol prefix.
	* config/h8300/sfp-machine.h: 64bit double support.

2015-04-22  Gregor Richards  <gregor.richards@uwaterloo.ca>
	    Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* unwind-dw2-fde-dip.c (USE_PT_GNU_EH_FRAME): Define it on
	Linux if target provides dl_iterate_phdr.

2015-04-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/65612
	* config.host (tmake_file): Add t-slibgcc-libgcc for Linux/x86.
	* config/i386/cpuinfo.c (__cpu_model): Initialize.
	(__cpu_indicator_init@GCC_4.8.0): New.
	(__cpu_model@GCC_4.8.0): Likewise.
	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add
	-DUSE_ELF_SYMVER.

2015-04-16  Nick Clifton  <nickc@redhat.com>

	* config/rl78/divmodhi.S: Add G14 and G13 versions of the __divhi3
	and __modhi3 functions.
	* config/rl78/divmodso.S: Add G14 and G13 versions of the
	__divsi3, __udivsi3, __modsi3 and __umodsi3 functions.

2015-04-15  Chen Gang  <gang.chen.5i5j@gmail.com>

	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty
	do-while loop as macro body to avoid warnings.

2015-04-10  Jakub Jelinek  <jakub@redhat.com>
	    Iain Sandoe  <iain@codesourcery.com>

	PR target/65351
	* configure: Regenerate.

2015-04-07  Jakub Jelinek  <jakub@redhat.com>
	    Iain Sandoe  <iain@codesourcery.com>

	PR target/65351
	* configure: Regenerate.

2015-03-25  Chung-Lin Tang  <cltang@codesourcery.com>

	* config.host (nios2-*-linux*): Remove 'extra_parts' setting.

2015-03-03  Max Filippov  <jcmvbkbc@gmail.com>

	Implement call0 ABI for xtensa
	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill,
	__xtensa_nonlocal_goto): Don't compile for call0 ABI.
	(__xtensa_sync_caches): Only use entry and retw in windowed ABI,
	use ret in call0 ABI.
	* config/xtensa/t-windowed: New file.
	* libgcc/config/xtensa/t-xtensa (LIB2ADDEH): Move to t-windowed.
	* libgcc/configure: Regenerated.
	* libgcc/configure.ac: Check if xtensa target is configured for
	windowed ABI and thus needs to use custom unwind code.

2015-02-12  Jonathan Wakely  <jwakely@redhat.com>

	PR libgcc/64885
	* gthr-single.h: Use __unused__ attribute instead of unused.
	* config/gthr-vxworks.h: Likewise.
	* config/i386/gthr-win32.h: Likewise.

2015-02-27  Kai Tietz  <ktietz@redhat.com>

	PR target/65038
	* config.in: Regenerated.
	* configure: Likewise.
	* configure.ac (AC_HEADER_STDC): Added explicit.
	(AC_CHECK_HEADERS): Check for default headers  plus
	for ftw.h header.
	* libgcov-util.c (gcov_read_profile_dir): Disable use
	of ftw-function, if header is not found.
	(ftw_read_file): Likewise.

2015-02-23  Thomas Schwinge  <thomas@codesourcery.com>

	PR target/65181
	* config/nvptx/t-nvptx (INHIBIT_LIBC_CFLAGS): Define to
	-Dinhibit_libc.

2015-02-17  Sandra Loosemore  <sandra@codesourcery.com>

	* config/arm/bpabi.S (test_div_by_zero): Make label names
	consistent between thumb2 and arm mode cases.  Separate the
	signed comparison on the high word of the numerator from the
	unsigned comparison on the low word.
	* config/arm/bpabi-v6m.S (test_div_by_zero): Similarly separate
	signed comparison.

2015-02-17  Joseph Myers  <joseph@codesourcery.com>

	* config/nvptx/realloc.c: Include <stddef.h> instead of <stdlib.h>
	and <string.h>.
	(__nvptx_realloc): Call __builtin_memcpy instead of memcpy.

2015-02-10  Rainer Emrich  <rainer@emrich-ebersheim.de>

	PR gcov-profile/61889
	* libgcov-driver-system.c: undefine clashing macro for mkdir.

2015-02-02  Nick Clifton  <nickc@redhat.com>

	* config/rl78/fpmath-sf.S (__rl78_int_pack_a_r8): Fix edge case
	rounding up the fraction.

2015-01-31  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__kernel_cmpxchg2): Change declaration of
	oldval and newval to const void *.  Fix typo.
	(FETCH_AND_OP_2): Use __atomic_load_n to load value.
	(FETCH_AND_OP_WORD): Likewise.
	(OP_AND_FETCH_WORD): Likewise.
	(COMPARE_AND_SWAP_2): Likewise.
	(__sync_val_compare_and_swap_4): Likewise.
	(__sync_lock_test_and_set_4): Likewise.
	(SYNC_LOCK_RELEASE_2): Likewise.
	Remove support for long long atomic operations.

2015-01-27  Caroline Tice  <cmtice@google.com>

	Committing VTV Cywin/Ming patch for Patrick Wollgast
	* Makefile.in: Move rules to build vtv_*.o out of the check
	for CUSTOM_CRTSTUFF.
	* config.host (i[34567]86-*-cygwin*, x86_64-*-cygwin*,
	i[34567]86-*-mingw*)
	(x86_64-*-mingw*): Only add vtv_*.o to extra_parts if
	enable_vtable_verify.

2015-01-27  Nick Clifton  <nickc@redhat.com>

	* config/rl78/cmpsi2.S: Use function start and end macros.
	(__gcc_bcmp): New function.
	* config/rl78/lshrsi3.S: Use function start and end macros.
	* config/rl78/mulsi3.S: Add support for G10.
	(__mulqi3): New function for G10.
	* config/rl78/signbit.S: Use function start and end macros.
	* config/rl78/t-rl78 (LIB2ADD): Add bit-count.S, fpbit-sf.S and
	fpmath-sf.S.
	(LIB2FUNCS_EXCLUDE): Define.
	(LIB2FUNCS_ST): Define.
	* config/rl78/trampoline.S: Use function start and end macros.
	* config/rl78/vregs.h (START_FUNC): New macro.
	(START_ANOTHER_FUNC): New macro.
	(END_FUNC): New macro.
	(END_ANOTHER_FUNC): New macro.
	* config/rl78/bit-count.S: New file.  Contains assembler
	implementations of the bit counting functions: ___clzhi2,
	__clzsi2, ctzhi2, ctzsi2, ffshi2, ffssi2, __partityhi2,
	__paritysi2, __popcounthi2 and __popcountsi2.
	* config/rl78/fpbit-sf.S: New file.  Contains assembler
	implementationas of the math functions: __negsf2, __cmpsf2,
	__eqsf2, __nesf2, __lesf2, __ltsf2, __gesf2, gtsf2, __unordsf2,
	__fixsfsi,  __fixunssfsi, __floatsisf and __floatunssisf.
	* config/rl78/fpmath-sf.S: New file.  Contains assembler
	implementations of the math functions: __subsf3, __addsf3,
	__mulsf3 and __divsf3

2015-01-27  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*):
	Add i386/elf-lib.h to tm_file.
	* config/i386/elf-lib.h: Fix comment.
	* unwind-dw2-fde-dip.c (_Unwind_IteratePhdrCallback) [__x86_64__
	&& __sun__ && __svr4__]: Remove workaround.

2015-01-25  Allan Sandfeld Jensen  <sandfeld@kde.org>

	* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_BMI and
	FEATURE_BMI2.
	(get_available_features): Detect FEATURE_BMI and FEATURE_BMI2.

2015-01-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cpuinfo.c (processor_subtypes): Add
	INTEL_COREI7_BROADWELL.
	(get_intel_cpu): Support new Silvermont, Haswell and Broadwell
	model numbers.

2015-01-23  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/elf-lib.h: New file.
	(CRT_GET_RFIB_DATA): Move definition from gcc/config/i386/gnu-user.h.
	Wrap definition in #ifdef __i386__.
	* libgcc/config.host (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu)
	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*)
	(i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux*)
	(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Add i386/elf-lib.h
	to tm_file.

2015-01-22  Chen Gang  <gang.chen.5i5j@gmail.com>

	* unwind-dw2-fde.h (last_fde): Use "(const fde *)" instead of
	"(char *)" to avoid qualifier warning by 'xgcc' compiling.

2015-01-20  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/nios2/linux-unwind.h (nios2_fallback_frame_state):
	Update rt_sigframe format and address for current Nios II
	Linux conventions.

2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>

	* config.host (arm*-*-freebsd*): Add new configuration for
	arm*-*-freebsd*.
	* config/arm/freebsd-atomic.c: New file.
	* config/arm/t-freebsd: Likewise.
	* config/arm/unwind-arm.h: Add __FreeBSD__ to the list of
	'PC-relative indirect' OS's.

2015-01-06  Eric Botcazou  <ebotcazou@adacore.com>

	* config.host: Add Visium support.
	* config/visium: New directory.

2015-01-05  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2014-12-19  Matthew Fortune  <matthew.fortune@imgtec.com>

	* config.host: Support mipsisa32r6 and mipsisa64r6.
	* config/mips/mips16.S: Do not build for R6.

2014-12-17  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/crt.h: New.
	* config/sh/crti.S: Use GLOBAL macro from crt.h for _init and _fini
	symbols.
	* config/sh/crt1.S: Likewise.

2014-12-15  Uros Bizjak  <ubizjak@gmail.com>

	PR libgcc/63832
	* crtstuff.c (__do_global_dtors_aux) [HIDDEN_DTOR_LIST_END]: Use
	func_ptr *dtor_list temporary variable to avoid "array subscript
	is above array bounds" warnings.

2014-12-09  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.in (with_aix_soname): Define.
	* config/rs6000/t-slibgcc-aix: Act upon --with-aix-soname option.
	* configure.ac: Accept --with-aix-soname=aix|svr4|both option.
	* configure: Recreate.

2014-12-05  Olivier Hainque  <hainque@adacore.com>

	* unwind-dw2.c (DWARF_REG_TO_UNWIND_COLUMN): Remove default def,
	now provided by defaults.h.

2014-11-30  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/55351
	* config/sh/lib1funcs.S: Check value of __SHMEDIA__ instead of checking
	whether it's defined.

2014-11-27  Ilya Tocar  <ilya.tocar@intel.com>

	* config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512F.
	* config/i386/cpuinfo.c (get_available_features): Detect it.

2014-11-27  Tony Wang  <tony.wang@arm.com>

	* config/arm/lib1funcs.S (FUNC_START): Add conditional section
	redefine for macro L_arm_muldivsf3 and L_arm_muldivdf3.
	(SYM_END, ARM_SYM_START): Add macros used to expose function Symbols.

2014-11-25  Segher Boessenkool  <segher@kernel.crashing.org>

	* crtstuff.c (__do_glbal_ctors_1): Add missing semicolon.

2014-11-24  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (ABORT_INSTRUCTION): Use __builtin_trap()
	instead.

2014-11-21  Guy Martin  <gmsoft@tuxicoman.be>
	    John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__kernel_cmpxchg2): New.
	(FETCH_AND_OP_2): New.  Use for subword and double word operations.
	(OP_AND_FETCH_2): Likewise.
	(COMPARE_AND_SWAP_2): Likewise.
	(SYNC_LOCK_TEST_AND_SET_2): Likewise.
	(SYNC_LOCK_RELEASE_2): Likewise.
	(SUBWORD_SYNC_OP): Remove.
	(SUBWORD_VAL_CAS): Likewise.
	(SUBWORD_BOOL_CAS): Likewise.
	(FETCH_AND_OP_WORD): Update.
	Consistently use signed types.

2014-11-13  Bernd Schmidt  <bernds@codesourcery.com>
	    Thomas Schwinge  <thomas@codesourcery.com>
	    Ilya Verbin  <ilya.verbin@intel.com>
	    Andrey Turetskiy  <andrey.turetskiy@intel.com>

	* Makefile.in (crtoffloadbegin$(objext)): New rule.
	(crtoffloadend$(objext)): Likewise.
	* configure: Regenerate.
	* configure.ac (accel_dir_suffix): Compute new variable.
	(extra_parts): Add crtoffloadbegin.o and crtoffloadend.o
	if enable_offload_targets is not empty.
	* offloadstuff.c: New file.

2014-11-13  Nick Clifton  <nickc@redhat.com>

	* config/rl78/divmodhi.S: Add support for the G10 architecture.
	Use START_FUNC and END_FUNC macros to enable linker garbage
	collection.
	* config/rl78/divmodqi.S: Likewise.
	* config/rl78/divmodsi.S: Likewise.
	* config/rl78/mulsi3.S: Likewise.
	* config/rl78/lib2div.c: Remove G10 functions.
	* config/rl78/lib2muls.c: Likewise.
	* config/rl78/t-rl8 (HOST_LIBGCC2_CFLAGS): Define.
	* config/rl78/vregs.h (START_FUNC): New macro.
	(END_FUNC): New macro.

2014-11-12  Matthew Fortune  <matthew.fortune@imgtec.com>

	* config/mips/mips16.S: Set .module when supported.  Update O32
	FP64 calling convention and use for FPXX when possible.  Add FPXX
	calling convention fallback case.

2014-11-06  Bernd Schmidt  <bernds@codesourcery.com>

	* config.host: Handle nvptx-*-*.
	* shared-object.mk (as-flags-$o): Define.
	($(base)$(objext), $(base)_s$(objext)): Use it instead of
	-xassembler-with-cpp.
	* static-object.mk: Identical changes.
	* config/nvptx/t-nvptx: New file.
	* config/nvptx/crt0.s: New file.
	* config/nvptx/free.asm: New file.
	* config/nvptx/malloc.asm: New file.
	* config/nvptx/realloc.c: New file.

2014-10-30  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (libgcc.map.in): New target.
	(libgcc.map): Use libgcc.map.in.
	* config/t-softfp (softfp_compat): New variable to be set by
	users.
	[$(softfp_compat) = y] (softfp_map_dep, softfp_set_symver): New
	variables.
	[$(softfp_compat) = y] (softfp_file_list): Use files in the build
	directory.
	[$(softfp_compat) = y] ($(softfp_file_list)): Generate wrappers
	that use compat symbols and disable all code unless [SHARED].
	* config/t-softfp-compat: New file.
	* find-symver.awk: New file.
	* configure.ac (--with-glibc-version): New configure option.
	(ppc_fp_compat): New variable set for powerpc*-*-linux*.
	* configure: Regenerate.
	* config.host (powerpc*-*-linux*): Use ${ppc_fp_compat} for
	soft-float and e500.

2014-10-29  Joseph Myers  <joseph@codesourcery.com>

	* config/t-hardfp (hardfp_exclusions): Document new variable for
	user to define.
	(hardfp_func_list): Exclude functions from $(hardfp_exclusions).
	* config/t-softfp (softfp_extras): Document new variable for user
	to define.
	(softfp_func_list): Add functions from $(softfp_extras).
	* config/rs6000/t-e500v1-fp, config/rs6000/t-e500v2-fp: New files.
	* config.host (powerpc*-*-linux*): For e500v1, use
	rs6000/t-e500v1-fp and t-hardfp; do not use t-softfp-sfdf and
	t-softfp-excl.  For e500v2, use t-hardfp-sfdf, rs6000/t-e500v2-fp
	and t-hardfp; do not use t-softfp-sfdf and t-softfp-excl.

2014-10-26  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-unwind.h (pa32_read_access_ok): New function.
	(pa32_fallback_frame_state): Use pa32_read_access_ok to check if
	memory read accesses are ok.

2014-10-25  Joseph Myers  <joseph@codesourcery.com>

	* configure.ac (ppc_fp_type): Set variable on powerpc*-*-linux*.
	* configure: Regenerate.
	* config.host (powerpc*-*-linux*): Use $ppc_fp_type to determine
	additions to tmake_file.  Use t-hardfp-sfdf and t-hardfp instead
	of soft-fp for 32-bit classic hard float.  Do not use
	t-softfp-excl for soft float.

2014-10-22  Joseph Myers  <joseph@codesourcery.com>

	* config.host (powerpc*-*-linux*): Only use soft-fp for 32-bit
	configurations.
	* config/rs6000/t-ppc64-fp (softfp_wrap_start, softfp_wrap_end):
	Remove variables.

2014-10-22  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (__do_global_dtors): Fix wrong code
	introduced with 2014-10-21 trunk r216525.

2014-10-21  Joern Rennecke  <joern.rennecke@embecosm.com>
	    Vidya Praveen  <vidya.praveen@atmel.com>
	    Praveen Kumar Kaushik  <Praveen_Kumar.Kaushik@atmel.com>
	    Senthil Kumar Selvaraj  <Senthil_Kumar.Selvaraj@atmel.com>
	    Pitchumani Sivanupandi  <Pitchumani.S@atmel.com>

	* config/avr/lib1funcs.S (__do_global_dtors): Go back to descending
	order.

	Updated library functions for AVRTINY arch.
	* config/avr/lib1funcs.S: Updated zero/tmp regs for AVRTINY.
	Replaced occurrences of r0/r1 with tmp/zero reg macros.
	Added wsubi/ wadi macros that expands conditionally as sbiw/ adiw
	or AVRTINY equivalent. Replaced occurrences of sbiw/adiw with
	wsubi/wadi macors.
	(__mulsi3_helper): Update stack, preserve callee saved regs and
	argument from stack. Restore callee save registers.
	(__mulpsi3): Likewise.
	(__muldi3, __udivmodsi4, __divmodsi4, __negsi2, __umoddi3, __udivmod64,
	__moddi3, __adddi3, __adddi3_s8, __subdi3, __cmpdi2, __cmpdi2_s8,
	__negdi2, __prologue_saves__, __epilogue_restores__): Excluded for
	AVRTINY.
	(__tablejump2__): Added lpm equivalent instructions for AVRTINY.
	(__do_copy_data): Added new definition for AVRTINY.
	(__do_clear_bss): Replace r17 by r18 to preserve zero reg for AVRTINY.
	(__load_3, __load_4, __xload_1, __xload_2, __xload_3,
	__xload_4, __movmemx_qi, __movmemx_hi): Excluded for AVRTINY.
	* config/avr/lib1funcs-fixed.S: Replaced occurrences of r0/r1 with
	tmp/zero reg macros. Replaced occurrences of sbiw/adiw with wsubi/wadi
	macors.
	* config/avr/t-avr (LIB1ASMFUNCS): Remove unsupported functions for
	AVRTINY.

	Fix broken long multiplication on tiny arch.

2014-10-09  Joseph Myers  <joseph@codesourcery.com>

	* soft-fp/double.h: Update from glibc.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.
	* config/c6x/eqd.c (__c6xabi_eqd): Update call to FP_CMP_EQ_D.
	* config/c6x/eqf.c (__c6xabi_eqf): Update call to FP_CMP_EQ_S.
	* config/c6x/ged.c (__c6xabi_ged): Update call to FP_CMP_D.
	* config/c6x/gef.c (__c6xabi_gef): Update call to FP_CMP_S.
	* config/c6x/gtd.c (__c6xabi_gtd): Update call to FP_CMP_D.
	* config/c6x/gtf.c (__c6xabi_gtf): Update call to FP_CMP_S.
	* config/c6x/led.c (__c6xabi_led): Update call to FP_CMP_D.
	* config/c6x/lef.c (__c6xabi_lef): Update call to FP_CMP_S.
	* config/c6x/ltd.c (__c6xabi_ltd): Update call to FP_CMP_D.
	* config/c6x/ltf.c (__c6xabi_ltf): Update call to FP_CMP_S.

2014-10-08  Rong Xu  <xur@google.com>

	* libgcov-util.c (read_gcda_file): Fix format.
	(find_match_gcov_info): Ditto.
	(calculate_2_entries): New.
	(compute_one_gcov): Ditto.
	(gcov_info_count_all_cold): Ditto.
	(gcov_info_count_all_zero): Ditto.
	(extract_file_basename): Ditto.
	(get_file_basename): Ditto.
	(set_flag): Ditto.
	(matched_gcov_info): Ditto.
	(calculate_overlap): Ditto.
	(gcov_profile_overlap): Ditto.
	* libgcov-driver.c (compute_summary): Make
	it avavilable for external calls.

2014-10-06  Rong Xu  <xur@google.com>

	* Makefile.in: Ditto.
	* libgcov-driver.c (gcov_sort_n_vals): New utility function.
	(gcov_sort_icall_topn_counter): Ditto.
	(gcov_sort_topn_counter_arrays): Ditto.
	(dump_one_gcov): Sort indirect_call topn counters.
	* libgcov-merge.c (__gcov_merge_icall_topn): New merge
	function.
	* libgcov-profiler.c (__gcov_topn_value_profiler_body): New
	utility function.
	(__gcov_indirect_call_topn_profiler): New profiler function.
	* libgcov-util.c (__gcov_icall_topn_counter_op): New.
	* libgcov.h: New decls.

2014-10-04  Trevor Saunders  <tsaunders@mozilla.com>

	* config.host: Remove support for score-*.

2014-09-22  Joseph Myers  <joseph@codesourcery.com>

	* dfp-bit.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
	(__LIBGCC_XF_MANT_DIG__): Define if not already defined.
	(LONG_DOUBLE_HAS_XF_MODE): Define in terms of
	__LIBGCC_XF_MANT_DIG__.
	(__LIBGCC_TF_MANT_DIG__): Define if not already defined.
	(LONG_DOUBLE_HAS_TF_MODE): Define in terms of
	__LIBGCC_TF_MANT_DIG__.
	* libgcc2.c (NOTRUNC): Define in terms of
	__LIBGCC_*_EXCESS_PRECISION__, not LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
	* libgcc2.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.

2014-09-22  Joseph Myers  <joseph@codesourcery.com>

	PR target/63312
	* config/ia64/sfp-machine.h (FE_EX_ALL, FP_TRAPPING_EXCEPTIONS):
	New macros.

2014-09-22  Hans-Peter Nilsson  <hp@axis.com>

	* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
	override USE_PT_GNU_EH_FRAME.
	[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
	check USE_EH_FRAME_REGISTRY_ALWAYS against
	__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
	* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
	variable for substituted force_explicit_eh_registry.
	(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
	* configure.ac (explicit-exception-frame-registration):
	New AC_ARG_ENABLE.
	* configure: Regenerate.

2014-09-19  Olivier Hainque  <hainque@adacore.com>

	* config.host (powerpc-wrs-vxworksmils): New configuration,
	same as vxworksae.

2014-09-18  Joseph Myers  <joseph@codesourcery.com>

	* libgcc2.c (CEXT): Define using __LIBGCC_*_FUNC_EXT__.

2014-09-18  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/sfp-machine.h (FP_TRAPPING_EXCEPTIONS): Treat clear
	bits not set bits as indicating trapping exceptions.

2014-09-17  Nathan sidwell  <nathan@acm.org>

	* Makefile.in (LIBGCOV_INTERFACE): Add _gcov_dump from ...
	(LIBGCOV_DRIVER): ... here.
	* libgcov-driver.c (gcov_master): New.
	(gcov_exit): Remove from master chain.
	(__gcov_init): Add to master chain if version compatible.  Don't
	clear the version.
	* libgcov_interface (__gcov_flust): Call gcov_dump_int.
	(gcov_reset_int): Clear master chain, if compatible.
	(gcov_dump_int): New internal interface.  Dump master chain, if
	compatible.
	(gcov_dump): Alias for gcov_dump_int.
	* libgcov.h (struct gcov_root): Add next and prev fields.
	(struct gcov_master): New struct.
	(__gcov_master): New.
	(gcov_dump_int): Declare.

2014-09-17  Olivier Hainque  <hainque@adacore.com>

	* config.host (x86_64-*-mingw*): Add i386/t-cygming to tmake_file
	and crtbegin.o + crtend.o to extra_parts.

2014-09-12  Joseph Myers  <joseph@codesourcery.com>

	* libgcc2.h (LIBGCC2_HAS_SF_MODE): Define using
	__LIBGCC_HAS_SF_MODE__.
	(LIBGCC2_HAS_DF_MODE): Define using __LIBGCC_HAS_DF_MODE__.
	(LIBGCC2_HAS_XF_MODE): Define using __LIBGCC_HAS_XF_MODE__.
	(LIBGCC2_HAS_TF_MODE): Define using __LIBGCC_HAS_TF_MODE__.
	* config/libbid/bid_gcc_intrinsics.h
	(LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Do not define.
	(LIBGCC2_HAS_XF_MODE): Define using __LIBGCC_HAS_XF_MODE__.
	(LIBGCC2_HAS_TF_MODE): Define using __LIBGCC_HAS_TF_MODE__.
	* fixed-bit.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Do not define.
	(LIBGCC2_HAS_SF_MODE): Define using __LIBGCC_HAS_SF_MODE__.
	(LIBGCC2_HAS_DF_MODE): Define using __LIBGCC_HAS_DF_MODE__.

2014-09-11  Georg-Johann Lay  <avr@gjlay.de>

	PR target/63223
	* config/avr/libgcc.S (__tablejump2__): Rewrite to use RAMPZ, ELPM
	and R24 as needed.  Make work for all devices and .text locations.
	(__do_global_ctors, __do_global_dtors): Use word addresses.
	(__tablejump__, __tablejump_elpm__): Remove functions.
	* t-avr (LIB1ASMFUNCS): Remove _tablejump, _tablejump_elpm.
	Add _tablejump2.
	(XICALL, XIJMP): New macros.

2014-09-09  Marcus Shawcroft  <marcus.shawcroft@arm.com>
	Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config.host (aarch64*): Include crtfastmath.o and
	t-crtfm.
	* config/aarch64/crtfastmath.c: New file.

2014-09-08  Trevor Saunders  <tsaunders@mozilla.com>

	* config.host: Remove picochip support.
	* config/picochip/adddi3.S: Remove.
	* config/picochip/ashlsi3.S: Remove.
	* config/picochip/ashlsi3.c: Remove.
	* config/picochip/ashrsi3.S: Remove.
	* config/picochip/ashrsi3.c: Remove.
	* config/picochip/clzsi2.S: Remove.
	* config/picochip/cmpsi2.S: Remove.
	* config/picochip/divmod15.S: Remove.
	* config/picochip/divmodhi4.S: Remove.
	* config/picochip/divmodsi4.S: Remove.
	* config/picochip/lib1funcs.S: Remove.
	* config/picochip/longjmp.S: Remove.
	* config/picochip/lshrsi3.S: Remove.
	* config/picochip/lshrsi3.c: Remove.
	* config/picochip/parityhi2.S: Remove.
	* config/picochip/popcounthi2.S: Remove.
	* config/picochip/setjmp.S: Remove.
	* config/picochip/subdi3.S: Remove.
	* config/picochip/t-picochip: Remove.
	* config/picochip/ucmpsi2.S: Remove.
	* config/picochip/udivmodhi4.S: Remove.
	* config/picochip/udivmodsi4.S: Remove.

2014-09-08  Joseph Myers  <joseph@codesourcery.com>

	* libgcc2.c (SF_SIZE): Change all uses to __LIBGCC_SF_MANT_DIG__.
	(DF_SIZE): Change all uses to __LIBGCC_DF_MANT_DIG__.
	(XF_SIZE): Change all uses to __LIBGCC_XF_MANT_DIG__.
	(TF_SIZE): Change all uses to __LIBGCC_TF_MANT_DIG__.
	* libgcc2.h (SF_SIZE): Change to __LIBGCC_SF_MANT_DIG__.  Give
	error if not defined and LIBGCC2_HAS_SF_MODE is defined.
	(DF_SIZE): Change to __LIBGCC_DF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_DF_MODE is defined.
	(XF_SIZE): Change to __LIBGCC_XF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_XF_MODE is defined.
	(TF_SIZE): Change to __LIBGCC_TF_MANT_DIG__.  Give error if not
	defined and LIBGCC2_HAS_TF_MODE is defined.

2014-09-08  Joseph Myers  <joseph@codesourcery.com>

	* fp-bit.c (pack_d, unpack_d): Remove LARGEST_EXPONENT_IS_NORMAL
	and ROUND_TOWARDS_ZERO conditionals.

2014-09-07  Nathan sidwell  <nathan@acm.org>

	* libgcov-interface.c (STRONG_ALIAS): Rename to ...
	(ALIAS_weak): ... here. Use forwarding function.  Adjust uses.

2014-09-05  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (CRTSTUFF_CFLAGS): Add -fbuilding-libgcc.
	* config/aarch64/linux-unwind.h (STACK_POINTER_REGNUM): Change all
	uses to __LIBGCC_STACK_POINTER_REGNUM__.
	(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/alpha/vms-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
	Change use to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/cr16/unwind-cr16.c (STACK_GROWS_DOWNWARD): Change all
	uses to __LIBGCC_STACK_GROWS_DOWNWARD__.
	(DWARF_FRAME_REGISTERS): Change all uses to
	__LIBGCC_DWARF_FRAME_REGISTERS__.
	(EH_RETURN_STACKADJ_RTX): Change all uses to
	__LIBGCC_EH_RETURN_STACKADJ_RTX__.
	* config/cr16/unwind-dw2.h (DWARF_FRAME_REGISTERS): Change use to
	__LIBGCC_DWARF_FRAME_REGISTERS__.  Remove conditional definition.
	* config/i386/cygming-crtbegin.c (EH_FRAME_SECTION_NAME): Change
	use to __LIBGCC_EH_FRAME_SECTION_NAME__.
	(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__.
	* config/i386/cygming-crtend.c (EH_FRAME_SECTION_NAME): Change use
	to __LIBGCC_EH_FRAME_SECTION_NAME__.
	(JCR_SECTION_NAME): Change use to __LIBGCC_JCR_SECTION_NAME__
	* config/mips/linux-unwind.h (STACK_POINTER_REGNUM): Change use to
	__LIBGCC_STACK_POINTER_REGNUM__.
	(DWARF_ALT_FRAME_RETURN_COLUMN): Change all uses to
	__LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/nios2/linux-unwind.h (STACK_POINTER_REGNUM): Change use
	to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/pa/hpux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
	all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/pa/linux-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN): Change
	all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	* config/rs6000/aix-unwind.h (DWARF_ALT_FRAME_RETURN_COLUMN):
	Change all uses to __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__.
	(STACK_POINTER_REGNUM): Change all uses to
	__LIBGCC_STACK_POINTER_REGNUM__.
	* config/rs6000/darwin-fallback.c (STACK_POINTER_REGNUM): Change
	use to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/rs6000/linux-unwind.h (STACK_POINTER_REGNUM): Change all
	uses to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/sparc/linux-unwind.h (DWARF_FRAME_REGISTERS): Change use
	to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* config/sparc/sol2-unwind.h (DWARF_FRAME_REGISTERS): Change use
	to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* config/tilepro/linux-unwind.h (STACK_POINTER_REGNUM): Change use
	to __LIBGCC_STACK_POINTER_REGNUM__.
	* config/xtensa/unwind-dw2-xtensa.h (DWARF_FRAME_REGISTERS):
	Remove conditional definition.
	* crtstuff.c (TEXT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_TEXT_SECTION_ASM_OP__.
	(EH_FRAME_SECTION_NAME): Change all uses to
	__LIBGCC_EH_FRAME_SECTION_NAME__.
	(EH_TABLES_CAN_BE_READ_ONLY): Change all uses to
	__LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__.
	(CTORS_SECTION_ASM_OP): Change all uses to
	__LIBGCC_CTORS_SECTION_ASM_OP__.
	(DTORS_SECTION_ASM_OP): Change all uses to
	__LIBGCC_DTORS_SECTION_ASM_OP__.
	(JCR_SECTION_NAME): Change all uses to
	__LIBGCC_JCR_SECTION_NAME__.
	(INIT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_SECTION_ASM_OP__.
	(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
	* generic-morestack.c (STACK_GROWS_DOWNWARD): Change all uses to
	__LIBGCC_STACK_GROWS_DOWNWARD__.
	* libgcc2.c (INIT_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_SECTION_ASM_OP__.
	(INIT_ARRAY_SECTION_ASM_OP): Change all uses to
	__LIBGCC_INIT_ARRAY_SECTION_ASM_OP__.
	(EH_FRAME_SECTION_NAME): Change all uses to
	__LIBGCC_EH_FRAME_SECTION_NAME__.
	* libgcov-profiler.c (VTABLE_USES_DESCRIPTORS): Remove conditional
	definitions.  Change all uses to
	__LIBGCC_VTABLE_USES_DESCRIPTORS__.
	* unwind-dw2.c (STACK_GROWS_DOWNWARD): Change all uses to
	__LIBGCC_STACK_GROWS_DOWNWARD__.
	(DWARF_FRAME_REGISTERS): Change all uses to
	__LIBGCC_DWARF_FRAME_REGISTERS__.
	(EH_RETURN_STACKADJ_RTX): Change all uses to
	__LIBGCC_EH_RETURN_STACKADJ_RTX__.
	* unwind-dw2.h (DWARF_FRAME_REGISTERS): Remove conditional
	definition.  Change use to __LIBGCC_DWARF_FRAME_REGISTERS__.
	* unwind-sjlj.c (DONT_USE_BUILTIN_SETJMP): Change all uses to
	__LIBGCC_DONT_USE_BUILTIN_SETJMP__.
	(JMP_BUF_SIZE): Change use to __LIBGCC_JMP_BUF_SIZE__.

2014-09-02  Nathan sidwell  <nathan@acm.org>

	* libgcov-interface.c (STRONG_ALIAS): New.
	(__gcov_flush): Call __gcov_reset_int.
	(__gcov_reset): Strong alias for ...
	(__gcov_reset_ing): ... this renamed hidden version.
	* libgcov.h (__gcov_reset_int): New declaration.

2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

	* config/i386/cygming-crtend.c (register_frame_ctor): Move atexit
	call from here...
	* config/i386/cygming-crtbegin.c (__gcc_register_frame): to here.
	(__dso_handle): Define on Cygwin.
	* config/i386/t-cygming (crtbeginS.o): New rule.
	* config.host (*-*-cygwin*): Add crtbeginS.o to extra_parts.

	* config/i386/cygming-crtbegin.c (deregister_frame_fn): Fix
	declaration syntax.

2014-08-13  Steve Ellcey  <sellcey@mips.com>

	* crtstuff.c: Undef caddr_t.

2014-08-12  Steve Ellcey  <sellcey@mips.com>

	* config/mips/mips16.S:  Skip when __mips_soft_float is defined.

2014-08-07  Nathan Sidwell  <nathan@acm.org>

	* Makefile.in (LIBGCOV_INTERFACE): Move _gcov_dump ...
	(LIBGCOV_DRIVER): ... to here.
	* libgcov.h (gcov_do_dump): New #define.
	(struct gcov_root): New.
	(__gcov_root): New declaration.
	(__gcov_dump_one): Declare.
	* libgcov-driver.c (gcov_list, gcov_dump_complete,
	run_accounted): Delete.
	(gcov_compute_histogram): Add LIST argument, adjust.
	(compute_summary): Adjust gcov_compute_histogram call.
	(gcov_do_dump): Not hidden, static in libgcov.
	(gcov_clear): Move  to interface.c.
	(__gcov_dump_one): New, broken out of ...
	(gcov_exit): ... here.  Make static.
	(__gcov_root): New.
	(__gcov_init): Adjust.
	* libgcov-interface.c (gcov_clear, gcov_exit): Remove
	declarations.
	(__gcov_flush): Use __gcov_dump_one and __gcov_reset.
	(gcov_clear): Moved from driver.c.   Add LIST argument.
	(__gcov_reset): Adjust for changed interfaces.
	(__gcov_fork): Remove local declaration of __gcov_flush_mx.

2014-08-04  Rohit  <rohitarulraj@freescale.com>

	PR target/60102
	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Update
	based on change in SPE high register numbers and 3 HTM registers.

2014-08-01  Nathan Sidwell  <nathan@acm.org>

	* Makefile.in (LIBGCOV_MERGE, LIBGCOV_PROFILER,
	LIBGCOV_INTERFACE): Reformat.
	* libgcov-driver.c (gcov_exit, __gcov_init): Disable when
	IN_GCOV_TOOL.
	* libgcov-interface.c: Reformat some comments.
	(__gcov_flush_mx): Add declaration.  Tidy up definition.

2014-07-31  Alan Modra  <amodra@gmail.com>
	    Peter Bergner  <bergner@vnet.ibm.com>

	* config/rs6000/ibm-ldouble.c (typedef union longDblUnion): Delete.
	(pack_ldouble): New function.
	(__gcc_qadd): Use it.
	(__gcc_qmul): Likewise.
	(__gcc_qdiv): Likewise.
	(__gcc_qneg): Likewise.
	(__gcc_stoq): Likewise.
	(__gcc_dtoq): Likewise.

2014-07-30  J. D. Johnston  <jjohnst@us.ibm.com>

	* config/s390/tpf-unwind.h: Include <stdbool.h>.
	(__tpf_eh_return): Add original return address as second parameter.
	Handle cases where unwinder routines were called directly, instead
	of from within the C++ library.

2014-07-29  Nathan Sidwell  <nathan@acm.org>

	* libgcov.h: Move renaming of entry points to lib gcov specific
	portion.
	(gcov_do_dump): New rename.
	(gcov_rewrite): Remove inline, make HIDDEN.
	* libgcov-driver.c (gcov_clear, gcov_exit): Remove declarations.
	(gcov_exit_compute_summary): Rename to ...
	(compute_summary): ... here.  Add LIST argument.
	(gcov_exit_merge_gcda): Rename to ...
	(merge_one_data): ... here.
	(gcov_exit_write_gcda): Rename to ...
	(write_one_data): ... here.
	(gcov_exit_merge_summary): Rename to ...
	(merge_summary): Add RUN_COUNTED argument.
	(gcov_exit_dump_gcov): Rename to ...
	(dump_one_gcov): Add RUN_COUNTED argument.
	(gcov_do_dump): New function, broken out of ...
	(gcov_exit): ... here.  Call it.

2014-07-27  Anthony Green  <green@moxielogic.com>

	* config.host: Add moxiebox configuration suppport.

2014-07-27  Nathan Sidwell  <nathan@acm.org>

	* libgcov-driver.c (struct gcov_filename_aux): Rename ...
	(struct gcov_filename): ... here.  Include buffer and max length
	fields.
	(gcov_max_filename): Remove.
	(gi_filename): Remove.
	(gcov_exit_compute_summary): Compute max filename here.
	(gcov_exit_merge_gcda): Add filename parm, adjust.
	(gcov_exit_merge_summary): Likewise.
	(gcov_exit_dump_gcov): Adjust for struct gcov_filename changes.
	(gcov_exit): Likewise.
	(__gcov_init): Don't calculate max length here.
	* libgcov_util.c (max_filename_len): Remove.
	(read_gcda_file): Don't calculate max length here.
	(gcov_read_profile_dir): Don't propagate here.
	* libgcov-driver-system.c (alloc_filename_struct): Adjust for
	struct gcov_filename changes.
	(gcov_exit_open_gcda_file): Likewise.

2014-07-25  Nathan Sidwell  <nathan@acm.org>

	* libgcov-driver.c (set_gcov_dump_complete,
	reset_gcov_dump_complete, get_gcov_dump_complete): Remove global
	functions polluting user's namespace.
	(gcov_exit): Set variable directly.
	(gcov_clear): Reset variable directly.
	* libgcov-interface.c (get_gcov_dymp_complete,
	reset_gov_dump_complete): Remove declarations.
	(__gcov_reset, __gcov_dump): Don't call them.

2014-07-24  DJ Delorie  <dj@redhat.com>

	* config/i386/cygming-crtbegin.c (deregister_frame_fn): Newly public.
	(__gcc_deregister_frame): Move logic to detect deregister function
	to ...
	(__gcc_register_frame): here, so it's consistent with the register
	logic.

2014-07-23  Nathan Sidwell  <nathan@acm.org>

	* libgcov-driver.c (set_gcov_list): Remove.
	(gcov_list): Make non-static in GCOV_TOOL.
	* libgcov.h (GCOV_TOOL_LINKAGE): Remove unused #define.

2014-07-17  John David Anglin  <danglin@gcc.gnu.org>

	* config/pa/linux-atomic.c (__sync_lock_release_4): New.
	(SYNC_LOCK_RELEASE): Update to use __kernel_cmpxchg for release.
	Don't use SYNC_LOCK_RELEASE for int type.

2014-07-14  Richard Biener  <rguenther@suse.de>

	* libgcov.h (struct gcov_fn_info): Make ctrs size 1.

2014-07-11  Rong Xu  <xur@google.com>

	* libgcov-util.c (gcov_max_filename): Fix declartion.

2014-07-10  Rong Xu  <xur@google.com>

	Add gcov-tool: an offline gcda profile processing tool
	Support.
	* libgcov-driver.c (gcov_max_filename): Make available
	to gcov-tool.
	* libgcov-merge.c (__gcov_merge_add): Replace
	gcov_read_counter() with a Macro.
	(__gcov_merge_ior): Ditto.
	(__gcov_merge_time_profile): Ditto.
	(__gcov_merge_single): Ditto.
	(__gcov_merge_delta): Ditto.
	* libgcov-util.c (void gcov_set_verbose): Set the verbose flag
	in the utility functions.
	(set_fn_ctrs): Utility function for reading gcda files to in-memory
	gcov_list object link lists.
	(tag_function): Ditto.
	(tag_blocks): Ditto.
	(tag_arcs): Ditto.
	(tag_lines): Ditto.
	(tag_counters): Ditto.
	(tag_summary): Ditto.
	(read_gcda_finalize): Ditto.
	(read_gcda_file): Ditto.
	(ftw_read_file): Ditto.
	(read_profile_dir_init): Ditto.
	(gcov_read_profile_dir): Ditto.
	(gcov_read_counter_mem): Ditto.
	(gcov_get_merge_weight): Ditto.
	(merge_wrapper): A wrapper function that calls merging handler.
	(gcov_merge): Merge two gcov_info objects with weights.
	(find_match_gcov_info): Find the matched gcov_info in the list.
	(gcov_profile_merge): Merge two gcov_info object lists.
	(__gcov_add_counter_op): Process edge profile counter values.
	(__gcov_ior_counter_op): Process IOR profile counter values.
	(__gcov_delta_counter_op): Process delta profile counter values.
	(__gcov_single_counter_op): Process single  profile counter values.
	(fp_scale): Callback function for float-point scaling.
	(int_scale): Callback function for integer fraction scaling.
	(gcov_profile_scale): Scaling profile counters.
	(gcov_profile_normalize): Normalize profile counters.
	* libgcov.h: Add headers and functions for gcov-tool use.
	(gcov_get_counter): New.
	(gcov_get_counter_target): Ditto.
	(struct gcov_info): Make the functions field mutable in gcov-tool
	compilation.

2014-06-23  Kai Tietz  <ktietz@redhat.com>

	PR libgcc/61585
	* unwind-seh.c (_Unwind_GetGR): Check for proper
	index range.
	(_Unwind_SetGR): Likewise.

2014-05-22  Nick Clifton  <nickc@redhat.com>

	* config/msp430/t-msp430 (HOST_LIBGCC2_CFLAGS): Add
	-mhwmult=none.

2014-05-22  Teresa Johnson  <tejohnson@google.com>

	* libgcov-driver.c (gcov_error): Move declaration before gcov-io.c
	include.

2014-05-20  John Marino  <gnugcc@marino.st>

	* config.host (*-*-dragonfly*): New target.
	* crtstuff.c: Make dl_iterate_support generic on *bsd.
	* enable-execute-stack-mprotect.c: Always mprotect on FreeBSD.
	* unwind-dw2-fde-dip.c: Add dl_iterate_phr support for DragonFly.
	* config/i386/dragonfly-unwind.h: New.

2014-05-21  Maciej W. Rozycki  <macro@codesourcery.com>

	PR libgcc/60166
	* config/arm/sfp-machine.h (_FP_NANFRAC_H, _FP_NANFRAC_S)
	(_FP_NANFRAC_D, _FP_NANSIGN_Q): Set the quiet bit.

2014-05-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* unwind-seh.c (_Unwind_Backtrace): Uncommented, finished
	implementation.

2014-05-12  Georg-Johann Lay  <avr@gjlay.de>

	* config/arm/bpabi-lib.h (License): Add GCC Runtime Library Exception.

2014-05-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libgcc/61097
	* config/t-slibgcc-sld: Only build and install libgcc-unwind.map
	if --enable-shared.

2014-04-30  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	Work around for current cygwin32 build problems.
	* config/i386/cygming-crtbegin.c (__register_frame_info,
	__deregister_frame_info, _Jv_RegisterClasses): Compile weak default
	functions only for 64-bit systems.

2014-04-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/crtfastmath.c [!__x86_64__ && __sun__ && __svr4__]
	(sigill_caught, sigill_hdlr): Remove.

2014-04-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
	check.
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 9 single-threaded support.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 9 single-threaded support.  Add call_user_handler code
	sequences.
	(sparc_is_sighandler): Likewise.

2014-03-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config.host: Append t-floattodi to tmake_file depending on
	host_address.

2014-03-20  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host (v850*-*-*): Add to tmake_file instead of resetting it.

2014-03-10  Uros Bizjak  <ubizjak@gmail.com>

	PR libgcc/60472
	* crtstuff.c (frame_dummy): Use void **jcr_list temporary
	variable to avoid "array subscript is above array bounds" warnings.
	Use __builtin_expect when checking *jcr_list for NULL.

2014-03-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR libgcc/59339
	* config.host (*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu)
	(*-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu): Only add
	vtv_*.o to extra_parts if enable_vtable_verify.

2014-03-06  Nick Clifton  <nickc@redhat.com>

	* config/msp430/t-msp430 (LIB2ADD): Add lib2hw_mul.S
	* config/msp430/lib2hw_mul.S: New: Hardware multiply routines.

2014-02-28  Joey Ye  <joey.ye@arm.com>

	PR libgcc/60166
	* config/arm/sfp-machine.h (_FP_NANFRAC_H,
	_FP_NANFRAC_S, _FP_NANFRAC_D, _FP_NANFRAC_Q):
	Set to zero.

2014-02-24  Walter Lee  <walt@tilera.com>

	* config.host: Support "tilegx*" and "tilepro*" triplets.
	* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
	* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.

2014-02-20  Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>

	* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
	* config/nios2/crti.S: Remove .file directive.
	* config/nios2/crtn.S: Likewise.

2014-02-18  Kai Tietz  <ktietz@redhat.com>
	Jonathan Schleifer  <js@webkeks.org>

	PR objc/56870
	* unwind-seh.c (_GCC_specific_handler): Pass proper
	value to unwind-handler.

2014-02-12  Joseph Myers  <joseph@codesourcery.com>

	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.
	* config/aarch64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING): New
	macro.
	* config/arm/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/c6x/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/cris/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/i386/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/ia64/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/lm32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/mips/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/moxie/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/nds32/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/nios2/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/rs6000/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/score/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilegx/sfp-machine32.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilegx/sfp-machine64.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.
	* config/tilepro/sfp-machine.h (_FP_TININESS_AFTER_ROUNDING):
	Likewise.

2014-02-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/32/_fixdfdi.c: Throw invalid exception if number
	cannot be represented.
	* config/s390/32/_fixsfdi.c: Likewise.
	* config/s390/32/_fixtfdi.c: Likewise.
	* config/s390/32/_fixunsdfdi.c: Likewise.
	* config/s390/32/_fixunssfdi.c: Likewise.
	* config/s390/32/_fixunstfdi.c: Likewise.

2014-02-07  Richard Sandiford  <rdsandiford@googlemail.com>

	* configure.ac (libgcc_cv_mips_hard_float): New.
	* configure: Regenerate.
	* config.host (mips*-*-*): Use t-hardfp-sfdf rather than
	t-softfp-sfdf for hard-float targets.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Reinstate.
	(softfp_float_modes, softfp_int_modes, softfp_extensions)
	(softfp_truncations, softfp_exclude_libgcc2): New.
	* config/t-hardfp: New file.
	* config/t-hardfp-sfdf: Likewise.
	* config/hardfp.c: Likewise.

2014-02-05  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config.host: Include t-floattodi also for s390x.
	* config/s390/32/_fixdfdi.c: Omit in 64 bit mode.
	* config/s390/32/_fixsfdi.c: Likewise.
	* config/s390/32/_fixtfdi.c: Likewise.
	* config/s390/32/_fixunsdfdi.c: Likewise.
	* config/s390/32/_fixunssfdi.c: Likewise.
	* config/s390/32/_fixunstfdi.c: Likewise.

2014-02-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/59788
	* config/t-slibgcc-sld (libgcc-unwind.map): New target.
	(install-libgcc-unwind-map-forbuild): New target.
	(all): Depend on install-libgcc-unwind-map-forbuild.
	(install-libgcc-unwind-map): New target.
	(install): Depend on install-libgcc-unwind-map.

2014-02-02  Sandra Loosemore  <sandra@codesourcery.com>

	* config/nios2/crti.S (_init): Initialize GOT pointer from
	_gp_got instead of _GLOBAL_OFFSET_TABLE_.

2014-02-02  Richard Sandiford  <rdsandiford@googlemail.com>

	* configure.ac: Check __mips64 when setting host_address.
	* configure: Regenerate.
	* config.host (mips*-*-*): Add t-softfp-sfdf, mips/t-softfp-tf,
	mips/t-mips64 and t-softfp.
	(mips*-*-linux*): Don't add mips/t-tpbit.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS, FPBIT, FPBIT_CFLAGS)
	(DPBIT, DPBIT_CFLAGS): Delete.
	* config/mips/sfp-machine.h: New file.
	* config/mips/t-mips64: Likewise.
	* config/mips/t-softfp-tf: Likewise.
	* config/mips/t-tpbit: Delete.

2014-01-29  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/sfp-machine.h (_FP_I_TYPE): Define
	as long long.

2014-01-25  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.c: Include tconfig.h.  Don't include
	config.h or system.h.
	(bool) Define.

2014-01-25  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
	(post_atomic_barrier): Ditto.
	(__fetch_and_do): New macro.
	(__atomic_fetch_and_do): Use __fetch_and_do.
	(__sync_fetch_and_do): New macro.
	(__sync_fetch_and_add_4): New function.
	(__sync_fetch_and_sub_4): New function.
	(__sync_fetch_and_or_4): New function.
	(__sync_fetch_and_and_4): New function.
	(__sync_fetch_and_xor_4): New function.
	(__sync_fetch_and_nand_4): New function.
	(__sync_fetch_and_add_8): New function.
	(__sync_fetch_and_sub_8): New function.
	(__sync_fetch_and_or_8): New function.
	(__sync_fetch_and_and_8): New function.
	(__sync_fetch_and_xor_8): New function.
	(__sync_fetch_and_nand_8): New function.
	(__do_and_fetch): New macro.
	(__atomic_do_and_fetch): Use __do_and_fetch.
	(__sync_do_and_fetch): New macro.
	(__sync_add_and_fetch_4): New function.
	(__sync_sub_and_fetch_4): New function.
	(__sync_or_and_fetch_4): New function.
	(__sync_and_and_fetch_4): New function.
	(__sync_xor_and_fetch_4): New function.
	(__sync_nand_and_fetch_4): New function.
	(__sync_add_and_fetch_8): New function.
	(__sync_sub_and_fetch_8): New function.
	(__sync_or_and_fetch_8): New function.
	(__sync_and_and_fetch_8): New function.
	(__sync_xor_and_fetch_8): New function.
	(__sync_nand_and_fetch_8): New function.
	(__sync_exchange_methods): New macro.
	(__sync_val_compare_and_swap_4): New function.
	(__sync_bool_compare_and_swap_4): New function.
	(__sync_lock_test_and_test_4): New function.
	(__sync_val_compare_and_swap_8): New function.
	(__sync_bool_compare_and_swap_8): New function.
	(__sync_lock_test_and_test_8): New function.
	(__subword_cmpxchg_body): New macro.
	(__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
	(__atomic_compare_exchange_2): Ditto.
	(__sync_subword_cmpxchg): New macro.
	(__sync_val_compare_and_swap_1): New function.
	(__sync_bool_compare_and_swap_1): New function.
	(__sync_val_compare_and_swap_2): New function.
	(__sync_bool_compare_and_swap_2): New function.
	(__atomic_subword): Rename to ...
	(__subword): ... New name.
	(__atomic_subword_fetch): Use __subword.
	(__sync_subword_fetch): New macro.
	(__sync_fetch_and_add_1): New function.
	(__sync_fetch_and_sub_1): New function.
	(__sync_fetch_and_or_1): New function.
	(__sync_fetch_and_and_1): New function.
	(__sync_fetch_and_xor_1): New function.
	(__sync_fetch_and_nand_1): New function.
	(__sync_fetch_and_add_2): New function.
	(__sync_fetch_and_sub_2): New function.
	(__sync_fetch_and_or_2): New function.
	(__sync_fetch_and_and_2): New function.
	(__sync_fetch_and_xor_2): New function.
	(__sync_fetch_and_nand_2): New function.
	(__sync_add_and_fetch_1): New function.
	(__sync_sub_and_fetch_1): New function.
	(__sync_or_and_fetch_1): New function.
	(__sync_and_and_fetch_1): New function.
	(__sync_xor_and_fetch_1): New function.
	(__sync_nand_and_fetch_1): New function.
	(__sync_add_and_fetch_2): New function.
	(__sync_sub_and_fetch_2): New function.
	(__sync_or_and_fetch_2): New function.
	(__sync_and_and_fetch_2): New function.
	(__sync_xor_and_fetch_2): New function.
	(__sync_nand_and_fetch_2): New function.
	(__atomic_subword_lock): Use __subword.
	(__sync_subword_lock): New macro.
	(__sync_lock_test_and_set_1): New function.
	(__sync_lock_test_and_set_2): New function.

2014-01-25  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.c (BIT_OFFSET): Define.
	(__atomic_subword_cmpxchg): Use BIT_OFFSET.
	(__atomic_subword): Ditto.

2014-01-25  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.c (__atomic_do_and_fetch): Add
	a prefix op argument.
	(__atomic_nand_fetch_4): Add prefix op.
	(__atomic_nand_fetch_8): Ditto.

2014-01-21  Baruch Siach  <barch@tkos.co.il>

	* config.host (tmake_file): add t-slibgcc-libgcc for xtensa*-*-linux*.

2014-01-09  Rong Xu  <xur@google.com>

	* libgcov-driver.c (this_prg): make it local to save
	bss space.
	(gcov_exit_compute_summary): Ditto.
	(gcov_exit_merge_gcda): Ditto.
	(gcov_exit_merge_summary): Ditto.
	(gcov_exit_dump_gcov): Ditto.

2014-01-08  Rong Xu  <xur@google.com>

	* libgcov-driver.c: Use libgcov.h.
	(buffer_fn_data): Use xmalloc instead of malloc.
	(gcov_exit_merge_gcda): Ditto.
	* libgcov-driver-system.c (allocate_filename_struct): Ditto.
	* libgcov.h: New common header files for libgcov-*.h.
	* libgcov-interface.c: Use libgcov.h
	* libgcov-merge.c: Ditto.
	* libgcov-profiler.c: Ditto.
	* Makefile.in: Add dependence to libgcov.h

2014-01-02  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/ibm-ldouble.c (__gcc_qdiv): Scale up arguments in
	case of small numerator and finite nonzero result.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/arc/asm.h, config/arc/crtg.S, config/arc/crtgend.S,
	config/arc/crti.S, config/arc/crtn.S, config/arc/divtab-arc700.c,
	config/arc/dp-hack.h, config/arc/fp-hack.h,
	config/arc/ieee-754/adddf3.S, config/arc/ieee-754/addsf3.S,
	config/arc/ieee-754/arc600-dsp/divdf3.S,
	config/arc/ieee-754/arc600-dsp/divsf3.S,
	config/arc/ieee-754/arc600-dsp/muldf3.S,
	config/arc/ieee-754/arc600-dsp/mulsf3.S,
	config/arc/ieee-754/arc600-mul64/divdf3.S,
	config/arc/ieee-754/arc600-mul64/divsf3.S,
	config/arc/ieee-754/arc600-mul64/muldf3.S,
	config/arc/ieee-754/arc600-mul64/mulsf3.S,
	config/arc/ieee-754/arc600/divsf3.S,
	config/arc/ieee-754/arc600/mulsf3.S,
	config/arc/ieee-754/divdf3.S, config/arc/ieee-754/divsf3-stdmul.S,
	config/arc/ieee-754/divsf3.S, config/arc/ieee-754/divtab-arc-df.c,
	config/arc/ieee-754/divtab-arc-sf.c, config/arc/ieee-754/eqdf2.S,
	config/arc/ieee-754/eqsf2.S, config/arc/ieee-754/extendsfdf2.S,
	config/arc/ieee-754/fixdfsi.S, config/arc/ieee-754/fixsfsi.S,
	config/arc/ieee-754/fixunsdfsi.S, config/arc/ieee-754/floatsidf.S,
	config/arc/ieee-754/floatsisf.S, config/arc/ieee-754/floatunsidf.S,
	config/arc/ieee-754/gedf2.S, config/arc/ieee-754/gesf2.S,
	config/arc/ieee-754/gtdf2.S, config/arc/ieee-754/gtsf2.S,
	config/arc/ieee-754/muldf3.S, config/arc/ieee-754/mulsf3.S,
	config/arc/ieee-754/orddf2.S, config/arc/ieee-754/ordsf2.S,
	config/arc/ieee-754/truncdfsf2.S, config/arc/ieee-754/uneqdf2.S,
	config/arc/ieee-754/uneqsf2.S, config/arc/initfini.c,
	config/arc/lib1funcs.S, config/arc/t-arc, config/arc/t-arc-newlib,
	config/cris/umulsidi3.S, config/msp430/cmpsi2.S,
	config/msp430/epilogue.S, config/msp430/lib2bitcountHI.c,
	config/msp430/lib2divHI.c, config/msp430/lib2divQI.c,
	config/msp430/lib2divSI.c, config/msp430/lib2mul.c,
	config/msp430/msp430-divmod.h, config/msp430/msp430-mul.h,
	config/msp430/slli.S, config/msp430/srai.S, config/msp430/srli.S,
	config/rl78/divmodhi.S, config/rl78/divmodqi.S, config/rl78/divmodsi.S,
	config/rl78/signbit.S, vtv_end.c, vtv_end_preinit.c, vtv_start.c,
	vtv_start_preinit.c: Use the standard form for the copyright notice.

2013-12-31  Sandra Loosemore  <sandra@codesourcery.com>
	    Chung-Lin Tang  <cltang@codesourcery.com>
	Based on patches from Altera Corporation

	* config.host (nios2-*-*,nios2-*-linux*): Add nios2 host cases.
	* config/nios2/lib2-nios2.h: New file.
	* config/nios2/lib2-divmod-hi.c: New file.
	* config/nios2/linux-unwind.h: New file.
	* config/nios2/lib2-divmod.c: New file.
	* config/nios2/linux-atomic.c: New file.
	* config/nios2/t-nios2: New file.
	* config/nios2/crti.asm: New file.
	* config/nios2/t-linux: New file.
	* config/nios2/lib2-divtable.c: New file.
	* config/nios2/lib2-mul.c: New file.
	* config/nios2/tramp.c: New file.
	* config/nios2/crtn.asm: New file.

2013-12-26  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/cpuinfo.c (enum vendor_signatures): Remove.
	(__cpu_indicator_init): Use signature_INTEL_ebx and signature_AMD_ebx
	from cpuid.h to check vendor signatures.

2013-12-26  Ganesh Gopalasubramanian  <Ganesh.Gopalasubramanian@amd.com>

	* config/i386/cpuinfo.c (processor_types): Rename AMD cpu names
	AMD_BOBCAT to AMD_BTVER1 and AMD_JAGUAR to AMD_BTVER2.
	(get_amd_cpu): Likewise.

2013-12-25   H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Remove model 0x3f from
	Haswell.

2013-12-25  Allan Sandfeld Jensen  <sandfeld@kde.org>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/59422
	* config/i386/cpuinfo.c (enum processor_types):  Add AMD_BOBCAT
	and AMD_JAGUAR.
	(enum processor_subtypes): Add AMDFAM15H_BDVER3, AMDFAM15H_BDVER4,
	INTEL_COREI7_IVYBRIDGE and INTEL_COREI7_HASWELL.
	(enum processor_features): Add  FEATURE_SSE4_A, FEATURE_FMA4,
	FEATURE_XOP and FEATURE_FMA.
	(get_amd_cpu): Handle AMD_BOBCAT, AMD_JAGUAR, AMDFAM15H_BDVER2 and
	AMDFAM15H_BDVER3.
	(get_intel_cpu): Handle INTEL_COREI7 and INTEL_COREI7_HASWELL.
	(get_available_features): Handle FEATURE_FMA, FEATURE_SSE4_A,
	FEATURE_FMA4 and FEATURE_XOP.

2013-12-23   H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/cpuinfo.c (processor_subtypes): Replace INTEL_ATOM,
	INTEL_SLM with INTEL_BONNELL, INTEL_SILVERMONT.
	(get_intel_cpu): Updated.

2013-12-12  Zhenqiang Chen  <zhenqiang.chen@arm.com>

	* config.host (arm*-*-uclinux*): Move t-arm before t-bpabi.

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
	instructions when __SSE_MATH__ is defined.

2013-12-06  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (microblaze-*-rtems*): New.

2013-12-04  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* config/arm/bpapi-lib.h (TARGET_HAS_NO_HW_DIVIDE): Define for
	architectures that do not have hardware divide instruction.
	i.e. architectures that do not define __ARM_ARCH_EXT_IDIV__.

2013-12-04  Richard Sandiford  <rdsandiford@googlemail.com>

	* longlong.h: Delete (moved to include/).

2013-12-03  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

	* config/rs6000/ibm-ldouble.c (__gcc_qadd): Fix add
	of normal number and qNaN to not raise an inexact exception.

2013-11-28  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (__FP_FRAC_ADDI_4): New macro.

2013-11-28  Matthew Leach  <matthew.leach@arm.com>

	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state):	Check
	for correct opcodes on BE.

2013-11-27  Uros Bizjak  <ubizjak@gmail.com>

	* soft-fp/op-4.h: Update from glibc.

2013-11-27  Kugan Vivekanandarajah  <kuganv@linaro.org>

	* libgcc2.c (__udivmoddi4): Define new implementation when
	TARGET_HAS_NO_HW_DIVIDE is defined, for processors without any
	divide instructions.

2013-11-25  Oleg Endo  <olegendo@gcc.gnu.org>

	* config/sh/crt1.S (start): Don't do VBR_SETUP for SH2E.

2013-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/t-softfp (soft-fp-objects-base): New variable.
	(soft-fp-objects): Use it.

2013-11-23  David Edelson  <dje.gcc@gmail.com>
	    Andrew Dixie  <andrewd@gentrack.com>

	PR target/33704
	* config/rs6000/aixinitfini.c: New file.
	* config/rs6000/t-aix-cxa (LIB2ADD_ST): Add aixinitfini.c.
	* config/rs6000/libgcc-aix-cxa.ver (GCC_4.9): Add libgcc initfini
	symbols.

2013-11-22  Yuri Rumyantsev  <ysrumyan@gmail.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.

2013-11-18  Jan Hubicka  <jh@suse.cz>

	* libgcov-driver.c (run_accounted): Make global level static.
	(gcov_exit_merge_summary): Silence warning; do not clear
	run_accounted here.
	(gcov_exit): Clear it here.

	* libgcov-driver.c (gcov_exit_merge_summary): Fix setting
	run_accounted.

	* libgcov-driver.c (get_gcov_dump_complete): Update comments.
	(all_prg, crc32): Remove static vars.
	(gcov_exit_compute_summary): Rewrite to return crc32; do not clear
	all_prg.
	(gcov_exit_merge_gcda): Add crc32 parameter.
	(gcov_exit_merge_summary): Add crc32 and all_prg parameter;
	do not account run if it was already accounted.
	(gcov_exit_dump_gcov): Add crc32 and all_prg parameters.
	(gcov_exit): Initialize all_prg; update.

2013-11-15  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (TOC_SAVE_SLOT): Define.
	(frob_update_context): Use it.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/tramp.S [__powerpc64__ && _CALL_ELF == 2]:
	(trampoline_initial): Provide ELFv2 variant.
	(__trampoline_setup): Likewise.

	* config/rs6000/linux-unwind.h (frob_update_context): Do not
	check for AIX indirect function call sequence if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (get_regs): Do not support
	old kernel versions if _CALL_ELF == 2.
	(frob_update_context): Do not support PLT stub variants only
	generated by old linkers if _CALL_ELF == 2.

2013-11-14  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>
	    Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (ppc_fallback_frame_state): Correct
	location of CR save area for 64-bit little-endian systems.

2013-11-11  Eric Botcazou  <ebotcazou@adacore.com>

	* config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf
	in tmake_file.
	* config/arm/t-vxworks: Delete.

2013-11-10  Kai Tietz  <ktietz@redhat.com>

	* config/i386/cygming-crtbegin.c (__gcc_register_frame):
	Increment load-count on use of LIBGCC_SONAME DLL.
	(hmod_libgcc): New static variable to hold handle of
	LIBGCC_SONAME DLL.
	(__gcc_deregister_frame): Decrement load-count of
	LIBGCC_SONAME DLL.

2013-11-08  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

	* configure.ac (libgcc_cv_dfp): Extend check to probe fenv.h
	availability.
	* configure: Regenerate

2013-11-07  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Handle
	FP_EX_DENORM.  Store result to volatile location after SSE division
	to close interrupt window.  Remove unneeded fwait after x87
	division since interrupt window will be closed by emitted fstp.
	Rewrite FP_EX_INEXACT handling.

2013-11-06  Joseph Myers  <joseph@codesourcery.com>

	* soft-fp/README: Update.
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/extendxftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixdfti.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixsfti.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixtfti.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunsdfti.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunssfti.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/fixunstfti.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floattidf.c: Likewise.
	* soft-fp/floattisf.c: Likewise.
	* soft-fp/floattitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/floatuntidf.c: Likewise.
	* soft-fp/floatuntisf.c: Likewise.
	* soft-fp/floatuntitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/trunctfxf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.

2013-11-05  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Define.
	(_FP_MUL_MEAT_D): Ditto.
	(_FP_DIV_MEAT_S): Ditto.
	(_FP_DIV_MEAT_D): Ditto.
	* config.host (i[34567]86-*-rtems*): Remove i386/t-softfp, add
	t-softfp-sfdf and t-softfp to tmake_file.

2013-11-03  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/crtfastmath.c: Compile only for !_SOFT_FLOAT.
	* config/i386/crtprec.c: Ditto.

2013-10-31  Chung-Ju Wu  <jasonwucj@gmail.com>
	    Shiva Chen  <shiva0217@gmail.com>

	* config.host (nds32*-elf*): Add nds32 target.
	* config/nds32 : New directory and files.

2013-10-16  Hans-Peter Nilsson  <hp@axis.com>

	For CRIS ports, switch to soft-fp.  Improve arit.c and longlong.h.
	* 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.

2013-10-15  Richard Sandiford  <rdsandiford@googlemail.com>

	* sync.c: Remove static aliases and define each function directly
	under its real name.

2013-10-02  John David Anglin  <danglin@gcc.gnu.org>

	* config.host (hppa*64*-*-linux*): Define extra_parts.
	(hppa*-*-linux*): Likewise.

2013-10-02  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/crtgend.S: Add 2013 to Copyright years.
	* config/arc/gmon/atomic.h: Likewise.
	* config/arc/gmon/auxreg.h: Likewise.
	* config/arc/gmon/sys/gmon_out.h: Likewise.
	* config/arc/gmon/sys/gmon.h: Likewise.
	* config/arc/gmon/prof-freq.c: Likewise.
	* config/arc/gmon/mcount.c: Likewise.
	* config/arc/gmon/prof-freq-stub.S: Likewise.
	* config/arc/gmon/gmon.c: Likewise.
	* config/arc/gmon/machine-gmon.h: Likewise.
	* config/arc/gmon/profil.S: Likewise.
	* config/arc/gmon/dcache_linesz.S: Likewise.
	* config/arc/crtg.S: Likewise.
	* config/arc/ieee-754/arc600-mul64/divsf3.S: Likewise.
	* config/arc/ieee-754/arc600-mul64/divdf3.S: Likewise.
	* config/arc/ieee-754/adddf3.S: Likewise.
	* config/arc/ieee-754/truncdfsf2.S: Likewise.
	* config/arc/ieee-754/fixsfsi.S: Likewise.
	* config/arc/ieee-754/gtsf2.S: Likewise.
	* config/arc/ieee-754/floatsisf.S: Likewise.
	* config/arc/ieee-754/arc600-dsp/divsf3.S: Likewise.
	* config/arc/ieee-754/arc600-dsp/divdf3.S: Likewise.
	* config/arc/ieee-754/arc600-dsp/mulsf3.S: Likewise.
	* config/arc/ieee-754/fixdfsi.S: Likewise.
	* config/arc/ieee-754/addsf3.S: Likewise.
	* config/arc/ieee-754/gesf2.S: Likewise.
	* config/arc/ieee-754/floatsidf.S: Likewise.
	* config/arc/ieee-754/extendsfdf2.S: Likewise.
	* config/arc/ieee-754/divtab-arc-df.c: Likewise.
	* config/arc/ieee-754/gtdf2.S: Likewise.
	* config/arc/ieee-754/fixunsdfsi.S: Likewise.
	* config/arc/ieee-754/uneqdf2.S: Likewise.
	* config/arc/ieee-754/divsf3-stdmul.S: Likewise.
	* config/arc/ieee-754/uneqsf2.S: Likewise.
	* config/arc/ieee-754/arc-ieee-754.h: Likewise.
	* config/arc/ieee-754/divtab-arc-sf.c: Likewise.
	* config/arc/ieee-754/eqdf2.S: Likewise.
	* config/arc/ieee-754/ordsf2.S: Likewise.
	* config/arc/ieee-754/divsf3.S: Likewise.
	* config/arc/ieee-754/divdf3.S: Likewise.
	* config/arc/ieee-754/floatunsidf.S: Likewise.
	* config/arc/ieee-754/orddf2.S: Likewise.
	* config/arc/ieee-754/eqsf2.S: Likewise.
	* config/arc/ieee-754/gedf2.S: Likewise.
	* config/arc/crtn.S: Likewise.
	* config/arc/crti.S: Likewise.
	* config/arc/t-arc700-uClibc: Likewise.
	* config/arc/asm.h: Likewise.
	* config/arc/libgcc-excl.ver: Likewise.
	* config/arc/t-arc-newlib: Likewise.
	* config/arc/divtab-arc700.c: Likewise.
	* config/arc/initfini.c: Likewise.
	* config/arc/fp-hack.h: Likewise.

2013-10-01  Joern Rennecke  <joern.rennecke@embecosm.com>
	    Diego Novillo  <dnovillo@google.com>

	* config/arc/gmon/mcount.c (_MCOUNT_DECL): Comment typo fix.
	* config/arc/ieee-754/arc600-dsp/muldf3.S (.Linf_denorm): Likewise.
	* config/arc/ieee-754/arc600-mul64/muldf3.S (.Linf_denorm): Likewise.
	* config/arc/ieee-754/muldf3.S (.Linf_denorm): Likewise.

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.

2013-09-17  Jacek Caban  <jacek@codeweavers.com>

	* config/i386/gthr-win32.c: CreateSemaphoreW instead of
	CreateSemaphoreA.
	* config/i386/gthr-win32.h: Likewise.

2013-09-16  DJ Delorie  <dj@redhat.com>

	* config/rl78/vregs.h: Add G10 register definitions.
	* config/rl78/lib2mul.c: Enable for RL78/G10.
	* config/rl78/lib2div.c: Likewise.
	* config/rl78/lshrsi3.S: Use vregs.h.
	* config/rl78/cmpsi2.S: Likewise.
	* config/rl78/trampoline.S: Likewise.
	* config/rl78/mulsi2.S: Likewise.  Disable for RL78/G10.

2013-09-14  DJ Delorie  <dj@redhat.com>
	    Nick Clifton  <nickc@redhat.com>

	* config/rl78/mulsi3.S: Remove a few unneeded moves and branches.
	* config/rl78/vregs.h: New.
	* config/rl78/signbit.S: New file.  Implements signbit function.
	* config/rl78/divmodsi.S: New.
	* config/rl78/divmodhi.S: New.
	* config/rl78/divmodqi.S: New.
	* config/rl78/t-rl78: Build them here...
	* config/rl78/lib2div.c: ...but not here.

2013-09-12  DJ Delorie  <dj@redhat.com>

	* config.host (msp*-*-elf): New.
	* config/msp430/: New port.

2013-08-18  Iain Sandoe  <iain@codesourcery.com>

	PR gcov-profile/58127
	* libgcov.c (__gcov_indirect_call_callee): Don't make this a
	__thread var for emulated TLS.
	(__gcov_indirect_call_counters): Likewise.

2013-08-16  Maciej W. Rozycki  <macro@codesourcery.com>
	    Catherine Moore  <clm@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/mips16.S (CE_STARTFN, CE_ENDFN): New macros.
	(RET_FUNCTION): Use them in place of STARTFN and ENDFN.
	(CALL_STUB_NO_RET): Likewise.
	(CALL_STUB_RET): Likewise.
	* config/mips/libgcc-mips16.ver: Remove __mips16_call_stub and
	__mips16_ret call/return stub symbols.
	* config.host <mips*-*-linux>: For non-R5900 add t-slibgcc-libgcc
	to tmake_file.

2013-08-13  Maciej W. Rozycki  <macro@codesourcery.com>

	* config.host <mips*-*-linux*>: Remove a stray comment.

2013-08-10  Jan Hubicka  <jh@suse.cz>

	Work around binutils PR14342
	* Makefile.in: Add _gcov_indirect_call_profiler_v2 symbol.
	* libgcov.c (L_gcov_indirect_call_profiler): Restore original API.
	(L_gcov_indirect_call_profiler_v2): New.

2013-08-06  Jan Hubicka  <jh@suse.cz>

	* libgcov.c (__gcov_indirect_call_callee,
	__gcov_indirect_call_counters): New global vars.
	(__gcov_indirect_call_profiler): replace by ...
	(__gcov_indirect_call_profiler_v2) ... this one.

2013-08-06  Caroline Tice  <cmtice@google.com>

	* config.host (extra_parts): Add vtv_start.o, vtv_end.o
	vtv_start_preinit.o and vtv_end_preinit.o.
	* configure.ac: Add code to check/set enable_vtable_verify.
	* Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is
	true.
	* vtv_start_preinit.c: New file.
	* vtv_end_preinit.c: New file.
	* vtv_start.c: New file.
	* vtv_end.c: New file.
	* configure: Regenerated.

2013-08-01  Maxim Kuvyrkov  <maxim@kugelworks.com>

	* config/aarch64/sfp-machine.h, config/aarch64/sync-cache.c,
	* config/i386/cpuinfo.c, config/ia64/unwind-ia64.h,
	* config/mips/vr4120-div.S: Fix license from GPL-3.0+ to
	GPL-3.0-with-GCC-exception.

2013-07-30  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/mips/mips16.S (DELAYf): Alias to DELAYt for the MIPS IV
	ISA and up.

2013-07-23  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/linux-unwind.h: Use the proper dwarf to hard reg
	mapping for FPRs when creating the fallback framestate.

2013-07-19  Georg-Johann Lay  <avr@gjlay.de>

	PR target/57516
	* config/avr/lib1funcs-fixed.S (__roundqq3, __rounduqq3)
	(__round_s2_const, __round_u2_const)
	(__round_s4_const, __round_u4_const, __round_x8):
	Saturate result if addition result cannot be represented.

2013-07-15  Matthias Klose  <doko@ubuntu.com>

	* libgcc2.c: Don't include <limits.h>.

2013-07-09  Janis Johnson  <janisjo@codesourcery.com>

	* config.host (powerpc-*-eabispe*): Add t-fdpbit to tmake_file.

2013-07-06  Jakub Jelinek  <jakub@redhat.com>

	PR target/29776
	* libgcc2.c (__floattisf): Avoid undefined signed overflow.

2013-06-28  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/36041
	* libgcc2.c (POPCOUNTCST2, POPCOUNTCST4, POPCOUNTCST8, POPCOUNTCST):
	Define.
	(__popcountSI2): For __SIZEOF_INT__ > 2 targets use arithmetics
	instead of table lookups.
	(__popcountDI2): Likewise.

2013-06-25  Chung-Ju Wu  <jasonwucj@gmail.com>

	* Makefile.in (clean, distclean): Remove auto-target.h and stamp-h
	correctly.

2013-06-21  Joseph Myers  <joseph@codesourcery.com>

	PR other/53317
	* soft-fp/adddf3.c: Update from glibc.
	* soft-fp/addsf3.c: Likewise.
	* soft-fp/addtf3.c: Likewise.
	* soft-fp/divdf3.c: Likewise.
	* soft-fp/divsf3.c: Likewise.
	* soft-fp/divtf3.c: Likewise.
	* soft-fp/double.h: Likewise.
	* soft-fp/eqdf2.c: Likewise.
	* soft-fp/eqsf2.c: Likewise.
	* soft-fp/eqtf2.c: Likewise.
	* soft-fp/extenddftf2.c: Likewise.
	* soft-fp/extended.h: Likewise.
	* soft-fp/extendsfdf2.c: Likewise.
	* soft-fp/extendsftf2.c: Likewise.
	* soft-fp/fixdfdi.c: Likewise.
	* soft-fp/fixdfsi.c: Likewise.
	* soft-fp/fixsfdi.c: Likewise.
	* soft-fp/fixsfsi.c: Likewise.
	* soft-fp/fixtfdi.c: Likewise.
	* soft-fp/fixtfsi.c: Likewise.
	* soft-fp/fixunsdfdi.c: Likewise.
	* soft-fp/fixunsdfsi.c: Likewise.
	* soft-fp/fixunssfdi.c: Likewise.
	* soft-fp/fixunssfsi.c: Likewise.
	* soft-fp/fixunstfdi.c: Likewise.
	* soft-fp/fixunstfsi.c: Likewise.
	* soft-fp/floatdidf.c: Likewise.
	* soft-fp/floatdisf.c: Likewise.
	* soft-fp/floatditf.c: Likewise.
	* soft-fp/floatsidf.c: Likewise.
	* soft-fp/floatsisf.c: Likewise.
	* soft-fp/floatsitf.c: Likewise.
	* soft-fp/floatundidf.c: Likewise.
	* soft-fp/floatundisf.c: Likewise.
	* soft-fp/floatunditf.c: Likewise.
	* soft-fp/floatunsidf.c: Likewise.
	* soft-fp/floatunsisf.c: Likewise.
	* soft-fp/floatunsitf.c: Likewise.
	* soft-fp/gedf2.c: Likewise.
	* soft-fp/gesf2.c: Likewise.
	* soft-fp/getf2.c: Likewise.
	* soft-fp/ledf2.c: Likewise.
	* soft-fp/lesf2.c: Likewise.
	* soft-fp/letf2.c: Likewise.
	* soft-fp/muldf3.c: Likewise.
	* soft-fp/mulsf3.c: Likewise.
	* soft-fp/multf3.c: Likewise.
	* soft-fp/negdf2.c: Likewise.
	* soft-fp/negsf2.c: Likewise.
	* soft-fp/negtf2.c: Likewise.
	* soft-fp/op-1.h: Likewise.
	* soft-fp/op-2.h: Likewise.
	* soft-fp/op-4.h: Likewise.
	* soft-fp/op-8.h: Likewise.
	* soft-fp/op-common.h: Likewise.
	* soft-fp/quad.h: Likewise.
	* soft-fp/single.h: Likewise.
	* soft-fp/soft-fp.h: Likewise.
	* soft-fp/subdf3.c: Likewise.
	* soft-fp/subsf3.c: Likewise.
	* soft-fp/subtf3.c: Likewise.
	* soft-fp/truncdfsf2.c: Likewise.
	* soft-fp/trunctfdf2.c: Likewise.
	* soft-fp/trunctfsf2.c: Likewise.
	* soft-fp/unorddf2.c: Likewise.
	* soft-fp/unordsf2.c: Likewise.
	* soft-fp/unordtf2.c: Likewise.
	* config/aarch64/sfp-machine.h (_FP_QNANNEGATEDP): Define to 0.
	* config/arm/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/c6x/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/i386/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/ia64/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/lm32/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/moxie/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/rs6000/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/score/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.
	* config/tilegx/sfp-machine32.h (_FP_QNANNEGATEDP): Likewise.
	* config/tilegx/sfp-machine64.h (_FP_QNANNEGATEDP): Likewise.
	* config/tilepro/sfp-machine.h (_FP_QNANNEGATEDP): Likewise.

2013-06-16  Jürgen Urban  <JuergenUrban@gmx.de>

	* config/mips/lib2funcs.c: New file.
	* config/mips/t-mips (LIB2ADD_ST): Add it.

2013-06-09  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/6526
	* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Do not change bits
	other than FPSCR.PR and FPSCR.SZ.  Add SH4A implementation.

2013-06-08  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.h: Don't include stdint.h or features.h.
	Replace int64_t with long long.  Add __extension__ where
	appropriate.
	* config/tilepro/atomic.c: Include config.h.

2013-06-06  Douglas B Rupp  <rupp@adacore.com>

	* config.host (arm-wrs-vxworks): Configure with other soft float.

2013-06-04  Jürgen Urban  <JuergenUrban@gmx.de>

	* config.host (mipsr5900-*-elf*, mipsr5900el-*-elf*, mips64r5900-*-elf*)
	(mips64r5900el-*-elf*): New configurations.

2013-06-04  Alan Modra  <amodra@gmail.com>

	* config/rs6000/ibm-ldouble.c: Enable for little-endian.

2013-06-03  Yuri Rumyantsev  <yuri.s.rumyantsev@intel.com>

	* config/i386/cpuinfo.c (INTEL_SLM): New enum value.

2013-05-28  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/sol2-unwind.h (MD_FALLBACK_FRAME_STATE_FOR): Do not set
	fs->signal_frame for SIGFPE raised for IEEE-754 exceptions.
	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Likewise.

2013-05-22  Eric Botcazou  <ebotcazou@adacore.com>

	* config.host (powerpc-*-elf*): Add rs6000/t-savresfgpr to tmake_file.
	(powerpc-wrs-vxworks): Likewise.

2013-05-22  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Do it for
	signal frames as well.
	(MD_FALLBACK_FRAME_STATE_FOR): Do minor cleanups throughout and add the
	STACK_BIAS to the CFA offset.

2013-05-17  Richard Henderson  <rth@redhat.com>

	PR target/49146
	* unwind-dw2.c (UNWIND_COLUMN_IN_RANGE): New macro.
	(execute_cfa_program): Use it when storing to fs->regs.

2013-05-08  Kai Tietz  <ktietz@redhat.com>

	* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
	(__deregister_frame_info): Likewise.

2013-05-06  Thomas Schwinge  <thomas@codesourcery.com>

	* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
	NaN's payload.

	* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.

2013-04-25  Alan Modra  <amodra@gmail.com>

	* config.host: Match little-endian powerpc-linux.

2013-04-19  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/aarch64/sfp-machine.h (_FP_W_TYPE): Change to define
	as 'unsigned long long' instead of 'unsigned long'.
	(_FP_WS_TYPE): Change to define as 'signed long long' instead of
	'signed long'.

2013-04-10  Julian Brown  <julian@codesourcery.com>

	* config/arm/linux-atomic.c (SUBWORD_SYNC_OP, SUBWORD_VAL_CAS)
	(SUBWORD_TEST_AND_SET): Use signed char/short types instead of
	unsigned char/unsigned short.
	(__sync_val_compare_and_swap_{1,2}): Handle signed argument.

2013-04-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR other/55274
	* config/t-slibgcc-hpux (SHLIB_MAPFILES): Define.

2013-04-04  Meador Inge  <meadori@codesourcery.com>

	* config/arm/bpabi.S (aeabi_ldivmod): Add DWARF information for
	computing the location of the link register.
	(aeabi_uldivmod): Ditto.

2013-03-27  Kai Tietz  <ktietz@redhat.com>

	* config.host: Add support for cygwin x64 target.
	* configure: Regenerated.

2013-03-26  Walter Lee  <walt@tilera.com>

	* config/tilegx/t-crtstuff: Add -fno-asynchronous-unwind-tables
	-mcmodel=large to CRTSTUFF_T_CFLAGS_S variable.

2013-03-25  Kai Tietz  <ktietz@redhat.com>

	* config/i386/cygwin.S: Replace use of _WIN64 by __x86_64__.

2013-03-20  Robert Mason  <rbmj@verizon.net>

	* config/vxlib-tls.c (__gthread_get_tsd_data,)
	(__gthread_set_tsd_data, __gthread_enter_tsd_dtor_context,)
	(__gthread_leave_tsd_dtor_context): Add prototypes.
	(tls_delete_hook): Update.

2013-03-20  Catherine Moore  <clm@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Chao-ying Fu  <fu@mips.com>

	* config/mips/mips16.S:  Don't build for microMIPS.
	* config/mips/linux-unwind.h: Handle microMIPS frame.
	* config/mips/crtn.S (fini, init): New labels.

2013-03-14  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/53265
	* unwind-dw2.c (execute_cfa_program): Avoid
	-Waggressive-array-optimizations warnings for DW_CFA_GNU_window_save
	on targets with DWARF_FRAME_REGISTERS < 32.

2013-03-13  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/49880
	* config/sh/lib1funcs.S (sdivsi3_i4, udivsi3_i4): Enable for SH2A.
	(sdivsi3, udivsi3): Remove SH4 check and always compile these functions.

2013-03-07  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/cpuinfo.c (get_intel_cpu): Fix cpuid codes for
	sandybridge processors.

2013-03-06  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/56529
	* config/sh/lib1funcs.S (udivsi3_i4i, sdivsi3_i4i): Add __SH2A__ to
	inclusion list.

2013-03-04  Edgar E. Iglesias  <edgar.iglesias@gmail.com>

	* config/microblaze/crti.S: Setup stack protection at entry

2013-03-04  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S (__ashrdi3, __lshrdi3, __ashldi3)
	(__rotldi3): Shift bytewise if applicable.

2013-03-01  James Greenhalgh  <james.greenhalgh@arm.com>

	* config/aarch64/sync-cache.c
	(__aarch64_sync_cache_range): Silence warnings.

2013-02-25  Catherine Moore  <clm@codesourcery.com>

	Revert:
	2013-02-24  Catherine Moore  <clm@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Chao-ying Fu  <fu@mips.com>

	* config/mips/mips16.S:  Don't build for microMIPS.
	* config/mips/linux-unwind.h: Handle microMIPS frame.
	* config/mips/crtn.S (fini, init): New labels.

2013-02-24  Catherine Moore  <clm@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Chao-ying Fu  <fu@mips.com>

	* config/mips/mips16.S:  Don't build for microMIPS.
	* config/mips/linux-unwind.h: Handle microMIPS frame.
	* config/mips/crtn.S (fini, init): New labels.

2012-02-19  Edgar E. Iglesias  <edgar.iglesias@gmail.com>
	* config/microblaze/modsi3.S (modsi3): Fix case with 0x80000000
	as dividend.

2013-02-16  Alan Modra  <amodra@gmail.com>

	PR target/55431
	* config/rs6000/linux-unwind.h (ppc_linux_aux_vector): Delete.
	(ppc_fallback_frame_state): Always set up save locations for fp
	and altivec.  Don't bother with non-callee-saved regs, r0-r13
	except for r2 on ppc64, fr0-fr13, v0-v19, vscr.

2013-02-12  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add: _usmulUHA, _usmulUSA,
	_ssmulHA, _ssmulSA.
	(LIB1ASMFUNCS): Add: _muldi3_6, _mulsidi3, _umulsidi3, _usmuluha3,
	_ssmulha3, _usmulusa3, _ssmulsa3.
	* config/avr/lib1funcs.S (__muldi3_6): Break out of __muldi3.
	(__muldi3): XCALL __muldi3_6 instead of rcall.
	(__umulsidi3, __mulsidi3): New functions.
	(do_prologue_saves, do_epilogue_restores): New .macros.
	(__divdi3_moddi3): Use them.
	* config/avr/lib1funcs-fixed.S (__usmuluha3, __ssmulha3)
	(__usmulusa3, __ssmulsa3): New functions.

2013-02-11  Iain Sandoe  <iain@codesourcery.com>
	    Jack Howarth  <howarth@bromo.med.uc.edu>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/55693
	* config/darwin-crt-tm.c: Remove dummy functions hack.

2013-02-08  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/lib2funcs.c: New C sources for modules for libgcc.a.
	* config/avr/lib2-object.mk: New iterator to build objects from it.
	* config/avr/t-avr: Iterate lib2-object.mk to build objects from
	lib2funcs.c.
	(LIB2FUNCS_EXCLUDE): Add _clrsbdi2.
	(LIB1ASMFUNCS): Add: _ssabs_1, _mask1, _ret, _roundqq3, _rounduqq3,
	_round_s2, _round_u2, _round_2_const, _addmask_2, _round_s4,
	_round_u4, _round_4_const, _addmask_4, _round_x8, _rounddq3
	_roundudq3, _roundda3 _rounduda3, _roundta3 _rounduta3.
	* config/avr/lib1funcs-fixed.S: Implement them.

2013-02-04  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years.

2013-02-01  David Edelsohn  <dje.gcc@gmail.com>

	PR target/54601
	* config.host (powerpc-ibm-aix[56789]): Add t-aix-cxa to tmake_file.
	Add crtcxa to extra_parts.
	* config/rs6000/exit.h: New file.
	* config/rs6000/cxa_atexit.c: New file.
	* config/rs6000/cxa_finalize.c: New file.
	* config/rs6000/crtcxa.c: New file.
	* config/rs6000/t-aix-cxa: New file.
	* config/rs6000/libgcc-aix-cxa.ver: New file.

2013-01-31  Nick Clifton  <nickc@redhat.com>

	* config/v850/lib1funcs.S: Add support for e3v5 architecture
	variant.

2013-01-29  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add:
	_mulQQ,  _mulHQ,  _mulHA,  _mulSA,
	_mulUQQ, _mulUHQ, _mulUHA, _mulUSA,
	_divQQ,  _divHQ,  _divHA,  _divSA,
	_divUQQ, _divUHQ, _divUHA, _divUSA.

2013-01-26  David Holsgrove  <david.holsgrove@xilinx.com>

	* config.host(microblaze*-linux*): tmake_file: Remove
	t-slibgcc-nolc-override, add t-slibgcc-libgcc.
	* config/microblaze/t-microblaze: Set LIB2FUNCS_EXCLUDE
	to exclude functions from being built with libgcc.c and use
	the microblaze assembly.

2013-01-26  Edgar E. Iglesias  <edgar.iglesias@gmail.com>

	* config.host (microblaze*-*-*): Rename microblaze*-*-elf, update
	extra_parts.

2013-01-17  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Cast the
	results of (dcache_lsize - 1) and (icache_lsize - 1) to the type
	__UINTPTR_TYPE__; also cast 'base' to the same type before the
	alignment operation.

2013-01-15  Sofiane Naci  <sofiane.naci@arm.com>

	* config/aarch64/sync-cache.c (__aarch64_sync_cache_range): Update
	loop start address for cache clearing.

2013-01-14  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/lib1funcs.S: Remove trailing blanks.
	* config/avr/lib1funcs-fixed.S: Ditto.

2013-01-14  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/avr-lib.h: Add GPL copyright notice.

2013-01-14  Georg-Johann Lay  <avr@gjlay.de>

	* fixed-bit.c (SATFRACT) <FROM_TYPE=1, TO_TYPE=4>: Only
	declare / set min_low, min_high if TO_MODE_UNSIGNED == 0.
	(SATFRACT) <FROM_TYPE=TO_TYPE=4>: Only declare / set min_low,
	min_high if FROM_MODE_UNSIGNED == 0 and TO_MODE_UNSIGNED == 0.

2013-01-07  Mark Kettenis  <kettenis@openbsd.org>

	* config.host (i[34567]86-*-openbsd* and x86_64-*-openbsd*):
	Add to lists of i[34567]86-*-* and x86_64-*-* soft-fp targets.

2013-01-04  Nick Clifton  <nickc@redhat.com>

	* config/v850/lib1funcs.S: Only provide CALLT support functions if
	the CALLT instruction is supported.

2012-12-20  Jonathan Wakely  <jwakely.gcc@gmail.com>

	* gthr.h (__gthread_cond_timedwait_recursive): Do not require.
	* gthr-posix.h (__gthread_cond_timedwait_recursive): Remove.

2012-12-13  John Tytgat  <John@bass-software.com>

	* config/arm/fp16.c (__gnu_f2h_internal): Fix inaccuracy when aexp
	is 25.

2012-12-12  Jakub Jelinek  <jakub@redhat.com>

	PR libgcc/55451
	* fixed-bit.c (FIXED_SSADD, FIXED_SSSUB, FIXED_SSNEG): Avoid
	undefined signed overflows.

2012-12-09  Uros Bizjak  <ubizjak@gmail.com>

	PR target/55344
	* config/alpha/linux-unwind.h: Disable when inhibit_libc is defined.

2012-12-06  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-machine.h (FP_EX_ALL): Define.
	(FP_TRAPPING_EXCEPTIONS): Define.
	* config/i386/32/sfp-machine.h (FP_EX_SHIFT): Define.
	* config/i386/64/sfp-machine.h (FP_EX_SHIFT): Ditto.

2012-12-04  Richard Henderson  <rth@redhat.com>

	PR bootstrap/55571
	* Makefile.in (libgcc_s.so): Depend on and link with libgcc.a.

2012-12-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/sfp-machine.h (FP_EX_ALL): Define.
	(FP_EX_SHIFT): Define.
	(FP_TRAPPING_EXCEPTIONS): Define.

2012-12-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/aarch64/sfp-machine.h (FP_RND_MASK): Define.
	(FP_ROUNDMODE): Use FP_RND_MASK.
	* config/aarch64/sfp-exceptions.c: New.
	* config/aarch64/sfp-machine.h (FP_HANDLE_EXCEPTIONS):
	Use __sfp_handle_exceptions.

2012-12-04  Richard Earnshaw  <rearnsha@arm.com>

	* config.host: (arm*-*-freebsd*): Remove.
	(arm*-*-linux*, arm*-*-uclinux*): Simplify logic.
	(arm*-*-elf*): Remove.
	(arm*-*-wince-pe*): Remove.
	* arm/unwind-arm.c (struct fpa_reg): Delete.
	(struct fpa_regs): Delete.
	(phase1_vrs): Remove fpa element.
	(_Unwind_VRS_Get): Remove _UVRSC_FPA.
	(_Unwind_VRS_Set, _Unwind_VRS_Pop): Likewise.
	* arm/pr-support.c (__gnu_unwind_execute): Remove FPA support.
	* ieee754-sf.S (floatundisf): Remove FPA support.
	(floatdisf): Likewise.
	* ieee75f-df.S (floatundidf): Likewise.
	(floatdidf): Likewise.

2012-11-29  Kai Tietz  <ktietz@redhat.com>

	PR target/55445
	* unwind-c.c (__SEH__): Make sure SjLj isn't active.
	* unwind-generic.h: Likewise.
	* unwind-seh.c: Likewise.

2012-11-28  Richard Henderson  <rth@redhat.com>

	PR libgcc/48076
	* emutls.c (__emutls_get_address): Avoid race condition between
	obj->loc.offset read and emutls_key initialization.

2012-11-22  Georg-Johann Lay  <avr@gjlay.de>

	Adjust decimal point of signed accum mode to GCC default.

	PR target/54222
	* config/avr/t-avr (LIB1ASMFUNCS): Add _fractsfsq _fractsfusq,
	_divqq_helper.
	* config/avr/lib1funcs-fixed.S (__fractqqsf, __fracthqsf)
	(__fractsasf, __fractsfha, __fractusqsf, __fractsfsa)
	(__mulha3, __mulsa3)
	(__divqq3, __divha3, __divsa3): Adjust to new position of
	decimal point of signed accum types.

	(__mulusa3_round): New function.
	(__mulusa3): Use it.
	(__divqq_helper): New function.
	(__udivuqq3): Use it.

2012-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/55370
	* libgcc-std.ver.in: Add GCC_4.8.0 and %inherit for it.

2012-11-18  Teresa Johnson  <tejohnson@google.com>

	PR bootstrap/55051
	* libgcov.c (gcov_exit): Remove merged program summary
	comparison unless !GCOV_LOCKED.

2012-11-15  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* soft-fp: Updated from glibc upstream.

2012-11-06  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.c (__generic_morestack): Align the returned
	stack pointer to a 32 byte boundary.
	* config/i386/morestack.S (__morestack_non_split) [32-bit]: Don't
	increment the return address until we have decided that we don't
	have a varargs function.
	(__morestack) [32-bit]: Align stack correctly when calling C
	functions.
	(__morestack) [64-bit]: Likewise.

2012-11-04  Thomas Schwinge  <thomas@codesourcery.com>

	* configure: Regenerate.

2012-11-02  Uros Bizjak  <ubizjak@gmail.com>

	PR target/55175
	* config/i386/sfp-exceptions.c: Guard with _SOFT_FLOAT.
	* config/i386/sfp-machine.h: Guard exception handling
	code with _SOFT_FLOAT.
	* config/i386/32/sfp-machine.h: Guard rounding handling
	code with _SOFT_FLOAT.
	* config/i386/64/sfp-machine.h: Ditto.

2012-10-31  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host (m32r-*-rtems*): Include crtinit.o and crtfinit.o
	as extra_parts.

2012-10-26  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/crtfastmath.c (set_fast_math): Use __builtin_ia32_fxsave.
	Clear only fxsave.mxcsr_mask.  Use saved mxcsr from fxsave structure
	when appropriate.  Correct structure element types.
	* config/i386/t-crtfm (crtfastmath.o): Compile with -mfxsr, remove
	-minline-all-stringops from compile flags.

2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (sparc64-*-rtems*): Remove sparc/t-elf.

2012-10-25  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (sh*-*-rtems*): Add sh*-*-elf*'s extra_parts.

2012-10-25  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host (powerpc-*-rtems*): Add rs6000/t-savresfgpr to
	tmake_file.

2012-10-23  Ian Bolton  <ian.bolton@arm.com>
	    Jim MacArthur  <jim.macarthur@arm.com>
	    Marcus Shawcroft  <marcus.shawcroft@arm.com>
	    Nigel Stephens  <nigel.stephens@arm.com>
	    Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
	    Richard Earnshaw  <rearnsha@arm.com>
	    Sofiane Naci  <sofiane.naci@arm.com>
	    Stephen Thomas  <stephen.thomas@arm.com>
	    Tejas Belagod  <tejas.belagod@arm.com>
	    Yufeng Zhang  <yufeng.zhang@arm.com>

	* config.host (aarch64*-*-elf, aarch64*-*-linux*): New.
	* config/aarch64/crti.S: New file.
	* config/aarch64/crtn.S: New file.
	* config/aarch64/linux-unwind.h: New file.
	* config/aarch64/sfp-machine.h: New file.
	* config/aarch64/sync-cache.c: New file.
	* config/aarch64/t-aarch64: New file.
	* config/aarch64/t-softfp: New file.

2012-10-21  Hans-Peter Nilsson  <hp@bitrange.com>

	* config/mmix/crti.S: Mark program and data addresses using PRELD.
	Remove typo'd and unnecessary alignment-LOC for .data.  Remove
	no-longer-needed LDBU insns.

2012-10-18  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host
	(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtemseabi*): Rename
	"arm*-*-rtemseabi*" to "arm*-*-rtems*".

2012-10-17  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.S (__ARM_ARCH__): Define for ARMv8-A.

2012-10-15  Matthias Klose  <doko@ubuntu.com>

	* config.host: Match arm*-*-linux-* for ARM Linux/GNU.

2012-10-15  Pavel Chupin  <pavel.v.chupin@intel.com>

	* configure: Regenerate.
	* configure.ac: Replace code with GCC_AC_THREAD_HEADER use.

2012-10-10  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-exceptions.c (__sfp_handle_exceptions): Emit SSE
	instructions for 64bit targets only.

2012-10-10  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
	FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX): Move to ...
	* config/i386/32/sfp-machine.h: ... here.
	* config/i386/64/sfp-machine.h (FP_RND_NEAREST, FP_RND_ZERO,
	FP_RND_PINF, FP_RND_MINF, FP_RND_MASK, FP_INIT_ROUNDMODE, _FP_DECL_EX):
	New defines.

2012-10-07  Matthias Klose  <doko@ubuntu.com>

	* config/arm/unwind-arm.h (__gnu_unwind_24bit): Mark parameters
	as unused.
	(_Unwind_decode_typeinfo_ptr): Mark base as unused.

2012-10-06  Mark Kettenis  <kettenis@openbsd.org>

	* config.host (*-*-openbsd*): Add t-eh-dw2-dip to tmake_file.
	* unwind-dw2-fde-dip.c: Don't include <elf.h> on OpenBSD.
	(USE_PT_GNU_EH_FRAME): Define for OpenBSD.
	(ElfW): Likewise.

2012-10-05  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR other/53889
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Fix parameter names.

2012-10-04  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/33135
	* config/sh/t-sh (HOST_LIBGCC2_CFLAGS): Delete.
	* config/sh/t-netbsd (HOST_LIBGCC2_CFLAGS): Delete.
	* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Remove mieee option.

2012-10-03  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/50457
	* config/sh/linux-atomic.S: Delete.
	* config/sh/linux-atomic.c: New.
	* config/sh/t-linux (LIB2ADD): Replace linux-atomic.S with
	linux-atomic.c.  Add cflags to disable warnings.

2012-10-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR other/53889
	* gthr.h (__gthread_recursive_mutex_destroy): Document new required
	function.
	* gthr-posix.h (__gthread_recursive_mutex_destroy): Define.
	* gthr-single.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-rtems.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/gthr-vxworks.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/i386/gthr-win32.c (__gthread_win32_recursive_mutex_destroy):
	Likewise.
	* config/i386/gthr-win32.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/mips/gthr-mipssde.h (__gthread_recursive_mutex_destroy):
	Likewise.
	* config/pa/gthr-dce.h (__gthread_recursive_mutex_destroy): Likewise.
	* config/s390/gthr-tpf.h (__gthread_recursive_mutex_destroy): Likewise.

2012-09-19  Mark Kettenis  <kettenis@openbsd.org>

	* config.host (hppa-*-openbsd*): New target.
	* config/pa/t-openbsd: New file.

2012-09-15  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/lib1funcs-fixed.S (__ssneg_2, __ssabs_2, __ssneg_4,
	__ssabs_4, __clr_8, __ssneg_8, __ssabs_8,
	__usadd_8, __ussub_8, __ssadd_8, __sssub_8): New functions.
	(__divsa3): Use __negsi2 to negate r_quoL.
	* config/avr/lib1funcs.S (FALIAS): New macro.
	(__divmodsi4): Break out and use __divmodsi4_neg1 as...
	(__negsi2): ...this new function.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _negsi2, _clr_8,
	_ssneg_2, _ssneg_4, _ssneg_8, _ssabs_2, _ssabs_4,
	_ssabs_8, _ssadd_8, _sssub_8, _usadd_8, _ussub_8.
	(LIB2FUNCS_EXCLUDE): Fix typo for _add _sub.
	Add: _ssadd*, _sssub*, _ssneg*, _ssabs* for signed fixed modes.
	Add: _usadd*, _ussub*, _usneg* for unsigned fixed modes.

2012-09-10  Oleg Endo  <olegendo@gcc.gnu.org>

	PR target/54089
	* config/sh/lib1funcs.S (ashlsi3): Reimplement as ashlsi3_r0.
	(lshrsi3): Reimplement as lshrsi3_r0.

2012-09-10  Andreas Schwab  <schwab@linux-m68k.org>

	PR target/46191
	* config/t-slibgcc-libgcc (SHLIB_MAKE_SOLINK): Use -lgcc instead
	of libgcc.a.

2012-09-07  Teresa Johnson  <tejohnson@google.com>

	PR gcov-profile/54487
	* libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
	differences.

2012-09-05  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54461
	* config.host (tmake_file,host=avr-*-*): Add avr/t-avrlibc if
	not configured --with-avrlibc=no.
	* config/avr/t-avrlibc: New file.
	* Makefile.in (FPBIT_FUNCS): filter-out LIB2FUNCS_EXCLUDE.
	(DPBIT_FUNCS): Ditto.
	(TPBIT_FUNCS): Ditto.

2012-09-04  Teresa Johnson  <tejohnson@google.com>

	* libgcov.c (struct gcov_summary_buffer): New structure.
	(gcov_histogram_insert): New function.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Invoke gcov_compute_histogram, and perform merging of
	histograms during summary merging.

2012-09-01  Mark Kettenis  <kettenis@openbsd.org>

	* config.host (x86_64-*-openbsd*): New target.

2012-08-29  Chung-Lin Tang  <cltang@codesourcery.com>

	* config/mips/crtfastmath.c (set_fast_math): Add 'nomips16'
	attribute.

2012-08-24  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/t-avr (conv_X): Rename to func_X.

2012-08-24  Georg-Johann Lay  <avr@gjlay.de>

	PR target/54222
	* config/avr/lib1funcs-fixed.S: New file.
	* config/avr/lib1funcs.S: Include it.  Undefine some divmodsi
	after they are used.
	(neg2, neg4): New macros.
	(__mulqihi3,__umulqihi3,__mulhi3): Rewrite non-MUL variants.
	(__mulhisi3,__umulhisi3,__mulsi3): Rewrite non-MUL variants.
	(__umulhisi3): Speed up MUL variant if there is enough flash.
	* config/avr/avr-lib.h (TA, UTA): Adjust according to gcc's
	avr-modes.def.
	* config/avr/t-avr (LIB1ASMFUNCS): Add: _fractqqsf, _fractuqqsf,
	_fracthqsf, _fractuhqsf, _fracthasf, _fractuhasf, _fractsasf,
	_fractusasf, _fractsfqq, _fractsfuqq, _fractsfhq, _fractsfuhq,
	_fractsfha, _fractsfsa, _mulqq3, _muluqq3, _mulhq3, _muluhq3,
	_mulha3, _muluha3, _mulsa3, _mulusa3, _divqq3, _udivuqq3, _divhq3,
	_udivuhq3, _divha3, _udivuha3, _divsa3, _udivusa3.
	(LIB2FUNCS_EXCLUDE): Add supported functions.

2012-08-22  Georg-Johann Lay  <avr@gjlay.de>

	* Makefile.in (fixed-funcs,fixed-conv-funcs): filter-out
	LIB2FUNCS_EXCLUDE before adding them to libgcc-objects,
	libgcc-s-objects.
	* fixed-obj.mk: Only expand dependency if $o is not in
	LIB2FUNCS_EXCLUDE.

2012-08-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/t-linux (HOST_LIBGCC2_CFLAGS): New.

2012-08-22  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (vis_hide, gen-hide-list): Do not make definitions
	depend on --enable-shared.
	($(lib1asmfuncs-o)): Use %.vis files independent of
	--enable-shared.
	* static-object.mk ($(base)$(objext), $(base).vis)
	($(base)_s$(objext)): Use same rules for visibility handling as in
	shared-object.mk.

2012-08-21  Ian Lance Taylor  <iant@google.com>

	* config/i386/morestack.S (__morestack_non_split): Increase amount
	of space allocated for non-split code stack.

2012-08-19  Joseph Myers  <joseph@codesourcery.com>

	* crtstuff.c (USE_PT_GNU_EH_FRAME): Define for systems using glibc
	even if inhibit_libc.

2012-08-17  Julian Brown  <julian@codesourcery.com>

	* Makefile.in (LIB2_DIVMOD_EXCEPTION_FLAGS): Default to
	-fexceptions -fnon-call-exceptions if not defined.
	($(lib2-divmod-o), $(lib2-divmod-s-o)): Use above.
	* config/arm/t-bpabi (LIB2_DIVMOD_EXCEPTION_FLAGS): Define.

2012-08-17  Andreas Schwab  <schwab@linux-m68k.org>

	* config/m68k/linux-atomic.c (__sync_lock_test_and_set_1): Fix
	type.

2012-08-16  David Edelsohn  <dje.gcc@gmail.com>

	* config.host (*-*-aix*): Move rs6000/t-ibm-ldouble after
	rs6000/t-slibgcc-aix.

2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>

	* longlong.h: (powerpc): Delete _ARCH_PWR and _ARCH_COM handling.

2012-08-15  Segher Boessenkool  <segher@kernel.crashing.org>

	* longlong.h: (whole file, powerpc): Adjust to single assembler syntax.

2012-08-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR driver/54171
	* Makefile.in (version): Replace top_srcdir with srcdir.

2012-08-03  Jonathan Yong  <jon_y@users.sourceforge.net>

	* Makefile.in (version): set to BASE-VER file from gcc directory.

2012-08-01  Nick Clifton  <nickc@redhat.com>

	* config/m32c/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.

2012-07-31  Nick Clifton  <nickc@redhat.com>

	* config/stormy16/lib2funcs.c (__clrsbhi2): New function.
	Implements __clrsb for an HImode argument.
	* config/stormy16/clrsbhi2.c: New file:
	* config/stormy16/t-stormy16 (LIB2ADD): Add clrsbhi2.c.

2012-07-22  Steven Bosscher  <steven@gcc.gnu.org>

	* libgcov.c (__gcov_ior_profiler): Benign comment fix.

2012-07-19  Tristan Gingold  <gingold@adacore.com>
	    Richard Henderson  <rth@redhat.com>

	* unwind-seh.c: New file.
	* unwind-generic.h: Include windows.h for SEH.
	(_Unwind_Exception): Use 6 private fields for SEH.
	(_GCC_specific_handler): Declare.
	* unwind-c.c (__gcc_personality_seh0): New function.
	Adjust for SEH.
	* config/i386/libgcc-cygming.ver: New file.
	* config/i386/t-seh-eh: New file.
	* config.host (x86_64-*-mingw*): Default to seh.

2012-07-14  Steven Bosscher  <steven@gcc.gnu.org>

	* config/t-darwin (crt3.0): Remove work-around for fixed PR26840.

2012-06-17  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Use
	__builtin_expect when checking for exceptions.
	* config/ia64/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Ditto.

2012-06-13  Uros Bizjak  <ubizjak@gmail.com>

	* config/ia64/sfp-machine.h (__sfp_handle_exceptions): New
	function declaration.
	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
	(FP_RND_MASK): New.
	* config/ia64/sfp-exceptions.c: New.
	* config/ia64/t-softfp (LIB2ADD): Add sfp-exceptions.c.

2012-06-13  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (_FP_NANSIGN_S, _FP_NANSIGN_D,
	_FP_NANSIGN_E, _FP_NANSIGN_Q): Move ...
	* config/i386/64/sfp-machine: ... (delete here) ...
	* config/i386/sfp-machine.h: ... to here.
	(FP_EX_MASK): Remove.
	(FP_RND_MASK): New.
	(FP_INIT_ROUNDMODE): Declare asm as volatile.

2012-06-11  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/libgcc-bsd.ver: Version symbol __cpu_indicator_init.
	* config/i386/libgcc-sol2.ver: Ditto.
	* config/i386/libgcc-glibc.ver: Ditto.

2012-06-11  Roland McGrath  <mcgrathr@google.com>

	* gthr-posix.h [neither FreeBSD nor Solaris] (__gthread_active_p):
	If __GLIBC__ is defined, refer to __pthread_key_create instead of
	pthread_cancel.

2012-06-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (__gcc_CMPtype, CMPtype,
	_FP_KEEPNANFRACP, _FP_CHOOSENAN, FP_EX_INVALID, FP_EX_DENORM,
	FP_EX_DIVZERO, FP_EX_OVERFLOW, FP_EX_UNDERFLOW, FP_EX_INEXACT,
	FP_HANDLE_EXCEPTIONS, FP_RND_NEAREST, FP_RND_ZERO, FP_RND_PINF,
	FP_RND_MINF, _FP_DEXL_EX, FP_INIT_ROUNDMODE, FP_ROUNDMODE,
	__LITTLE_ENDIAN, __BIG_ENDIAN, strong_alias): Move ...
	* config/i386/64/sfp-machine: ... (delete here) ...
	* config/i386/sfp-machine.h: ... to here.
	(FP_EX_MASK): New.
	(__sfp_handle_exceptions): New function declaration.
	(FP_HANDLE_EXCEPTIONS): Use __sfp_handle_exceptions.
	* config/i386/sfp-exceptions.c: New.
	* config/i386/t-softfp: New.
	* config.host (i[34567]86-*-* and x86_64-*-* soft-fp targets): Add
	i386/t-softfp to tmake_file.

2012-06-03  David S. Miller  <davem@davemloft.net>

	* longlong.h [SPARC] (sub_ddmmss): Fix thinko in previous 64-bit
	change.

2012-05-31  David S. Miller  <davem@davemloft.net>

	* longlong.h [SPARC] (umul_ppmm, udiv_qrnnd): Use hardware integer
	multiply and divide instructions on 32-bit when V9.
	(add_ssaaaa, sub_ddmmss): Convert to branchless code on 64-bit.

2012-05-29  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/ieee754-df.S: Fix typos.
	* config/arm/ieee754-sf.S: Fix typos.
	* config/c6x/libunwind.S: Fix typos.
	* config/epiphany/udivsi3-float.c: Fix typos.
	* config/microblaze/muldi3_hard.S: Fix typos.
	* config/picochip/adddi3.S: Fix typos.
	* config/picochip/ashlsi3.S: Fix typos.
	* config/picochip/ashrsi3.S: Fix typos.
	* config/picochip/clzsi2.S: Fix typos.
	* config/picochip/cmpsi2.S: Fix typos.
	* config/picochip/divmod15.S: Fix typos.
	* config/picochip/divmodhi4.S: Fix typos.
	* config/picochip/divmodsi4.S: Fix typos.
	* config/picochip/longjmp.S: Fix typos.
	* config/picochip/lshrsi3.S: Fix typos.
	* config/picochip/parityhi2.S: Fix typos.
	* config/picochip/popcounthi2.S: Fix typos.
	* config/picochip/setjmp.S: Fix typos.
	* config/picochip/subdi3.S: Fix typos.
	* config/picochip/ucmpsi2.S: Fix typos.
	* config/picochip/udivmodhi4.S: Fix typos.
	* config/picochip/udivmodsi4.S: Fix typos.
	* config/spu/divv2df3.c: Fix typos.
	* config/spu/mfc_multi_tag_release.c: Fix typos.
	* config/spu/mfc_tag_release.c: Fix typos.
	* configure.ac: Fix typos.
	* configure: Regenerate.

2012-05-25  Ian Lance Taylor  <iant@google.com>

	* config/i386/morestack.S (__morestack_non_split): Check whether
	caller is varargs and needs %bp to hold the stack frame on return.

2012-05-25  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/vxworks/tramp.S (trampoline_setup): Use a longcall
	sequence in the non pic case on VxWorks.

2012-05-24  Olivier Hainque  <hainque@adacore.com>

	* Makefile.in: Move dependency on install-unwind_h from
	"install-leaf" to "install".

2012-05-24  Olivier Hainque  <hainque@adacore.com>

	* Makefile.in (clean): Remove libgcc_tm.stamp as well.
	Use a separate command for stamp removals.

2012-05-21  Andrew Pinski  <apinski@cavium.com>

	PR bootstrap/53183
	* configure.ac: Define the default includes to being none.
	* configure: Regenerate.

2012-05-16  Olivier Hainque  <hainque@adacore.com>

	* Makefile.in (install-unwind_h): Rename into ...
	(install-unwind_h-forbuild): New target.
	(all): Use it instead of the former install-unwind_h.
	(install-unwind_h): Reinstate, copy to user install destination
	for include files, not to the internal gcc object directory one.
	(install-leaf): Depend on it.

2012-05-15  Olivier Hainque  <hainque@adacore.com>

	* config/rs6000/aix-unwind.h (*_REGNO): New, set of useful
	register numbers. LR_REGNO replaces R_LR.
	(ucontext_for): New, helper for ...
	(ppc_aix_fallback_frame_state): New, implementation for aix 5.2
	and 5.3 of ...
	(MD_FALLBACK_FRAME_STATE_FOR): Define for 32bit configurations.

2012-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (i[34567]86-*-linux*, x86_64-*-linux*)
	(i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu)
	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Move
	i386/t-cpuinfo ...
	(i[34567]86-*-*, x86_64-*-*): ... here.

	* config/i386/libgcc-bsd.ver (GCC_4.8.0): New version.
	* config/i386/libgcc-sol2.ver (GCC_4.8.0): New version.

	* config/i386/i386-cpuinfo.c: Rename to ...
	* config/i386/cpuinfo.c: ... this.
	* config/i386/t-cpuinfo (LIB2ADD): Reflect this.

	* configure.ac (AC_CONFIG_HEADER): Call for auto-target.h.
	(libgcc_cv_init_priority): New test.
	* configure: Regenerate.
	* config.in: New file.
	* Makefile.in (clean): Rename config.h to auto-target.h.
	(config.h): Likewise.
	(stamp-h): Likewise.

	* config/i386/cpuinfo.c (auto-target.h): Include.
	(CONSTRUCTOR_PRIORITY): Define.
	(__cpu_indicator_init): Use it.

2012-05-09  H.J. Lu  <hongjiu.lu@intel.com>

	* longlong.h: Use a URL instead of an FSF postal address.
	Replace spaces with tab.

2012-05-08  Teresa Johnson  <tejohnson@google.com>

	* libgcov.c (gcov_clear, __gcov_reset): New functions.
	(__gcov_dump): Ditto.
	(gcov_dump_complete): New global variable.
	(gcov_exit): Export hidden to enable use in L_gcov_dump.
	(__gcov_flush): Outline functionality now in gcov_clear.
	* Makefile.in (L_gcov_reset, L_gcov_dump): Define.

2012-04-28  Aurelien Jarno  <aurelien@aurel32.net>

	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*): Remove.
	(mips*-*-linux*): Include mips/t-tpbit when long double is
	16 bytes long.

2012-04-25  Sriraman Tallam  <tmsriram@google.com>

	* config/i386/i386-cpuinfo.c (FEATURE_AVX2): New enum value.
	(get_available_features): New argument. Check for AVX2.
	(__cpu_indicator_init): Modify call to get_available_features.

2012-04-25  Alan Modra  <amodra@gmail.com>

	* config/rs6000/crtsavevr.S: New file.
	* config/rs6000/crtrestvr.S: New file.
	* config/rs6000/t-savresfgpr: Build the above.
	* config/rs6000/t-netbsd: Likewise.

2012-04-24  Sriraman Tallam  <tmsriram@google.com>

	* libgcc/config/i386/i386-cpuinfo.c: Set __cpu_vendor always.

2012-04-24  Sriraman Tallam  <tmsriram@google.com>

	* libgcc/config/i386/i386-cpuinfo.c: New file.
	* libgcc/config/i386/t-cpuinfo: New file.
	* libgcc/config.host: Include t-cpuinfo.
	* libgcc/config/i386/libgcc-glibc.ver: Version symbol __cpu_model.

2012-04-24  Chao-ying Fu  <fu@mips.com>

	* unwind-dw2-fde-dip.c: Define USE_PT_GNU_EH_FRAME for BIONIC.

2012-04-20  Thomas Schwinge  <thomas@codesourcery.com>

	struct siginfo vs. siginfo_t

	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Use
	siginfo_t instead of struct siginfo.
	* config/bfin/linux-unwind.h (bfin_fallback_frame_state): Likewise.
	* config/i386/linux-unwind.h (x86_fallback_frame_state): Likewise.
	* config/ia64/linux-unwind.h (ia64_fallback_frame_state)
	(ia64_handle_unwabi): Likewise.
	* config/mips/linux-unwind.h (mips_fallback_frame_state): Likewise.
	* config/pa/linux-unwind.h (pa32_fallback_frame_state): Likewise.
	* config/sh/linux-unwind.h (shmedia_fallback_frame_state)
	(sh_fallback_frame_state): Likewise.
	* config/tilepro/linux-unwind.h (tile_fallback_frame_state): Likewise.
	* config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Likewise.

2012-04-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): Update x32
	system call number.

2012-03-31  Eric Botcazou  <ebotcazou@adacore.com>

	* config/ia64/unwind-ia64.c (uw_install_context): Manually save LC
	if it hasn't been previously saved.

2012-03-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (x86_64_fallback_frame_state): Define
	only for glibc.

2012-03-28  Georg-Johann Lay  <avr@gjlay.de>

	PR target/52737
	* config/avr/lib1funcs.S: Use __AVR_HAVE_SPH__ for SP_H checks
	instead of __AVR_HAVE_8BIT_SP__.

2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/unwind-ia64.h: Declare unw_word and unw_sword.
	(unw_table_entry): Use unw_word instead of unsigned long.
	(_Unwind_FindTableEntry): Likewise.
	* config/ia64/fde-glibc.c (_Unwind_FindTableEntry): Likewise.
	* config/ia64/fde-vms.c (vms_unwtable_entry): Likewise.
	(_Unwind_FindTableEntry): Likewise.
	* config/ia64/unwind-ia64.c (unw_reg_info, unw_reg_state)
	(unw_labeled_state, unw_state_record, unw_stack, _Uwind_Context)
	(set_reg, alloc_spill_area, finish_prologue, ia64_rse_slot_num)
	(ia64_rse_is_rnat_slot, ia64_rse_rnat_addr, ia64_rse_num_regs)
	(ia64_rse_skip_regs, ia64_copy_rbs, unw_access_gr)
	(uw_frame_state_for, uw_update_reg_address, uw_update_context)
	(uw_init_context_1, uw_install_context): Likewise.
	(unw_word): Move to unwind-ia64.h

2012-03-26  Tristan Gingold  <gingold@adacore.com>

	* config/vms/vms-ucrt0.c: Update copyright years.
	Add a sanity check.
	(___gcc_main_flags): Declare.
	(__main): Check flags to remap argv and exit code.
	* config.host (*-*-*vms*): Adjust extra_parts.
	* config/vms/t-vms (vcrt0.o, pcrt0.o): Remove.
	(crt0.o): Add.

2012-03-22  Richard Earnshaw  <rearnsha@arm.com>

	* arm/lib1funcs.asm (ctzsi2): New function.
	* arm/t-elf (LIB1ASMFUNCS): Add _ctzsi2.
	* arm/t-linux (LIB1ASMFUNCS): Likewise.
	* arm/t-strongarm-elf (LIB1ASMFUNCS): Likewise.
	* arm/t-symbian (LIB1ASMFUNCS): Likewise.
	* arm/t-vxworks (LIB1ASMFUNCS): Likewise.
	* arm/t-wince-pe (LIB1ASMFUNCS): Likewise.

2012-03-21  Andreas Tobler  <andreast@fgznet.ch>

	* config.host: Add bits to support powerpc64-*-freebsd*.
	* config/rs6000/freebsd-unwind.h: New file.
	* config/rs6000/t-freebsd64: New file.

2012-03-20  Richard Guenther  <rguenther@suse.de>

	PR gcov-profile/52627
	* libgcov.c (init_mx): Fix mutex name.

2012-03-16  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/vms-unwind.h: Remove ulong (and replace
	it by unw_reg where used).  Define unw_reg with __int64.

2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
	Solaris 8 handling.
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
	Solaris 8 handling.
	(sparc_is_sighandler): Likewise.

2012-03-13  H.J. Lu  <hongjiu.lu@intel.com>

	* unwind-dw2.c (_Unwind_SetGRValue): Assert DWARF register size
	<= saved reg size.

2012-03-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/arm/crtn.S: Fix typo.

2012-03-13  Richard Guenther  <rguenther@suse.de>

	* libgcov.c: Remove stdio.h include and NULL un-define.

2012-03-13  Richard Guenther  <rguenther@suse.de>

	PR target/52569
	* unwind-dw2-fde.c: Make avoid-include-gthr.h hacks work again.

2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Fix definition.

2012-03-13  Richard Guenther  <rguenther@suse.de>

	* gthr-posix.h: Remove duplicate __GTHREAD_MUTEX_INIT_FUNCTION
	and __gthread_mutex_init_function definitions.

2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (mips*-*-openbsd*): Remove.

2012-03-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host: Remove alpha*-dec-osf5.1* handling.
	* config/alpha/gthr-posix.c: Remove.
	* config/alpha/libgcc-osf5.ver: Remove.
	* config/alpha/osf5-unwind.h: Remove.
	* config/alpha/t-osf-pthread: Remove.
	* config/alpha/t-slibgcc-osf: Remove.
	* config/t-crtfm (crtfastmath.o): Remove -frandom-seed.
	* gthr-posix.h [!_REENTRANT && __osf__] (_REENTRANT): Don't define.
	[__osf__ && _PTHREAD_USE_MANGLED_NAMES_]: Remove.
	* mkmap-flat.awk: Remove osf_export handling.

2012-03-12  Richard Guenther  <rguenther@suse.de>

	* gthr.h (__GTHREAD_MUTEX_INIT_FUNCTION): Adjust specification.
	* gthr-posix.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.
	(__gthread_mutex_init_function): New function.
	* gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Define.

	PR gcov/49484
	* libgcov.c: Include gthr.h.
	(__gcov_flush_mx): New global variable.
	(init_mx, init_mx_once): New functions.
	(__gcov_flush): Protect self with a mutex.
	(__gcov_fork): Re-initialize mutex after forking.
	* unwind-dw2-fde.c: Change condition under which to use
	__GTHREAD_MUTEX_INIT_FUNCTION.

2012-03-12  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/t-vms: Define HOST_LIBGCC2_CFLAGS.
	* config/ia64/t-vms: Likewise.

2012-03-11  Michael Hope  <michael.hope@linaro.org>

	* longlong.h [ARM] (add_ssaaaa, sub_ddmmss, umul_ppmm): Enable
	for Thumb-2.

2012-03-07  Walter Lee  <walt@tilera.com>

	* config/tilepro/atomic.c: Rename "atomic_" prefix to
	"arch_atomic_".
	(atomic_xor): Rename and move definition to
	config/tilepro/atomic.h.
	(atomic_nand): Ditto.
	* config/tilepro/atomic.h: Rename "atomic_" prefix to
	"arch_atomic_".
	(arch_atomic_xor): Move from config/tilepro/atomic.c.
	(arch_atomic_nand): Ditto.

2012-03-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/52507
	* config/avr/lib1funcs.S (__movmemx_hi): Fix loop label in RAM-part.

2012-03-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/52505
	* config/avr/lib1funcs.S (__xload_1): Don't read unintentionally
	from RAM.

2012-03-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/52461
	PR target/52508
	* config/avr/lib1funcs.S (__do_copy_data): Clear RAMPZ after usage
	if RAMPZ affects reading from RAM.
	(__tablejump_elpm__): Ditto.
	(.xload): Ditto.
	(__movmemx_hi): Ditto.
	(__do_global_ctors): Right condition for RAMPZ usage is "have ELPM".
	(__do_global_dtors): Ditto.
	(__xload_1, __xload_2, __xload_3, __xload_4): Ditto.
	(__movmemx_hi): Ditto.

2012-03-05  Richard Henderson  <rth@redhat.com>

	* longlong.h [ARM] (umul_ppmm): Use umull for arm3m and later.
	[ARM] (count_trailing_zeros): Use the builtin.

2012-03-01  Kai Tietz  <ktietz@redhat.com>

	* soft-fp: Imported from glibc upstream.

2012-02-28  Kai Tietz  <ktietz@redhat.com>

	* config/i386/sfp-machine.h (_FP_STRUCT_LAYOUT): Define it
	for mingw-targets as attribute gcc_struct.

2012-02-28  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.c (__splitstack_releasecontext): Correct call
	to __morestack_release_segments.

2012-02-27  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	PR target/52390
	* generic-morestack.c (__generic_morestack_set_initial_sp): Test
	for __linux__ when removing signals from __morestack_fullmask.

2012-02-23  Georg-Johann Lay  <avr@gjlay.de>

	PR target/52261
	* config/avr/lib1funcs.S (__AVR__XMEGA__): Fix tippo to __AVR_XMEGA__.

2012-02-23  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* config/ia64/crtbegin.S: Use HAVE_INITFINI_ARRAY_SUPPORT
	instead of HAVE_INITFINI_ARRAY.
	* config/ia64/crtend.S: Likewise.

2012-02-20  Kai Tietz  <ktietz@redhat.com>

	PR libstdc++/52300
	* gthr.h (GTHREAD_USE_WEAK): Define as zero for mingw.

	* config.host (i686-*-mingw*): Set md_unwind_header only for dw2-mode
	to w32-unwind.h header.

2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*)
	(mips*-*-linux*): Remove t-slibgcc-libgcc.
	* config/mips/t-mips16 (LIB1ASMFUNCS): Remove __mips16_rdhwr.
	* config/mips/mips16.S (__mips16_rdhwr): Delete.

2012-02-19  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/mips16.S (CALL_STUB_RET): Add CFI information.

2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>

	PR libitm/52220
	* config/darwin-crt-tm.c: Correct typo.

2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52220
	* config/darwin-crt-tm.c: Generate dummy functions.

2012-02-15  Iain Sandoe  <iains@gcc.gnu.org>
	    Patrick Marlier  <patrick.marlier@gmail.com>

	PR libitm/52042
	* config/darwin-crt-tm.c (getTMCloneTable): New function.
	(__doTMRegistrations): Call it.
	(__doTMdeRegistrations): Likewise.

2012-01-15  Georg-Johann Lay  <avr@gjlay.de>
	    Anatoly Sokolov  <aesok@post.ru>
	    Eric Weddington  <eric.weddington@atmel.com>

	PR target/52261
	* config/avr/lib1funcs.S (__prologue_saves__): Handle AVR_XMEGA
	(__epilogue_restores__): Ditto.

2012-02-15  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/51921
	PR target/52205
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Add support for
	Solaris 11 and slightly reformat.
	(sparc_is_sighandler): Likewise.

2012-02-14  Walter Lee  <walt@tilera.com>

	* config.host: Handle tilegx and tilepro.
	* config/tilegx/sfp-machine.h: New file.
	* config/tilegx/sfp-machine32.h: New file.
	* config/tilegx/sfp-machine64.h: New file.
	* config/tilegx/t-crtstuff: New file.
	* config/tilegx/t-softfp: New file.
	* config/tilegx/t-tilegx: New file.
	* config/tilepro/atomic.c: New file.
	* config/tilepro/atomic.h: New file.
	* config/tilepro/linux-unwind.h: New file.
	* config/tilepro/sfp-machine.h: New file.
	* config/tilepro/softdivide.c: New file.
	* config/tilepro/softmpy.S: New file.
	* config/tilepro/t-crtstuff: New file.
	* config/tilepro/t-tilepro: New file.

2012-02-07  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR libstdc++/51296
	PR libstdc++/51906
	* gthr-posix.h: Allow static initializer macros to be disabled.
	(__gthrw_pthread_cond_init): Define weak reference unconditionally.

2012-02-05  Chung-Lin Tang  <cltang@codesourcery.com>

	* config.host (mips64*-*-linux*, mipsisa64*-*-linux*, mips*-*-linux*):
	Add t-slibgcc-libgcc to tmake_file.
	* config/mips/libgcc-mips16.ver: Revert previous patch.
	* config/mips/mips16.S (__mips16_rdhwr): Hide.

2012-02-02  Sumanth G  <sumanth.gundapaneni@kpitcummins.com>
	    Jayant R Sonar  <jayant.sonar@kpitcummins.com>

	* config.host: Add National Semiconductor CR16 target (cr16-*-*).
	* config/cr16/crti.S: New file.
	* config/cr16/crtlibid.S: New file.
	* config/cr16/crtn.S: New file.
	* config/cr16/lib1funcs.S: New file.
	* config/cr16/t-cr16: New file.
	* config/cr16/t-crtlibid: New file.
	* config/cr16/unwind-dw2.h: New file.
	* config/cr16/unwind-cr16.c: New file.
	* config/cr16/divmodhi3.c: New file.

2012-01-25  Alan Modra  <amodra@gmail.com>

	* config/rs6000/t-linux64: Delete.  Move..
	* config/rs6000/t-ppc64-fp: ..softfp_wrap defines to here..
	* config/rs6000/t-linux: ..and libgcc flags to here.

2012-01-22  Douglas B Rupp  <rupp@gnat.com>

	* config.host (i[34567]86-*-interix3*):
	Change triplet to i[34567]86-*-interix[3-9]*.
	* configure: Regenerate.

2012-01-15  Chung-Lin Tang  <cltang@codesourcery.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add.
	* config/mips/mips16.S (__mips16_rdhwr): New function.
	* config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr.

2012-01-11  Nathan Sidwell  <nathan@acm.org>

	* libgcov.c (__gcov_init): Ignore objects with no functions.

2012-01-10  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49868
	Extend __pgmx semantics to linearize memory.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_1, _movmemx.
	* config/avr/lib1funcs.S (__xload_1): New function.
	(__movmemx_qi, __movmemx_hi): New functions.
	(__xload_2, __xload_3, __xload_4): Rewrite to fit new __pgmx
	semantics.

2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Check that the
	purported sigacthandler address isn't null before dereferencing it.
	(sparc_is_sighandler): Likewise.

2012-01-09  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/41929
	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove SAVPC and
	add CFA.  Revert back to old code for Solaris 8+ multi-threaded.
	(sparc_is_sighandler): Likewise.
	(MD_FALLBACK_FRAME_STATE_FOR): Adjust call to IS_SIGHANDLER.

2012-01-06  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/t-ia64 (LIB1ASMFUNCS): Move backward
	compatibility thunks...
	(CUSTOM_CRTSTUFF, crtbegin.o, crtend.o)
	(crtbeginS.o, crtendS.o): ... and these to ...
	* config/ia64/t-ia64-elf: ... this new file.
	* config.host (ia64*-*-elf*, ia64*-*-freebsd*, ia64*-*-linux*)
	(ia64*-*-hpux*): Add ia64/t-ia64-elf in tmake_file.

2012-01-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure: Regenerate.
	* config/s390/t-crtstuff: Remove -fPIC.

2012-01-02  Jonathan Wakely  <jwakely.gcc@gmail.com>

	PR bootstrap/51006
	* enable-execute-stack-mprotect.c (getpagesize): Do not define
	for NetBSD.

2012-01-02  Georg-Johann Lay  <avr@gjlay.de>

	PR target/51345
	* config/avr/lib1funcs.S: Remove FIXME comments.
	(SPEED_DIV): Depend on __AVR_HAVE_8BIT_SP__.

2012-01-02  Georg-Johann Lay  <avr@gjlay.de>

	Implement light-weight DImode support.
	* config/avr/t-avr (LIB1ASMFUNCS): Add _adddi3, _adddi3_s8,
	_subdi3, _cmpdi2, _cmpdi2_s8, _rotldi3.
	* config/avr/lib1funcs.S (__adddi3, __adddi3_s8, __subdi3,
	__cmpdi2, __cmpdi2_s8, __rotldi3): New functions.

2011-12-30  Nathan Sidwell  <nathan@acm.org>

	* libgcov.c (gcov_crc32): Remove global var.
	(free_fn_data): New function.
	(buffer_fn_data): Pass in filename, more robust error recovery.
	(crc32_unsigned): New function.
	(gcov_exit): More robust detection of new program. More robust
	error recovery.
	(__gcov_init): Do not update program's crc here.

2011-12-21  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/fde-vms.c (UNW_IVMS_MODE): Define.

2011-12-21  Ian Lance Taylor  <iant@google.com>

	* config/i386/morestack.S: Simplify CFI opcodes throughout.

2011-12-20  Ian Lance Taylor  <iant@google.com>

	* config/i386/morestack.S (__morestack_non_split): If there is
	enough stack space already, don't split.  Ask for more stack space
	than we required.

2011-12-20  Sergio Durigan Junior  <sergiodj@redhat.com>

	* unwind-arm-common.inc: Include `tconfig.h', `tsystem.h' and
	`sys/sdt.h'.
	(_Unwind_DebugHook): New function.
	(uw_restore_core_regs): New define.
	(unwind_phase2): Use uw_restore_core_regs instead of
	restore_core_regs.
	(unwind_phase2_forced): Likewise.
	(__gnu_Unwind_Resume): Likewise.

2011-12-20  Uros Bizjak  <ubizjak@gmail.com>

	* config/alpha/linux-unwind.h: Update copyright years.
	(MD_FROB_UPDATE_CONTEXT): New define.
	(alpha_frob_update_context): New function.

2011-12-17  Richard Sandiford  <rdsandiford@googlemail.com>

	* config.host (mips*-sde-elf*, mipsisa64sr71k-*-elf*): Add to
	tmake_file rather replacing it.

2011-12-15  Iain Sandoe  <iains@gcc.gnu.org>

	* config/rs6000/darwin-world.S (toplevel): Make it clear that this
	function is not used for PPC64.
	(save_world): Amend comments.  Update the VRsave mask to reflect the
	saved regs.
	(rest_world): Update comments, do not  clobber r10, do not use r8.
	(eh_rest_world_r10): Amend comments, do not use r8.
	(rest_world_eh_r7r8): Rename as local Lrest_world_eh_r7, since r8 is
	no longer used, move restore of CR and target address to the end of
	the routine.

2011-12-14  H.J. Lu  <hongjiu.lu@intel.com>

	* generic-morestack.c (__generic_morestack_set_initial_sp): Check
	__GLIBC__ instead of __linux__ when using __SIGRTMIN.

2011-12-14  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49313
	* config/avr/t-avr (LIB1ASMSRC): Add _mulpsi3, _mulsqipsi3.
	* config/avr/lib1funcs.S (__mulpsi3, __mulsqipsi3): New functions.

2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/sol2-unwind.h: Use #ifdef directive consistently.

2011-12-09  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49313
	* config/avr/t-avr (LIB1ASMFUNCS): Add _muldi3.
	* config/avr/lib1funcs.S (__muldi3): New function.

2011-12-06  Andrew Pinski  <apinski@cavium.com>

	* crtstuff.c (__do_global_dtors_aux_fini_array_entry): Align to the
	size of func_ptr.
	(__frame_dummy_init_array_entry): Likewise.

2011-12-06  Georg-Johann Lay  <avr@gjlay.de>

	Forward-port from gcc-4_6-branch r181936 2011-12-02.

	PR target/51345
	PR target/51002
	* config/avr/lib1funcs.S (__prologue_saves__,
	__epilogue_restores__, __divdi3_moddi3): Enclose parts using
	__SP_H__ in !defined (__AVR_HAVE_8BIT_SP__).  Add FIXME comments.

2011-12-04  Iain Sandoe  <iains@gcc.gnu.org>

	* config/rs6000/t-darwin64 (LIB2ADD): Add fp and gp save routines.

2011-11-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR other/51272
	* config/pa/stublib.c (_ITM_registerTMCloneTable): New stub.
	(_ITM_deregisterTMCloneTable): Likewise.
	(__register_frame_info): Fix unused warning.
	(__deregister_frame_info, __cxa_finalize, _Jv_RegisterClasses,
	pthread_default_stacksize_np): Likewise.
	* config/pa/t-stublib (LIBGCCSTUB_OBJS): Add new objects and rules.

2011-11-29  DJ Delorie  <dj@redhat.com>

	* config.host (rl78-*-elf): New case.
	* config/rl78: New directory for the Renesas RL78.

2011-11-29  Bernd Schmidt  <bernds@codesourcery.com>

	* config.host (tic6x-*-uclinux): Append to extra_parts.  Fix
	formatting.

2011-11-28  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR other/51022
	* config/rs6000/t-savresfgpr: New file.
	* config/rs6000/t-ppccomm (LIB2ADD_ST): Remove all but
	$(srcdir)/config/rs6000/eabi.S.
	* config/rs6000/t-ppccomm-ldbl: Remove.
	* config.host (powerpc-*-freebsd*): Add rs6000/t-savresfgpr to
	tmake_file.
	(powerpc-*-eabispe*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add rs6000/t-ppccomm
	to tmake_file, remove rs6000/t-ppccomm-ldbl.
	(powerpc-*-eabisimaltivec*): Remove rs6000/t-ppccomm-ldbl from
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.

2011-11-27  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.c (__splitstack_find): Check for NULL old
	stack value.
	(__splitstack_resetcontext): New function.
	(__splitstack_releasecontext): New function.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

2011-11-27  Iain Sandoe  <iains@gcc.gnu.org>

	* config/darwin-crt-tm.c: Correct comments, use correct licence.

2011-11-27  Iain Sandoe  <iains@gcc.gnu.org>

	* config/darwin-crt-tm.c: Remove dummy _ITM_ functions.

2011-11-26  Richard Henderson  <rth@redhat.com>

	* config/m68k/linux-atomic.c: New file.
	* config/m68k/t-linux: New file.
	* config.host (m68k-uclinux, m68k-linux): Use it.

2011-11-26  Richard Henderson  <rth@redhat.com>

	* crtstuff.c (__TMC_LIST__): Mark used not unused.
	(__TMC_END__): Only declare if hidden is available; in the definition,
	if hidden is unavailable add a null record.
	(deregister_tm_clones, register_tm_clones): New.
	(__do_global_dtors_aux, frame_dummy): Use them.
	(__do_global_dtors, __do_global_ctors_1): Likewise.

2011-11-22  Iain Sandoe  <iains@gcc.gnu.org>

	* config/darwin-crt-tm.c: New file.
	* config.host (darwin): Build crttms.o crttme.o to provide
	startup and shutdown for tm clones.
	* config/t-darwin (crttms.o): New build rule.
	(crttme.o): Likewise.

2011-11-21  Hans-Peter Nilsson  <hp@axis.com>

	* Makefile.in ($(srcdir)/emutls.c): Explain why it's in LIB2ADDEH
	et al.

2011-11-21  Richard Henderson  <rth@redhat.com>

	* crtstuff.c (USE_TM_CLONE_REGISTRY): Default to 1 on ELF.
	(__TMC_LIST__, __TMC_END__): New.
	(__do_global_dtors_aux): Call _ITM_deregisterTMCloneTable.
	(__do_global_dtors): Likewise.
	(frame_dummy): Call _ITM_registerTMCloneTable.
	(__do_global_ctors_1): Likewise.

2011-11-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (iq2000*-*-elf*): Add iq2000/t-iq2000 to tmake_file.
	(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add to tmake_file.
	(powerpc-*-lynxos*): Add rs6000/t-lynx to tmake_file.
	* config/i386/t-darwin64: Remove.
	* config/sh/t-netbsd (LIB2ADD): Remove.

2011-11-21  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49313
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE): Add _moddi3, _umoddi3.
	(LIB1ASMFUNCS): Add _divdi3, _udivdi3, _udivmod64, _negdi2.
	* config/avr/lib1funcs.S (wmov): New assembler macro.
	(__umoddi3, __udivdi3, __udivdi3_umoddi3): New functions.
	(__moddi3, __divdi3, __divdi3_moddi3): New functions.
	(__udivmod64): New function.
	(__negdi2): New function.

2011-11-21  Gerald Pfeifer  <gerald@pfeifer.com>

	* config.host (*-*-freebsd[12], *-*-freebsd[12].*,
	*-*-freebsd*aout*): Remove.

2011-11-20  Hans-Peter Nilsson  <hp@axis.com>

	* static-object.mk (c_flags-$o): Save c_flags.
	($(base)$(objext)): Use it.

2011-11-18  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in (c_flags): Set to -fno-exceptions to build libunwind.

2011-11-18  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49868
	* config/avr/t-avr (LIB1ASMFUNCS): Add _xload_2 _xload_3 _xload_4.
	* config/avr/lib1funcs.S (__xload_2, __xload_3, __xload_4):
	New functions.

2011-11-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/arm/lib1funcs.asm (udivsi3): Add support for divide
	functions.
	(aeabi_uidivmod): Likewise.
	(umodsi3): Likewise.
	(divsi3): Likewise.
	(aeabi_idivmod): Likewise.
	(modsi3): Likewise.

2011-11-16  Tristan Gingold  <gingold@adacore.com>

	* config/alpha/qrnnd.S: Use specific pseudos for VMS.

2011-11-15  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49868
	* config/avr/t-avr (LIB1ASMFUNCS): Add _load_3,  _load_4.
	* config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions.

2011-11-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* config.host (hppa*64*-*-hpux11*): Remove pa/t-stublib64 from
	tmake_file list.
	* config/pa/t-stublib: Merge rules from config/pa/t-stublib64.
	* config/pa/t-stublib64: Delete.

2011-11-12  Richard Henderson  <rth@redhat.com>

	* config/rs6000/linux-unwind.h (frob_update_context): Properly
	cast the pointer argument to _Unwind_SetGRPtr.

2011-11-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/spu/t-elf (LIB2ADD): Use LIB2FUNCS_EXCLUDE instead.

2011-11-09  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.c: Include <string.h>.
	(uintptr_type): Define.
	(struct initial_sp): Add dont_block_signals field.  Reduce size of
	extra array by 1.
	(allocate_segment): Set prev field to NULL.  Don't set
	__morestack_current_segment or __morestack_segments.
	(__generic_morestack): Update current->prev and *pp after calling
	allocate_segment.
	(__morestack_block_signals): Don't do anything if
	dont_block_signals is set.
	(__morestack_unblock_signals): Likewise.
	(__generic_findstack): Check for initial_sp == NULL.  Add casts to
	uintptr_type.
	(__splitstack_block_signals): New function.
	(enum __splitstack_content_offsets): Define.
	(__splitstack_getcontext, __splitstack_setcontext): New functions.
	(__splitstack_makecontext): New function.
	(__splitstack_block_signals_context): New function.
	(__splitstack_find_context): New function.
	* config/i386/morestack.S (__morestack_get_guard): New function.
	(__morestack_set_guard, __morestack_make_guard): New functions.
	* libgcc-std.ver.in: Add new functions to GCC_4.7.0.

2011-11-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (i[34567]86-*-cygwin*): Move i386/t-mingw-pthread ...
	(i[34567]86-*-mingw*): ... here.
	(x86_64-*-mingw*): ... here.

2011-11-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/c6x/t-elf (LIB2ADD): Add instead of assigning.

2011-11-07  Nathan Sidwell  <nathan@acm.org>

	* libgcov.c (struct gcov_fn_buffer): New struct.
	(buffer_fn_data): New helper.
	(gcov_exit): Rework for new gcov data structures.

2011-11-07  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49313
	* config/avr/lib1funcs.S (__divmodhi4, __divmodsi4): Tweak speed.

2011-11-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (tmake_file): Correct comment.
	(bfin*-elf*): Remove bfin/t-elf from tmake_file, add
	t-libgcc-pic.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(xstormy16-*-elf): Add stormy16/t-stormy16 to tmake_file.

	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Append instead of
	assigning.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/avr/t-avr (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/c6x/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/h8300/t-h8300 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/lm32/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/m32r/t-m32r (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mips/t-elf (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/pdp11/t-pdp11 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/picochip/t-picochip (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/stormy16/t-stormy16 (HOST_LIBGCC2_CFLAGS): Likewise.
	* config/t-openbsd-thread (HOST_LIBGCC2_CFLAGS): Likewise.

	* config/bfin/t-elf: Remove.
	* config/t-vxworks (HOST_LIBGCC2_CFLAGS): Remove.

2011-11-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (*-*-rtems*): Add t-rtems to tmake_file.
	(i[34567]86-*-rtems*): Remove t-rtems from tmake_file.
	(lm32-*-elf*, lm32-*-rtems*): Split into ...
	(lm32-*-elf*): ... this.
	(lm32-*-rtems*): ... and this.
	Add to tmake_file.
	(m32r-*-rtems*): Add to tmake_file.
	(moxie-*-rtems*): Likewise.
	(sparc-*-rtems*): Likewise.
	Remove t-rtems from tmake_file.
	(sparc64-*-rtems*): Likewise.
	* config/t-rtems (HOST_LIBGCC2_CFLAGS): Use LIBGCC2_INCLUDES
	instead.

2011-11-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR bootstrap/50982
	* config/gthr-posix.h: Move ...
	* gthr-posix.h: ... here.
	* config/gthr-lynx.h: Reflect this.
	* config/gthr-vxworks.h: Likewise.
	* config/rs6000/gthr-aix.h: Likewise.
	* configure.ac (target_thread_file): Likewise.
	* configure: Regenerate.

2011-11-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.host (arm*-*-rtemseabi*): New target.

2011-11-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR other/50991
	* Makefile.in: Make EXTRA_PARTS depend on libgcc_tm.h instead of
	extra-parts.

2011-11-05  Joern Rennecke  <joern.rennecke@embecosm.com>

	* config.host (epiphany-*-elf*): New configuration.
	* config/epiphany: New Directory.

2011-11-05  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host (avr-*-rtems*): Add config/avr/t-rtems.
	* config/avr/t-rtems: New.
	Filter out _exit from LIB1ASMFUNCS.

2011-11-04  David S. Miller  <davem@davemloft.net>

	* configure.ac: Test for 64-bit addresses on !x86 using __LP64__.
	* configure: Rebuild.

2011-11-04  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/t-crtstuff: Add -fPIC to CRTSTUFF_T_CFLAGS_S
	variable.

2011-11-04  Georg-Johann Lay  <avr@gjlay.de>

	PR target/50931
	* config/t-avr (LIB1ASMFUNCS): Add _divmodpsi4, _udivmodpsi4.
	* config/lib1funcs.S (__udivmodpsi4, __divmodpsi4): New functions.

2011-11-04  Joel Sherrill  <joel.sherrill@oarcorp.com>

	PR target/50989
	* config.host (sparc-*-rtems*): Add sparc/t-softmul.

2011-11-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/c6x/t-elf (LIB2ADDEH): Set.
	* config/c6x/t-c6x-elf: Remove.

2011-11-04  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/sol2-ci.S: Rename to ...
	* config/i386/crti.S: ... this.
	* config/i386/sol2-cn.S: Rename to ...
	* config/i386/crtn.S: ... this.
	* config/sparc/sol2-ci.S: Rename to ...
	* config/sparc/crti.S: ... this.
	* config/sparc/sol2-cn.S: Rename to ...
	* config/sparc/crtn.S: ... this.
	* config/t-sol2 (CUSTOM_CRTIN): Remove.
	(crti.o, crtn.o): Remove.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

	* config/ia64/fde-vms.c: Do not include md-unwind-support.h

2011-11-04  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/t-sh: Use $(gcc_compile) instead of $(compile).

2011-11-03  Hans-Peter Nilsson  <hp@axis.com>

	* config.host (crisv32-*-none, cris-*-none): Remove.
	(crisv32-*-elf): Append to tmake_file, don't just set it.
	(cris-*-elf): Add missing t-fdpbit to tmake_file.

2011-11-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/rs6000/t-ppccomm (ecrti$(objext)): Use $<.
	(ecrtn$(objext)): Likewise.
	(ncrti$(objext)): Likewise.
	(ncrtn$(objext)): Likewise.

2011-11-03  Andreas Schwab  <schwab@redhat.com>

	* config/ia64/t-ia64 (crtbeginS.o): Fix whitespace damage.

2011-11-02  David S. Miller  <davem@davemloft.net>

	* configure.ac: Set host_address on sparc too.
	* configure: Regenerate.
	* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
	based upon host_address.
	* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.

2011-11-02  Jason Merrill  <jason@redhat.com>

	* config/rs6000/t-ppccomm: Add missing \.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gthr-single.h, gthr.h: New files.
	* config/gthr-lynx.h, config/gthr-posix.h., config/gthr-rtems.h,
	config/gthr-vxworks.h, config/i386/gthr-win32.h,
	config/mips/gthr-mipssde.h, config/pa/gthr-dce.h,
	config/rs6000/gthr-aix.h, config/s390/gthr-tpf.h: New files.
	* config/i386/gthr-win32.c: Include "gthr-win32.h".
	* configure.ac (thread_header): New variable.
	Set it depending on target_thread_file.
	(gthr-default.h): Link from $thread_header.
	* configure: Regenerate.
	* Makefile.in (LIBGCC2_CFLAGS): Remove $(GTHREAD_FLAGS).

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (tm_file_): New variable.
	Determine from tm_file.
	(tm_file, tm_defines): Substitute.
	* configure: Regenerate.
	* mkheader.sh: New file.
	* Makefile.in (clean): Remove libgcc_tm.h.
	($(objects)): Depend on libgcc_tm.h.
	(libgcc_tm_defines, libgcc_tm_file): New variables.
	(libgcc_tm.h, libgcc_tm.stamp): New targets.
	($(libgcc-objects), $(libgcc-s-objects), $(libgcc-eh-objects))
	($(libgcov-objects), $(libunwind-objects), $(libunwind-s-objects))
	($(extra-parts)): Depend on libgcc_tm.h.
	* config.host (tm_defines, tm_file): New variable.
	(arm*-*-linux*): Set tm_file for arm*-*-linux-*eabi.
	(arm*-*-uclinux*): Set tm_file for arm*-*-uclinux*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Set tm_file.
	(avr-*-rtems*): Likewise.
	(avr-*-*): Likewise.
	(frv-*-elf): Likewise.
	(frv-*-*linux*): Likewise.
	(h8300-*-rtems*): Likewise.
	(h8300-*-elf*): Likewise.
	(i[34567]86-*-darwin*): Likewise.
	(x86_64-*-darwin*): Likewise.
	(rx-*-elf): Likewise.
	(tic6x-*-uclinux): Likewise.
	(tic6x-*-elf): Likewise.
	(i[34567]86-*-linux*, x86_64-*-linux*): Likewise.
	* config/alpha/gthr-posix.c: Include libgcc_tm.h.
	* config/i386/cygming-crtbegin.c: Likewise.
	* config/i386/cygming-crtend.c: Likewise.
	* config/ia64/fde-vms.c: Likewise.
	* config/ia64/unwind-ia64.c: Likewise.
	* config/libbid/bid_gcc_intrinsics.h: Likewise.
	* config/rs6000/darwin-fallback.c: Likewise.
	* config/stormy16/lib2funcs.c: Likewise.
	* config/xtensa/unwind-dw2-xtensa.c: Likewise.
	* crtstuff.c: Likewise.
	* dfp-bit.h: Likewise.
	* emutls.c: Likewise.
	* fixed-bit.c: Likewise.
	* fp-bit.c: Likewise.
	* generic-morestack-thread.c: Likewise.
	* generic-morestack.c: Likewise.
	* libgcc2.c: Likewise.
	* libgcov.c: Likewise.
	* unwind-dw2-fde-dip.c: Likewise.
	* unwind-dw2-fde.c: Likewise.
	* unwind-dw2.c: Likewise.
	* unwind-sjlj.c: Likewise.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac: Include ../config/picflag.m4.
	(GCC_PICFLAG): Call it.
	Substitute.
	* configure: Regenerate.
	* Makefile.in (gcc_srcdir): Remove.
	(LIBGCC2_DEBUG_CFLAGS, LIBGCC2_CFLAGS, LIBGCC2_INCLUDES)
	(HOST_LIBGCC2_CFLAGS, PICFLAG, LIB2FUNCS_ST, LIB2FUNCS_EXCLUDE)
	(LIB2_DIVMOD_FUNCS, LIB2ADD, LIB2ADD_ST): Set.
	($(lib2funcs-o), $(lib2funcs-s-o), $(lib2-divmod-o))
	($(lib2-divmod-s-o)): Use $(srcdir) to refer to libgcc2.c.
	Use $<.
	Remove comment.
	* libgcc2.c, libgcc2.h, gbl-ctors.h, longlong.h: New files.
	* siditi-object.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir)
	to refer to libgcc2.c.
	Use $<.
	* config/darwin-64.c: New file.
	* config/darwin-crt3.c: Remove comment.
	* config/divmod.c, config/floatunsidf.c, config/floatunsisf.c,
	config/floatunsitf.c, config/floatunsixf.c, config/udivmod.c,
	config/udivmodsi4.c: New files.
	* config/memcmp.c, config/memcpy.c, config/memmove.c,
	config/memset.c: New files.
	* config/t-crtstuff-pic (CRTSTUFF_T_CFLAGS_S): Use $(PICFLAG).
	* config/t-darwin (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-freebsd-thread, config/t-libgcc-pic: New files.
	* config/t-libunwind (HOST_LIBGCC2_CFLAGS): Set.
	* config/t-openbsd-thread: New file.
	* config/t-sol2 (HOST_LIBGCC2_CFLAGS): Remove.
	* config/t-vxworks, config/vxlib-tls.c, config/vxlib.c: New files.
	* config/alpha/gthr-posix.c, config/alpha/qrnnd.S: New files.
	* config/alpha/t-alpha (LIB2ADD): Use $(srcdir) to refer to
	qrnnd.S.
	Adapt filename.
	* config/alpha/t-osf-pthread (LIB2ADD): Use $(srcdir)/config/alpha
	to refer to gthr-posix.c.
	* config/alpha/t-vms (LIB2ADD): Set.
	* config/alpha/vms-gcc_shell_handler.c: New file.
	* config/arm/bpabi.c, config/arm/fp16.c,
	config/arm/linux-atomic.c, config/arm/linux-atomic-64bit.c,
	config/arm/unaligned-funcs.c: New files.
	* config/arm/t-bpabi (LIB2ADD, LIB2ADD_ST): Set.
	* config/arm/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-linux: Likewise.
	* config/arm/t-linux-eabi (LIB2ADD_ST): Add.
	* config/arm/t-netbsd: New file.
	* config/arm/t-strongarm-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/arm/t-symbian (LIB2ADD_ST): Set.
	* config/avr/t-avr (LIB2FUNCS_EXCLUDE, HOST_LIBGCC2_CFLAGS): Set.
	* config/bfin/t-crtstuff (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/bfin/t-elf: New file.
	* config/c6x/eqd.c, config/c6x/eqf.c, config/c6x/ged.c,
	config/c6x/gef.c, config/c6x/gtd.c, config/c6x/gtf.c,
	config/c6x/led.c, config/c6x/lef.c, config/c6x/ltd.c,
	config/c6x/ltf.c: New files.
	* config/c6x/t-elf (LIB2FUNCS_EXCLUDE, LIB2ADD)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/c6x/t-uclinux (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/cris/arit.c, config/cris/mulsi3.S, config/cris/t-cris:
	New files.
	* config/cris/t-elfmulti (LIB2ADD_ST): Set.
	* config/cris/t-linux (HOST_LIBGCC2_CFLAGS): Remove.
	* config/frv/cmovd.c, config/frv/cmovh.c, config/frv/cmovw.c,
	config/frv/modi.c, config/frv/uitod.c, config/frv/uitof.c,
	config/frv/ulltod.c, config/frv/ulltof.c, config/frv/umodi.c: New
	files.
	* config/frv/t-frv (LIB2ADD): Set.
	* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/h8300/clzhi2.c, config/h8300/ctzhi2.c,
	config/h8300/fixunssfsi.c, config/h8300/parityhi2.c,
	config/h8300/popcounthi2.c: New files.
	* config/h8300/t-h8300 (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/i386/gthr-win32.c: New file.
	* config/i386/t-cygming (LIBGCC2_INCLUDES): Set.
	* config/i386/t-cygwin: Likewise.
	* config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-gthr-win32, config/i386/t-interix: New files.
	* config/i386/t-nto (HOST_LIBGCC2_CFLAGS): Set.
	(CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/i386/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/ia64/quadlib.c: New file.
	* config/ia64/t-hpux (LIB2ADD): Set.
	* config/ia64/t-ia64: Add comment.
	* config/iq2000/lib2funcs.c, config/iq2000/t-iq2000: New files.
	* config/lm32/t-uclinux (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	(HOST_LIBGCC2_CFLAGS): Append, remove -fPIC.
	* config/m32c/lib2funcs.c, config/m32c/trapv.c: New files.
	* config/m32c/t-m32c (LIB2ADD): Set.
	* config/m32r/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	* config/m32r/t-m32r: Likewise.
	* config/m68k/fpgnulib.c: New file.
	* config/m68k/t-floatlib (LIB2ADD): Set.
	(xfgnulib.c): New target.
	* config/mcore/t-mcore (HOST_LIBGCC2_CFLAGS): Set.
	* config/mep/lib2funcs.c, config/mep/tramp.c: New files.
	* config/mep/t-mep (LIB2ADD): Set.
	* config/microblaze/divsi3.asm: Rename to divsi3.S.
	* config/microblaze/moddi3.asm: Rename to moddi3.S.
	* config/microblaze/modsi3.asm: Rename to modsi3.S.
	* config/microblaze/muldi3_hard.asm: Rename to hard.S.
	* config/microblaze/mulsi3.asm: Rename to mulsi3.S.
	* config/microblaze/stack_overflow_exit.asm: Rename to exit.S.
	* config/microblaze/udivsi3.asm: Rename to udivsi3.S.
	* config/microblaze/umodsi3.asm: Rename to umodsi3.S.
	* config/microblaze/t-microblaze (LIB2ADD): Reflect this.
	* config/mips/t-elf, config/mips/t-vr, config/mips/vr4120-div.S:
	New files.
	* config/mips/t-mips (LIB2_SIDITI_CONV_FUNCS): Set.
	* config/mmix/t-mmix (HOST_LIBGCC2_CFLAGS): Set.
	* config/pa/fptr.c, config/pa/lib2funcs.S,
	config/pa/linux-atomic.c, config/pa/quadlib.c: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS): Set.
	(LIB2ADD, LIB2ADD_ST): Set.
	* config/pa/t-hpux, config/pa/t-hpux10, config/pa/t-pa64: New files.
	* config/pa/t-linux (HOST_LIBGCC2_CFLAGS, LIB2ADD, LIB2ADD_ST):
	Set.
	* config/pa/t-linux64 (LIB2ADD_ST, HOST_LIBGCC2_CFLAGS): Set.
	* config/pdp11/t-pdp11: New file.
	* config/picochip/libgccExtras/adddi3.S,
	config/picochip/libgccExtras/ashlsi3.S,
	config/picochip/libgccExtras/ashrsi3.S,
	config/picochip/libgccExtras/clzsi2.S,
	config/picochip/libgccExtras/cmpsi2.S,
	config/picochip/libgccExtras/divmod15.S,
	config/picochip/libgccExtras/divmodhi4.S,
	config/picochip/libgccExtras/divmodsi4.S,
	config/picochip/libgccExtras/lshrsi3.S,
	config/picochip/libgccExtras/parityhi2.S,
	config/picochip/libgccExtras/popcounthi2.S,
	config/picochip/libgccExtras/subdi3.S,
	config/picochip/libgccExtras/ucmpsi2.S,
	config/picochip/libgccExtras/udivmodhi4.S,
	config/picochip/libgccExtras/udivmodsi4.S: New files.
	* config/picochip/t-picochip (LIB2ADD, HOST_LIBGCC2_CFLAGS)
	(LIBGCC2_DEBUG_CFLAGS, RANLIB_FOR_TARGET): Set.
	* config/rs6000/crtresfpr.S, config/rs6000/crtresgpr.S,
	config/rs6000/crtresxfpr.S, config/rs6000/crtresxgpr.S,
	config/rs6000/crtsavfpr.S, config/rs6000/crtsavgpr.S)
	config/rs6000/darwin-asm.h, config/rs6000/darwin-fpsave.S,
	config/rs6000/darwin-gpsave.S, 	config/rs6000/darwin-tramp.S,
	config/rs6000/darwin-vecsave.S, config/rs6000/darwin-world.S: New
	files.
	* config/rs6000/t-darwin (LIB2ADD, LIB2ADD_ST)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-darwin64: New file.
	* config/rs6000/t-linux64 (HOST_LIBGCC2_CFLAGS): Set.
	* config/rs6000/t-lynx, config/rs6000/t-netbsd: New files.
	* config/rs6000/t-ppccomm (LIB2ADD): Add
	$(srcdir)/config/rs6000/tramp.S.
	(LIB2ADD_ST): Use $(srcdir)/config/rs6000 to refer to sources.
	Add  $(srcdir)/config/rs6000/eabi.S.
	(crtsavfpr.S, crtresfpr.S, crtsavgpr.S, crtresgpr.S, crtresxfpr.S)
	(crtresxgpr.S, e500crtres32gpr.S, e500crtres64gpr.S)
	(e500crtres64gprctr.S, e500crtrest32gpr.S, e500crtrest64gpr.S)
	(e500crtresx32gpr.S, e500crtresx64gpr.S, e500crtsav32gpr.S)
	(e500crtsav64gpr.S, e500crtsav64gprctr.S, e500crtsavg32gpr.S)
	(e500crtsavg64gpr.S, e500crtsavg64gprctr.S): Remove.
	* config/rs6000/tramp.S: New file.
	* config/s390/t-tpf: Remove.
	* config/sh/linux-atomic.S: New file.
	* config/sh/t-linux (LIB2ADD): Set.
	(HOST_LIBGCC2_CFLAGS): Append, remove -fpic.
	* config/sh/t-netbsd (LIB2ADD, HOST_LIBGCC2_CFLAGS): Set.
	* config/sh/t-sh (unwind-dw2-Os-4-200.o): Use $(srcdir) to refer
	to unwind-dw2.c.
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/sparc/t-sol2 (CRTSTUFF_T_CFLAGS): Use $(PICFLAG).
	* config/spu/divmodti4.c, config/spu/divv2df3.c,
	config/spu/float_disf.c, config/spu/float_unsdidf.c,
	config/spu/float_unsdisf.c, config/spu/float_unssidf.c,
	config/spu/mfc_multi_tag_release.c,
	config/spu/mfc_multi_tag_reserve.c, config/spu/mfc_tag_release.c,
	config/spu/mfc_tag_reserve.c, config/spu/mfc_tag_table.c,
	config/spu/multi3.c: New files.
	* config/spu/t-elf (LIB2ADD, LIB2ADD_ST, LIB2_SIDITI_CONV_FUNCS)
	(HOST_LIBGCC2_CFLAGS): Set.
	* config/stormy16/ashlsi3.c, config/stormy16/ashrsi3.c,
	config/stormy16/clzhi2.c, config/stormy16/cmpsi2.c,
	config/stormy16/ctzhi2.c, config/stormy16/divsi3.c,
	config/stormy16/ffshi2.c, config/stormy16/lib2.c,
	config/stormy16/lshrsi3.c, config/stormy16/modsi3.c,
	config/stormy16/parityhi2.c, config/stormy16/popcounthi2.c,
	config/stormy16/t-stormy16, config/stormy16/ucmpsi2.c,
	config/stormy16/udivmodsi4.c, config/stormy16/udivsi3.c,
	config/stormy16/umodsi3.c: New files.
	* config/xtensa/lib2funcs.S: New file.
	* config/xtensa/t-elf (HOST_LIBGCC2_CFLAGS): Set.
	* config/xtensa/t-xtensa (LIB2ADD): Set.
	* config.host (*-*-darwin*): Add t-libgcc-pic to tmake_file.
	(*-*-freebsd*): Add t-freebsd, t-libgcc-pic to tmake_file.
	Add t-freebsd-thread to tmake_file for posix threads.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu)
	(*-*-gnu*, *-*-kopensolaris*-gnu): Add t-libgcc-pic to tmake_file.
	(*-*-lynxos*): Likewise.
	(*-*-netbsd*): Likewise.
	(*-*-openbsd*): Likewise.
	Add t-openbsd-thread to tmake_file for posix threads.
	(*-*-solaris2*): Add t-libgcc-pic to tmake_file.
	(*-*-vxworks*): Set tmake_file.
	(alpha*-*-linux*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-*-freebsd*): Likewise.
	(alpha*-*-netbsd*): Likewise.
	(alpha*-*-openbsd*): Likewise.
	(alpha*-dec-osf5.1*): Remove qrnnd.o, gthr-posix.o from extra_parts.
	(alpha64-dec-*vms*): Add alpha/t-alpha, alpha/t-ieee to tmake_file.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-netbsdelf*): Add arm/t-netbsd to tmake_file.
	(bfin*-elf*): Add bfin/t-elf to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(crisv32-*-elf): Add cris/t-cris to tmake_file.
	(crisv32-*-none): Likewise.
	(cris-*-elf): Likewise.
	(cris-*-none): Likewise.
	(cris-*-linux*, crisv32-*-linux*): Likewise.
	(hppa[12]*-*-hpux10*): Add pa/t-hpux pa/t-hpux10, t-libgcc-pic to
	tmake_file.
	(hppa*64*-*-hpux11*): Add pa/t-hpux, pa/t-pa64, t-libgcc-pic to
	tmake_file.
	(hppa[12]*-*-hpux11*): Add pa/t-hpux, t-libgcc-pic to tmake_file.
	(i[34567]86-*-elf*): Add t-libgcc-pic to tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-nto-qnx*): Likewise.
	(i[34567]86-*-mingw*): Add i386/t-gthr-win32 to tmake_file for
	win32 threads.
	(x86_64-*-mingw*): Likewise.
	(i[34567]86-*-interix3*): Add i386/t-interix to tmake_file.
	(lm32-*-uclinux*): Add t-libgcc-pic to tmake_file.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-elf to
	tmake_file.
	(mipsisa64sr71k-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64orion-*-elf*, mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mips64vr-*-elf*, mips64vrel-*-elf*): Add mips/t-elf, mips/t-vr
	to tmake_file.
	(pdp11-*-*): Add pdp11/t-pdp11 to tmake_file.
	(powerpc64-*-darwin*): Add rs6000/t-darwin64 to tmake_file.
	(s390x-ibm-tpf*): Add t-libgcc-pic to tmake_file.
	(spu-*-elf*): Likewise.
	(tic6x-*-uclinux): Add t-libgcc-pic to tmake_file.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in ($(lib1asmfuncs-o), $(lib1asmfuncs-s-o)): Use
	$(srcdir) to refer to $(LIB1ASMSRC).
	Use $<.
	* config/arm/bpabi-v6m.S, config/arm/bpabi.S,
	config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
	config/arm/lib1funcs.S: New files.
	* config/arm/libunwind.S [!__symbian__]: Use lib1funcs.S.
	* config/arm/t-arm: New file.
	* config/arm/t-bpabi (LIB1ASMFUNCS): Set.
	* config/arm/t-elf, config/arm/t-linux, config/arm/t-linux-eabi,
	config/arm/t-strongarm-elf: New files.
	* config/arm/t-symbian (LIB1ASMFUNCS): Set.
	* config/arm/t-vxworks, config/arm/t-wince-pe: New files.
	* config/avr/lib1funcs.S: New file.
	* config/avr/t-avr (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/bfin/lib1funcs.S, config/bfin/t-bfin: New files.
	* config/c6x/lib1funcs.S: New file.
	* config/c6x/t-elf (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/fr30/lib1funcs.S, config/fr30/t-fr30: New files.
	* config/frv/lib1funcs.S: New file.
	* config/frv/t-frv (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/h8300/lib1funcs.S, config/h8300/t-h8300: New files.
	* config/i386/cygwin.S, config/i386/t-chkstk: New files.
	* config/ia64/__divxf3.asm: Rename to ...
	* config/ia64/__divxf3.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_fixtfdi.asm: Rename to ...
	* config/ia64/_fixtfdi.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_fixunstfdi.asm: Rename to ...
	* config/ia64/_fixunstfdi.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/_floatditf.asm: Rename to ...
	* config/ia64/_floatditf.S: ... this.
	Adapt lib1funcs.asm filename.
	* config/ia64/lib1funcs.S: New file.
	* config/ia64/t-hpux (LIB1ASMFUNCS): Set.
	* config/ia64/t-ia64 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/ia64/t-softfp-compat (libgcc1-tf-compats): Adapt suffix.
	* config/m32c/lib1funcs.S, config/m32c/t-m32c: New files.
	* config/m68k/lb1sf68.S, config/m68k/t-floatlib: New files.
	* config/mcore/lib1funcs.S, config/mcore/t-mcore: New files.
	* config/mep/lib1funcs.S: New file.
	* config/mep/t-mep (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/mips/mips16.S: New file.
	* config/mips/t-mips16 (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/pa/milli64.S: New file.
	* config/pa/t-linux, config/pa/t-linux64: New files.
	* config/picochip/lib1funcs.S: New file.
	* config/picochip/t-picochip (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config/sh/lib1funcs.S, config/sh/lib1funcs.h: New files.
	* config/sh/t-linux (LIB1ASMFUNCS_CACHE): Set.
	* config/sh/t-netbsd: New file.
	* config/sh/t-sh (LIB1ASMSRC, LIB1ASMFUNCS, LIB1ASMFUNCS_CACHE): Set.
	Use $(srcdir) to refer to lib1funcs.S, adapt filename.
	* config/sh/t-sh64: New file.
	* config/sparc/lb1spc.S: New file.
	* config/sparc/t-softmul (LIB1ASMSRC): Adapt sparc/lb1spc.asm
	filename.
	* config/v850/lib1funcs.S, config/v850/t-v850: New files.
	* config/vax/lib1funcs.S, config/vax/t-linux: New files.
	* config/xtensa/ieee754-df.S, config/xtensa/ieee754-sf.S,
	config/xtensa/lib1funcs.S: New files.
	* config/xtensa/t-xtensa (LIB1ASMSRC, LIB1ASMFUNCS): Set.
	* config.host (arm-wrs-vxworks): Add arm/t-arm, arm/t-vxworks to
	tmake_file.
	(arm*-*-freebsd*): Add arm/t-arm, arm/t-strongarm-elf to tmake_file.
	(arm*-*-netbsdelf*): Add arm/t-arm to tmake_file.
	(arm*-*-linux*): Likewise.
	Add arm/t-elf, arm/t-bpabi, arm/t-linux-eabi to tmake_file for
	arm*-*-linux-*eabi, add arm/t-linux otherwise.
	(arm*-*-uclinux*): Add arm/t-arm, arm/t-elf to tmake_file.
	(arm*-*-ecos-elf): Likewise.
	(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
	(arm*-*-rtems*): Likewise.
	(arm*-*-elf): Likewise.
	(arm*-wince-pe*): Add arm/t-arm, arm/t-wince-pe to tmake_file.
	(avr-*-rtems*): Add to tmake_file, add avr/t-avr.
	(bfin*-elf*): Add bfin/t-bfin to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(bfin*-rtems*): Likewise.
	(bfin*-*): Likewise.
	(fido-*-elf): Merge into m68k-*-elf*.
	(fr30-*-elf)): Add fr30/t-fr30 to tmake_file.
	(frv-*-*linux*): Add frv/t-frv to tmake_file.
	(h8300-*-rtems*): Add h8300/t-h8300 to tmake_file.
	(h8300-*-elf*): Likewise.
	(hppa*64*-*-linux*): Add pa/t-linux, pa/t-linux64 to tmake_file.
	(hppa*-*-linux*): Add pa/t-linux to tmake_file.
	(i[34567]86-*-cygwin*): Add i386/t-chkstk to tmake_file.
	(i[34567]86-*-mingw*): Likewise.
	(x86_64-*-mingw*): Likewise.
	(i[34567]86-*-interix3*): Likewise.
	(ia64*-*-hpux*): Add ia64/t-ia64, ia64/t-hpux to tmake_file.
	(ia64-hp-*vms*): Add ia64/t-ia64 to tmake_file.
	(m68k-*-elf*): Also handle fido-*-elf.
	Add m68k/t-floatlib to tmake_file.
	(m68k-*-uclinux*): Add m68k/t-floatlib to tmake_file.
	(m68k-*-linux*): Likewise.
	(m68k-*-rtems*): Likewise.
	(mcore-*-elf): Add mcore/t-mcore to tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*): Add sh/t-sh64 to tmake_file for
	sh64*-*-*.
	(sh-*-linux*, sh[2346lbe]*-*-linux*): Add sh/t-sh to tmake_file.
	Add sh/t-sh64 to tmake_file for sh64*-*-linux*.
	(sh-*-netbsdelf*, shl*-*-netbsdelf*, sh5-*-netbsd*)
	(sh5l*-*-netbsd*, sh64-*-netbsd*, sh64l*-*-netbsd*): Add sh/t-sh,
	sh/t-netbsd to tmake_file.
	Add sh/t-sh64 to tmake_file for sh5*-*-netbsd*, sh64*-netbsd*.
	(sh-*-rtems*): Add sh/t-sh to tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-linux*): Add sparc/t-softmul to tmake_file except for
	*-leon[3-9]*.
	(v850*-*-*): Add v850/t-v850 to tmake_file.
	(vax-*-linux*): Add vax/t-linux to tmake_file.
	(m32c-*-elf*, m32c-*-rtems*): Add m32c/t-m32c to tmake_file.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* crtstuff.c: New file.
	* Makefile.in (CRTSTUFF_CFLAGS): Define.
	(CRTSTUFF_T_CFLAGS): Define.
	(extra-parts, INSTALL_PARTS): Remove conditional assignments.
	(crtbegin$(objext), crtend$(objext), crtbeginS$(objext))
	(crtendS$(objext), crtbeginT.o): Use $(srcdir) to refer to
	crtstuff.c.
	Use $<.
	(crtbeginT.o): Use $(objext).
	[!CUSTOM_CRTIN] (crti$(objext), crtn$(objext)): New rules.
	(libgcc-extra-parts): Don't compare EXTRA_PARTS, GCC_EXTRA_PARTS.
	(gcc-extra-parts): Remove.
	* config.host (*-*-freebsd*): Add t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Also handle *-*-kopensolaris*-gnu.
	Add t-crtstuff-pic to tmake_file.
	(*-*-lynxos*): New case.
	Set tmake_file, extra_parts.
	(*-*-netbsd*): Add t-crtstuff-pic to tmake_file.
	Set extra_parts for *-*-netbsd*1.[7-9]*, *-*-netbsd[2-9]*,
	*-*-netbsdelf[2-9]*.
	(*-*-openbsd*): Add t-crtstuff-pic to tmake_file.
	(*-*-rtems*): Set extra_parts.
	(*-*-solaris2*): Remove t-crtin from tmake_file for Solaris < 10.
	(*-*-uclinux*): New case.
	Set extra_parts.
	(*-*-vms*): New case.
	Set tmake_file, extra_parts.
	(*-*-elf): Set extra_parts.
	(alpha*-*-freebsd*): Add crtbeginT.o to extra_parts.
	(alpha64-dec-*vms*): Append to tmake_file, remove vms/t-vms,
	vms/t-vms64.
	Set extra_parts.
	(alpha*-dec-*vms*): Append to tmake_file, remove vms/t-vms.
	Set extra_parts.
	(arm*-*-freebsd*): Add t-crtin to tmake_file.
	Add crtbegin.o, crtend.o, crti.o, crtn.o to extra_parts.
	(arm-wrs-vxworks): Append to tmake_file.
	Set extra_parts.
	(arm*-*-uclinux*): Set extra_parts.
	(arm*-*-ecos-elf): Likewise.
	(arm*-*-eabi*, arm*-*-symbianelf*): Set extra_parts for
	arm*-*-eabi*.
	(arm*-*-rtems*): Set extra_parts.
	(arm*-*-elf): Likewise.
	(avr-*-rtems*): Clear extra_parts.
	(bfin*-elf*): Add bfin/t-crtlibid, bfin/t-crtstuff to extra_parts.
	Set extra_parts.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Add bfin/t-crtstuff to tmake_file.
	(bfin*-rtems*): Append to tmake_file.
	Set extra_parts.
	(bfin*-*): Likewise.
	(crisv32-*-elf, crisv32-*-none, cris-*-elf, cris-*-none): Split into ...
	(crisv32-*-elf): ... this.
	(crisv32-*-none): ... this.
	(cris-*-elf, cris-*-none): New cases.
	Add cris/t-elfmulti to tmake_file.
	(fr30-*-elf): Append to tmake_file.
	Set extra_parts.
	(frv-*-elf): Append to tmake_file, add frv/t-frv.
	Set extra_parts.
	(h8300-*-rtems*): Append to tmake_file.
	Set extra_parts.
	(h8300-*-elf*): Likewise.
	(hppa*64*-*-hpux11*): Add pa/t-stublib, pa/t-stublib64 to tmake_file.
	Set extra_parts.
	(hppa[12]*-*-hpux11*): Add pa/t-stublib to tmake_file.
	Set extra_parts.
	(i[34567]86-*-elf*): Add i386/t-crtstuff, t-crtstuff-pic to tmake_file.
	(x86_64-*-elf*): Likewise.
	(i[34567]86-*-freebsd*): Add i386/t-crtstuff to tmake_file.
	(x86_64-*-freebsd*): Likewise.
	(x86_64-*-netbsd*): Likewise.
	(i[34567]86-*-linux*): Likewise.
	(i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
	(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise.
	(x86_64-*-linux*): Likewise.
	(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise.
	(i[34567]86-*-lynxos*): Add t-crtstuff-pic, i386/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(i[34567]86-*-nto-qnx*): Set tmake_file, extra_parts.
	(i[34567]86-*-rtems*): Append to tmake_file, remove t-crtin.
	Append to extra_parts, remove crtbegin.o, crtend.o.
	(ia64*-*-elf*): Append to extra_parts, remove crtbegin.o, crtend.o.
	(ia64*-*-freebsd*): Append to extra_parts, remove crtbegin.o,
	crtend.o, crtbeginS.o, crtendS.o.
	(ia64*-*-linux*): Comment extra_parts.
	(ia64-hp-*vms*): Append to tmake_file, remove vms/t-vms, vms/t-vms64.
	Set extra_parts.
	(iq2000*-*-elf*): Clear extra_parts.
	(lm32-*-elf*, lm32-*-rtems*): Add t-crtin to tmake_file.
	(lm32-*-uclinux*): Add to extra_parts, remove crtbegin.o, crtend.o
	(m32r-*-elf*, m32r-*-rtems*): Split off ...
	(m32r-*-rtems*): ... this.
	Add m32r/t-m32r to tmake_file.
	(m68k-*-elf*): Add t-crtin to tmake_file.
	(m68k-*-rtems*): Add crti.o, crtn.o to extra_parts.
	(mcore-*-elf): Likewise.
	(microblaze*-*-*): Set extra_parts.
	(mips*-sde-elf*): New case.
	Set tmake_file, extra_parts.
	(mipsisa32-*-elf*, mipsisa32el-*-elf*, mipsisa32r2-*-elf*)
	(mipsisa32r2el-*-elf*, mipsisa64-*-elf*, mipsisa64el-*-elf*)
	(mipsisa64r2-*-elf*, mipsisa64r2el-*-elf*): Add mips/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(mipsisa64sr71k-*-elf*): Likewise.
	(mipsisa64sb1-*-elf*, mipsisa64sb1el-*-elf*): Likewise.
	(mips-*-elf*, mipsel-*-elf*): Likewise.
	(mips64-*-elf*, mips64el-*-elf*): Likewise.
	(mips64vr-*-elf*, mips64vrel-*-elf*): Likewise.
	(mips64orion-*-elf*,  mips64orionel-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mipstx39-*-elf*, mipstx39el-*-elf*): Likewise.
	(moxie-*-*): Split into ...
	(moxie-*-elf, moxie-*-uclinux*): ... this.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(moxie-*-rtems*): New case.
	Set tmake_file.
	Clear extra_parts.
	(powerpc-*-freebsd*): Add rs6000/t-crtstuff to tmake_file.
	Set extra_parts.
	(powerpc-*-netbsd*): Add rs6000/t-netbsd to tmake_file.
	(powerpc-*-eabispe*): Add rs6000/t-crtstuff, t-crtstuff-pic to
	tmake_file.
	Set extra_parts.
	(powerpc-*-eabisimaltivec*): Add to tmake_file, add rs6000/t-ppccomm,
	rs6000/t-crtstuff, t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-crtstuff to
	tmake_file.
	Set extra_parts.
	(powerpc-*-lynxos*): Add to tmake_file.
	(powerpcle-*-elf*): Add to tmake_file, add rs6000/t-ppccomm,
	rs6000/t-crtstuff, t-crtstuff-pic.
	Set extra_parts.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rx-*-elf): Remove extra_parts.
	(s390x-ibm-tpf*): Set extra_parts.
	(score-*-elf): Set extra_parts.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Split into ...
	(sh-*-elf*, sh[12346l]*-*-elf*): ... this.
	Add t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(sh-*-rtems*): Add to tmake_file, add t-crtstuff-pic.
	Set extra_parts.
	(sh-wrs-vxworks): Add to tmake_file, add t-crtstuff-pic.
	(sparc-*-elf*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc-*-linux*): Add sparc/t-linux64 to tmake_file.
	(sparc64-*-linux*): Likewise.
	(sparc-*-rtems*): Remove sparc/t-elf from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-elf*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-rtems*): Remove t-crtin from tmake_file.
	Add to extra_parts, remove crtbegin.o, crtend.o.
	(sparc64-*-freebsd*, ultrasparc-*-freebsd*): Add to extra_parts.
	(sparc64-*-linux*): Add sparc/t-linux64 to tmake_file.
	(spu-*-elf*): Add to tmake_file, add spu/t-elf.
	Set extra_parts.
	(tic6x-*-uclinux): Add c6x/t-uxlinux, t-crtstuff-pic to tmake_file.
	Set extra_parts.
	(tic6x-*-*): Change to ...
	(tic6x-*-elf): ... this.
	Set extra_parts.
	(xtensa*-*-elf*): Add to tmake_file, add xtensa/t-elf.
	Set extra_parts.
	(am33_2.0-*-linux*): Add comment.
	(mep*-*-*): Add mep/t-mep to tmake_file.
	Set extra_parts.
	* config/alpha/t-vms: New file.
	* config/alpha/vms-dwarf2.S, config/alpha/vms-dwarf2eh.S: New files.
	* config/arm/crti.S, config/arm/crtn.S: New files.
	* config/bfin/crti.S, config/bfin/crtn.S: New files.
	* config/bfin/crtlibid.S: New file.
	* config/bfin/t-crtlibid, config/bfin/t-crtstuff: New files.
	* config/c6x/crti.S, config/c6x/crtn.S: New files.
	* config/c6x/t-elf (CUSTOM_CRTIN): Set.
	(crti.o, crtin.o): New rules.
	(CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
	* config/c6x/t-uclinux: New file.
	* config/cris/t-elfmulti: New file.
	* config/cris/t-linux (CRTSTUFF_T_CFLAGS_S): Set.
	* config/fr30/crti.S, config/fr30/crtn.S: New files.
	* config/frv/frvbegin.c, config/frv/frvend.c: New files.
	* config/frv/t-frv: New file.
	* config/frv/t-linux (CRTSTUFF_T_CFLAGS): Set.
	* config/h8300/crti.S, config/h8300/crtn.S: New files.
	* config/i386/cygming-crtbegin.c, config/i386/cygming-crtend.c:
	New files.
	* config/i386/t-cygming (crtbegin.o, crtend.o): Use $(srcdir) to
	refer to cygming-crtbegin.c, cygming-crtend.c.
	Use $<.
	* config/i386/t-nto: New file.
	* config/ia64/crtbegin.S, config/ia64/crtend.S: New files.
	* config/ia64/crti.S, config/ia64/crtn.S: New files.
	* config/ia64/t-ia64 (crtbegin.o, crtend.o, crtbeginS.o,
	crtendS.o): Use $(srcdir) to refer to crtbegin.S, crtend.S.
	Use .S extension.
	Use $<.
	* config/ia64/t-vms (CRTSTUFF_T_CFLAGS, CRTSTUFF_T_CFLAGS_S): Set.
	(crtinitS.o): New rule.
	* config/ia64/vms-crtinit.S: New file.
	* config/lm32/t-elf ($(T)crti.o, $(T)crtn.o): Remove.
	* config/m32r/initfini.c: New file.
	* config/m32r/t-linux, config/m32r/t-m32r: New files.
	* config/m68k/crti.S, config/m68k/crtn.S: New files.
	* config/mcore/crti.S, config/mcore/crtn.S: New files.
	* config/mep/t-mep: New file.
	* config/microblaze/crti.S, config/microblaze/crtn.S: New files.
	* config/microblaze/t-microblaze (MULTILIB_OPTIONS): Remove.
	* config/mips/crti.S, config/mips/crtn.S: New files.
	* config/mips/t-crtstuff: New file.
	* config/mmix/crti.S, config/mmix/crtn.S: New files.
	* config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Set.
	(CUSTOM_CRTIN): Set.
	($(T)crti.o, $(T)crtn.o): Remove $(T),
	dependencies.
	Use $(srcdir) to refer to crti.S, crtn.S.
	Use .S extension, $<.
	* config/moxie/crti.asm: Rename to ...
	* config/moxie/crti.S: ... this.
	* config/moxie/crtn.asm: Rename to ...
	* config/moxie/crtn.S: ... this.
	* config/moxie/t-moxie: Remove.
	* config/pa/stublib.c: New file.
	* config/pa/t-stublib, config/pa/t-stublib64: New files.
	* config/rs6000/eabi-ci.S, config/rs6000/eabi-cn.S: New files.
	* config/rs6000/sol-ci.S, config/rs6000/sol-cn.S: New files.
	* config/rs6000/t-crtstuff: New file.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Remove.
	(ecrti.S, ecrtn.S, ncrti.S, ncrtn.S): Remove.
	(ecrti$(objext)): Depend on $(srcdir)/config/rs6000/eabi-ci.S.
	Make output file explicit.
	(ecrtn$(objext)): Depend on $(srcdir)/config/rs6000/eabi-cn.S.
	Make output file explicit.
	(ncrti$(objext): Depend on $(srcdir)/config/rs6000/sol-ci.S.
	Make output file explicit.
	(ncrtn$(objext)): Depend on $(srcdir)/config/rs6000/sol-cn.S.
	Make output file explicit.
	* config/score/crti.S, config/score/crtn.S: New files.
	* config/sh/crt1.S, config/sh/crti.S, config/sh/crtn.S: New files.
	* config/sh/lib1funcs-4-300.S, config/sh/lib1funcs-Os-4-200.S: New
	files.
	* config/sh/t-sh, config/sh/t-superh: New files.
	* config/sparc/t-linux64: New file.
	* config/spu/cache.S, config/spu/cachemgr.c: New files.
	* config/spu/t-elf (CRTSTUFF_T_CFLAGS): Set.
	(cachemgr.o, cachemgr_nonatomic.o, libgcc_%.a, cache8k.o)
	(cache16k.o, cache32k.o, cache64k.o, cache128k.o): New rules.
	* config/t-crtin: Remove.
	* config/t-crtstuff-pic: New file.
	* config/t-sol2 (CUSTOM_CRTIN): Set.
	(crti.o, crtn.o): New rules.
	* config/vms/t-vms: New file.
	* config/vms/vms-ucrt0.c: New file.
	* config/xtensa/t-elf: New file.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (SHLIB_NM_FLAGS): Set.
	* mkmap-flat.awk, mkmap-symver.awk: New files.
	* configure.ac (libgcc_cv_lib_sjlj_exceptions): Check for SjLj
	exceptions.
	* configure: Regenerate.
	* config/libgcc-glibc.ver: New file.
	* config/libgcc-libsystem.ver: New file.
	* config/t-libunwind (SHLIB_LC): Set.
	* config/t-linux: New file.
	* config/t-slibgcc (INSTALL_SHLIB): New.
	(SHLIB_INSTALL): Use it.
	* config/t-slibgcc-darwin (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-symver.awk.
	(SHLIB_MAPFILES): Don't append, adapt pathname.
	(SHLIB_VERPFX): Set.
	* config/t-slibgcc-elf-ver (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-symver.awk.
	* config/t-slibgcc-gld-nover, config/t-slibgcc-hpux,
	config/t-slibgcc-libgcc, config/t-slibgcc-vms: New files.
	* config/alpha/libgcc-alpha-ldbl.ver, config/alpha/t-linux: New files.
	* config/alpha/t-slibgcc-osf (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-flat.awk.
	* config/arm/t-bpabi (SHLIB_MAPFILES): Set.
	* config/bfin/libgcc-glibc.ver, config/bfin/t-linux: New files.
	* config/c6x/libgcc-eabi.ver, config/c6x/t-elf: New files.
	* config/cris/libgcc-glibc.ver, config/cris/t-linux: New files.
	* config/frv/libgcc-frv.ver, config/frv/t-linux: New files.
	* config/i386/libgcc-darwin.10.4.ver,
	config/i386/libgcc-darwin.10.5.ver, config/i386/libgcc-glibc.ver:
	New files.
	* config/i386/t-darwin: Remove.
	* config/i386/t-darwin64: Likewise.
	* config/i386/t-dw2-eh, config/i386/t-sjlj-eh: New files.
	* config/i386/t-slibgcc-cygming, config/i386/t-cygwin,
	config/i386/t-dlldir, config/i386/t-dlldir-x: New files.
	* config/i386/t-linux: New file.
	* config/i386/t-mingw32: New file.
	* config/ia64/libgcc-glibc.ver, config/ia64/libgcc-ia64.ver: New files.
	* config/ia64/t-glibc: Rename to ...
	* config/ia64/t-linux: ... this.
	(SHLIB_MAPFILES): Set.
	* config/ia64/t-glibc-libunwind: Rename to ...
	* config/ia64/t-linux-libunwind: ... this.
	* config/ia64/t-ia64 (SHLIB_MAPFILES): Set.
	* config/ia64/t-slibgcc-hpux: New file.
	* config/m32r/libgcc-glibc.ver, config/m32r/t-linux: New files.
	* config/m68k/t-slibgcc-elf-ver: New file.
	* config/mips/t-mips16 (SHLIB_MAPFILES): Set.
	* config/mips/t-slibgcc-irix (SHLIB_MKMAP): Use $(srcdir) to refer
	to mkmap-flat.awk.
	* config/pa/t-slibgcc-hpux: New file.
	* config/pa/t-slibgcc-dwarf-ver, config/pa/t-slibgcc-sjsj-ver: New
	files.
	* config/rs6000/libgcc-darwin.10.4.ver,
	config/rs6000/libgcc-darwin.10.5.ver: New files.
	* config/rs6000/libgcc-ppc-glibc.ver: Rename to
	config/rs6000/libgcc-glibc.ver.
	* config/rs6000/libgcc-ppc64.ver: Rename to
	config/rs6000/libgcc-ibm-ldouble.ver.
	* config/rs6000/t-darwin (SHLIB_VERPFX): Remove.
	* config/rs6000/t-ibm-ldouble (SHLIB_MAPFILES): Adapt filename.
	* config/rs6000/t-ldbl128: Rename to ...
	* config/rs6000/t-linux: ... this.
	(SHLIB_MAPFILES): Adapt filename.
	* config/rs6000/t-slibgcc-aix: New file.
	* config/sh/libgcc-excl.ver, config/sh/libgcc-glibc.ver: New files.
	* config/sh/t-linux (SHLIB_MAPFILES): Use $(srcdir) to refer to
	libgcc-excl.ver, libgcc-glibc.ver.
	(SHLIB_LINK, SHLIB_INSTALL): Remove.
	* config/sparc/libgcc-glibc.ver: New file.
	* config/sparc/t-linux: New file.
	* config/xtensa/libgcc-glibc.ver, config/xtensa/t-linux: New files.
	* config.host (*-*-freebsd*): Add t-slibgcc, t-slibgcc-gld,
	t-slibgcc-elf-ver to tmake_file.
	Add t-slibgcc-nolc-override to tmake_file for posix threads on
	*-*-freebsd[34].
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*, *-*-kopensolaris*-gnu): Add t-slibgcc, t-slibgcc-gld,
	t-slibgcc-elf-ver, t-linux to tmake_file.
	(*-*-netbsd*): Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to
	tmake_file.
	(alpha*-*-linux*): Add alpha/t-linux to tmake_file.
	(alpha64-dec-*vms*): Add t-slibgcc-vms to tmake_file.
	(alpha*-dec-*vms*): Likewise.
	(arm*-*-freebsd*): Append to tmake_file.
	(arm*-*-netbsdelf*): Add t-slibgcc-gld-nover to tmake_file.
	(arm*-*-linux*): Add t-slibgcc-libgcc to tmake_file for
	arm*-*-linux-*eabi.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add t-slibgcc-nolc-override to
	tmake_file for arm*-*-symbianelf*.
	(bfin*-linux-uclibc*): Append to tmake_file, add bfin/t-linux.
	(cris-*-linux*, crisv32-*-linux*): Append to tmake_file, add
	cris/t-linux.
	(frv-*-*linux*): Append to tmake_file, add frv/t-linux.
	(hppa*-*-linux*): Add t-slibgcc-libgcc, pa/t-slibgcc-sjlj-ver,
	pa/t-slibgcc-dwarf-ver to tmake_file.
	(hppa[12]*-*-hpux10*): Add t-slibgcc, pa/t-slibgcc-sjlj-ver,
	pa/t-slibgcc-dwarf-ver, t-slibgcc-hpux, pa/t-slibgcc-hpux to tmake_file.
	(hppa*64*-*-hpux11*): Likewise.
	(hppa[12]*-*-hpux11*): Likewise.
	(x86_64-*-darwin*): Don't override tmake_file, but only keep
	i386/t-crtpc, i386/t-crtfm.
	(i[34567]86-*-cygwin*): Set tmake_eh_file, tmake_dlldir_file.
	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
	to tmake_file.
	Add i386/t-cygwin to tmake_file.
	Prepent i386/t-mingw-pthread to tmake_file for posix threads.
	(i[34567]86-*-mingw*): Set tmake_eh_file, tmake_dlldir_file.
	Prepend $tmake_eh_file, $tmake_dlldir_file, i386/t-slibgcc-cygming
	to tmake_file.
	Add i386/t-mingw32 to tmake_file.
	(x86_64-*-mingw*): Likewise.
	(ia64*-*-freebsd*): Append to tmake_file.
	(ia64*-*-linux*): Append to tmake_file.
	Replace ia64/t-glibc by ia64/t-linux.
	Replace ia64/t-glibc-libunwind by ia64/t-linux-libunwind if using
	system libunwind.
	(ia64*-*-hpux*): Add t-slibgcc, ia64/t-slibgcc-hpux,
	t-slibgcc-hpux to tmake_file.
	(ia64-hp-*vms*): Add t-slibgcc-vms to tmake_file.
	(m32r-*-linux*): Append to tmake_file, add m32r/t-linux.
	(m32rle-*-linux*): Likewise.
	(m68k-*-linux*)): Add m68k/t-slibgcc-elf-ver to tmake_file unless
	sjlj exceptions.
	(microblaze*-linux*): New case.
	Append to tmake_file, add t-slibgcc-nolc-override.
	(powerpc-*-freebsd*): Add t-slibgcc-libgcc to tmake_file.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.
	Replace rs6000/t-ldbl128 by rs6000/t-linux in tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	rs6000/t-slibgcc-aix to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Add t-slibgcc-libgcc to tmake_file for
	sh*-*-linux*.
	(sparc-*-linux*): Append to tmake_file for *-leon*.
	Add sparc/t-linux to tmake_file for non-Leon targets.
	(sparc64-*-linux*): Add sparc/t-linux to tmake_file.
	(tic6x-*-uclinux): New case.
	Add t-slibgcc, t-slibgcc-gld, t-slibgcc-elf-ver to tmake_file.
	(tic6x-*-*): Add c6x/t-elf to tmake_file.
	(xtensa*-*-linux*): Append to tmake_file, add xtensa/t-linux.
	(am33_2.0-*-linux*): Append to tmake_file.
	(i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-kfreebsd*-gnu)
	(i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*): Also handle
	x86_64-*-kfreebsd*-gnu.
	Add i386/t-linux to tmake_file.

2011-10-28  Ian Lance Taylor  <iant@google.com>

	* config/i386/morestack.S: Correct CFI information to do proper
	returns throughout function.  In 32-bit mode, save %ebx so that it
	is restored on unwind.

2011-10-25  Bernd Schmidt  <bernds@codesourcery.com>

	* config/c6x/pr-support.c (__gnu_unwind_24bit): Correct logic for the
	case where B3 isn't the return register.

	* config/c6x/pr-support.c (pop_compact_frame, pop_frame): Correct
	logic for doubleword pops.

2011-10-25  Andreas Tobler  <andreast@fgznet.ch>

	* config/rs6000/t-freebsd: Add wildcard.

2011-10-21  Paul Brook  <paul@codesourcery.com>

	* unwind-arm-common.inc: Handle ID3/4 unwinding data.

2011-10-16  Uros Bizjak  <ubizjak@gmail.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR target/50737
	* config/alpha/linux-unwind.h (alpha_fallback_frame_state): Set
	fs->signal_frame to 1.

2011-10-07  Ian Lance Taylor  <iant@google.com>

	* generic-morestack-thread.c: #include <errno.h>.

2011-10-07  Ian Lance Taylor  <iant@google.com>

	PR target/46093
	* generic-morestack.c (__generic_morestack): Make sure the segment
	is large enough for both the stack frame and the copied
	parameters.

2011-10-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR bootstrap/49804
	* config.host: Add crtbegin.o, crtbeginS.o, crtend.o, crtendS.o to
	extra_parts.

2011-09-28  Nick Clifton  <nickc@redhat.com>

	* config/rx/rx-lib.h: Always restrict doubles to the SF type when
	64-bit doubles are not enabled.
	* config/rx/rx-abi.h: Fix extraneous renaming of the floatsisf
	and floatunsisf functions.

2011-09-13  Paul Brook  <paul@codesourcery.com>

	* config.host (tic6x-*-*): Add c6x/t-c6x-elf.  Set unwind_header.
	* unwind-c.c (PERSONALITY_FUNCTION): Use UNWIND_POINTER_REG.
	* unwind-arm-common.inc: New file.
	* config/arm/unwind-arm.c: Use unwind-arm-common.inc.
	* config/arm/unwind-arm.h: Use unwind-arm-common.h.
	(_GLIBCXX_OVERRIDE_TTYPE_ENCODING): Define.
	* config/c6x/libunwind.S: New file.
	* config/c6x/pr-support.c: New file.
	* config/c6x/unwind-c6x.c: New file.
	* config/c6x/unwind-c6x.h: New file.
	* config/c6x/t-c6x-elf: New file.

2011-08-23  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/64/sfp-machine.h (ASM_INVALID): New define.
	(ASM_DIVZERO): Ditto.
	(FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO.

2011-08-18  Richard Sandiford  <richard.sandiford@linaro.org>

	* config/arm/bpabi-lib.h (RENAME_LIBRARY_SET): Delete.

2011-08-17  Richard Sandiford  <richard.sandiford@linaro.org>

	PR target/50090
	* config/arm/bpabi-lib.h (RENAME_LIBRARY): Use a C-level alias
	instead of an assembly one.

2011-08-12  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/50047
	* Makefile.in (install-unwind_h): Create
	$(gcc_objdir)/include/unwind.h atomically.

2011-08-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (install-unwind_h): Remove destination file first.

2011-08-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* sync.c: New file.
	* config/mips/t-mips16: New file.
	* config.host (mips64*-*-linux*): Add mips/t-mips16 to tmake_file.
	(mips*-*-linux*): Likewise.
	(mips*-sde-elf*): Likewise.
	(mipsisa32-*-elf*): Join with mipsisa32r2-*-elf*,
	mipsisa64-*-elf*, mipsisa64r2-*-elf*.
	Add mips/t-mips16 to tmake_file.
	(mipsisa64sb1-*-elf*): Add mips/t-mips16 to tmake_file.
	(mips-*-elf*): Likewise.
	(mips64-*-elf*): Likewise.
	(mips64orion-*-elf*): Likewise.
	(mips*-*-rtems*): Likewise.
	(mipstx39-*-elf*): Likewise.
	* Makefile.in: Use SYNC instead of LIBGCC_SYNC.
	($(libgcc-sync-size-funcs-o)): Use SYNC_CFLAGS instead of
	LIBGCC_SYNC_CFLAGS.
	Use $(srcdir) to refer to sync.c.
	Use $<.
	($(libgcc-sync-funcs-o)): Likewise.
	($(libgcc-sync-size-funcs-s-o)): Likewise.
	($(libgcc-sync-funcs-s-o)): Likewise.

2011-08-09  Andreas Schwab  <schwab@linux-m68k.org>

	* config.host (ia64*-*-linux*): Move ia64/t-glibc after
	t-libunwind.

2011-08-08  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/48007
	* config/i386/value-unwind.h: New.

2011-08-06  Richard Sandiford  <rdsandiford@googlemail.com>

	* config.host (*-*-darwin*, *-*-freebsd*, *-*-linux*, frv-*-*linux*)
	(*-*-kfreebsd*-gnu, *-*-knetbsd*-gnu, *-*-gnu*, *-*-kopensolaris*-gnu):
	Add to tmake_file rather than overriding it.

2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/t-softfp: Remove.
	* soft-fp: Moved from ../gcc/config.
	* soft-fp/README: Remove t-softfp reference.
	* soft-fp/t-softfp: Move to config/t-softfp.
	(softfp_machine_header): Remove.
	(softfp_file_list): Remove config subdir.
	(soft-fp-objects): New variable.
	($(soft-fp-objects)): Set INTERNAL_CFLAGS.
	(LIB2FUNCS_EXTRA): Add to LIB2ADD instead.
	(SFP_MACHINE, $(SFP_MACHINE)): Remove.
	* config/t-softfp-excl: New file.
	* config/t-softfp-sfdf: New file.
	* config/t-softfp-tf: New file.
	* config/no-sfp-machine.h: New file.
	* config/arm/sfp-machine.h: New file.
	* config/arm/t-softfp: New file.
	* config/c6x/sfp-machine.h: New file.
	* config/i386/32/t-fprules-softfp: Rename to ...
	* config/i386/32/t-softfp: ... this.
	(tifunctions, LIB2ADD): Remove.
	(softfp_int_modes): Override.
	* config/i386/64/t-softfp-compat (tf-functions): Remove config
	subdir.
	* config/i386/64/eqtf2.c: Likewise.
	* config/i386/64/getf2.c: Likewise.
	* config/i386/64/letf2.c: Likewise.
	* config/ia64/sft-machine.h: New file.
	* config/ia64/t-fprules-softfp: Rename to ...
	* config/ia64/t-softfp: ... this.
	* config/lm32/sfp-machine.h: New file.
	* config/moxie/t-moxie-softfp: Remove.
	* config/rs6000/ibm-ldouble-format: New file.
	* config/rs6000/ibm-ldouble.c: New file.
	* config/rs6000/libgcc-ppc-glibc.ver: New file
	* config/rs6000/libgcc-ppc64.ver: New file
	* config/rs6000/sfp-machine.h: New file.
	* config/rs6000/t-freebsd: New file.
	* config/rs6000/t-ibm-ldouble: New file.
	* config/rs6000/t-ldbl128: Use $(srcdir) to refer to
	libgcc-ppc-glibc.ver.
	* config/rs6000/t-linux64: New file.
	* config/rs6000/t-ppccomm (LIB2ADD): Add
	$(srcdir)/config/rs6000/ibm-ldouble.c.
	* config/rs6000/t-ppccomm-ldbl: New file.
	* config/score/sfp-machine.h: New file.
	* config.host (sfp_machine_header): Explain.
	(arm*-*-linux*): Add t-softfp-sfdf, t-softfp-excl, arm/t-softfp,
	t-softfp to tmake_file.
	(arm*-*-uclinux*): Likewise.
	(arm*-*-ecos-elf): Likewise.
	(arm*-*-eabi*, arm*-*-symbianelf*): Likewise.
	(arm*-*-rtems*): Likewise.
	(arm*-*-elf): Likewise.
	(ia64*-*-linux*): Replace ia64/t-fprules-softfp by ia64/t-softfp
	in tmake_file.
	Add t-softfp-tf, t-softfp-excl, t-softfp to tmake_file.
	(lm32-*-elf*, lm32-*-rtems*): Add t-softfp-sfdf, t-softfp to tmake_file.
	(lm32-*-uclinux*): Likewise.
	(moxie-*-*): Replace moxie/t-moxie-softfp by t-softfp-sfdf,
	t-softfp-excl, t-softfp.
	(powerpc-*-darwin*): Add rs6000/t-ibm-ldouble to tmake_file.
	(powerpc64-*-darwin*): Likewise.
	(powerpc-*-freebsd*): Add t-softfp-sfdf, t-softfp-excl, t-softfp
	to tmake_file.
	(powerpc-*-eabisimaltivec*): Add rs6000/t-ppccomm-ldbl to
	tmake_file.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add t-softfp-sfdf,
	t-softfp-excl, t-softfp to tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add
	rs6000/t-ppccomm-ldbl to tmake_file.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	rs6000/t-ibm-ldouble to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(score-*-elf): Add t-softfp-sfdf, t-softfp-excl, t-softfp to tmake_file.
	(tic6x-*-*): Likewise.
	(i[34567]86-*-darwin*, x86_64-*-darwin*,
	i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu,
	i[34567]86-*-linux*, x86_64-*-linux*, i[34567]86-*-gnu*,
	i[34567]86-*-solaris2*, x86_64-*-solaris2.1[0-9]*,
	i[34567]86-*-cygwin*, i[34567]86-*-mingw*, x86_64-*-mingw*,
	i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add t-softfp-tf,
	t-softfp to tmake_file.
	* configure.ac (sfp_machine_header): Provide default if unset.
	Substitute.
	Link sfp-machine.h to config/$sfp_machine_header.
	* configure: Regenerate.

2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (double_type_size, long_double_type_size): Set.
	Remove $(fpbit-in-libgcc) support.
	(FPBIT_FUNCS, DPBIT_FUNCS, TPBIT_FUNCS): New variables.
	(fpbit-src): New variable.
	($(fpbit-o), $(fpbit-s-o)): Use $(fpbit-src) instead of $(FPBIT).
	Compile with -DFLOAT $(FPBIT_CFLAGS).
	Use $<.
	($(dpbit-o), $(dpbit-s-o)): Use $(fpbit-src) instead of $(DPBIT).
	Compile with $(FPBIT_CFLAGS).
	Use $<.
	($(tpbit-o), $(tpbit-s-o): Use $(fpbit-src) instead of $(TPBIT).
	Compile with -DFLOAT $(TPBIT_CFLAGS).
	Use $<.
	* configure.ac (double_type_size, long_double_type_size):
	Determine and substitute.
	* configure: Regenerate.
	* fp-bit.c, fp-bit.h: New files.
	* config/avr/avr-lib.h, config/h8300/h8300-lib.h: New files.
	* config/mips/t-irix6 (TPBIT, $(gcc_objdir)/tp-bit.c): Remove.
	* config/mips/t-mips: New file.
	* config/mips/t-sdemtk: New file.
	* config/rs6000/ppc64-fp.c: New file.
	* config/rs6000/t-darwin (LIB2ADD): Add
	$(srcdir)/config/rs6000/ppc64-fp.c.
	* config/rs6000/t-ppc64-fp: New file.
	* config/rx/rx-lib.h: New file.
	* config/rx/t-rx (FPBIT): Set to true.
	($(gcc_objdir)/fp-bit.c): Remove.
	(DPBIT): Set to true only with -m64bit-doubles.
	($(gcc_objdir)/dp-bit.c): Remove.
	* config/sparc/t-softfp: Remove.
	* config/spu/t-elf: New file.
	* config/t-fdpbit, config/t-fpbit: New files.
	* config.host (m32c*-*-*): Add t-fdpbit to tmake_file.
	(mips*-*-*): Likewise.
	(arm-wrs-vxworks): Likewise.
	(arm*-*-freebsd*): Likewise.
	(avr-*-rtems*): Add t-fpbit to tmake_file.
	(avr-*-*): Likewise.
	(bfin*-elf*): Add t-fdpbit to tmake_file.
	(bfin*-uclinux*): Likewise.
	(bfin*-linux-uclibc*): Likewise.
	(bfin*-rtems*): New case.
	Add t-fdpbit to tmake_file.
	(bfin*-*): Add t-fdpbit to tmake_file.
	(crisv32-*-elf): Likewise.
	(cris-*-linux*): Likewise.
	(fr30-*-elf): Likewise.
	(frv-*-elf, frv-*-*linux*): Likewise.
	(h8300-*-rtems*, h8300-*-elf*): Add t-fpbit to tmake_file.
	(iq2000*-*-elf*): Add t-fdpbit to tmake_file.
	(m32r-*-elf*): Likewise.
	(m32rle-*-elf*): Likewise.
	(m32r-*-linux*): Likewise.
	(m32rle-*-linux*): Likewise.
	(mcore-*-elf): Add t-fdpbit to tmake_file.
	(microblaze*-*-*): Likewise.
	(mips-sgi-irix6.5*): Add t-tpbit to tmake_file.
	(mips*-*-netbsd*): Add mips/t-mips to tmake_file.
	(mips64*-*-linux*): Also handle mipsisa64*-*-linux*.
	Fix typo.
	Add mips/t-tpbit to tmake-file.
	(mips*-*-linux*): Fix typo.
	(mips*-sde-elf*): New case
	Add mips/t-sdemtk unless using newlib.
	(mipsisa64sr71k-*-elf*): Add t-fdpbit to tmake_file.
	(mipsisa64sb1-*-elf*): Add mips/t-mips to tmake_file.
	(mn10300-*-*): Likewise.
	(pdp11-*-*): Likewise.
	(picochip-*-*): Add t-fpbit to tmake_file.
	(powerpc-*-eabisimaltivec*): Likewise.
	(powerpc-*-eabisim*): Likewise.
	(powerpc-*-elf*): Likewise.
	(powerpc-*-eabialtivec*): Likewise.
	(powerpc-xilinx-eabi*): New case.
	Add t-fdpbit to tmake_file.
	(powerpc-*-eabi*):  Add t-fdpbit to tmake_file.
	(powerpc-*-rtems*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Add rs6000/t-ppc64-fp to
	tmake_file.
	(powerpc-wrs-vxworks, powerpc-wrs-vxworksae): Add t-fdpbit to
	tmake_file.
	(powerpc-*-lynxos*): Likewise.
	(powerpcle-*-elf*): Likewise.
	(powerpcle-*-eabisim*): Likewise.
	(powerpcle-*-eabi*): Likewise.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Add
	t-fdpbit, rs6000/t-ppc64-fp to tmake_file.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(rx-*-elf): Add t-fdpbit to tmake_file.
	(sh-*-elf*, sh[12346l]*-*-elf*, sh-*-linux*)
	(sh[2346lbe]*-*-linux*, sh-*-netbsdelf*, shl*-*-netbsdelf*)
	(sh5-*-netbsd*, sh5l*-*-netbsd*, sh64-*-netbsd*)
	(sh64l*-*-netbsd*): Add t-fdpbit to tmake_file except on
	sh*-*-netbsd*.
	(sh-*-rtems*): Add t-fdpbit to tmake_file.
	(sh-wrs-vxworks): Likewise.
	(sparc-*-elf*): Replace sparc/t-softfp by t-fdpbit in tmake_file.
	(sparc-*-linux*): Add t-fdpbit to tmake_file for *-leon*.
	(sparc-*-rtems*, sparc64-*-rtems*): Split off ...
	(sparc64-*-rtems*): ... new case.
	(sparc-*-rtems*): Add t-fdpbit to tmake_file.
	(spu-*-elf*): Likewise.
	Add spu/t-elf to tmake_file.
	(v850*-*-*): Add t-fdpbit to tmake_file.
	(xstormy16-*-elf): Likewise.
	(am33_2.0-*-linux*): Add t-fdpbit to tmake_file.
	(mep*-*-*): Likewise.

2011-08-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): New
	variables.
	(LIBUNWIND, SHLIBUNWIND_LINK, SHLIBUNWIND_INSTALL): New variables.
	(LIB2ADDEH, LIB2ADDEHSTATIC, LIB2ADDEHSHARED): Add $(srcdir)/emutls.c.
	(install-unwind_h): New target.
	(all): Depend on it.
	* config.host (unwind_header): New variable.
	(*-*-freebsd*): Set tmake_file to t-eh-dw2-dip.
	(*-*-linux*, frv-*-*linux*, *-*-kfreebsd*-gnu, *-*-knetbsd*-gnu,
	*-*-gnu*): Likewise, also for *-*-kopensolaris*-gnu.
	(*-*-solaris2*): Add t-eh-dw2-dip to tmake_file.
	(arm*-*-linux*): Add arm/t-bpabi for arm*-*-linux-*eabi.
	Set unwind_header.
	(arm*-*-uclinux*): Add arm/t-bpabi for arm*-*-uclinux*eabi.
	Set unwind_header.
	(arm*-*-eabi*, arm*-*-symbianelf*): Add arm/t-bpabi for
	arm*-*-eabi*.
	Add arm/t-symbian to tmake_file for arm*-*-symbianelf*.
	Set unwind_header.
	(ia64*-*-elf*): Add ia64/t-eh-ia64 to tmake_file.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Add ia64/t-glibc, ia64/t-eh-ia64, t-libunwind to
	tmake_file.
	Add t-libunwind-elf, ia64/t-glibc-libunwind unless
	$with_system_libunwind.
	(ia64*-*-hpux*): Set tmake_file.
	(ia64-hp-*vms*): Add ia64/t-eh-ia64 to tmake_file.
	(picochip-*-*): Set tmake_file.
	(rs6000-ibm-aix4.[3456789]*, powerpc-ibm-aix4.[3456789]*): Set
	md_unwind_header.
	(rs6000-ibm-aix5.1.*, powerpc-ibm-aix5.1.*): Likewise.
	(rs6000-ibm-aix[56789].*, powerpc-ibm-aix[56789].*): Likewise.
	(s390x-ibm-tpf*): Add t-eh-dw2-dip to tmake_file.
	(xtensa*-*-elf*): Set tmake_file.
	(xtensa*-*-linux*): Likewise.
	* configure.ac: Include ../config/unwind_ipinfo.m4.
	Call GCC_CHECK_UNWIND_GETIPINFO.
	Link unwind.h to $unwind_header.
	* configure: Regenerate.
	* emutls.c, unwind-c.c, unwind-compat.c, unwind-compat.h,
	unwind-dw2-fde-compat.c, unwind-dw2-fde-dip.c, unwind-dw2-fde.c,
	unwind-dw2-fde.h, unwind-dw2.c, unwind-dw2.h, unwind-generic.h,
	unwind-pe.h, unwind-sjlj.c, unwind.inc: New files.
	* config/unwind-dw2-fde-darwin.c: New file.
	* config/arm/libunwind.S, config/arm/pr-support.c,
	config/arm/t-bpabi, config/arm/t-symbian, config/arm/unwind-arm.c,
	config/arm/unwind-arm.h,: New files.
	* config/ia64/fde-glibc.c, config/ia64/fde-vms.c,
	config/ia64/t-eh-ia64, config/ia64/t-glibc,
	config/ia64/t-glibc-libunwind, config/ia64/t-hpux,
	config/ia64/t-vms, config/ia64/unwind-ia64.c,
	config/ia64/unwind-ia64.h: New files.
	* config/picochip/t-picochip: New file.
	* config/rs6000/aix-unwind.h, config/rs6000/darwin-fallback.c: New
	files.
	* config/rs6000/t-darwin (LIB2ADDEH): Set.
	* config/s390/t-tpf (LIB2ADDEH): Remove.
	* config/t-darwin (LIB2ADDEH): Set.
	* config/t-eh-dw2-dip: New file.
	* config/t-libunwind, config/t-libunwind-elf: New files.
	* config/t-sol2 (LIB2ADDEH): Remove.
	* config/xtensa/t-xtensa: New file.

2011-08-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/linux-unwind.h (RT_SIGRETURN_SYSCALL): New.
	(x86_64_fallback_frame_state): Use RT_SIGRETURN_SYSCALL and
	long long to check rt_sigreturn syscall.

2011-08-02  Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
	Restore for indirect call bcrtl from correct stack slot, and only
	if cfa+40 isn't valid.

2011-08-01  Julian Brown  <julian@codesourcery.com>

	* config.host (arm*-*-linux*, arm*-*-uclinux*, arm*-*-eabi*)
	(arm*-*-symbianelf*): Add t-fixedpoint-gnu-prefix makefile fragment.
	* config/arm/bpabi-lib.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define.

2011-08-01  Julian Brown  <julian@codesourcery.com>

	* Makefile.in (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): New.
	(libgcc-std.ver.in): Use above.
	* fixed-bit.h (LIBGCC2_FIXEDBIT_GNU_PREFIX): Define, if
	LIBGCC2_GNU_PREFIX is defined.  Use instead of LIBGCC2_GNU_PREFIX
	throughout file.
	* config/t-fixedpoint-gnu-prefix: New file.
	* config/t-gnu-prefix (LIBGCC_VER_FIXEDPOINT_GNU_PREFIX): Set.
	* libgcc-std.ver.in (fixed-point routines): Use __FIXPTPFX__
	instead of __PFX__.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New.
	Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary
	for x86-64.  Properly check __x86_64__ and __LP64__.

2010-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64
	version.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.

2011-07-28  Alan Modra  <amodra@gmail.com>

	* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
	Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
	in a plt call stub.  Do restore r2 if stopped on bctrl.

2011-07-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (i[3456x]86-*-netware*): Remove.
	* config/i386/netware-crt0.c, config/i386/t-nwld,
	config/i386/t-slibgcc-nwld: Remove.

2011-07-15  Bernd Schmidt  <bernds@codesourcery.com>

	* config.host: Handle tic6x-*-*.
	* config/c6x/c6x-abi.h: New file.

2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/crtprec.c: New file.
	* config/i386/t-crtpc: Use $(srcdir) to refer to crtprec.c.
	* config.host (i[34567]86-*-darwin*): Add i386/t-crtpc to tmake_file.
	Add crtprec32.o, crtprec64.o, crtprec80.o to extra_parts.
	(x86_64-*-darwin*): Likewise.
	(i[34567]86-*-solaris2*: Likewise.

2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/alpha/crtfastmath.c: New file.
	* config/i386/crtfastmath.c: New file.
	* config/ia64/crtfastmath.c: New file.
	* config/mips/crtfastmath.c: New file.
	* config/sparc/crtfastmath.c: New file.

	* config/t-crtfm (crtfastmath.o): Use $(srcdir) to refer to
	crtfastmath.c.
	Add -frandom-seed=gcc-crtfastmath.
	* config/alpha/t-crtfm: Remove.
	* config/i386/t-crtfm: Use $(srcdir) to refer to crtfastmath.c.
	* config/ia64/t-ia64 (crtfastmath.o): Remove.

	* config.host (alpha*-*-linux*): Replace alpha/t-crtfm by t-crtfm.
	(alpha*-dec-osf5.1*): Likewise.
	(alpha*-*-freebsd*): Add t-crtfm to tmake_file.
	Add crtfastmath.o to extra_parts.
	(i[34567]86-*-darwin*): Add i386/t-crtfm to tmake_file.
	Add crtfastmath.o to extra_parts.
	(x86_64-*-darwin*): Likewise.
	(x86_64-*-mingw*): Likewise.
	(ia64*-*-elf*): Add t-crtfm to tmake_file.
	(ia64*-*-freebsd*): Likewise.
	(ia64*-*-linux*): Likewise.
	(sparc64-*-freebsd*): Add t-crtfm to tmake_file.
	Add crtfastmath.o to extra_parts.

2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/darwin-crt3.o: New file.
	* config/rs6000/darwin-crt2.c: New file.
	* config/t-darwin: New file.
	* config/rs6000/t-darwin (DARWIN_EXTRA_CRT_BUILD_CFLAGS): New variable.
	(crt2.o): New rule.
	* config.host (*-*-darwin*): Add crt3.o to extra_parts.
	(powerpc-*-darwin*): Add crt2.o to extra_parts.
	(powerpc64-*-darwin*): Likewise.

2011-07-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/netware-crt0.c: New file.
	* config/i386/t-nwld: Rename to ...
	* config/i386/t-slibgcc-nwld: ... this.
	* config/i386/t-nwld: New file.
	* config.host (i[3456x]86-*-netware*): Add i386/t-slibgcc-nwld to
	tmake_file.
	Add crt0.o, libgcc.def, libc.def, libcpre.def, posixpre.def to
	extra_parts.

2011-07-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (i?86-*-solaris2*): Use libgcc copy of
	i386/t-crtstuff.
	* configure: Regenerate.

2011-07-11  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* dfp-bit.c, dfp-bit.h: New files.
	* Makefile.in (D32PBIT_FUNCS, D64PBIT_FUNCS, D128PBIT_FUNCS): New
	variables.
	($(d32pbit-o)): Use $(srcdir) to refer to dfp-bit.c
	($(d64pbit-o)): Likewise.
	($(d128pbit-o)): Likewise.
	* config/t-dfprules: New file.
	* config.host (i[34567]86-*-linux*): Add t-dfprules to tmake_file.
	(i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu,
	i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Likewise.
	(x86_64-*-linux*): Likewise.
	(x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Likewise.
	(i[34567]86-*-cygwin*): Likewise.
	(i[34567]86-*-mingw*,  x86_64-*-mingw*): Likewise.
	(powerpc-*-linux*, powerpc64-*-linux*): Likewise.

2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makfile.in (LIBGCOV): New variable.
	($(libgcov-objects)): Use $(srcdir) to refer to libgcov.c.
	* libgcov.c: New file.

2011-07-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* fixed-bit.c, fixed-bit.h: New files.
	* fixed-obj.mk ($o$(objext), $(o)_s$(objext)): Use $(srcdir) to
	refer to fixed-bit.c.

2011-07-07  Joseph Myers  <joseph@codesourcery.com>

	* config.host (*local*): Remove.

2011-07-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/39150
	* config.host (*-*-solaris2*): Handle x86_64-*-solaris2.1[0-9]*
	like i?86-*-solaris2.1[0-9]*.
	(i[34567]86-*-solaris2*): Also handle x86_64-*-solaris2.1[0-9]*.
	* configure.ac (i?86-*-solaris2*): Likewise.
	* configure: Regenerate.

2011-07-06  Thomas Schwinge  <thomas@schwinge.name>

	* config.host (i[34567]86-*-kfreebsd*-gnu, i[34567]86-*-knetbsd*-gnu)
	(i[34567]86-*-gnu*, i[34567]86-*-kopensolaris*-gnu): Remove
	md_unwind_header by splitting out of...
	(i[34567]86-*-linux*): ... this.
	* config.host (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu):
	Remove md_unwind_header by splitting out of...
	(x86_64-*-linux*): ... this.

2011-07-04  Georg-Johann Lay  <avr@gjlay.de>

	* config/avr/t-avr (intfuncs16): Add _clrsbXX2.

2011-06-28  Nick Clifton  <nickc@redhat.com>

	* config.host: Recognize all V850 variants.

2011-06-22  Uros Bizjak  <ubizjak@gmail.com>

	* enable-execute-stack-empty.c (__enable_execute_stack): Add prototype.

2011-06-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* shared-object.mk (c_flags-$o): Save c_flags.
	($(base)$(objext)): Use it.
	($(base)_s$(objext)): Likewise.

2011-06-21  Bernd Schmidt  <bernds@codesourcery.com>

	* Makefile.in (lib2funcs): Add _clrsbsi2 and _clrsbdi2.
	* libgcc-std.ver.in (GCC_4.7.0): New section.

2011-06-16  Georg-Johann Lay  <avr@gjlay.de>

	PR target/49313
	PR target/29524
	* config/avr/t-avr: Fix line endings.
	(intfuncs16): Remove _ffsXX2,  _clzXX2, _ctzXX2, _popcountXX2,
	_parityXX2.

2011-06-14  Olivier Hainque  <hainque@adacore.com>
	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/mips/irix6-unwind.h: New file.
	* config.host (mips-sgi-irix6.5*): Set md_unwind_header.

2011-06-10  Eric Botcazou  <ebotcazou@adacore.com>

	* config/sparc/linux-unwind.h (STACK_BIAS): Define.
	(sparc64_fallback_frame_state): Use it.
	(sparc64_frob_update_context): Further adjust context.
	* config/sparc/sol2-unwind.h (sparc64_frob_update_context): Likewise.
	* config/sparc/sol2-ci.S: Add TARGET_FLAT handling.
	* config/sparc/sol2-cn.S: Likewise.

2011-06-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* enable-execute-stack-empty.c: New file.
	* enable-execute-stack-mprotect.c: New file.
	* config/i386/enable-execute-stack-mingw32.c: New file.
	* config.host (enable_execute_stack): New variable.
	Select appropriate variants.
	* configure.ac: Link enable-execute-stack.c to
	$enable_execute_stack.
	* configure: Regenerate.
	* Makefile.in (LIB2ADD): Add enable-execute-stack.c.
	(lib2funcs): Remove _enable_execute_stack.

2011-06-09  David S. Miller  <davem@davemloft.net>
	    Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (sparc-*-linux*): Correct md_unwind_header
	filename.
	(s390x-ibm-tpf*): Fix typo.

2011-06-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (mips-sgi-irix6.5*): Add t-crtfm to tmake_file.
	Add crtfastmath.o to extra_parts.
	(mips64*-*-linux*, mips*-*-linux*): Use t-crtfm instead of
	mips/t-crtfm.
	* config/mips/t-crtfm: Remove.

2011-06-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* config.host (hppa*-*-linux*): Correct md_unwind_header name.

2011-06-04  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config.host (sh*-*-linux*): Fix typo.

2011-06-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/alpha/linux-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/osf5-unwind.h: Move from ../gcc/config/alpha.
	* config/alpha/vms-unwind.h: Move from ../gcc/config/alpha.
	* config/bfin/linux-unwind.h: Move from ../gcc/config/bfin.
	* config/i386/linux-unwind.h: Move from ../gcc/config/i386.
	* config/i386/sol2-unwind.h: Move from ../gcc/config/i386.
	* config/i386/w32-unwind.h: Move from ../gcc/config/i386.
	Wrap in !__MINGW64__.
	* config/ia64/linux-unwind.h: Move from ../gcc/config/ia64.
	* config/ia64/vms-unwind.h: Move from ../gcc/config/ia64.
	* config/m68k/linux-unwind.h: Move from ../gcc/config/m68k.
	* config/mips/linux-unwind.h: Move from ../gcc/config/mips.
	* config/pa/hpux-unwind.h: Move from ../gcc/config/pa.
	* config/pa/linux-unwind.h: Move from ../gcc/config/pa.
	* config/rs6000/darwin-unwind.h: Move from ../gcc/config/rs6000.
	Wrap in !__LP64__.
	* config/rs6000/linux-unwind.h: Move from ../gcc/config/rs6000.
	* config/s390/linux-unwind.h: Move from ../gcc/config/s390.
	* config/s390/tpf-unwind.h: Move from ../gcc/config/s390.
	* config/sh/linux-unwind.h: Move from ../gcc/config/sh.
	* config/sparc/linux-unwind.h: Move from ../gcc/config/sparc.
	* config/sparc/sol2-unwind.h: Move from ../gcc/config/sparc.
	* config/xtensa/linux-unwind.h: Move from ../gcc/config/xtensa.
	* config/no-unwind.h: New file.
	* config.host (md_unwind_header): Document.
	Define.
	(alpha*-*-linux*, alpha*-dec-osf5.1*, alpha64-dec-*vms*,
	alpha*-dec-*vms*, bfin*-uclinux*, bfin*-linux-uclibc*,
	hppa*-*-linux*, hppa[12]*-*-hpux10*, hppa*64*-*-hpux11*,
	hppa[12]*-*-hpux11*): Set md_unwind_header.
	(i[34567]86-*-linux*): Handle i[34567]86-*-kopensolaris*-gnu.
	Set md_unwind_header.
	(x86_64-*-linux*, i[34567]86-*-solaris2*): Set md_unwind_header.
	(i[34567]86-*-cygwin*): Split from i[34567]86-*-mingw*.
	(i[34567]86-*-mingw*, ia64*-*-linux*, ia64-hp-*vms*,
	m68k-*-uclinux*, m68k-*-linux*, mips64*-*-linux*, mips*-*-linux*,
	powerpc-*-darwin*, powerpc-*-linux*, s390-*-linux*,
	s390x-*-linux*,  s390x-ibm-tpf*, sh*-*-linux*, sparc-*-linux*,
	sparc*-*-solaris2*, sparc64-*-linux*, xtensa*-*-linux*): Set
	md_unwind_header.
	* configure.ac: Link md-unwind-support.h to $md_unwind_header.
	* configure: Regenerate.

2011-06-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (mips-sgi-irix[56]*): Restrict to mips-sgi-irix6.5*.
	Set tmake_file, extra_parts.
	* config/mips/irix-crti.S: Move from ../gcc/config/mips/irix-crti.asm.
	Remove O32 support.
	* config/mips/irix-crtn.S: Move from ../gcc/config/mips/irix-crtn.asm.
	Remove O32 support.
	* config/mips/t-irix6: New file.
	* config/mips/t-slibgcc-irix: New file.

2011-06-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/s390/t-tpf (LIB2ADDEHDEP): Remove.
	* config/t-sol2 (LIB2ADDEH): Use gcc_srcdir, add emutls.c.

2011-06-03  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac (target_thread_file): Determine thread model.
	* configure: Regenerate.
	* config.host (alpha*-dec-osf5.1*): Set tmake_file, extra_parts.
	* config/alpha/t-alpha: New file.
	* config/alpha/t-crtfm: Use $<.
	* config/alpha/t-ieee: New file.
	* config/alpha/t-osf-pthread: New file.
	* config/alpha/t-slibgcc-osf: New file.
	* config/alpha/libgcc-osf5.ver: New file.

2011-06-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (i[34567]86-*-solaris2*): Add i386/t-crtfm to
	tmake_file.
	Add crtfastmath.o to extra_parts.

2011-06-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/gmon-sol2.c: Reindent.
	Cleanup comments.
	Remove, correct casts.
	Use STDERR_FILENO, NULL.
	(BASEADDRESS): Remove.
	(minbrk): Remove.
	(errno, sbrk): Remove declarations.
	(monstartup) [hp300]: Remove.
	(mcount): Remove.

2011-06-01  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Makefile.in (cpu_type): Define.
	* config.host (i[34567]86-*-rtems*): Handle it.
	(i[34567]86-*-solaris2*): Move body ...
	(*-*-solaris2*): ... here.
	New case, generalize.
	(sparc-*-elf*): Handle it.
	(sparc-*-linux*, sparc64-*-linux*): Replace sparc/t-crtfm by t-crtfm.
	(sparc-*-rtems*, sparc64-*-rtems*); Handle it.
	(sparc64-*-solaris2*, sparcv9-*-solaris2*, sparc-*-solaris2*):
	Fold into ...
	(sparc*-*-solaris2*): ... this.
	New case.
	(sparc64-*-elf*): Handle it.
	* config/gmon-sol2.c: Move from ../gcc/config/sparc.
	Merge ../gcc/config/i386/gmon-sol2.c.
	* config/i386/sol2-c1.S: Move from ../gcc/config/i386/sol2-c1.asm.
	Use C comments.
	Merge ../gcc/config/i386/sol2-gc1.asm.
	* config/i386/sol2-ci.S: Move from ../gcc/config/i386/sol2-ci.asm.
	Use C comments.
	* config/i386/sol2-cn.S: Move from ../gcc/config/i386/sol2-cn.asm.
	Use C comments.
	* config/i386/t-crtfm (crtfastmath.o): Use $<.
	* config/i386/t-crtstuff: New file.
	* config/i386/t-softfp: New file.
	* config/i386/t-sol2 ($(T)gmon.o, $(T)gcrt1.o, $(T)crt1.o),
	$(T)crti.o, $(T)crtn.o): Remove.
	(gcrt1.o): New rule.
	(TARGET_LIBGCC2_CFLAGS): Remove.
	* config/sparc/sol2-c1.S: Move from ../gcc/config/sparc/sol2-c1.asm.
	* config/sparc/sol2-ci.S: Move from ../gcc/config/sparc/sol2-ci.asm.
	* config/sparc/sol2-cn.S: Move from ../gcc/config/sparc/sol2-cn.asm.
	* config/sparc/t-sol2: New file.
	* config/sparc/t-crtfm: Move to ...
	* config/t-crtfm: ... this.
	Use $(cpu_type), $<.
	* config/t-crtin: New file.
	* config/sparc/t-softfp: New file.
	* config/sparc/t-softmul: New file.
	* config/t-rtems: New file.
	* config/t-slibgcc: New file.
	* config/t-slibgcc-elf-ver: New file.
	* config/t-slibgcc-gld: New file.
	* config/t-slibgcc-sld: New file.
	* config/t-sol2: New file.
	* configure.ac: Include ../config/lib-ld.m4.
	Call AC_LIB_PROG_LD_GNU.
	Substitute cpu_type.
	* configure: Regenerate.

2011-05-27  Bernd Schmidt  <bernds@codesourcery.com>

	PR bootstrap/49173
	* config/t-slibgcc-darwin (SHLIB_MAPFILES): Look for
	libgcc-std.ver in the build directory.
	* config/s390/t-linux (SHLIB_MAPFILES): Likewise.
	* config/sh/t-linux (SHLIB_MAPFILES): Likewise.

2011-05-25  Bernd Schmidt  <bernds@codesourcery.com>

	* 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.

2011-05-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/s390/t-tpf (LIB2ADDEH): Remove $(gcc_srcdir)/gthr-gnat.c.

2011-05-10  Joseph Myers  <joseph@codesourcery.com>

	* config/i386/darwin-lib.h: New file.

2011-05-10  Joseph Myers  <joseph@codesourcery.com>

	* config/arm/symbian-lib.h: New.

2011-05-04  Chris Demetriou  <cgd@google.com>

	* config/i386/morestack.S (__i686.get_pc_thunk.bx): Rename to...
	(__x86.get_pc_thunk.bx): ...this.
	(__morestack): Adjust for rename, remove undef of __i686.

2011-05-03  Chris Demetriou  <cgd@google.com>

	* config/i386/morestack.S (__i686.get_pc_thunk.bx): New.

2011-03-22  Joseph Myers  <joseph@codesourcery.com>

	* config.host (alpha*-*-gnu*, arc-*-elf*, arm*-*-netbsd*,
	arm-*-pe*, crx-*-elf, i[34567]86-*-netbsd*, i[34567]86-*-pe,
	m68hc11-*-*|m6811-*-*, m68hc12-*-*|m6812-*-*, mcore-*-pe*,
	powerpc64-*-gnu*, powerpc-*-gnu-gnualtivec*, powerpc-*-gnu*,
	sh-*-symbianelf* | sh[12346l]*-*-symbianelf*, vax-*-netbsd*):
	Remove cases.

2011-03-14  Andreas Tobler  <andreast@fgznet.ch>

	* config.host (cpu_type): Add FreeBSD PowerPC specific parts.
	Adjust copyright year.

2011-03-07  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.c (__splitstack_find): Adjust returned stack
	pointer to include all registers pushed by __morestack.

2011-01-26  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	* configure.ac: Call ACX_NONCANONICAL_TARGET.
	(toolexecdir): Calculate and AC_SUBST.
	(toolexeclibdir): Likewise.
	* Makefile.in (target_noncanonical): Import.
	(toolexecdir): Likewise.
	(toolexeclibdir): Likewise.
	* configure: Regenerate.

2010-12-13  Nathan Froyd  <froydnj@codesourcery.com>

	PR target/46040
	* config/arm/bpabi.h: Rename to...
	* config/arm/bpabi-lib.h: ...this.

2010-12-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure.ac: Use i386/t-crtstuff on i?86-*-solaris2* if
	appropriate.
	* configure: Regenerate.

2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>

	* config/libbid/bid_conf.h (BID_BIG_ENDIAN): Define in terms of
	__FLOAT_WORD_ORDER__.
	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN):
	Delete.

2010-11-20  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/46202
	* Makefile.in (install-strip): New phony target.

2010-11-07  Ian Lance Taylor  <iant@google.com>

	PR target/46089
	* config/i386/morestack.S (__morestack_large_model): New
	function.

2010-10-23  Nathan Froyd  <froydnj@codesourcery.com>

	* config/libbid/bid_gcc_intrinsics.h (LIBGCC2_WORDS_BIG_ENDIAN):
	Delete.
	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.

2010-10-14  Nathan Froyd  <froydnj@codesourcery.com>

	* config/arm/bpabi.h: New file.
	* config/frv/frv-abi.h: New file.

2010-10-01  Ian Lance Taylor  <iant@google.com>

	* config/t-stack(LIB2ADD_ST): Set instead of LIB2ADD.
	* config/i386/t-stack-i386 (LIB2ADD_ST): Likewise.

2010-10-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45858
	* config.host: Add the missing `$'.

2010-09-30  Michael Eager  <eager@eagercon.com>

	* config.host: Add microblaze*-*-*.
	* config/microblaze/{divsi3.asm,divsi3_table.c,moddi3.asm,modsi3.asm,
	muldi3_hard.asm,mulsi3.asm,stack_overflow_exit.asm,t-microblaze,
	udivsi3.asm,umodsi3.asm}:  New.

2010-09-28  Ian Lance Taylor  <iant@google.com>

	* configure.ac: Adjust CFI test to test assembler directly rather
	than checking gcc preprocessor macro.
	* configure: Rebuild.

2010-09-27  Ian Lance Taylor  <iant@google.com>

	* configure.ac: Test whether assembler supports CFI directives.
	* config.host: Only add t-stack and i386/t-stack-i386 to
	tmake_file if libgcc_cv_cfi is "yes".
	* configure: Rebuild.

2010-09-27  Ian Lance Taylor  <iant@google.com>

	* generic-morestack.h: New file.
	* generic-morestack.c: New file.
	* generic-morestack-thread.c: New file.
	* config/i386/morestack.S: New file.
	* config/t-stack: New file.
	* config/i386/t-stack-i386: New file.
	* config.host (i[34567]86-*-linux* and friends): Add t-stack and
	i386/t-stack-i386 to tmake_file.

2010-09-21  Iain Sandoe  <iains@gcc.gnu.org>

	* Makefile.in (libgcc-extra-parts):  Check for static archives and
	invoke ranlib after installing them.
	(gcc-extra-parts): Likewise.
	(install-leaf): Likewise.

2010-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2010-09-10  Kai Tietz  <kai.tietz@onevision.com>

	* configure: Regenerated.

2010-09-09  Gerald Pfeifer  <gerald@pfeifer.com>
	    Andrew Pinski  <pinskia@gmail.com>

	PR target/40959
	* config.host (ia64*-*-freebsd*): Set extra_parts.  Set tmake_file.

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* configure: Regenerated.

2010-09-06  Andreas Schwab  <schwab@redhat.com>

	* configure: Regenerate.

2010-09-03  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/t-sol2 (__copysigntf3, __fabstf3): Disable for
	64bit targets.
	(__fixtfti, __fixunstfti, __floattitf, __floatuntitf): Enable only
	for 64bit targets.

2010-09-03  Uros Bizjak  <ubizjak@gmail.com>
	    Iain Sandoe  <iains@gcc.gnu.org>

	PR target/45476
	* Makefile.in (sifuncs, difuncs, tifuncs): Filter out
	LIB2FUNCS_EXCLUDE functions.

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	Include dfp.m4.
	* configure: Regenerate.

2010-09-01  Uros Bizjak  <ubizjak@gmail.com>

	* config.host (i[34567]86-*-freebsd*, x86_64-*-freebsd*): Add
	i386/t-freebsd to tmake_file.
	* config/i386/t-freebsd: New file.
	* config/i386/libgcc-bsd.ver: New file.

2010-07-23  Nathan Froyd  <froydnj@codesourcery.com>

	* config.host (powerpc*-eabispe*): Set tmake_file.
	(powerpc*-eabi*): Likewise.
	* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
	crtbeginS, crtendS, crtbeginT.

2010-06-12  Kazu Hirata  <kazu@codesourcery.com>

	* config.host (mips64*-*-linux*, mips*-*-linux*): Add mips/t-crtfm
	to tmake_file.  Add crtfastmath.o to extra_parts.
	* config/mips/t-crtfm: New.

2010-05-19  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host (sparc64-*-rtems*): New target.

2010-05-19  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
	assembler syntax.

2010-04-15  Thomas Schwinge  <tschwinge@gnu.org>

	* config.host <i[34567]86-*-gnu*>: Handle softfp as for Linux.

2010-04-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config.host (alpha*-dec-osf[45]*): Removed alpha*-dec-osf4*,
	alpha-dec-osf5.0* support.

2010-04-01  Ralf Corsépius  <ralf.corsepius@rtems.org>

	* config.host: Add lm32-*-rtems*.

2010-03-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
	    Uros Bizjak  <ubizjak@gmail.com>

	PR target/39048
	* config.host (i[34567]86-*-solaris2): Handle 32-bit Solaris 2/x86
	like other remaining 32-bit x86 OSes.
	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS): Support Sun
	assembler syntax.
	* config/i386/libgcc-sol2.ver: New file.
	* config/i386/t-sol2 (SHLIB_MAPFILES): Add it.

2010-03-30  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR c/43553
	* Makefile.in (INTERNAL_CFLAGS): Add @set_use_emutls@.
	* configure.ac: Use GCC_CHECK_EMUTLS to see if emulated TLS
	is used and substitute set_use_emutls.
	* configure: Regenerated.

2010-03-30  Tarik Graba  <tarik.graba@telecom-paristech.fr>

	* config/lm32/t-lm32: Remove misplaced MULTILIB_OPTIONS.

2010-03-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR target/38085
	* config/i386/t-sol2 ($(T)gmon.o): Use CFLAGS instead of
	MULTILIB_CFLAGS.
	($(T)gcrt1.o): Likewise.
	($(T)crt1.o): Likewise.
	($(T)crti.o): Likewise.
	($(T)crtn.o): Likewise.

2010-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	PR other/42980
	* Makefile.in (install): Use $(MAKE) string in rule, for
	parallel make.

2010-02-22  Hans-Peter Nilsson  <hp@bitrange.com>

	Migrate from broken pre-libgcc legacy support to libgcc-centric rules.
	* config/mmix/t-mmix: New file.
	* config.host <mmix-knuth-mmixware> (extra_parts, tmake_file): Set.

2010-02-02  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR java/41991
	* config/t-slibgcc-darwin: Add libgcc-libsystem.ver to
	SHLIB_MAPFILES.

2010-01-04  Anthony Green  <green@moxielogic.com>

	* config/moxie/crti.asm, config/moxie/crtn.asm,
	config/moxie/t-moxie-softfp, config/moxie/sfp-machine.h,
	config/moxie/t-moxie: New files.
	* config.host: Add t-moxie-softfp reference.

2009-11-18  Iain Sandoe  <iain.sandoe@sandoe-acoustics.co.uk>

	PR other/39888
	* config/t-slibgcc-darwin: Fix embedded rpaths for
	--enable-version-specific-runtime-libs, build extension stub
	libs exposing features available from current libgcc_s.

2009-11-11  Jon Beniston  <jon@beniston.com>

	* config.host: Add lm32 targets.
	* config/lm32: New directory.
	* config/lm32/libgcc_lm32.h: New file.
	* config/lm32/_mulsi3.c: New file.
	* config/lm32/_udivmodsi4.c: New file.
	* config/lm32/_divsi3.c: New file.
	* config/lm32/_modsi3.c: New file.
	* config/lm32/_udivsi3.c: New file.
	* config/lm32/_umodsi3.c: New file.
	* config/lm32/_lshrsi3.S: New file.
	* config/lm32/_ashrsi3.S: New file.
	* config/lm32/_ashlsi3.S: New file.
	* config/lm32/crti.S: New file.
	* config/lm32/crtn.S: New file.
	* config/lm32/t-lm32: New file.
	* config/lm32/t-elf: New file.
	* config/lm32/t-uclinux: New file.

2009-10-26  Nick Clifton  <nickc@redhat.com>

	* config.host: Add support for RX target.
	* config/rx: New directory.
	* config/rx/rx-abi-functions.c: New file. Supplementary
	functions for libgcc to support the RX ABI.
	* config/rx/rx-abi.h: New file.  Supplementary header file for
	libgcc RX ABI functions.
	* config/rx/t-rx: New file: Makefile fragment for building
	libgcc for the RX.

2009-10-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (__FP_FRAC_SUB_4): Change operand
	constraint of y0 to "g".

2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config.host: Include the s390 makefile fragments.
	* config/s390/32/_fixdfdi.c: New file.
	* config/s390/32/_fixsfdi.c: New file.
	* config/s390/32/_fixtfdi.c: New file.
	* config/s390/32/_fixunsdfdi.c: New file.
	* config/s390/32/_fixunssfdi.c: New file.
	* config/s390/32/_fixunstfdi.c: New file.
	* config/s390/32/t-floattodi: New file.
	* config/s390/libgcc-glibc.ver: New file.
	* config/s390/t-crtstuff: New file.
	* config/s390/t-linux: New file.
	* config/s390/t-tpf: New file.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac (AC_PREREQ): Bump to 2.64.

2009-08-22  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/t-linux (HOST_LIBGCC2_CFLAGS): Add -mieee.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-08-09  Douglas B Rupp  <rupp@gnat.com>

	* config.host (ia64-hp-*vms*): New target.
	(alpha64-dec-*vms*,alpha*-dec-*vms*): Fix for config/vms and unify
	with ia64-hp-*vms*.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: Add snippet for maintainer-mode.
	* configure: Regenerate.
	* Makefile.in (AUTOCONF, configure_deps): New variables.
	($(srcdir)/configure)): New rule, active only with maintainer
	mode turned on.

2009-06-23  DJ Delorie  <dj@redhat.com>

	Add MeP port.
	* config.host: Add mep support.

2009-06-22  Kai Tietz  <kai.tietz@onevision.com>

	* config.host: Add i386/${host_address}/t-fprules-softfp and
	t-softfp to tmake_file for i[34567]86-*-mingw*, x86_64-*-mingw*.

	* config/i386/64/_divtc3.c: Disable usage of .symver assembly symbol
	for mingw targets.
	* config/i386/64/_multc3.c: Likewise.
	* config/i386/64/_powitf2.c: Likewise.
	* config/i386/64/eqtf2.c: Likewise.
	* config/i386/64/getf2.c: Likewise.
	* config/i386/64/letf2.c: Likewise.
	* config/i386/64/letf2.c: Likewise.
	* config/i386/64/sfp-machine.h (_FP_W_TYPE): Define as
	unsigned long long for x64 mingw targets.
	(_FP_WS_TYPE): Define as signed long long for x64 mingw target.
	(_FP_I_TYPE): Define as long long for x64 mingw target.

2009-06-10  Maciej W. Rozycki  <macro@linux-mips.org>

	* config.host (vax-*-linux*): New.

2009-05-31  Anthony Green  <green@moxielogic.com>

	* config.host: Add moxie support.
	* config/moxie/t-moxie: New file.

2009-05-29  David Billinghurst  <billingd@gcc.gnu.org>

	* config.host: Add i386/${host_address}/t-fprules-softfp and
	t-softfp to tmake_file for i[34567]86-*-cygwin*.

2009-04-17  Aurelien Jarno  <aurelien@aurel32.net>

	* config.host: Add i386/${host_address}/t-fprules-softfp to
	tmake_file for i[34567]86-*-kfreebsd*-gnu, x86_64-*-kfreebsd*-gnu*.

2009-04-09  Nick Clifton  <nickc@redhat.com>

	* config/ia64/tf-signs.c: Change copyright header to refer to
	version 3 of the GNU General Public License with version 3.1
	of the GCC Runtime Library Exception and to point readers at
	the COPYING3 and COPYING3.RUNTIME files and the FSF's license
	web page.
	* config/i386/32/tf-signs.c: Likewise.
	* config/libbid/_addsub_dd.c: Likewise.
	* config/libbid/_addsub_sd.c: Likewise.
	* config/libbid/_addsub_td.c: Likewise.
	* config/libbid/_dd_to_df.c: Likewise.
	* config/libbid/_dd_to_di.c: Likewise.
	* config/libbid/_dd_to_sd.c: Likewise.
	* config/libbid/_dd_to_sf.c: Likewise.
	* config/libbid/_dd_to_si.c: Likewise.
	* config/libbid/_dd_to_td.c: Likewise.
	* config/libbid/_dd_to_tf.c: Likewise.
	* config/libbid/_dd_to_udi.c: Likewise.
	* config/libbid/_dd_to_usi.c: Likewise.
	* config/libbid/_dd_to_xf.c: Likewise.
	* config/libbid/_df_to_dd.c: Likewise.
	* config/libbid/_df_to_sd.c: Likewise.
	* config/libbid/_df_to_td.c: Likewise.
	* config/libbid/_di_to_dd.c: Likewise.
	* config/libbid/_di_to_sd.c: Likewise.
	* config/libbid/_di_to_td.c: Likewise.
	* config/libbid/_div_dd.c: Likewise.
	* config/libbid/_div_sd.c: Likewise.
	* config/libbid/_div_td.c: Likewise.
	* config/libbid/_eq_dd.c: Likewise.
	* config/libbid/_eq_sd.c: Likewise.
	* config/libbid/_eq_td.c: Likewise.
	* config/libbid/_ge_dd.c: Likewise.
	* config/libbid/_ge_sd.c: Likewise.
	* config/libbid/_ge_td.c: Likewise.
	* config/libbid/_gt_dd.c: Likewise.
	* config/libbid/_gt_sd.c: Likewise.
	* config/libbid/_gt_td.c: Likewise.
	* config/libbid/_isinfd128.c: Likewise.
	* config/libbid/_isinfd32.c: Likewise.
	* config/libbid/_isinfd64.c: Likewise.
	* config/libbid/_le_dd.c: Likewise.
	* config/libbid/_le_sd.c: Likewise.
	* config/libbid/_le_td.c: Likewise.
	* config/libbid/_lt_dd.c: Likewise.
	* config/libbid/_lt_sd.c: Likewise.
	* config/libbid/_lt_td.c: Likewise.
	* config/libbid/_mul_dd.c: Likewise.
	* config/libbid/_mul_sd.c: Likewise.
	* config/libbid/_mul_td.c: Likewise.
	* config/libbid/_ne_dd.c: Likewise.
	* config/libbid/_ne_sd.c: Likewise.
	* config/libbid/_ne_td.c: Likewise.
	* config/libbid/_sd_to_dd.c: Likewise.
	* config/libbid/_sd_to_df.c: Likewise.
	* config/libbid/_sd_to_di.c: Likewise.
	* config/libbid/_sd_to_sf.c: Likewise.
	* config/libbid/_sd_to_si.c: Likewise.
	* config/libbid/_sd_to_td.c: Likewise.
	* config/libbid/_sd_to_tf.c: Likewise.
	* config/libbid/_sd_to_udi.c: Likewise.
	* config/libbid/_sd_to_usi.c: Likewise.
	* config/libbid/_sd_to_xf.c: Likewise.
	* config/libbid/_sf_to_dd.c: Likewise.
	* config/libbid/_sf_to_sd.c: Likewise.
	* config/libbid/_sf_to_td.c: Likewise.
	* config/libbid/_si_to_dd.c: Likewise.
	* config/libbid/_si_to_sd.c: Likewise.
	* config/libbid/_si_to_td.c: Likewise.
	* config/libbid/_td_to_dd.c: Likewise.
	* config/libbid/_td_to_df.c: Likewise.
	* config/libbid/_td_to_di.c: Likewise.
	* config/libbid/_td_to_sd.c: Likewise.
	* config/libbid/_td_to_sf.c: Likewise.
	* config/libbid/_td_to_si.c: Likewise.
	* config/libbid/_td_to_tf.c: Likewise.
	* config/libbid/_td_to_udi.c: Likewise.
	* config/libbid/_td_to_usi.c: Likewise.
	* config/libbid/_td_to_xf.c: Likewise.
	* config/libbid/_tf_to_dd.c: Likewise.
	* config/libbid/_tf_to_sd.c: Likewise.
	* config/libbid/_tf_to_td.c: Likewise.
	* config/libbid/_udi_to_dd.c: Likewise.
	* config/libbid/_udi_to_sd.c: Likewise.
	* config/libbid/_udi_to_td.c: Likewise.
	* config/libbid/_unord_dd.c: Likewise.
	* config/libbid/_unord_sd.c: Likewise.
	* config/libbid/_unord_td.c: Likewise.
	* config/libbid/_usi_to_dd.c: Likewise.
	* config/libbid/_usi_to_sd.c: Likewise.
	* config/libbid/_usi_to_td.c: Likewise.
	* config/libbid/_xf_to_dd.c: Likewise.
	* config/libbid/_xf_to_sd.c: Likewise.
	* config/libbid/_xf_to_td.c: Likewise.
	* config/libbid/bid128.c: Likewise.
	* config/libbid/bid128_2_str.h: Likewise.
	* config/libbid/bid128_2_str_macros.h: Likewise.
	* config/libbid/bid128_2_str_tables.c: Likewise.
	* config/libbid/bid128_add.c: Likewise.
	* config/libbid/bid128_compare.c: Likewise.
	* config/libbid/bid128_div.c: Likewise.
	* config/libbid/bid128_fma.c: Likewise.
	* config/libbid/bid128_logb.c: Likewise.
	* config/libbid/bid128_minmax.c: Likewise.
	* config/libbid/bid128_mul.c: Likewise.
	* config/libbid/bid128_next.c: Likewise.
	* config/libbid/bid128_noncomp.c: Likewise.
	* config/libbid/bid128_quantize.c: Likewise.
	* config/libbid/bid128_rem.c: Likewise.
	* config/libbid/bid128_round_integral.c: Likewise.
	* config/libbid/bid128_scalb.c: Likewise.
	* config/libbid/bid128_sqrt.c: Likewise.
	* config/libbid/bid128_string.c: Likewise.
	* config/libbid/bid128_to_int16.c: Likewise.
	* config/libbid/bid128_to_int32.c: Likewise.
	* config/libbid/bid128_to_int64.c: Likewise.
	* config/libbid/bid128_to_int8.c: Likewise.
	* config/libbid/bid128_to_uint16.c: Likewise.
	* config/libbid/bid128_to_uint32.c: Likewise.
	* config/libbid/bid128_to_uint64.c: Likewise.
	* config/libbid/bid128_to_uint8.c: Likewise.
	* config/libbid/bid32_to_bid128.c: Likewise.
	* config/libbid/bid32_to_bid64.c: Likewise.
	* config/libbid/bid64_add.c: Likewise.
	* config/libbid/bid64_compare.c: Likewise.
	* config/libbid/bid64_div.c: Likewise.
	* config/libbid/bid64_fma.c: Likewise.
	* config/libbid/bid64_logb.c: Likewise.
	* config/libbid/bid64_minmax.c: Likewise.
	* config/libbid/bid64_mul.c: Likewise.
	* config/libbid/bid64_next.c: Likewise.
	* config/libbid/bid64_noncomp.c: Likewise.
	* config/libbid/bid64_quantize.c: Likewise.
	* config/libbid/bid64_rem.c: Likewise.
	* config/libbid/bid64_round_integral.c: Likewise.
	* config/libbid/bid64_scalb.c: Likewise.
	* config/libbid/bid64_sqrt.c: Likewise.
	* config/libbid/bid64_string.c: Likewise.
	* config/libbid/bid64_to_bid128.c: Likewise.
	* config/libbid/bid64_to_int16.c: Likewise.
	* config/libbid/bid64_to_int32.c: Likewise.
	* config/libbid/bid64_to_int64.c: Likewise.
	* config/libbid/bid64_to_int8.c: Likewise.
	* config/libbid/bid64_to_uint16.c: Likewise.
	* config/libbid/bid64_to_uint32.c: Likewise.
	* config/libbid/bid64_to_uint64.c: Likewise.
	* config/libbid/bid64_to_uint8.c: Likewise.
	* config/libbid/bid_b2d.h: Likewise.
	* config/libbid/bid_binarydecimal.c: Likewise.
	* config/libbid/bid_conf.h: Likewise.
	* config/libbid/bid_convert_data.c: Likewise.
	* config/libbid/bid_decimal_data.c: Likewise.
	* config/libbid/bid_decimal_globals.c: Likewise.
	* config/libbid/bid_div_macros.h: Likewise.
	* config/libbid/bid_dpd.c: Likewise.
	* config/libbid/bid_flag_operations.c: Likewise.
	* config/libbid/bid_from_int.c: Likewise.
	* config/libbid/bid_functions.h: Likewise.
	* config/libbid/bid_gcc_intrinsics.h: Likewise.
	* config/libbid/bid_inline_add.h: Likewise.
	* config/libbid/bid_internal.h: Likewise.
	* config/libbid/bid_round.c: Likewise.
	* config/libbid/bid_sqrt_macros.h: Likewise.

2009-04-09  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.in: Change copyright header to refer to version
	3 of the GNU General Public License and to point readers at the
	COPYING3 file and the FSF's license web page.
	* config.host: Likewise.

2009-04-07  Alan Modra  <amodra@bigpond.net.au>

	* config.host: Reorder and merge to match config.gcc change.

2009-04-03  Alan Modra  <amodra@bigpond.net.au>

	* config.host (powerpc-*-linux*altivec*, powerpc-*-linux*spe): Delete.

2009-03-28  Joseph Myers  <joseph@codesourcery.com>

	* config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof,
	armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*,
	m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*,
	powerpc-ibm-aix4.[12]*, sh-*-*): Remove.

2009-02-12  Uros Bizjak  <ubizjak@gmail.com>

	* config.host (ia64*-*-linux*): Add t-softfp to tmake_file.
	* config/ia64/tf-signs.c (__copysigntf3, __fabstf2): Prototype.

2009-02-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config.host (ia64*-*-linux*): Add ia64/t-fprules-softfp and
	ia64/t-softfp-compat to tmake_file.

	* 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.

2009-01-18  Ben Elliston  <bje@au.ibm.com>

	* config/i386/32/tf-signs.c (__copysigntf3, __fabstf2): Prototype.

2009-01-16  Ben Elliston  <bje@au.ibm.com>

	* config.host (i[34567]86-*-linux*, x86_64-*-linux*): Add t-softfp
	to tmake_file.

2009-01-13  Ben Elliston  <bje@au.ibm.com>

	* config/t-softfp: New file.
	* config.host (powerpc64-*-linux*, powerpc64-*-gnu*): Add t-softfp.
	(powerpc-*-linux*spe*, powerpc-*-linux*): Likewise.

2009-01-05  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host: Add m32r*-*-rtems*.

2008-12-01  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* config.host: Add m32c*-*-rtems*.

2008-11-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	PR bootstrap/33100
	* configure.ac (i?86-*-solaris2.1[0-9]*): Only include
	i386/t-crtstuff if linker supports ZERO terminator unwind entries.
	* configure: Regenerate.
	* config.host (i[34567]86-*-solaris2*): Move i386/t-sol2 in
	tmake_file here from gcc/config.gcc.
	Move extra_parts here from gcc/config.gcc.
	* config/i386/t-sol2: Move here from gcc/config/i386.
	Use gcc_srcdir instead of srcdir.

2008-11-18  Adam Nemet  <anemet@caviumnetworks.com>

	* config.host (mipsisa64r2-*-elf* | mipsisa64r2el-*-elf*): New
	case.

2008-11-09  Thomas Schwinge  <tschwinge@gnu.org>

	* config.host <t-tls>: Also enable for GNU/kFreeBSD and GNU/kNetBSD.

2008-10-08  Thomas Schwinge  <tschwinge@gnu.org>

	* config.host: Fold `*-*-gnu*' cases into the Linux ones.

2008-09-03  Hari Sandanagobalane  <hariharan@picochip.com>

	Add picoChip port.
	* config.host: Add picochip-*-*.

2008-08-06  Bob Wilson  <bob.wilson@acm.org>

	* config.host: Match more processor names for Xtensa.

2008-07-08  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/64/t-softfp-compat: Update comments.

2008-07-07  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/64/_divtc3-compat.c: Moved to ...
	* config/i386/64/_divtc3.c: Here.

	* config/i386/64/_multc3-compat.c: Moved to ...
	* config/i386/64/_multc3.c: Here.

	* config/i386/64/_powitf2-compat.c: Moved to ...
	* config/i386/64/_powitf2.c: Here.

	* config/i386/64/t-softfp-compat (libgcc2-tf-compats): Add
	.c suffix instead of -compat.c.

2008-07-05  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (_FP_MUL_MEAT_S): Remove.
	(_FP_MUL_MEAT_D): Ditto.
	(_FP_DIV_MEAT_S): Ditto.
	(_FP_DIV_MEAT_D): Ditto.

2008-07-03  Richard Sandiford  <rdsandiford@googlemail.com>

	* Makefile.in: Add support for __sync_* libgcc functions.

2008-07-03  H.J. Lu  <hongjiu.lu@intel.com>

	* shared-object.mk ($(base)_s$(objext)): Remove -DSHARED.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR boostrap/36702
	* config.host: Only include 32bit t-fprules-softfp for Darwin/x86
	and Linux/x86.  Include 64bit t-softfp-compat for Linux/x86.

	* config/i386/64/t-fprules-softfp: Moved to ...
	* config/i386/64/t-softfp-compat: This.  New.

2008-07-02  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h (FP_HANDLE_EXCEPTIONS) [FP_EX_INVALID]:
	Initialize f with 0.0.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/36669
	* shared-object.mk ($(base)_s$(objext)): Add -DSHARED.

	* config/i386/64/_divtc3-compat.c: New.
	* config/i386/64/_multc3-compat.c: Likewise.
	* config/i386/64/_powitf2-compat.c: Likewise.
	* config/i386/64/eqtf2.c: Likewise.
	* config/i386/64/getf2.c: Likewise.
	* config/i386/64/letf2.c: Likewise.
	* config/i386/64/t-fprules-softfp: Likewise.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>

	* config.host: Add i386/${host_address}/t-fprules-softfp to
	tmake_file for i[34567]86-*-darwin*, x86_64-*-darwin*,
	i[34567]86-*-linux*, x86_64-*-linux*.

	* configure.ac: Set host_address to 64 or 32 for x86.
	* configure: Regenerated.

	* Makefile.in (config.status): Also depend on
	$(srcdir)/config.host.

	* config/i386/32/t-fprules-softfp: New.
	* config/i386/32/tf-signs.c: Likewise.

	* config/i386/64/sfp-machine.h: New. Moved from gcc.

2008-07-02  H.J. Lu  <hongjiu.lu@intel.com>
	    Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/32/sfp-machine.h: New.

2008-06-26  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/t-ppccomm: Remove rules that conflict with
	auto-generated rules.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac: sinclude override.m4.
	* configure: Regenerate.

2008-06-11  Bernhard Fischer  <aldot@gcc.gnu.org>

	* configure: Regenerate.

2008-06-10  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (DECNUMINC): Remove
	-I$(MULTIBUILDTOP)../../libdecnumber.
	* gstdint.h: New.

2008-06-07  Joseph Myers  <joseph@codesourcery.com>

	* config.host (strongarm*-*-*, ep9312*-*-*, xscale-*-*,
	parisc*-*-*, m680[012]0-*-*, *-*-linux*libc1*, *-*-linux*aout*,
	alpha*-*-unicosmk*, strongarm*-*-freebsd*, ep9312-*-elf,
	arm*-*-kaos*, cris-*-aout, parisc*64*-*-linux*, parisc*-*-linux*,
	hppa1.1-*-pro*, hppa1.1-*-osf*, hppa1.1-*-bsd*,
	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-sco3.2v5*,
	i[34567]86-*-sysv5*, i[34567]86-*-sysv4*, i[34567]86-*-uwin*,
	i[34567]86-*-kaos*, m68020-*-elf*, m68010-*-netbsdelf*,
	mips-wrs-windiss, mt-*-elf, powerpc-*-beos*, powerpc-*-chorusos*,
	powerpc-wrs-windiss*, powerpcle-*-sysv*, powerpc-*-kaos*,
	powerpcle-*-kaos*, sh*-*-kaos*, sparc-*-sysv4*, strongarm-*-elf*,
	strongarm-*-pe, strongarm-*-kaos*, vax-*-bsd*, vax-*-sysv*,
	vax-*-ultrix*, xscale-*-elf, xscale-*-coff): Remove.

2008-05-25  Arthur Loiret  <arthur.loiret@u-psud.fr>

	* config.host (sh2[lbe]*-*-linux*): Allow target.

2008-04-30  Nathan Froyd  <froydnj@codesourcery.com>

	* config/rs6000/t-ppccomm: Add build rules for new files.
	(LIB2ADD_ST): New variable.

2008-04-07  Andy Hutchinson  <hutchinsonandy@aim.com>

	PR target/34210
	PR target/35508
	* config.host (avr-*-*): Add avr cpu_type and avr tmake_file.
	* config/t-avr: New file. Build 16bit libgcc functions.

2008-03-02  Jakub Jelinek  <jakub@redhat.com>

	PR target/35401
	* config/t-slibgcc-darwin: Make install-leaf dependent on
	install-darwin-libgcc-stubs instead of install.

2008-01-25  Joseph Myers  <joseph@codesourcery.com>

	* config.host (tic4x-*-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*,
	tic4x-*, h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*,
	sh-*-rtemscoff*): Remove cases.

2007-12-27  Richard Sandiford  <rsandifo@nildram.co.uk>

	* Makefile.in (all): Use install-leaf rather than install.
	(install): Split most of the rule into...
	(install-leaf): ...this new one.

2007-12-19  Etsushi Kato  <ek.kato@gmail.com>
	    Paolo Bonzini  <bonzini@gnu.org>

	PR target/30572
	* Makefile.in: Use @shlib_slibdir@ substitution to get
	correct install name on darwin.
	* config/t-slibgcc-darwin: Use @shlib_slibdir@ for -install_name.

2007-12-15  Hans-Peter Nilsson  <hp@axis.com>

	* config.host (crisv32-*-elf, crisv32-*-none): New, same as
	cris-*-elf and cris-*-none.
	(crisv32-*-linux*): Similar, as cris-*-linux*.

2007-11-20  Rask Ingemann Lambertsen  <rask@sygehus.dk>

	* config.host (ia64*-*-elf*): Build ia64 specific libgcc parts.

2007-10-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR regression/33926
	* configure.ac: Replace have_cc_tls with gcc_cv_have_cc_tls.
	* configure: Regenerated.

2007-09-27  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (dfp-filenames): Replace decimal_globals,
	decimal_data, binarydecimal and convert_data with
	bid_decimal_globals, bid_decimal_data, bid_binarydecimal
	and bid_convert_data, respectively.

2007-09-17  Chao-ying Fu  <fu@mips.com>
	    Nigel Stephens  <nigel@mips.com>

	* fixed-obj.mk: New file to support fine-grain fixed-point functions.
	* Makefile.in (fixed_point): Define.
	Check if fixed_point is yes to build support functions.
	* configure.ac: Check for fixed_point support.
	* configure: Regenerated.
	* gen-fixed.sh: New file to generate lists of fixed-point labels,
	funcs, modes, from, to.

2007-09-11  Janis Johnson  <janis187@us.ibm.com

	* Makefile.in (dfp-filenames): Add bid128_noncomp.

2007-09-10  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (dfp-filenames): Remove decUtility, add
	decDouble, decPacked, decQuad, decSingle.

2007-08-27  Hans Kester  <hans.kester@ellips.nl>

	* config.host : Add x86_64-elf target.

2007-07-06  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac (set_have_cc_tls): Add a missing =.
	* configure: Regenerated.

2007-07-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config.host (tmake_file): Add t-tls for i[34567]86-*-linux*
	and x86_64-*-linux*.

	* config/t-tls: New file.

	* Makefile.in (INTERNAL_CFLAGS): Add @set_have_cc_tls@.

	* configure.ac: Include ../config/enable.m4 and
	../config/tls.m4.  Use GCC_CHECK_CC_TLS to check if assembler
	supports TLS and substitute set_have_cc_tls.
	* configure: Regenerated.

2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in: Use libbid for DFP when BID is enabled.

2007-06-14  Danny Smith  <dannysmith@users.sourceforge.net>

	* config.host(*-cygwin* |*-mingw* ): Add crtbegin.o, crtend.o to
	extra_parts. Add config/i386/t-cygming to tmake_file.
	* config/i386/t-cygming: New file with rules for crtbegin.o, crtend.o.

2007-05-29  Zuxy Meng  <zuxy.meng@gmail.com>
	    Danny Smith  <dannysmith@users.sourceforge.net>

	PR target/29498
	* config.host (i[34567]86-*-cygwin* | i[34567]86-*-mingw*) Add
	crtfastmath.o to extra_parts.  Add i386/t-crtfm to tmake_file.
	* config/i386/t-crtfm: Compile crtfastmath.o with
	-minline-all-stringops.

2007-05-10  Richard Sandiford  <richard@codesourcery.com>

	* config.host (sparc-wrs-vxworks): New target.

2007-04-14  Kazu Hirata  <kazu@codesourcery.com>

	* config.host: Recognize fido.

2007-04-04  Janis Johnson  <janis187@us.ibm.com>

	* configure: Check host, not target, for decimal float support.

2007-04-03  Uros Bizjak  <ubizjak@gmail.com>

	* config/i386/t-crtpc: New file.
	* config.host (i[34567]86-*-linux*): Add i386/t-crtpc to tm-file.
	(x86_64-*-linux*): Ditto.

2007-02-30  Kai Tietz  <kai.tietz@onevision.com>

	* config.host (x86_64-*-mingw*): New target.

2007-03-23  Michael Meissner  <michael.meissner@amd.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (enable_decimal_float): New.
	(DECNUMINC): Add
	-I$(srcdir)/../libdecnumber/$(enable_decimal_float).
	(dec-objects): Move decimal32, decimal64 and decimal128 to ...
	(decbits-filenames): This.
	(decbits-objects): New.
	(libgcc-objects): Add $(decbits-objects).

	* configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}.
	Substitute enable_decimal_float.
	* configure: Regenerated.

2007-03-19  Hans-Peter Nilsson  <hp@axis.com>

	* config.host (cris-*-elf | cris-*-none): Set extra_parts.

2007-03-12  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in (install-info): New dummy target.

2007-03-05  Bernd Schmidt  <bernd.schmidt@analog.com>

	* config.host (bfin*-linux-uclibc*): Set extra_parts.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add install-html and install-pdf dummy
	targets.

2007-02-05  Roger Sayle  <roger@eyesopen.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in <LIBUNWIND>: Make libgcc_s.so depend on libunwind.so.
	(libgcc_s.so): Append -B./ to CFLAGS for $(SHLIB_LINK).
	(libunwind.so): Likewise for $(SHLIBUNWIND_LINK).

2007-01-29  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (dec-filenames): Add decExcept.

2007-01-28  Daniel Jacobowitz  <dan@codesourcery.com>

	PR bootstrap/30469
	* Makefile.in (CFLAGS): Forcibly remove -fprofile-generate and
	-fprofile-use.

2007-01-25  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.ac: Add --enable-version-specific-runtime-libs.
	Correct $slibdir default.
	* configure: Regenerated.

2007-01-23  Joseph Myers  <joseph@codesourcery.com>

	* config/rs6000/t-ldbl128: Always use -mlong-double-128.

2007-01-21  Andrew Pinski  <pinskia@gmail.com>

	PR target/30519
	* config.host (alpha*-*-linux*): Set extra_parts.

2007-01-09  Kaz Kojima  <kkojima@gcc.gnu.org>

	* config/sh/t-linux: New.
	* config.host (sh*-*-linux*): Set tmake_file.

2007-01-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (install): Handle multilibs.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Added .PHONY entry for documentation targets.

2007-01-04  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add empty info, html, dvi, pdf targets.

2007-01-04  Mike Stump  <mrs@apple.com>

	* Makefile.in (MAKEINFO): Remove.
	(PERL): Likewise.

2007-01-04  Paolo Bonzini  <bonzini@gnu.org>

	* configure.ac: Add GCC_TOPLEV_SUBDIRS.
	* configure: Regenerate.
	* Makefile.in (host_subdir): Substitute it.
	(gcc_objdir): Use it.

2007-01-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* config.host (ia64*-*-linux*): Set tmake_file.

2007-01-04  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.in (version): Define.

2007-01-03  Daniel Jacobowitz  <dan@codesourcery.com>
	    Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
	config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
	config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
	config/sparc/t-crtfm, config/t-slibgcc-darwin,
	config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
	shared-object.mk, siditi-object.mk, static-object.mk: New files.
	* configure: Generated.

Copyright (C) 2007-2026 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
