1. 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
  2. 09 Jun, 2015 2 commits
  3. 15 May, 2015 1 commit
    • Chris Fallin's avatar
      Update MRI C Ruby extension to use new version of upb. · d3262773
      Chris Fallin authored
      - Alter encode/decode paths to use the `upb_env` (environment)
        abstraction.
      - Update upb amalgamation to upstream `93791bfe`.
      - Fix a compilation warning (void*->char* cast).
      - Modify build flags so that upb doesn't produce warnings -- the Travis
        build logs were pretty cluttered previously.
      d3262773
  4. 06 Jan, 2015 1 commit
    • Chris Fallin's avatar
      Support for maps in the MRI C Ruby extension. · fd1a3ff1
      Chris Fallin authored
      This adds the Map container and support for parsing and serializing maps
      in the protobuf wire format (as defined by the C++ implementation, with
      MapEntry submessages in a repeated field). JSON map
      serialization/parsing are not yet supported as these will require some
      changes to upb as well.
      fd1a3ff1
  5. 12 Dec, 2014 1 commit