gcc/libatomic/ChangeLog
Andreas Krebbel a4c6bd0821 S/390: libatomic: Fix 16 byte atomic exchange
The compiler builtin will use the hardware instruction cdsg if the
memory operand is properly aligned and will fall back to the
library call otherwise.
In case the compiler for one part is able to detect that the
location is aligned and fails to do so for another usage of the hw
instruction and the sw fall back would be mixed on the same memory
location.  To avoid this the library fall back also has to use the
hardware instruction if possible.

libatomic/ChangeLog:

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.

From-SVN: r258384
2018-03-09 12:32:22 +00:00

382 lines
11 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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