Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: third_party/protobuf/README.chromium

Issue 2885223002: Protobuf: Remove protobuf globals patch (Closed)
Patch Set: typo Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/mirclient.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « third_party/protobuf/BUILD.gn ('k') | third_party/protobuf/mirclient.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698