--- /dev/null
+https://github.com/google/protobuf/issues/3937
+https://github.com/google/protobuf/pull/3955
+https://github.com/google/protobuf/commit/642e1ac635f2563b4a14c255374f02645ae85dac
+
+--- /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
++++ /src/google/protobuf/stubs/atomicops_internals_generic_gcc.h
+@@ -146,6 +146,14 @@
+ return __atomic_load_n(ptr, __ATOMIC_RELAXED);
+ }
+
++inline Atomic64 Release_CompareAndSwap(volatile Atomic64* ptr,
++ Atomic64 old_value,
++ Atomic64 new_value) {
++ __atomic_compare_exchange_n(ptr, &old_value, new_value, false,
++ __ATOMIC_RELEASE, __ATOMIC_ACQUIRE);
++ return old_value;
++}
++
+ #endif // defined(__LP64__)
+
+ } // namespace internal
"${FILESDIR}/${PN}-3.4.0-disable_no-warning-test.patch"
"${FILESDIR}/${PN}-3.4.0-system_libraries.patch"
"${FILESDIR}/${PN}-3.4.0-protoc_input_output_files.patch"
+ "${FILESDIR}/${PN}-3.5.0-atomic_operations.patch"
)
DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md)
src_prepare() {
- append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
default
eautoreconf
}
+src_configure() {
+ append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI
+ multilib-minimal_src_configure
+}
+
multilib_src_configure() {
local myeconfargs=(
$(use_enable static-libs static)