gcc/libatomic/ChangeLog
Joseph Myers c29c36ad5d Add out-of-line versions of some <stdatomic.h> functions (PR c/65083).
PR c/65083 notes that some functions in <stdatomic.h> are normal
functions, not generic functions, and so need to have out-of-line
copies that can be called when macro expansion is suppressed (unlike
the generic functions where DR#419 makes it undefined if you suppress
a macro expansion).

This patch adds such out-of-line definitions in libatomic for those
six functions, at a new LIBATOMIC_1.2 symbol version, as trivial
wrappers to the <stdatomic.h> macros, along with declarations of those
functions in <stdatomic.h>.  Tests are added that are based on the
corresponding tests for the macros, but with parentheses around the
function names to force the out-of-line functions to be used.

Bootstrapped with no regressions on x86_64-pc-linux-gnu.

gcc:
	* ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
	(atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
	(atomic_flag_clear, atomic_flag_clear_explicit): Declare as
	functions before defining as macros.

gcc/testsuite:
	* gcc.dg/atomic/stdatomic-fence-2.c,
	gcc.dg/atomic/stdatomic-flag-2.c: New tests.

libatomic:
	* 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.

From-SVN: r230578
2015-11-18 22:13:44 +00:00

236 lines
6.7 KiB
Plaintext

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.