Merge branch '3.6.x' into merge-3-6-x

pull/4991/head
Adam Cozzette 6 years ago
commit 94d55e5292
  1. 12
      CHANGES.txt
  2. 2
      Protobuf.podspec
  3. 2
      configure.ac
  4. 2
      csharp/Google.Protobuf.Tools.nuspec
  5. 2
      csharp/src/Google.Protobuf/Google.Protobuf.csproj
  6. 2
      java/core/pom.xml
  7. 4
      java/pom.xml
  8. 2
      java/util/pom.xml
  9. 2
      js/package.json
  10. 18
      php/ext/google/protobuf/def.c
  11. 2
      php/ext/google/protobuf/encode_decode.c
  12. 6
      php/ext/google/protobuf/map.c
  13. 16
      php/ext/google/protobuf/message.c
  14. 9
      php/ext/google/protobuf/protobuf.c
  15. 9
      php/ext/google/protobuf/protobuf.h
  16. 6
      php/ext/google/protobuf/storage.c
  17. 13
      php/tests/generated_class_test.php
  18. 11
      protoc-artifacts/README.md
  19. 12
      protoc-artifacts/build-protoc.sh
  20. 2
      protoc-artifacts/pom.xml
  21. 2
      python/google/protobuf/__init__.py
  22. 2
      ruby/ext/google/protobuf_c/encode_decode.c
  23. 2
      ruby/google-protobuf.gemspec
  24. 2
      ruby/tests/encode_decode_test.rb
  25. 6
      src/Makefile.am
  26. 4
      src/google/protobuf/any.pb.h
  27. 4
      src/google/protobuf/api.pb.h
  28. 4
      src/google/protobuf/compiler/plugin.pb.h
  29. 4
      src/google/protobuf/descriptor.pb.h
  30. 4
      src/google/protobuf/duration.pb.h
  31. 4
      src/google/protobuf/empty.pb.h
  32. 4
      src/google/protobuf/field_mask.pb.h
  33. 4
      src/google/protobuf/source_context.pb.h
  34. 4
      src/google/protobuf/struct.pb.h
  35. 10
      src/google/protobuf/stubs/common.h
  36. 4
      src/google/protobuf/timestamp.pb.h
  37. 4
      src/google/protobuf/type.pb.h
  38. 4
      src/google/protobuf/wrappers.pb.h

