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

Unified Diff: third_party/protobuf/README.chromium

Issue 2756543002: Statically link libprotobuf_lite on Linux component builds (Closed)
Patch Set: Extract all global data to globals.cc Created 3 years, 9 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/patches/0012-extract-globals.patch » ('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 8838fbc2715f88ba266247fb32e58147b04ad0a0..edb4d6f1c58234adf3daceaf8376b142b0117a49 100644
--- a/third_party/protobuf/README.chromium
+++ b/third_party/protobuf/README.chromium
@@ -26,7 +26,18 @@ Steps used to create the current version:
For future releases, it will be worth looking into which patches still need
to be applied.
-5. Generate descriptor_pb2.py using something like the following steps. Make
+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 obj/third_party/protobuf/libprotobuf_lite.a
+
+ should produce the output
+
+ 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
sure you've regenerated your buildfiles and will build protoc from the
newly-modified sources above.
@@ -35,8 +46,8 @@ Steps used to create the current version:
$ cd third_party/protobuf/src
$ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor.proto
-6. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
-7. Update README.chromium.
+7. Add an __init__.py to protobuf/ that adds third_party/six/ to Python path.
+8. Update README.chromium.
Description of the patches:
@@ -76,3 +87,11 @@ 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/patches/0012-extract-globals.patch » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698