2019-11-14  Release Manager

	* GCC 7.5.0 released.

2018-12-06  Release Manager

	* GCC 7.4.0 released.

2018-06-22  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	Backport from mainline
	2018-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/exch_n.c: New file.
	* configure.tgt: Add the config directory for s390.

2018-01-25  Release Manager

	* GCC 7.3.0 released.

2017-08-14  Release Manager

	* GCC 7.2.0 released.

2017-05-02  Release Manager

	* GCC 7.1.0 released.

2017-02-06  Palmer Dabbelt <palmer@dabbelt.com>

	* configure.tgt: Add RISC-V tuple.

2017-02-01  Richard Henderson  <rth@redhat.com>
            Torvald Riegel  <triegel@redhat.com>

	* acinclude.m4: Add #define FAST_ATOMIC_LDST_*.
	* auto-config.h.in: Regenerate.
	* config/x86/host-config.h (FAST_ATOMIC_LDST_16): Define to 0.
	(atomic_compare_exchange_n): New.
	* glfree.c (EXACT, LARGER): Change condition and add comments.

2017-01-30  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR target/78945
	* config/arm/exch_n.c (libat_exchange): Check __ARM_FEATURE_SIMD32.

2017-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
	of cat to get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.

2017-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

2017-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

2016-04-27  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* configure.tgt (configure_tgt_pre_target_cpu_XCFLAGS): New variable.
	(*-*-rtems*): New supported target.
	* config/rtems/host-config.h: New file.
	* config/rtems/lock.c: Likewise.

2016-04-25  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/70454
	* configure.tgt (XCFLAGS): Revert the last change.

2016-04-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/70454
	* configure.tgt (XCFLAGS): Don't add -march=i486 to compile
	32-bit x86 target library on x86-64.

2016-01-06  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	PR other/67627
	* Makefile.am (all-multi): Add dependency.
	* Makefile.in: Regenerate.

2016-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2015-11-18  Joseph Myers  <joseph@codesourcery.com>

	PR c/65083
	* fence.c, flag.c: New files.
	* Makefile.am (libatomic_la_SOURCES): Add fence.c and flag.c.
	* Makefile.in: Regenerate.
	* configure.ac (libtool_VERSION): Change to 3:0:2.
	* configure: Regenerate.
	* libatomic.map (LIBATOMIC_1.2): New symbol version.

2015-10-09  David Malcolm  <dmalcolm@redhat.com>

	* testsuite/lib/libatomic.exp: Load multiline.exp before
	prune.exp, using load_gcc_lib.

2015-07-14  John Marino  <gnugcc@marino.st>

	* configure.tgt: Add *-*-dragonfly to supported targets.

2015-01-21  Andrew Waterman <waterman@cs.berkeley.edu>

	* fop_n.c (libat_fetch_op): Align address to word boundary.
	(libat_op_fetch): Likewise.

2015-01-16  Ilya Verbin  <ilya.verbin@intel.com>

	PR testsuite/64605
	* testsuite/lib/libatomic.exp: Do not load gcc-dg.exp.
	* testsuite/libatomic.c/c.exp: Load gcc-dg.exp.

2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>

	* configure.tgt: Exclude arm*-*-freebsd* from try_ifunc.

2015-01-05  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2014-12-12  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* testsuite/lib/libatomic.exp: Load target-utils.exp

2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/63784
	* configure: Regenerated.

2014-11-13  Andrew Waterman <waterman@cs.berkeley.edu>

	* cas_n.c (libat_compare_exchange): Add missing cast.

2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR target/63610
	* configure: Regenerate.

2014-08-19  Yaakov Selkowitz  <yselkowi@redhat.com>

	* configure.tgt: Add cygwin to supported targets.

2014-07-18  Uros Bizjak  <ubizjak@gmail.com>

	* configure.tgt (alpha*): Add -mfp-trap-mode=sui to XCFLAGS.

2014-06-17  Kai Tietz  <ktietz@redhat.com>

	* Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags.
	* configure.ac (ACX_LT_HOST_FLAGS): New.
	(target_thread_file): New.
	* configure.tgt (mingw): Add mingw support.
	* config/mingw/host-config.h: New file.
	* config/mingw/lock.c: Likewise.
	* Makefile.in: Regenerated.
	* configure: Likewise.
	* aclocal.m4: Likewise.
	* testsuite/Makefile.in: Likewise.

2014-02-20  Richard Henderson <rth@redhat.com>

	PR c++/60272
	* cas_n.c (libat_compare_exchange): Conditionalize on failure
	the store back to EPTR.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2013-12-09  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/fenv.c (__atomic_feraiseexcept): Emit SSE
	instructions when __SSE_MATH__ is defined.

