]> granicus.if.org Git - libatomic_ops/commitdiff
Fix test_atomic fail caused by AO_double_t misaligned load (Linux/i686)
authorIvan Maidanski <ivmai@mail.ru>
Tue, 31 Jan 2017 07:29:44 +0000 (10:29 +0300)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 31 Jan 2017 07:29:44 +0000 (10:29 +0300)
* src/atomic_ops/sysdeps/standard_ao_double_t.h [__i386__ && __GNUC__]
(double_ptr_storage): Add aligned(8) attribute (so that AO_double_t
global/static variables to have proper (double-word) alignment).

src/atomic_ops/sysdeps/standard_ao_double_t.h

index 6a652b1a61fd43374e56014ae25865984dc535b0..da237b8b59edff33ddb9607908e53fbacc6b99f4 100644 (file)
@@ -50,6 +50,9 @@
   typedef __m128 double_ptr_storage;
 #elif defined(_WIN32) && !defined(__GNUC__)
   typedef unsigned __int64 double_ptr_storage;
+#elif defined(__i386__) && defined(__GNUC__)
+  typedef unsigned long long double_ptr_storage
+                                __attribute__((__aligned__(8)));
 #else
   typedef unsigned long long double_ptr_storage;
 #endif