@ -1,3 +1,15 @@
2018-07-27 version 3.6.1 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
C++
* Introduced workaround for Windows issue with std::atomic and std::once_flag
initialization (#4777, #4773).
PHP
* Added compatibility with PHP 7.3 (#4898).
Ruby
* Fixed Ruby crash involving Any encoding (#4718).
2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript) 2018-06-01 version 3.6.0 (C++/Java/Python/PHP/Objective-C/C#/Ruby/JavaScript)
C++ C++

@ -5,7 +5,7 @@
# dependent projects use the :git notation to refer to the library. # dependent projects use the :git notation to refer to the library.
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'Protobuf' s.name = 'Protobuf'
s.version = '3.6.0' s.version = '3.6.1'
s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.' s.summary = 'Protocol Buffers v.3 runtime library for Objective-C.'
s.homepage = 'https://github.com/google/protobuf' s.homepage = 'https://github.com/google/protobuf'
s.license = '3-Clause BSD License' s.license = '3-Clause BSD License'

@ -17,7 +17,7 @@ AC_PREREQ(2.59)
# In the SVN trunk, the version should always be the next anticipated release # In the SVN trunk, the version should always be the next anticipated release
# version with the "-pre" suffix. (We used to use "-SNAPSHOT" but this pushed # version with the "-pre" suffix. (We used to use "-SNAPSHOT" but this pushed
# the size of one file name in the dist tarfile over the 99-char limit.) # the size of one file name in the dist tarfile over the 99-char limit.)
AC_INIT([Protocol Buffers],[3.6.0],[protobuf@googlegroups.com],[protobuf]) AC_INIT([Protocol Buffers],[3.6.1],[protobuf@googlegroups.com],[protobuf])
AM_MAINTAINER_MODE([enable]) AM_MAINTAINER_MODE([enable])

@ -5,7 +5,7 @@
<title>Google Protocol Buffers tools</title> <title>Google Protocol Buffers tools</title>
<summary>Tools for Protocol Buffers - Google's data interchange format.</summary> <summary>Tools for Protocol Buffers - Google's data interchange format.</summary>
<description>See project site for more info.</description> <description>See project site for more info.</description>
<version>3.6.0</version> <version>3.6.1</version>
<authors>Google Inc.</authors> <authors>Google Inc.</authors>
<owners>protobuf-packages</owners> <owners>protobuf-packages</owners>
<licenseUrl>https://github.com/google/protobuf/blob/master/LICENSE</licenseUrl> <licenseUrl>https://github.com/google/protobuf/blob/master/LICENSE</licenseUrl>

@ -4,7 +4,7 @@
<Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description> <Description>C# runtime library for Protocol Buffers - Google's data interchange format.</Description>
<Copyright>Copyright 2015, Google Inc.</Copyright> <Copyright>Copyright 2015, Google Inc.</Copyright>
<AssemblyTitle>Google Protocol Buffers</AssemblyTitle> <AssemblyTitle>Google Protocol Buffers</AssemblyTitle>
<VersionPrefix>3.6.0</VersionPrefix> <VersionPrefix>3.6.1</VersionPrefix>
<Authors>Google Inc.</Authors> <Authors>Google Inc.</Authors>
<TargetFrameworks>netstandard1.0;net45</TargetFrameworks> <TargetFrameworks>netstandard1.0;net45</TargetFrameworks>
<GenerateDocumentationFile>true</GenerateDocumentationFile> <GenerateDocumentationFile>true</GenerateDocumentationFile>

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.google.protobuf</groupId> <groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId> <artifactId>protobuf-parent</artifactId>
<version>3.6.0</version> <version>3.6.1</version>
</parent> </parent>
<artifactId>protobuf-java</artifactId> <artifactId>protobuf-java</artifactId>

@ -11,7 +11,7 @@
<groupId>com.google.protobuf</groupId> <groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId> <artifactId>protobuf-parent</artifactId>
<version>3.6.0</version> <version>3.6.1</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Protocol Buffers [Parent]</name> <name>Protocol Buffers [Parent]</name>
@ -92,7 +92,7 @@
<plugins> <plugins>
<plugin> <plugin>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version> <version>3.6.1</version>
<configuration> <configuration>
<source>1.7</source> <source>1.7</source>
<target>1.7</target> <target>1.7</target>

@ -6,7 +6,7 @@
<parent> <parent>
<groupId>com.google.protobuf</groupId> <groupId>com.google.protobuf</groupId>
<artifactId>protobuf-parent</artifactId> <artifactId>protobuf-parent</artifactId>
<version>3.6.0</version> <version>3.6.1</version>
</parent> </parent>
<artifactId>protobuf-java-util</artifactId> <artifactId>protobuf-java-util</artifactId>

@ -1,6 +1,6 @@
{ {
"name": "google-protobuf", "name": "google-protobuf",
"version": "3.6.0", "version": "3.6.1",
"description": "Protocol Buffers for JavaScript", "description": "Protocol Buffers for JavaScript",
"main": "google-protobuf.js", "main": "google-protobuf.js",
"files": [ "files": [

@ -253,7 +253,7 @@ PHP_METHOD(Descriptor, getField) {
#else #else
field_hashtable_value = field_hashtable_value =
field_descriptor_type->create_object(field_descriptor_type TSRMLS_CC); field_descriptor_type->create_object(field_descriptor_type TSRMLS_CC);
--GC_REFCOUNT(field_hashtable_value); GC_DELREF(field_hashtable_value);
#endif #endif
FieldDescriptor *field_php = FieldDescriptor *field_php =
UNBOX_HASHTABLE_VALUE(FieldDescriptor, field_hashtable_value); UNBOX_HASHTABLE_VALUE(FieldDescriptor, field_hashtable_value);
@ -264,7 +264,7 @@ PHP_METHOD(Descriptor, getField) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(field_hashtable_value, 1, 0); RETURN_ZVAL(field_hashtable_value, 1, 0);
#else #else
++GC_REFCOUNT(field_hashtable_value); GC_ADDREF(field_hashtable_value);
RETURN_OBJ(field_hashtable_value); RETURN_OBJ(field_hashtable_value);
#endif #endif
} }
@ -492,7 +492,7 @@ PHP_METHOD(FieldDescriptor, getEnumType) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(desc, 1, 0); RETURN_ZVAL(desc, 1, 0);
#else #else
++GC_REFCOUNT(desc); GC_ADDREF(desc);
RETURN_OBJ(desc); RETURN_OBJ(desc);
#endif #endif
} }
@ -512,7 +512,7 @@ PHP_METHOD(FieldDescriptor, getMessageType) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(desc, 1, 0); RETURN_ZVAL(desc, 1, 0);
#else #else
++GC_REFCOUNT(desc); GC_ADDREF(desc);
RETURN_OBJ(desc); RETURN_OBJ(desc);
#endif #endif
} }
@ -585,7 +585,7 @@ PHP_METHOD(Oneof, getField) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(field_hashtable_value, 1, 0); RETURN_ZVAL(field_hashtable_value, 1, 0);
#else #else
++GC_REFCOUNT(field_hashtable_value); GC_ADDREF(field_hashtable_value);
RETURN_OBJ(field_hashtable_value); RETURN_OBJ(field_hashtable_value);
#endif #endif
} }
@ -703,7 +703,7 @@ PHP_METHOD(DescriptorPool, getGeneratedPool) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(generated_pool_php, 1, 0); RETURN_ZVAL(generated_pool_php, 1, 0);
#else #else
++GC_REFCOUNT(generated_pool_php); GC_ADDREF(generated_pool_php);
RETURN_OBJ(generated_pool_php); RETURN_OBJ(generated_pool_php);
#endif #endif
} }
@ -713,7 +713,7 @@ PHP_METHOD(InternalDescriptorPool, getGeneratedPool) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(internal_generated_pool_php, 1, 0); RETURN_ZVAL(internal_generated_pool_php, 1, 0);
#else #else
++GC_REFCOUNT(internal_generated_pool_php); GC_ADDREF(internal_generated_pool_php);
RETURN_OBJ(internal_generated_pool_php); RETURN_OBJ(internal_generated_pool_php);
#endif #endif
} }
@ -1033,7 +1033,7 @@ PHP_METHOD(DescriptorPool, getDescriptorByClassName) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(desc, 1, 0); RETURN_ZVAL(desc, 1, 0);
#else #else
++GC_REFCOUNT(desc); GC_ADDREF(desc);
RETURN_OBJ(desc); RETURN_OBJ(desc);
#endif #endif
} }
@ -1070,7 +1070,7 @@ PHP_METHOD(DescriptorPool, getEnumDescriptorByClassName) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
RETURN_ZVAL(desc, 1, 0); RETURN_ZVAL(desc, 1, 0);
#else #else
++GC_REFCOUNT(desc); GC_ADDREF(desc);
RETURN_OBJ(desc); RETURN_OBJ(desc);
#endif #endif
} }

