| Index: third_party/protobuf/README.chromium
|
| diff --git a/third_party/protobuf/README.chromium b/third_party/protobuf/README.chromium
|
| index 3d69cc4a9b4bdb320ec9dd54297726fa48ae36e1..d5d87caa17f6e581371e5d2b133d335d8a7592ca 100644
|
| --- a/third_party/protobuf/README.chromium
|
| +++ b/third_party/protobuf/README.chromium
|
| @@ -9,8 +9,7 @@ Security Critical: yes
|
|
|
| Steps used to create the current version:
|
| 1. Pull the release from https://github.com/google/protobuf/releases
|
| -2. Add build files (BUILD.gn, proto_library.gni, protobuf.gyp,
|
| - protobuf_lite.gypi, protobuf_nacl.gyp).
|
| +2. Add build files (BUILD.gn, proto_library.gni)
|
|
|
| Be sure to update the list of source files, as additional .cc files and
|
| headers might have been added -- you need to find the transitive closure of
|
| @@ -26,21 +25,7 @@ Steps used to create the current version:
|
|
|
| For future releases, it will be worth looking into which patches still need
|
| to be applied.
|
| -5. Extract all globals to src/google/protobuf/globals.cc and prefix these
|
| - symbols with 'cr_'. On Linux, the command
|
| -
|
| - $ objdump -t -j.data -j.bss -j.tdata -j.tbss \
|
| - obj/third_party/protobuf/libprotobuf_lite.a
|
| -
|
| - should produce the output
|
| -
|
| - objdump: section '.tbss' mentioned in a -j option, but not found in any input file
|
| - objdump: section '.tdata' mentioned in a -j option, but not found in any input file
|
| - objdump: section '.bss' mentioned in a -j option, but not found in any input file
|
| - objdump: section '.data' mentioned in a -j option, but not found in any input file
|
| -
|
| - This will require updating 0012-extract-globals.patch.
|
| -6. Generate descriptor_pb2.py using something like the following steps. Make
|
| +5. Generate descriptor_pb2.py using something like the following steps. Make
|
| sure you've regenerated your buildfiles and will build protoc from the
|
| newly-modified sources above.
|
|
|
| @@ -49,8 +34,19 @@ Steps used to create the current version:
|
| $ cd third_party/protobuf/src
|
| $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor.proto
|
|
|
| -7. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
|
| -8. Update README.chromium.
|
| +6. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
|
| +7. Update README.chromium.
|
| +
|
| +Note about libmirclient:
|
| +
|
| +On Ubuntu, Chromium has an indirect dependency on the system
|
| +libprotobuf-lite through libmirclient (through GTK). The symbols in
|
| +the system library conflict with Chromium's libprotobuf-lite used on
|
| +component builds.
|
| +
|
| +mirclient.* are added to stub out libmirclient.so.9 to prevent loading
|
| +the system libprotobuf-lite. Chromium's replacement libmirclient will
|
| +get loaded, but its symbols will never be used directly or indirectly.
|
|
|
| Description of the patches:
|
|
|
| @@ -90,11 +86,3 @@ Description of the patches:
|
| removed in C++11 mode.
|
|
|
| Fixed in https://github.com/google/protobuf/pull/1549
|
| -
|
| -- 0012-extract-globals.patch
|
| -
|
| - Fixes https://crbug.com/700120. Moves everything that would have
|
| - gotten linked into .data or .bss sections into globals.cc so that
|
| - Chromium may build a shared library containing just protobuf
|
| - globals. Also prefixes every symbol with 'cr_' to avoid conflicting
|
| - with symbols from the system protobuf.
|
|
|