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

Side by Side Diff: third_party/protobuf/README.chromium

Issue 2759423004: Protobuf: Move thread-local global data to globals.cc (Closed)
Patch Set: Update patch file 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 unified diff | Download patch
OLDNEW
1 Name: Protocol Buffers 1 Name: Protocol Buffers
2 Short Name: protobuf 2 Short Name: protobuf
3 URL: https://github.com/google/protobuf 3 URL: https://github.com/google/protobuf
4 License: BSD 4 License: BSD
5 License File: LICENSE 5 License File: LICENSE
6 Version: 3.0.0-beta-3 6 Version: 3.0.0-beta-3
7 Revision: 3470b6895aa659b7559ed678e029a5338e535f14 7 Revision: 3470b6895aa659b7559ed678e029a5338e535f14
8 Security Critical: yes 8 Security Critical: yes
9 9
10 Steps used to create the current version: 10 Steps used to create the current version:
(...skipping 11 matching lines...) Expand all
22 it to protobuf/third_party/six/six.py. 22 it to protobuf/third_party/six/six.py.
23 4. Apply patches in patches/ (see the description below): 23 4. Apply patches in patches/ (see the description below):
24 24
25 $ for patch in patches/*; do patch -s -p1 < $patch; done 25 $ for patch in patches/*; do patch -s -p1 < $patch; done
26 26
27 For future releases, it will be worth looking into which patches still need 27 For future releases, it will be worth looking into which patches still need
28 to be applied. 28 to be applied.
29 5. Extract all globals to src/google/protobuf/globals.cc and prefix these 29 5. Extract all globals to src/google/protobuf/globals.cc and prefix these
30 symbols with 'cr_'. On Linux, the command 30 symbols with 'cr_'. On Linux, the command
31 31
32 $ objdump -t -j.data -j.bss obj/third_party/protobuf/libprotobuf_lite.a 32 $ objdump -t -j.data -j.bss -j.tdata -j.tbss \
33 obj/third_party/protobuf/libprotobuf_lite.a
33 34
34 should produce the output 35 should produce the output
35 36
36 objdump: section '.bss' mentioned in a -j option, but not found in any input file 37 objdump: section '.bss' mentioned in a -j option, but not found in any input file
37 objdump: section '.data' mentioned in a -j option, but not found in any input file 38 objdump: section '.data' mentioned in a -j option, but not found in any input file
Peter Kasting 2017/03/22 05:16:40 Does this output need updating?
38 39
39 This will require updating 0012-extract-globals.patch. 40 This will require updating 0012-extract-globals.patch.
40 6. Generate descriptor_pb2.py using something like the following steps. Make 41 6. Generate descriptor_pb2.py using something like the following steps. Make
41 sure you've regenerated your buildfiles and will build protoc from the 42 sure you've regenerated your buildfiles and will build protoc from the
42 newly-modified sources above. 43 newly-modified sources above.
43 44
44 $ cd $SRC_DIR 45 $ cd $SRC_DIR
45 $ ninja -C out/Debug protoc 46 $ ninja -C out/Debug protoc
46 $ cd third_party/protobuf/src 47 $ cd third_party/protobuf/src
47 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor .proto 48 $ ../../../out/Debug/protoc --python_out=../python google/protobuf/descriptor .proto
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 89
89 Fixed in https://github.com/google/protobuf/pull/1549 90 Fixed in https://github.com/google/protobuf/pull/1549
90 91
91 - 0012-extract-globals.patch 92 - 0012-extract-globals.patch
92 93
93 Fixes https://crbug.com/700120. Moves everything that would have 94 Fixes https://crbug.com/700120. Moves everything that would have
94 gotten linked into .data or .bss sections into globals.cc so that 95 gotten linked into .data or .bss sections into globals.cc so that
95 Chromium may build a shared library containing just protobuf 96 Chromium may build a shared library containing just protobuf
96 globals. Also prefixes every symbol with 'cr_' to avoid conflicting 97 globals. Also prefixes every symbol with 'cr_' to avoid conflicting
97 with symbols from the system protobuf. 98 with symbols from the system protobuf.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698