google-protobuf 3.2.0 → 3.2.0.1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of google-protobuf might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/ext/google/protobuf_c/extconf.rb +8 -1
- data/ext/google/protobuf_c/wrap_memcpy.c +51 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5ca17f8c5660210668925623822daf45197368f9
|
4
|
+
data.tar.gz: 34e86e2fae805ad32d2a8c68687c7b8891a4232b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b08c19de61cbddf8a830b1d7b2cf0b97d861a7512b512fc8eb239b2aced039be135f94eef7ea20b186b047a360afdd4f1908bed9e74934b08afeb4d2e095f89
|
7
|
+
data.tar.gz: f6a3eb145da4a1028f5adfc2319c29aa35c59c93c2323b2ff79b73818a444425bb7561dace22465ae4e7da3e76a2ef678969feed6c7f18825123976c1555141b
|
@@ -4,7 +4,14 @@ require 'mkmf'
|
|
4
4
|
|
5
5
|
$CFLAGS += " -std=c99 -O3 -DNDEBUG"
|
6
6
|
|
7
|
+
|
8
|
+
if RUBY_PLATFORM =~ /linux/
|
9
|
+
# Instruct the linker to point memcpy calls at our __wrap_memcpy wrapper.
|
10
|
+
$LDFLAGS += " -Wl,-wrap,memcpy"
|
11
|
+
end
|
12
|
+
|
7
13
|
$objs = ["protobuf.o", "defs.o", "storage.o", "message.o",
|
8
|
-
"repeated_field.o", "map.o", "encode_decode.o", "upb.o"
|
14
|
+
"repeated_field.o", "map.o", "encode_decode.o", "upb.o",
|
15
|
+
"wrap_memcpy.o"]
|
9
16
|
|
10
17
|
create_makefile("google/protobuf_c")
|
@@ -0,0 +1,51 @@
|
|
1
|
+
// Protocol Buffers - Google's data interchange format
|
2
|
+
// Copyright 2017 Google Inc. All rights reserved.
|
3
|
+
// https://developers.google.com/protocol-buffers/
|
4
|
+
//
|
5
|
+
// Redistribution and use in source and binary forms, with or without
|
6
|
+
// modification, are permitted provided that the following conditions are
|
7
|
+
// met:
|
8
|
+
//
|
9
|
+
// * Redistributions of source code must retain the above copyright
|
10
|
+
// notice, this list of conditions and the following disclaimer.
|
11
|
+
// * Redistributions in binary form must reproduce the above
|
12
|
+
// copyright notice, this list of conditions and the following disclaimer
|
13
|
+
// in the documentation and/or other materials provided with the
|
14
|
+
// distribution.
|
15
|
+
// * Neither the name of Google Inc. nor the names of its
|
16
|
+
// contributors may be used to endorse or promote products derived from
|
17
|
+
// this software without specific prior written permission.
|
18
|
+
//
|
19
|
+
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
20
|
+
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
21
|
+
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
22
|
+
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
23
|
+
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
24
|
+
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
25
|
+
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
26
|
+
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
27
|
+
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
+
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
29
|
+
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
30
|
+
|
31
|
+
#include <string.h>
|
32
|
+
|
33
|
+
// On x86-64 Linux, we link against the 2.2.5 version of memcpy so that we
|
34
|
+
// avoid depending on the 2.14 version of the symbol. This way, distributions
|
35
|
+
// that are using pre-2.14 versions of glibc can successfully use the gem we
|
36
|
+
// distribute (https://github.com/google/protobuf/issues/2783).
|
37
|
+
//
|
38
|
+
// This wrapper is enabled by passing the linker flags -Wl,-wrap,memcpy in
|
39
|
+
// extconf.rb.
|
40
|
+
#ifdef __linux__
|
41
|
+
#ifdef __x86_64__
|
42
|
+
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
|
43
|
+
void *__wrap_memcpy(void *dest, const void *src, size_t n) {
|
44
|
+
return memcpy(dest, src, n);
|
45
|
+
}
|
46
|
+
#else
|
47
|
+
void *__wrap_memcpy(void *dest, const void *src, size_t n) {
|
48
|
+
return memmove(dest, src, n);
|
49
|
+
}
|
50
|
+
#endif
|
51
|
+
#endif
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.0
|
4
|
+
version: 3.2.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Protobuf Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler-dock
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- ext/google/protobuf_c/storage.c
|
91
91
|
- ext/google/protobuf_c/upb.c
|
92
92
|
- ext/google/protobuf_c/upb.h
|
93
|
+
- ext/google/protobuf_c/wrap_memcpy.c
|
93
94
|
- lib/google/protobuf.rb
|
94
95
|
- lib/google/protobuf/any_pb.rb
|
95
96
|
- lib/google/protobuf/api_pb.rb
|