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

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

Issue 2759423004: Protobuf: Move thread-local global data to globals.cc (Closed)
Patch Set: Address pkasting@'s comments 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
« 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 »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
37 objdump: section '.tbss' mentioned in a -j option, but not found in any input file
38 objdump: section '.tdata' mentioned in a -j option, but not found in any inpu t file
36 objdump: section '.bss' mentioned in a -j option, but not found in any input file 39 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 40 objdump: section '.data' mentioned in a -j option, but not found in any input file
38 41
39 This will require updating 0012-extract-globals.patch. 42 This will require updating 0012-extract-globals.patch.
40 6. Generate descriptor_pb2.py using something like the following steps. Make 43 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 44 sure you've regenerated your buildfiles and will build protoc from the
42 newly-modified sources above. 45 newly-modified sources above.
43 46
44 $ cd $SRC_DIR 47 $ cd $SRC_DIR
45 $ ninja -C out/Debug protoc 48 $ ninja -C out/Debug protoc
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 91
89 Fixed in https://github.com/google/protobuf/pull/1549 92 Fixed in https://github.com/google/protobuf/pull/1549
90 93
91 - 0012-extract-globals.patch 94 - 0012-extract-globals.patch
92 95
93 Fixes https://crbug.com/700120. Moves everything that would have 96 Fixes https://crbug.com/700120. Moves everything that would have
94 gotten linked into .data or .bss sections into globals.cc so that 97 gotten linked into .data or .bss sections into globals.cc so that
95 Chromium may build a shared library containing just protobuf 98 Chromium may build a shared library containing just protobuf
96 globals. Also prefixes every symbol with 'cr_' to avoid conflicting 99 globals. Also prefixes every symbol with 'cr_' to avoid conflicting
97 with symbols from the system protobuf. 100 with symbols from the system protobuf.
OLDNEW
« 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