@ -577,7 +577,7 @@ static void map_slot_value(upb_fieldtype_t type, const void* from,
break; break;
case UPB_TYPE_MESSAGE: case UPB_TYPE_MESSAGE:
*(zend_object**)to = Z_OBJ_P(*(zval**)from); *(zend_object**)to = Z_OBJ_P(*(zval**)from);
++GC_REFCOUNT(*(zend_object**)to); GC_ADDREF(*(zend_object**)to);
break; break;
#endif #endif
default: default:

@ -192,7 +192,8 @@ static inline void php_proto_map_string_release(void *value) {
} }
static inline void php_proto_map_object_release(void *value) { static inline void php_proto_map_object_release(void *value) {
zend_object* object = *(zend_object**)value; zend_object* object = *(zend_object**)value;
if(--GC_REFCOUNT(object) == 0) { GC_DELREF(object);
if(GC_REFCOUNT(object) == 0) {
zend_objects_store_del(object); zend_objects_store_del(object);
} }
} }
@ -302,7 +303,8 @@ static bool map_index_unset(Map *intern, const char* keyval, int length) {
zval_ptr_dtor(upb_value_memory(&old_value)); zval_ptr_dtor(upb_value_memory(&old_value));
#else #else
zend_object* object = *(zend_object**)upb_value_memory(&old_value); zend_object* object = *(zend_object**)upb_value_memory(&old_value);
if(--GC_REFCOUNT(object) == 0) { GC_DELREF(object);
if(GC_REFCOUNT(object) == 0) {
zend_objects_store_del(object); zend_objects_store_del(object);
} }
#endif #endif

@ -223,13 +223,7 @@ static zval* message_get_property_ptr_ptr(zval* object, zval* member, int type,
} }
static HashTable* message_get_properties(zval* object TSRMLS_DC) { static HashTable* message_get_properties(zval* object TSRMLS_DC) {
// User cannot get property directly (e.g., $a = $m->a) return NULL;
zend_error(E_USER_ERROR, "Cannot access private properties.");
#if PHP_MAJOR_VERSION < 7
return zend_std_get_properties(object TSRMLS_CC);
#else
return zend_std_get_properties(object);
#endif
} }
static HashTable* message_get_gc(zval* object, CACHED_VALUE** table, static HashTable* message_get_gc(zval* object, CACHED_VALUE** table,
@ -871,7 +865,11 @@ PHP_PROTO_INIT_ENUMCLASS_START("Google\\Protobuf\\Field\\Cardinality",
zend_declare_class_constant_long(field_cardinality_type, zend_declare_class_constant_long(field_cardinality_type,
"CARDINALITY_REPEATED", 20, 3 TSRMLS_CC); "CARDINALITY_REPEATED", 20, 3 TSRMLS_CC);
const char *alias = "Google\\Protobuf\\Field_Cardinality"; const char *alias = "Google\\Protobuf\\Field_Cardinality";
#if PHP_VERSION_ID < 70300
zend_register_class_alias_ex(alias, strlen(alias), field_cardinality_type TSRMLS_CC); zend_register_class_alias_ex(alias, strlen(alias), field_cardinality_type TSRMLS_CC);
#else
zend_register_class_alias_ex(alias, strlen(alias), field_cardinality_type, 1);
#endif
PHP_PROTO_INIT_ENUMCLASS_END PHP_PROTO_INIT_ENUMCLASS_END
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------
@ -926,7 +924,11 @@ PHP_PROTO_INIT_ENUMCLASS_START("Google\\Protobuf\\Field\\Kind",
zend_declare_class_constant_long(field_kind_type, zend_declare_class_constant_long(field_kind_type,
"TYPE_SINT64", 11, 18 TSRMLS_CC); "TYPE_SINT64", 11, 18 TSRMLS_CC);
const char *alias = "Google\\Protobuf\\Field_Kind"; const char *alias = "Google\\Protobuf\\Field_Kind";
#if PHP_VERSION_ID < 70300
zend_register_class_alias_ex(alias, strlen(alias), field_kind_type TSRMLS_CC); zend_register_class_alias_ex(alias, strlen(alias), field_kind_type TSRMLS_CC);
#else
zend_register_class_alias_ex(alias, strlen(alias), field_kind_type, 1);
#endif
PHP_PROTO_INIT_ENUMCLASS_END PHP_PROTO_INIT_ENUMCLASS_END
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------

@ -104,7 +104,7 @@ void add_def_obj(const void* def, PHP_PROTO_HASHTABLE_VALUE value) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
Z_ADDREF_P(value); Z_ADDREF_P(value);
#else #else
++GC_REFCOUNT(value); GC_ADDREF(value);
#endif #endif
add_to_table(upb_def_to_php_obj_map, def, value); add_to_table(upb_def_to_php_obj_map, def, value);
} }
@ -117,7 +117,7 @@ void add_ce_obj(const void* ce, PHP_PROTO_HASHTABLE_VALUE value) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
Z_ADDREF_P(value); Z_ADDREF_P(value);
#else #else
++GC_REFCOUNT(value); GC_ADDREF(value);
#endif #endif
add_to_table(ce_to_php_obj_map, ce, value); add_to_table(ce_to_php_obj_map, ce, value);
} }
@ -134,7 +134,7 @@ void add_proto_obj(const char* proto, PHP_PROTO_HASHTABLE_VALUE value) {
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
Z_ADDREF_P(value); Z_ADDREF_P(value);
#else #else
++GC_REFCOUNT(value); GC_ADDREF(value);
#endif #endif
add_to_strtable(proto_to_php_obj_map, proto, strlen(proto), value); add_to_strtable(proto_to_php_obj_map, proto, strlen(proto), value);
} }
@ -235,7 +235,8 @@ static PHP_GSHUTDOWN_FUNCTION(protobuf) {
static void php_proto_hashtable_descriptor_release(zval* value) { static void php_proto_hashtable_descriptor_release(zval* value) {
void* ptr = Z_PTR_P(value); void* ptr = Z_PTR_P(value);
zend_object* object = *(zend_object**)ptr; zend_object* object = *(zend_object**)ptr;
if(--GC_REFCOUNT(object) == 0) { GC_DELREF(object);
if(GC_REFCOUNT(object) == 0) {
zend_objects_store_del(object); zend_objects_store_del(object);
} }
efree(ptr); efree(ptr);

@ -37,7 +37,7 @@
#include "upb.h" #include "upb.h"
#define PHP_PROTOBUF_EXTNAME "protobuf" #define PHP_PROTOBUF_EXTNAME "protobuf"
#define PHP_PROTOBUF_VERSION "3.6.0" #define PHP_PROTOBUF_VERSION "3.6.1"
#define MAX_LENGTH_OF_INT64 20 #define MAX_LENGTH_OF_INT64 20
#define SIZEOF_INT64 8 #define SIZEOF_INT64 8
@ -50,6 +50,11 @@
// PHP7 Wrappers // PHP7 Wrappers
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
#if PHP_VERSION_ID < 70300
#define GC_ADDREF(h) ++GC_REFCOUNT(h)
#define GC_DELREF(h) --GC_REFCOUNT(h)
#endif
#if PHP_MAJOR_VERSION < 7 #if PHP_MAJOR_VERSION < 7
#define php_proto_zend_literal const zend_literal* #define php_proto_zend_literal const zend_literal*
@ -500,7 +505,7 @@ static inline int php_proto_zend_hash_get_current_data_ex(HashTable* ht,
PHP_PROTO_HASHTABLE_VALUE WRAPPED_OBJ; \ PHP_PROTO_HASHTABLE_VALUE WRAPPED_OBJ; \
WRAPPED_OBJ = OBJ_CLASS_ENTRY->create_object(OBJ_CLASS_ENTRY); \ WRAPPED_OBJ = OBJ_CLASS_ENTRY->create_object(OBJ_CLASS_ENTRY); \
OBJ = UNBOX_HASHTABLE_VALUE(OBJ_TYPE, WRAPPED_OBJ); \ OBJ = UNBOX_HASHTABLE_VALUE(OBJ_TYPE, WRAPPED_OBJ); \
--GC_REFCOUNT(WRAPPED_OBJ); GC_DELREF(WRAPPED_OBJ);
#define PHP_PROTO_CE_DECLARE zend_class_entry* #define PHP_PROTO_CE_DECLARE zend_class_entry*
#define PHP_PROTO_CE_UNREF(ce) (ce) #define PHP_PROTO_CE_UNREF(ce) (ce)

@ -200,7 +200,7 @@ bool native_slot_set_by_array(upb_fieldtype_t type,
} }
#else #else
DEREF(memory, zval*) = value; DEREF(memory, zval*) = value;
++GC_REFCOUNT(Z_OBJ_P(value)); GC_ADDREF(Z_OBJ_P(value));
#endif #endif
break; break;
} }
@ -251,7 +251,7 @@ bool native_slot_set_by_map(upb_fieldtype_t type, const zend_class_entry* klass,
} }
#else #else
DEREF(memory, zend_object*) = Z_OBJ_P(value); DEREF(memory, zend_object*) = Z_OBJ_P(value);
++GC_REFCOUNT(Z_OBJ_P(value)); GC_ADDREF(Z_OBJ_P(value));
#endif #endif
break; break;
} }
@ -428,7 +428,7 @@ void native_slot_get_by_map_value(upb_fieldtype_t type, const void* memory,
ZVAL_ZVAL(CACHED_PTR_TO_ZVAL_PTR(cache), value, 1, 0); ZVAL_ZVAL(CACHED_PTR_TO_ZVAL_PTR(cache), value, 1, 0);
} }
#else #else
++GC_REFCOUNT(*(zend_object**)memory); GC_ADDREF(*(zend_object**)memory);
ZVAL_OBJ(cache, *(zend_object**)memory); ZVAL_OBJ(cache, *(zend_object**)memory);
#endif #endif
return; return;

