CSWTCH.123 symbols should not have {shared}/3 in their paths |
||
Issue descriptionAlthough these symbols appear in many .o files, they do not actually represent the same symbols, and so should not actually have their paths merged.
,
May 16 2017
120) 15553 (99.8%) d@0x2cf7770 40 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libport_logging_android.pic.a_logging.pic.o
.Lswitch.table
121) 15569 (99.9%) d@0x2cf7790 16 third_party/gvr-android-sdk/libgvr_shim_static_arm.a/libcontroller_api_impl.a_controller_api_impl.o
.Lswitch.table.45
122) 15577 (100.0%) d@0x2d67020 8 third_party/ffmpeg/{shared}/8
__compound_literal.0
,
May 17 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c929e49f051f0414e27d6e3cca9c7c4163f16c61 commit c929e49f051f0414e27d6e3cca9c7c4163f16c61 Author: Andrew Grieve <agrieve@chromium.org> Date: Wed May 17 19:52:53 2017 supersize: No name modifying in archive. Don't cluster cross-path. Cluster C clones This latest round of tweaks to NormalizeNames() made me realize that when the logic there is wrong, we can't undo it on existing .size files. So, this now skips calling NormalizeNames() during archive. Growse .size files by ~100kb. The recent change to Cluster() was merging together symbols from different object files. This is a problem because queries are often based on path, and when a group has multiple paths it returns None. Cluster() now uses object_path in the key, and GroupedByFullName() is added for when it's useful to actually group cross-paths. Clones that are for symbols in .c files are now recognized by NormalizeNames(). E.g.: "get_file_size.constprop.1" Compiler-generated symbols such as "CSWTCH.123" are now ignored by nm.py so that two different object paths that have such a symbol no longer have their paths merged (since in this case, the symbols actually are different). BUG= 722999 , 722997 Change-Id: I6d4406c29f4b4383b825af7491dd943b2070f4e6 Reviewed-on: https://chromium-review.googlesource.com/507547 Reviewed-by: Eric Stevenson <estevenson@chromium.org> Commit-Queue: Andrew Grieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/master@{#472539} [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/archive.py [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/console.py [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/integration_test.py [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/models.py [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/nm.py [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/testdata/Console.golden [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/testdata/Diff_NullDiff.golden [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/testdata/FullDescription.golden [modify] https://crrev.com/c929e49f051f0414e27d6e3cca9c7c4163f16c61/tools/binary_size/libsupersize/testdata/SymbolGroupMethods.golden
,
May 17 2017
|
||
►
Sign in to add a comment |
||
Comment 1 by agrieve@chromium.org
, May 16 2017More such symbols: 84) 14788 (94.9%) r@0x2b32ad0 32 components/ntp_tiles/popular_sites_impl.cc ._93 85) 14796 (95.0%) r@0x2b90268 8 third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc ._71 86) 14820 (95.1%) r@Group 24 {no path} ._72 (count=2) 87) 14860 (95.4%) r@Group 40 {no path} ._73 (count=2) 88) 14868 (95.4%) r@0x2b902a0 8 third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc ._75 89) 14884 (95.6%) r@Group 16 {no path} ._76 (count=2) 90) 14900 (95.7%) r@0x2b902b0 16 third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc ._78 91) 14908 (95.7%) r@0x2b902c8 8 third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc ._74 92) 14916 (95.8%) r@0x2b902d0 8 third_party/webrtc/modules/video_coding/codecs/vp8/default_temporal_layers.cc ._77 93) 14932 (95.9%) r@0x2b91588 16 chrome/browser/ui/webui/snippets_internals_message_handler.cc ._86 94) 14940 (95.9%) r@0x2b96470 8 components/ntp_snippets/remote/remote_suggestions_scheduler_impl.cc ._61 95) 14972 (96.1%) r@0x2b99618 32 chrome/browser/android/vr_shell/gltf_asset.cc ._56 96) 14980 (96.2%) r@0x2b99c58 8 chrome/browser/android/vr_shell/vr_shell_gl.cc ._435 97) 15004 (96.3%) r@0x2bbc380 24 third_party/WebKit/Source/core/workers/ParentFrameTaskRunners.cpp ._439 98) 15020 (96.4%) r@0x2bbde00 16 third_party/WebKit/Source/modules/vr/VRDisplay.cpp ._465 99) 15036 (96.5%) r@0x2bbde10 16 third_party/WebKit/Source/modules/vr/VRDisplay.cpp ._466 100) 15052 (96.6%) r@0x2bc1118 16 content/renderer/media/user_media_client_impl.cc ._450 101) 15108 (97.0%) r@Group 56 {no path} .Lswitch.table (count=2)