1. 22 Aug, 2018 1 commit
  2. 17 Mar, 2017 1 commit
    • Adam Cozzette's avatar
      Ruby: only link against specific version of memcpy if we're using glibc · ea5ef14a
      Adam Cozzette authored
      We have some special code in wrap_memcpy.c to ensure that we use the
      2.2.5 version of memcpy, for compatibility with older versions of glibc.
      However, we need to make sure we only attempt to do this when we are
      actually building with glibc, so that the code can also build
      successfully against other libc implementations such as musl.
      ea5ef14a
  3. 09 Mar, 2017 1 commit
    • Adam Cozzette's avatar
      Ruby: wrap calls to memcpy so that gem is compatible with pre-2.14 glibc · 9fa40314
      Adam Cozzette authored
      This commit adds a __wrap_memcpy function and a linker flag to use that
      in place of memcpy for our Ruby gem C extension. This allows us to
      always use the 2.2.5 version of memcpy, making it possible to use the
      gem on distributions with pre-2.14 versions of glibc.
      
      Before this change:
      $ objdump -T protobuf_c.so | grep memcpy
      0000000000000000      DF *UND*  0000000000000000  GLIBC_2.3.4 __memcpy_chk
      0000000000000000      DF *UND*  0000000000000000  GLIBC_2.14  memcpy
      
      After:
      $ objdump -T protobuf_c.so | grep memcpy
      0000000000000000      DF *UND*  0000000000000000  GLIBC_2.2.5 memcpy
      0000000000000000      DF *UND*  0000000000000000  GLIBC_2.3.4 __memcpy_chk
      0000000000042450 g    DF .text  0000000000000005  Base __wrap_memcpy
      
      This is based on gRPC's solution to a similar problem:
      https://github.com/grpc/grpc/blob/5098508d2d41a116113f7e333c516cd9ef34a943/src/core/lib/support/wrap_memcpy.c
      
      This fixes issue #2783.
      9fa40314
  4. 29 Jan, 2016 1 commit
    • Jisi Liu's avatar
      Integrate from google internal. · 5221dcbe
      Jisi Liu authored
      Java files are moved to un-do the hack in the prevous commit, which
      moved the java files to the original position for integration.
      5221dcbe
  5. 28 Jan, 2016 1 commit
    • Jisi Liu's avatar
      Undo the Java module change for integration. · cb3f4288
      Jisi Liu authored
      Moving the files to their original location, so that opensource changes
      can be picked during the internal merge. Those files will be moved into
      the correct location after merging with internal code.
      
      Note: do NOT merge this into master without the other internal
      down-integration commit.
      cb3f4288
  6. 13 Jan, 2016 1 commit
    • nmittler's avatar
      Restructuring protobuf to multiple modules · 49efe9d7
      nmittler authored
      protobuf/java will become a parent pom that will contain two modules:
      
      core - contains all of the code for the protobuf-java artifact
      util - contains all of the code for the protobuf-java-util artifact
      
      Also cleaned up various Maven warnings.
      49efe9d7
  7. 11 Nov, 2014 1 commit
  8. 01 Oct, 2014 1 commit
  9. 02 Nov, 2010 1 commit
  10. 29 Jul, 2009 1 commit
  11. 22 Oct, 2008 1 commit
  12. 24 Sep, 2008 1 commit
    • kenton@google.com's avatar
      Integrate changes from internal Google-internal branch. · 24bf56fb
      kenton@google.com authored
        General
        * License changed from Apache 2.0 to New BSD.
        * It is now possible to define custom "options", which are basically
          annotations which may be placed on definitions in a .proto file.
          For example, you might define a field option called "foo" like so:
            import "google/protobuf/descriptor.proto"
            extend google.protobuf.FieldOptions {
              optional string foo = 12345;
            }
          Then you annotate a field using the "foo" option:
            message MyMessage {
              optional int32 some_field = 1 [(foo) = "bar"]
            }
          The value of this option is then visible via the message's
          Descriptor:
            const FieldDescriptor* field =
              MyMessage::descriptor()->FindFieldByName("some_field");
            assert(field->options().GetExtension(foo) == "bar");
          This feature has been implemented and tested in C++ and Java.
          Other languages may or may not need to do extra work to support
          custom options, depending on how they construct descriptors.
      
        C++
        * Fixed some GCC warnings that only occur when using -pedantic.
        * Improved static initialization code, making ordering more
          predictable among other things.
        * TextFormat will no longer accept messages which contain multiple
          instances of a singular field.  Previously, the latter instance
          would overwrite the former.
        * Now works on systems that don't have hash_map.
      
        Python
        * Strings now use the "unicode" type rather than the "str" type.
          String fields may still be assigned ASCII "str" values; they will
          automatically be converted.
        * Adding a property to an object representing a repeated field now
          raises an exception.  For example:
            # No longer works (and never should have).
            message.some_repeated_field.foo = 1
      24bf56fb
  13. 14 Aug, 2008 1 commit
  14. 10 Jul, 2008 1 commit