@ -1342,4 +1342,17 @@ class GeneratedClassTest extends TestBase
TestUtil::assertTestMessage($m); TestUtil::assertTestMessage($m);
} }
#########################################################
# Test message equals.
#########################################################
public function testMessageEquals()
{
$m = new TestMessage();
TestUtil::setTestMessage($m);
$n = new TestMessage();
TestUtil::setTestMessage($n);
$this->assertEquals($m, $n);
}
} }

@ -160,11 +160,12 @@ $ ./build-zip.sh 3.6.0
The above command will create 5 zip files: The above command will create 5 zip files:
``` ```
dist/protoc-3.0.0-beta-4-win32.zip dist/protoc-3.6.0-win32.zip
dist/protoc-3.0.0-beta-4-osx-x86_32.zip dist/protoc-3.6.0-osx-x86_32.zip
dist/protoc-3.0.0-beta-4-osx-x86_64.zip dist/protoc-3.6.0-osx-x86_64.zip
dist/protoc-3.0.0-beta-4-linux-x86_32.zip dist/protoc-3.6.0-linux-x86_32.zip
dist/protoc-3.0.0-beta-4-linux-x86_64.zip dist/protoc-3.6.0-linux-x86_64.zip
dist/protoc-3.6.0-linux-ppcle_64.zip
``` ```
Before running the script, make sure the artifacts are accessible from: Before running the script, make sure the artifacts are accessible from:

