Bug 1486859 - update protobuf's atomicops code to understand aarch64 windows; r=Mossop
authorNathan Froyd <froydnj@mozilla.com>
Tue, 28 Aug 2018 15:39:54 -0400
changeset 491434 d94aeed0de33ee666bafd81c6640e7f905d06024
parent 491408 211b070bac735ff9301f80af489a045a7f644b60
child 491435 0f5bcd0b4299794a6fcb36e1f23aa073ae20bb09
push id1815
push userffxbld-merge
push dateMon, 15 Oct 2018 10:40:45 +0000
treeherdermozilla-release@18d4c09e9378 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersMossop
bugs1486859
milestone63.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1486859 - update protobuf's atomicops code to understand aarch64 windows; r=Mossop
toolkit/components/protobuf/m-c-changes.patch
toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
--- a/toolkit/components/protobuf/m-c-changes.patch
+++ b/toolkit/components/protobuf/m-c-changes.patch
@@ -60,8 +60,30 @@ diff --git a/toolkit/components/protobuf
  #define GOOGLE_PROTOBUF_ARCH_AARCH64 1
  #define GOOGLE_PROTOBUF_ARCH_64_BIT 1
  #elif defined(__MIPSEL__)
  #if defined(__LP64__)
  #define GOOGLE_PROTOBUF_ARCH_MIPS64 1
  #define GOOGLE_PROTOBUF_ARCH_64_BIT 1
  #else
  #define GOOGLE_PROTOBUF_ARCH_MIPS 1
+diff --git a/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h b/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+--- a/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
++++ b/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+@@ -179,17 +179,17 @@ Atomic64 Release_Load(volatile const Ato
+ #define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \
+ "Atomic operations are not supported on your platform"
+ 
+ // ThreadSanitizer, http://clang.llvm.org/docs/ThreadSanitizer.html.
+ #if defined(THREAD_SANITIZER)
+ #include <google/protobuf/stubs/atomicops_internals_tsan.h>
+ // MSVC.
+ #elif defined(_MSC_VER)
+-#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) || defined(GOOGLE_PROTOBUF_ARCH_ARM)
++#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) || defined(GOOGLE_PROTOBUF_ARCH_ARM) || defined(GOOGLE_PROTOBUF_ARCH_AARCH64)
+ #include <google/protobuf/stubs/atomicops_internals_x86_msvc.h>
+ #else
+ #error GOOGLE_PROTOBUF_ATOMICOPS_ERROR
+ #endif
+ 
+ // Solaris
+ #elif defined(GOOGLE_PROTOBUF_OS_SOLARIS)
+ #include <google/protobuf/stubs/atomicops_internals_solaris.h>
--- a/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+++ b/toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
@@ -179,17 +179,17 @@ Atomic64 Release_Load(volatile const Ato
 #define GOOGLE_PROTOBUF_ATOMICOPS_ERROR \
 "Atomic operations are not supported on your platform"
 
 // ThreadSanitizer, http://clang.llvm.org/docs/ThreadSanitizer.html.
 #if defined(THREAD_SANITIZER)
 #include <google/protobuf/stubs/atomicops_internals_tsan.h>
 // MSVC.
 #elif defined(_MSC_VER)
-#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) || defined(GOOGLE_PROTOBUF_ARCH_ARM)
+#if defined(GOOGLE_PROTOBUF_ARCH_IA32) || defined(GOOGLE_PROTOBUF_ARCH_X64) || defined(GOOGLE_PROTOBUF_ARCH_ARM) || defined(GOOGLE_PROTOBUF_ARCH_AARCH64)
 #include <google/protobuf/stubs/atomicops_internals_x86_msvc.h>
 #else
 #error GOOGLE_PROTOBUF_ATOMICOPS_ERROR
 #endif
 
 // Solaris
 #elif defined(GOOGLE_PROTOBUF_OS_SOLARIS)
 #include <google/protobuf/stubs/atomicops_internals_solaris.h>