This appears to be present in compiler-rt upstream, but as part of more intrusive...
authorHans-Peter Nilsson <hp@axis.com>
Thu, 26 Apr 2018 01:09:27 +0000 (01:09 +0000)
committerHans-Peter Nilsson <hp@gcc.gnu.org>
Thu, 26 Apr 2018 01:09:27 +0000 (01:09 +0000)
This appears to be present in compiler-rt upstream, but as part
of more intrusive changes.  For gcc, the lack of this results in
a fatal warning (-Werror) at build-time.

* sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM
&& _MIPS_SIM == _ABIO32] (lock): Add initializer for .pad member.

From-SVN: r259663

libsanitizer/ChangeLog
libsanitizer/sanitizer_common/sanitizer_atomic_clang_other.h

index df4954f72b0e35b4febb9297b5ec7b404e247a24..acde79f62db120b3eed9ecb4a58730b32355973c 100644 (file)
@@ -1,3 +1,8 @@
+2018-04-26  Hans-Peter Nilsson  <hp@axis.com>
+
+       * sanitizer_common/sanitizer_atomic_clang_other.h [_MIPS_SIM
+       && _MIPS_SIM == _ABIO32] (lock): Add initializer for .pad member.
+
 2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>
 
        * configure: Regenerated.
index a0605bbbd82dd2bd64891d7506c28b268647d0a7..59e9f645f6869eca8ff6825ccee741f0755fd68a 100644 (file)
@@ -35,7 +35,7 @@ static void __spin_unlock(volatile int *lock) { __sync_lock_release(lock); }
 static struct {
   int lock;
   char pad[32 - sizeof(int)];
-} __attribute__((aligned(32))) lock = {0};
+} __attribute__((aligned(32))) lock = {0, {0}};
 
 template <class T>
 T __mips_sync_fetch_and_add(volatile T *ptr, T val) {