@ -86,6 +86,7 @@ checkArch ()
format="$(objdump -f "$1" | grep -o "file format .*$" | grep -o "[^ ]*$")" format="$(objdump -f "$1" | grep -o "file format .*$" | grep -o "[^ ]*$")"
echo Format=$format echo Format=$format
if [[ "$OS" == linux ]]; then if [[ "$OS" == linux ]]; then
host_machine="$(uname -m)";
if [[ "$ARCH" == x86_32 ]]; then if [[ "$ARCH" == x86_32 ]]; then
assertEq $format "elf32-i386" $LINENO assertEq $format "elf32-i386" $LINENO
elif [[ "$ARCH" == x86_64 ]]; then elif [[ "$ARCH" == x86_64 ]]; then
@ -93,7 +94,11 @@ checkArch ()
elif [[ "$ARCH" == aarch_64 ]]; then elif [[ "$ARCH" == aarch_64 ]]; then
assertEq $format "elf64-little" $LINENO assertEq $format "elf64-little" $LINENO
elif [[ "$ARCH" == ppcle_64 ]]; then elif [[ "$ARCH" == ppcle_64 ]]; then
assertEq $format "elf64-powerpcle" $LINENO if [[ $host_machine == ppc64le ]];then
assertEq $format "elf64-powerpcle" $LINENO
else
assertEq $format "elf64-little" $LINENO
fi
else else
fail "Unsupported arch: $ARCH" fail "Unsupported arch: $ARCH"
fi fi
@ -132,12 +137,16 @@ checkDependencies ()
dump_cmd='objdump -x '"$1"' | fgrep "DLL Name"' dump_cmd='objdump -x '"$1"' | fgrep "DLL Name"'
white_list="KERNEL32\.dll\|msvcrt\.dll" white_list="KERNEL32\.dll\|msvcrt\.dll"
elif [[ "$OS" == linux ]]; then elif [[ "$OS" == linux ]]; then
host_machine="$(uname -m)";
dump_cmd='ldd '"$1" dump_cmd='ldd '"$1"
if [[ "$ARCH" == x86_32 ]]; then if [[ "$ARCH" == x86_32 ]]; then
white_list="linux-gate\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux\.so\.2" white_list="linux-gate\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux\.so\.2"
elif [[ "$ARCH" == x86_64 ]]; then elif [[ "$ARCH" == x86_64 ]]; then
white_list="linux-vdso\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-x86-64\.so\.2" white_list="linux-vdso\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|ld-linux-x86-64\.so\.2"
elif [[ "$ARCH" == ppcle_64 ]]; then elif [[ "$ARCH" == ppcle_64 ]]; then
if [[ $host_machine != ppc64le ]];then
dump_cmd='objdump -p '"$1"' | grep NEEDED'
fi
white_list="linux-vdso64\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|libz\.so\.1\|ld64\.so\.2" white_list="linux-vdso64\.so\.1\|libpthread\.so\.0\|libm\.so\.6\|libc\.so\.6\|libz\.so\.1\|ld64\.so\.2"
elif [[ "$ARCH" == aarch_64 ]]; then elif [[ "$ARCH" == aarch_64 ]]; then
dump_cmd='objdump -p '"$1"' | grep NEEDED' dump_cmd='objdump -p '"$1"' | grep NEEDED'
@ -205,6 +214,7 @@ elif [[ "$(uname)" == Linux* ]]; then
CONFIGURE_ARGS="$CONFIGURE_ARGS --host=aarch64-linux-gnu" CONFIGURE_ARGS="$CONFIGURE_ARGS --host=aarch64-linux-gnu"
elif [[ "$ARCH" == ppcle_64 ]]; then elif [[ "$ARCH" == ppcle_64 ]]; then
CXXFLAGS="$CXXFLAGS -m64" CXXFLAGS="$CXXFLAGS -m64"
CONFIGURE_ARGS="$CONFIGURE_ARGS --host=powerpc64le-linux-gnu"
else else
fail "Unsupported arch: $ARCH" fail "Unsupported arch: $ARCH"
fi fi

