Commit Graph

18 Commits

Author SHA1 Message Date
Andi Kleen
94f3ccc8d9 Avoid non constant memory model uses in libatomic
x86 ends up using non constant memory models for some of the libatomic
functions. These all end up as __ATOMIC_SEQ_CST. Just use this
directly. This avoids a new warning for non constant memory
models, which broke the bootstrap with -Werror

Passed bootstrap and test on x86_64-linux.

libatomic/:

2013-03-23  Andi Kleen  <ak@linux.intel.com>

	* gcas.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gexch.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gload.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.
	* gstore.c: (EXACT_INLINE): Use __ATOMIC_SEQ_CST.

diff --git a/libatomic/gcas.c b/libatomic/gcas.c
index edbf611..e3d77f3 100644
--- a/libatomic/gcas.c
+++ b/libatomic/gcas.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_CAS_,N))					\
     return __atomic_compare_exchange_n				\
-      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, smodel, fmodel)
+      (PTR(N,mptr), PTR(N,eptr), *PTR(N,dptr), false, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST)
 #else
 # define EXACT_INLINE(N)
 #endif
diff --git a/libatomic/gexch.c b/libatomic/gexch.c
index 1999067..c8c8658 100644
--- a/libatomic/gexch.c
+++ b/libatomic/gexch.c
@@ -33,7 +33,7 @@
   if (C2(HAVE_ATOMIC_EXCHANGE_,N))				\
     {								\
       *PTR(N,rptr) = __atomic_exchange_n			\
-	(PTR(N,mptr), *PTR(N,vptr), smodel);			\
+	(PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);		\
       return;							\
     }
 #else
diff --git a/libatomic/gload.c b/libatomic/gload.c
index df318d5..85865bd 100644
--- a/libatomic/gload.c
+++ b/libatomic/gload.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N, DEST, SRC, DONE)			\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      DEST = __atomic_load_n (SRC, smodel);			\
+      DEST = __atomic_load_n (SRC, __ATOMIC_SEQ_CST);		\
       DONE;							\
     }
 #else
diff --git a/libatomic/gstore.c b/libatomic/gstore.c
index d571e58..84f9a8d 100644
--- a/libatomic/gstore.c
+++ b/libatomic/gstore.c
@@ -32,7 +32,7 @@
 # define EXACT_INLINE(N)					\
   if (C2(HAVE_ATOMIC_LDST_,N))					\
     {								\
-      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), smodel);	\
+      __atomic_store_n (PTR(N,mptr), *PTR(N,vptr), __ATOMIC_SEQ_CST);	\
       return;							\
     }
 #else

From-SVN: r197017
2013-03-24 00:23:10 +00:00
Richard Sandiford
69b2c4233b Update copyright years in libatomic.
From-SVN: r195164
2013-01-14 18:16:23 +00:00
Ian Lance Taylor
36749a1fe6 re PR go/55201 (libgo.so: undefined reference to `__atomic_compare_exchange_8')
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.

From-SVN: r194592
2012-12-18 22:04:08 +00:00
Marcus Shawcroft
408d29950d libatomic: Detect and build for ARM architecture armv8-a.
2012-12-04  Marcus Shawcroft  <marcus.shawcroft@arm.com>

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

From-SVN: r194150
2012-12-04 15:14:47 +00:00
Matthias Klose
5eb4cb4768 configure.tgt (i[3456]86): Handle -mx32 like -m64.
2012-11-21  Matthias Klose  <doko@ubuntu.com>

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

From-SVN: r193720
2012-11-22 00:47:58 +00:00
Thomas Schwinge
4044815128 acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
libatomic/
	* acinclude.m4 (LIBAT_CHECK_IFUNC): Clarify message.
	* configure: Regenerate.

From-SVN: r193145
2012-11-05 00:27:03 +01:00
Thomas Schwinge
b9efc87730 configure: Regenerate.
libatomic/
	* configure: Regenerate.

libitm/
	* configure: Regenerate.

From-SVN: r193144
2012-11-05 00:17:34 +01:00
Sofiane Naci
34f8442ee2 AArch64 [6/10]
2012-10-23  Sofiane Naci <sofiane.naci@arm.com>

	Mark libatomic unsupported in AArch64.

	* configure.tgt: Mark libatomic unsupported.

From-SVN: r192727
2012-10-23 17:22:48 +00:00
Jakub Jelinek
c0758df921 re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
PR other/43620
libatomic/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
libitm/
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r191565
2012-09-20 16:41:17 +02:00
David Edelsohn
00c2f0ef6d * configure: Regenerated.
From-SVN: r191319
2012-09-14 19:30:29 -04:00
John David Anglin
917344232c re PR other/53231 (libatomic/tas_n.c💯10: error: 'ret' undeclared (first use in this function))
PR other/53231
	* tas_n.c (libat_test_and_set): Correct return.  Remove unused variable.

From-SVN: r187783
2012-05-22 23:54:32 +00:00
H.J. Lu
e6d5f8c9c4 Regenerate configure files for libtool.m4 change
boehm-gc/

	* configure: Regenerated.

gcc/

	* configure: Regenerated.

libatomic/

	* configure: Regenerated.

libffi/

	* configure: Regenerated.

libgfortran/

	* configure: Regenerated.

libgomp/

	* configure: Regenerated.

libitm/

	* configure: Regenerated.

libjava/classpath/

	* configure: Regenerated.

libjava/

	* configure: Regenerated.

libmudflap/

	* configure: Regenerated.

libobjc/

	* configure: Regenerated.

libquadmath/

	* configure: Regenerated.

libssp/

	* configure: Regenerated.

libstdc++-v3/

	* configure: Regenerated.

lto-plugin/

	* configure: Regenerated.

zlib/

	* configure: Regenerated.

From-SVN: r187616
2012-05-16 15:11:18 -07:00
Rainer Orth
aaea76b3af Always compile atomic builtin tests with $XCFLAGS
PR other/53284
	* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Add -O0 -S to CFLAGS
	instead of overriding.
	* configure: Regenerate.

From-SVN: r187366
2012-05-10 09:11:05 +00:00
Rainer Orth
527eeee5b3 Allow for objects in libatomic_la_LIBADD
* Makefile.am (libatomic.map-sun): Handle objects in
	libatomic_la_LIBADD.
	* aclocal.m4: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r187257
2012-05-07 16:11:14 +00:00
Rainer Orth
e9885be5c6 Don't include XCFLAGS in CFLAGS
* configure.ac: Add $XPCFLAGS to CFLAGS, not $XCFLAGS.
	* configure: Regenerate.

From-SVN: r187256
2012-05-07 16:10:11 +00:00
Richard Henderson
fa3cd3c37e libatomic: Enable AM_MAINTAINER_MODE
From-SVN: r187108
2012-05-03 09:30:11 -07:00
Richard Henderson
0fe5522f8b acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation failure in gcc_no_link path.
* acinclude.m4 (LIBAT_TEST_ATOMIC_BUILTIN): Handle compilation
        failure in gcc_no_link path.
        * configure: Rebuild.

From-SVN: r187102
2012-05-03 08:59:43 -07:00
Richard Henderson
483104922a Add libatomic as a target library.
From-SVN: r187018
2012-05-01 08:48:28 -07:00