The tarball that was imported is the 3.4.1 release: https://github.com/google/protobuf/releases/tag/v3.4.1 https://github.com/google/protobuf/releases/download/v3.4.1/protobuf-cpp-3.4.1.tar.gz This drops all of the customizations that are no longer needed, which includes a few issues that were fixed upstream: - r512.patch from bug 892856: https://searchfox.org/mozilla-central/rev/bab9dbe9c4ef71f71fb07e53b701fb2dfde277d9/toolkit/components/protobuf/r512.patchb04e5cba35/src/google/protobuf/io/zero_copy_stream_impl.cc (L43)- vs2013.patch, also from bug 892856: https://searchfox.org/mozilla-central/rev/bab9dbe9c4ef71f71fb07e53b701fb2dfde277d9/toolkit/components/protobuf/vs2013.patchb04e5cba35/src/google/protobuf/wire_format_lite_inl.h (L39)- sparc64 fixes in m-c-changes.patch from bug 1275204: https://hg.mozilla.org/integration/mozilla-inbound/rev/21d692e82582b04e5cba35/src/google/protobuf/stubs/platform_macros.h (L68)The LOGLEVEL_ERROR hack in m-c-changes.patch from bug1024774and bug 1320179 was replaced by a NOGDI define in moz.build as suggested by upstream: https://github.com/google/protobuf/pull/3745/files#r144915445 The other customizations that were dropped came from bug1024774. The patch for OpenBSD/32-bit will likely be fixed upstream in a future release: https://github.com/google/protobuf/pull/3747#issuecomment-336581244 Upgrading the protobuf library also required re-generating all of the existing .pb.h and pb.cc files (they are neither forward nor backward-compatible) and making adjustments to the build config to make it compile (and silence warnings). text_format.cc can now be compiled as part of UNIFIED_SOURCES. MozReview-Commit-ID: 7F2IqFmwQnN
46 lines
1.6 KiB
Diff
46 lines
1.6 KiB
Diff
--- a/toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h
|
|
+++ b/toolkit/components/protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h
|
|
@@ -43,16 +43,17 @@
|
|
|
|
#ifndef GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_LITE_H__
|
|
#define GOOGLE_PROTOBUF_IO_ZERO_COPY_STREAM_IMPL_LITE_H__
|
|
|
|
#include <memory>
|
|
#ifndef _SHARED_PTR_H
|
|
#include <google/protobuf/stubs/shared_ptr.h>
|
|
#endif
|
|
+#include <vector> /* Needed by GCC 4.9 on Android (see Bug 1186561) */
|
|
#include <string>
|
|
#include <iosfwd>
|
|
#include <google/protobuf/io/zero_copy_stream.h>
|
|
#include <google/protobuf/stubs/callback.h>
|
|
#include <google/protobuf/stubs/common.h>
|
|
#include <google/protobuf/stubs/stl_util.h>
|
|
|
|
|
|
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
|
|
@@ -84,17 +84,21 @@ typedef int64 Atomic64;
|
|
#else
|
|
typedef intptr_t Atomic64;
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
// 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) /* See Bug 1192556 */
|
|
+typedef Atomic32 AtomicWord;
|
|
+#else
|
|
typedef intptr_t AtomicWord;
|
|
+#endif
|
|
|
|
// Atomically execute:
|
|
// result = *ptr;
|
|
// if (*ptr == old_value)
|
|
// *ptr = new_value;
|
|
// return result;
|
|
//
|
|
// I.e., replace "*ptr" with "new_value" if "*ptr" used to be "old_value".
|