2013-11-18  Joseph Myers  <joseph@codesourcery.com>

	* testsuite/libatomic.c/atomic-compare-exchange-1.c,
	testsuite/libatomic.c/atomic-compare-exchange-2.c,
	testsuite/libatomic.c/atomic-compare-exchange-3.c,
	testsuite/libatomic.c/atomic-compare-exchange-4.c,
	testsuite/libatomic.c/atomic-compare-exchange-5.c,
	testsuite/libatomic.c/atomic-exchange-1.c,
	testsuite/libatomic.c/atomic-exchange-2.c,
	testsuite/libatomic.c/atomic-exchange-3.c,
	testsuite/libatomic.c/atomic-exchange-4.c,
	testsuite/libatomic.c/atomic-exchange-5.c,
	testsuite/libatomic.c/atomic-generic.c,
	testsuite/libatomic.c/atomic-load-1.c,
	testsuite/libatomic.c/atomic-load-2.c,
	testsuite/libatomic.c/atomic-load-3.c,
	testsuite/libatomic.c/atomic-load-4.c,
	testsuite/libatomic.c/atomic-load-5.c,
	testsuite/libatomic.c/atomic-op-1.c,
	testsuite/libatomic.c/atomic-op-2.c,
	testsuite/libatomic.c/atomic-op-3.c,
	testsuite/libatomic.c/atomic-op-4.c,
	testsuite/libatomic.c/atomic-op-5.c,
	testsuite/libatomic.c/atomic-store-1.c,
	testsuite/libatomic.c/atomic-store-2.c,
	testsuite/libatomic.c/atomic-store-3.c,
	testsuite/libatomic.c/atomic-store-4.c,
	testsuite/libatomic.c/atomic-store-5.c: Declare main as returning
	int.  Do not require built-in sync support or add target-specific
	options.
	* testsuite/libatomic.c/atomic-exchange-1.c,
	testsuite/libatomic.c/atomic-exchange-2.c,
	testsuite/libatomic.c/atomic-exchange-3.c,
	testsuite/libatomic.c/atomic-exchange-4.c,
	testsuite/libatomic.c/atomic-exchange-5.c: Separate increments of
	count from expression using value of count.

2013-11-10  Uros Bizjak  <ubizjak@gmail.com>

	* config/x86/fenv.c: New file.

2013-11-07  Joseph Myers  <joseph@codesourcery.com>

	* fenv.c: New file.
	* libatomic.map (LIBATOMIC_1.1): New symbol version.  Include
	__atomic_feraiseexcept.
	* configure.ac (libtool_VERSION): Change to 2:0:1.
	(fenv.h): Test for header.
	* Makefile.am (libatomic_la_SOURCES): Add fenv.c.
	* Makefile.in, auto-config.h.in, configure: Regenerate.

2013-10-17  Michael Hudson-Doyle  <michael.hudson@linaro.org>

	* libatomic/configure.tgt (aarch64*): Remove code preventing
	build.

2013-09-20  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-01-14  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years.

2012-12-18  Ian Lance Taylor  <iant@google.com>

	PR go/55201
	* Makefile.am (noinst_LTLIBRARIES): Define new make variable.
	(libatomic_convenience_la_SOURCES): Likewise.
	(libatomic_convenience_la_LIBADD): Likewise.
	* Makefile.in: Rebuild.
	* testsuite/Makefile.in: Rebuild.

2012-12-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* config/arm/arm-config.h (__ARM_ARCH_8A__): New.

2012-11-21  Matthias Klose  <doko@ubuntu.com>

	* configure.tgt (i[3456]86): Handle -mx32 like -m64.

2012-11-04  Thomas Schwinge  <thomas@codesourcery.com>

	* acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
	* configure: Regenerate.

	* configure: Regenerate.

2012-10-23  Sofiane Naci <sofiane.naci@arm.com>

	Mark libatomic unsupported in AArch64.

	* configure.tgt: Mark libatomic unsupported.

2012-09-20  Jakub Jelinek  <jakub@redhat.com>

	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2012-09-14  David Edelsohn  <dje.gcc@gmail.com>

	* configure: Regenerated.

2012-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR other/53231
	* tas_n.c (libat_test_and_set): Correct return.  Remove unused variable.

2012-05-16  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2012-05-10  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR other/53284
	* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
	instead of overriding.
	* configure: Regenerate.

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

	* Makefile.am (libatomic.map-sun): Handle objects in
	libatomic_la_LIBADD.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.

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

	* configure.ac: Add $XPCFLAGS to CFLAGS, not $XCFLAGS.
	* configure: Regenerate.

2012-05-03  Richard Henderson  <rth@redhat.com>

	* configure.ac (AM_MAINTAINER_MODE): New.
	* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
	failure in gcc_no_link path.
	* configure, aclocal.m4, Makefile.in: Rebuild.

2012-05-01  Richard Henderson  <rth@redhat.com>

	* Initial commit.

Copyright (C) 2012-2017 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.
