summaryrefslogtreecommitdiff
path: root/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h')
-rw-r--r--www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
new file mode 100644
index 00000000000..c124ca7780b
--- /dev/null
+++ b/www/firefox52/patches/patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h
@@ -0,0 +1,24 @@
+$NetBSD: patch-toolkit_components_protobuf_src_google_protobuf_stubs_atomicops.h,v 1.1 2017/04/27 01:55:57 ryoon Exp $
+
+--- toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h.orig 2016-07-25 20:22:06.000000000 +0000
++++ toolkit/components/protobuf/src/google/protobuf/stubs/atomicops.h
+@@ -76,6 +76,11 @@ typedef intptr_t Atomic64;
+ #endif
+ #endif
+
++#if defined(__NetBSD__) && defined(__arm__)
++// NetBSD/arm uses long for intptr_t, which fails -fpermissive checks. So
++// explicitly use int32 here instead.
++typedef int32 AtomicWord;
++#else
+ // Use AtomicWord for a machine-sized pointer. It will use the Atomic32 or
+ // Atomic64 routines below, depending on your architecture.
+ #if defined(__OpenBSD__) && !defined(GOOGLE_PROTOBUF_ARCH_64_BIT)
+@@ -83,6 +88,7 @@ typedef Atomic32 AtomicWord;
+ #else
+ typedef intptr_t AtomicWord;
+ #endif
++#endif
+
+ // Atomically execute:
+ // result = *ptr;