@ -10,7 +10,7 @@
</parent> </parent>
<groupId>com.google.protobuf</groupId> <groupId>com.google.protobuf</groupId>
<artifactId>protoc</artifactId> <artifactId>protoc</artifactId>
<version>3.6.0</version> <version>3.6.1</version>
<packaging>pom</packaging> <packaging>pom</packaging>
<name>Protobuf Compiler</name> <name>Protobuf Compiler</name>
<description> <description>

@ -30,7 +30,7 @@
# Copyright 2007 Google Inc. All Rights Reserved. # Copyright 2007 Google Inc. All Rights Reserved.
__version__ = '3.6.0' __version__ = '3.6.1'
if __name__ != '__main__': if __name__ != '__main__':
try: try:

@ -1109,7 +1109,7 @@ static void putmsg(VALUE msg_rb, const Descriptor* desc,
TypedData_Get_Struct(msg_rb, MessageHeader, &Message_type, msg); TypedData_Get_Struct(msg_rb, MessageHeader, &Message_type, msg);
if (desc != msg->descriptor) { if (desc != msg->descriptor) {
rb_raise(cTypeError, rb_raise(rb_eArgError,
"The type of given msg is '%s', expect '%s'.", "The type of given msg is '%s', expect '%s'.",
upb_msgdef_fullname(msg->descriptor->msgdef), upb_msgdef_fullname(msg->descriptor->msgdef),
upb_msgdef_fullname(desc->msgdef)); upb_msgdef_fullname(desc->msgdef));

@ -1,6 +1,6 @@
Gem::Specification.new do |s| Gem::Specification.new do |s|
s.name = "google-protobuf" s.name = "google-protobuf"
s.version = "3.6.0" s.version = "3.6.1"
s.licenses = ["BSD-3-Clause"] s.licenses = ["BSD-3-Clause"]
s.summary = "Protocol Buffers" s.summary = "Protocol Buffers"
s.description = "Protocol Buffers are Google's data interchange format." s.description = "Protocol Buffers are Google's data interchange format."

@ -86,7 +86,7 @@ class EncodeDecodeTest < Test::Unit::TestCase
end end
def test_encode_wrong_msg def test_encode_wrong_msg
e = assert_raise Google::Protobuf::TypeError do e = assert_raise ::ArgumentError do
m = A::B::C::TestMessage.new( m = A::B::C::TestMessage.new(
:optional_int32 => 1, :optional_int32 => 1,
) )

@ -164,7 +164,7 @@ nobase_include_HEADERS = \
lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la lib_LTLIBRARIES = libprotobuf-lite.la libprotobuf.la libprotoc.la
libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS) libprotobuf_lite_la_LIBADD = $(PTHREAD_LIBS)
libprotobuf_lite_la_LDFLAGS = -version-info 16:0:0 -export-dynamic -no-undefined libprotobuf_lite_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined
if HAVE_LD_VERSION_SCRIPT if HAVE_LD_VERSION_SCRIPT
libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map libprotobuf_lite_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf-lite.map
EXTRA_libprotobuf_lite_la_DEPENDENCIES = libprotobuf-lite.map EXTRA_libprotobuf_lite_la_DEPENDENCIES = libprotobuf-lite.map
@ -210,7 +210,7 @@ libprotobuf_lite_la_SOURCES = \
google/protobuf/io/zero_copy_stream_impl_lite.cc google/protobuf/io/zero_copy_stream_impl_lite.cc
libprotobuf_la_LIBADD = $(PTHREAD_LIBS) libprotobuf_la_LIBADD = $(PTHREAD_LIBS)
libprotobuf_la_LDFLAGS = -version-info 16:0:0 -export-dynamic -no-undefined libprotobuf_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined
if HAVE_LD_VERSION_SCRIPT if HAVE_LD_VERSION_SCRIPT
libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map libprotobuf_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotobuf.map
EXTRA_libprotobuf_la_DEPENDENCIES = libprotobuf.map EXTRA_libprotobuf_la_DEPENDENCIES = libprotobuf.map
@ -301,7 +301,7 @@ libprotobuf_la_SOURCES = \
nodist_libprotobuf_la_SOURCES = $(nodist_libprotobuf_lite_la_SOURCES) nodist_libprotobuf_la_SOURCES = $(nodist_libprotobuf_lite_la_SOURCES)
libprotoc_la_LIBADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc_la_LIBADD = $(PTHREAD_LIBS) libprotobuf.la
libprotoc_la_LDFLAGS = -version-info 16:0:0 -export-dynamic -no-undefined libprotoc_la_LDFLAGS = -version-info 17:0:0 -export-dynamic -no-undefined
if HAVE_LD_VERSION_SCRIPT if HAVE_LD_VERSION_SCRIPT
libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map libprotoc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libprotoc.map
EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map EXTRA_libprotoc_la_DEPENDENCIES = libprotoc.map

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -101,27 +101,27 @@ namespace internal {
// The current version, represented as a single integer to make comparison // The current version, represented as a single integer to make comparison
// easier: major * 10^6 + minor * 10^3 + micro // easier: major * 10^6 + minor * 10^3 + micro
#define GOOGLE_PROTOBUF_VERSION 3006000 #define GOOGLE_PROTOBUF_VERSION 3006001
// A suffix string for alpha, beta or rc releases. Empty for stable releases. // A suffix string for alpha, beta or rc releases. Empty for stable releases.
#define GOOGLE_PROTOBUF_VERSION_SUFFIX "" #define GOOGLE_PROTOBUF_VERSION_SUFFIX ""
// The minimum library version which works with the current version of the // The minimum library version which works with the current version of the
// headers. // headers.
#define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3006000 #define GOOGLE_PROTOBUF_MIN_LIBRARY_VERSION 3006001
// The minimum header version which works with the current version of // The minimum header version which works with the current version of
// the library. This constant should only be used by protoc's C++ code // the library. This constant should only be used by protoc's C++ code
// generator. // generator.
static const int kMinHeaderVersionForLibrary = 3006000; static const int kMinHeaderVersionForLibrary = 3006001;
// The minimum protoc version which works with the current version of the // The minimum protoc version which works with the current version of the
// headers. // headers.
#define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3006000 #define GOOGLE_PROTOBUF_MIN_PROTOC_VERSION 3006001
// The minimum header version which works with the current version of // The minimum header version which works with the current version of
// protoc. This constant should only be used in VerifyVersion(). // protoc. This constant should only be used in VerifyVersion().
static const int kMinHeaderVersionForProtoc = 3006000; static const int kMinHeaderVersionForProtoc = 3006001;
// Verifies that the headers and libraries are compatible. Use the macro // Verifies that the headers and libraries are compatible. Use the macro
// below to call this. // below to call this.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

@ -8,12 +8,12 @@
#include <google/protobuf/stubs/common.h> #include <google/protobuf/stubs/common.h>
#if GOOGLE_PROTOBUF_VERSION < 3006000 #if GOOGLE_PROTOBUF_VERSION < 3006001
#error This file was generated by a newer version of protoc which is #error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update #error incompatible with your Protocol Buffer headers. Please update
#error your headers. #error your headers.
#endif #endif
#if 3006000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION #if 3006001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please #error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc. #error regenerate this file with a newer version of protoc.

Loading…
Cancel
Save