2022-06-28  Release Manager

	* GCC 10.4.0 released.

2021-04-08  Release Manager

	* GCC 10.3.0 released.

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

	PR target/97865
	* configure: Regenerate.

2020-07-23  Release Manager

	* GCC 10.2.0 released.

2020-05-07  Release Manager

	* GCC 10.1.0 released.

2020-04-19  Uroš Bizjak  <ubizjak@gmail.com>

	* config/x86/fenv.c (__atomic_feraiseexcept) [__SSE_MATH__]:
	Remove unneeded assignments to volatile memory.

2020-04-06  Maciej W. Rozycki  <macro@wdc.com>

	* configure.ac: Add testsuite/libatomic-site-extra.exp to output
	files.
	* configure: Regenerate.
	* libatomic/testsuite/libatomic-site-extra.exp.in: New file.
	* testsuite/Makefile.am (EXTRA_DEJAGNU_SITE_CONFIG): New
	variable.
	* testsuite/Makefile.in: Regenerate.

2020-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR other/55930
	* Makefile.am (M_DEPS): Guard the empty definition with
	@AMDEP_FALSE@ rather than @AMDEP_TRUE@.
	* Makefile.in: Regenerated.

2020-02-22  Richard Purdie  <rpurdie@rpsys.net>

	PR other/55930
	* Makefile.am (M_DEPS): Honor -disable-dependency-tracking.
	* Makefile.in: Regenerated.

2020-01-24  Maciej W. Rozycki  <macro@wdc.com>

	* configure.ac: Handle `--with-toolexeclibdir='.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

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

	Update copyright years.

2019-09-27  Maciej W. Rozycki  <macro@wdc.com>

	* configure: Regenerate.

2019-09-10  Christophe Lyon  <christophe.lyon@st.com>

        * configure.tgt: Handle arm*-*-uclinux*.
        * configure: Regenerate.

2019-09-03  Chung-Lin Tang  <cltang@codesourcery.com>

	PR other/79543
	* acinclude.m4 (LIBAT_CHECK_LINKER_FEATURES): Fix GNU ld --version
	scanning to conform to the GNU Coding Standards.
	* configure: Regenerate.

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>

	* configure.tgt (arm*): Handle NetBSD in the same way as FreeBSD.

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

	Update copyright years.

2018-10-31  Joseph Myers  <joseph@codesourcery.com>

	PR bootstrap/82856
	* Makefile.am: Include multilib.am.
	* acinclude.m4: Use AC_LANG_SOURCE.
	* configure.ac: Remove AC_PREREQ.
	* testsuite/Makefile.am (RUNTEST): Remove quotes.
	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
	Regenerate.

2018-06-21  Christophe Lyon  <christophe.lyon@linaro.org>

	* config/arm/arm-config.h (__ARM_ARCH__): Remove definitions, use
	__ARM_ARCH instead. Use __ARM_FEATURE_LDREX to define HAVE_STREX
	and HAVE_STREXBHD

2018-05-23  Florian Weimer  <fweimer@redhat.com>

	PR libgcc/60790
	x86: Do not assume ELF constructors run before IFUNC resolvers.
	* config/x86/host-config.h (libat_feat1_ecx, libat_feat1_edx):
	Remove declarations.
	(__libat_feat1, __libat_feat1_init): Declare.
	(FEAT1_REGISTER): Define.
	(load_feat1): New function.
	(IFUNC_COND_1): Adjust.
	* config/x86/init.c (libat_feat1_ecx, libat_feat1_edx)
	(init_cpuid): Remove definitions.
	(__libat_feat1): New variable.
	(__libat_feat1_init): New function.

2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85106
	* testsuite/lib/libatomic.exp: Include scanltranstree.exp.

2018-05-02  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/85106
	* testsuite/lib/libatomic.exp: Include scanwpaipa.exp.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

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

	* configure: Regenerated.

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

	PR jit/85384
	* configure: Regenerate.

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-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84148
	* configure: Regenerate.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2017-12-14  Steve Ellcey  <sellcey@cavium.com>

	* Makefile.am (IFUNC_OPTIONS): Change aarch64
	option from -march=armv8.1-a to -march=armv8-a+lse.
	* configure.ac (*aarch64*): Check to see if
	compiler understands -march=armv8-a+lse option.
	* configure.tgt (*aarch64*): Only set try_ifunc
	if compiler understands -march=armv8-a+lse option.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2017-12-04  Steve Ellcey  <sellcey@cavium.com>

	* Makefile.am (ARCH_AARCH64_LINUX): Add IFUNC_OPTIONS and
	libatomic_la_LIBADD.
	* config/linux/aarch64/host-config.h: New file.
	* configure.ac (IFUNC_RESOLVER_ARGS): Define.
	(ARCH_AARCH64_LINUX): New conditional for IFUNC builds.
	* configure.tgt (aarch64): Set ARCH and try_ifunc.
	(aarch64*-*-linux*) Update config_path.
	(aarch64*-*-linux*) Set IFUNC_RESOLVER_ARGS.
	* libatomic_i.h (GEN_SELECTOR): Add IFUNC_RESOLVER_ARGS argument.
	* Makefile.in: Regenerate.
	* auto-config.h.in: Regenerate.
	* configure: Regenerate.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* configure.ac: Set CET_FLAGS, update XCFLAGS.
	* acinclude.m4: Add cet.m4 and enable.m4.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* testsuite/Makefile.in: Likewise.

2017-10-20  Richard Earnshaw  <rearnsha@arm.com>

	* Makefile.am: (IFUNC_OPTIONS): Set the architecture to
	-march=armv7-a+fp on Linux/Arm.
	* Makefile.in: Regenerated.

2017-10-02  Martin Sebor  <msebor@redhat.com>

	PR c/81854
	* acinclude.m4 (LIBAT_CHECK_IFUNC): Have ifunc resolver return
	a function pointer rather than void* to avoid GCC 8 warnings.
	* configure: Regenerate.
	* libatomic_i.h: Declare ifunc resolvers to return function
	pointers rather than void*.

2017-05-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* testsuite/lib/libatomic.exp: Load scanlang.exp.

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-2020 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.
