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

Unified Diff: tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py

Issue 2851473003: supersize: Track symbol aliases and shared symbols (Closed)
Patch Set: fix regression in calculate padding introduced in ps3 Created 3 years, 8 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
Index: tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py
diff --git a/tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py b/tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py
new file mode 100644
index 0000000000000000000000000000000000000000..85edc80632ce2d1d99a02f60c87aaa0b6766457a
--- /dev/null
+++ b/tools/binary_size/libsupersize/testdata/mock_toolchain/mock_nm.py
@@ -0,0 +1,121 @@
+# Copyright 2017 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import os
+import sys
+
+
+_SHRINK_TO_FIT_CLONE = ('blink::ContiguousContainerBase::shrinkToFit() '
+ '[clone .part.1234] [clone .isra.2]')
+_ELF_OUTPUT = """002b6e20 t $t
+00000010 N $d
+002b6bb8 t $t
+002a0010 t {}
+0028d900 t startup._GLOBAL__sub_I_page_allocator.cc
+002a0010 t FooAlias()
+002b6bb8 t $t
+002a0010 t BarAlias()
+002a0000 t blink::ContiguousContainerBase::shrinkToFit()
+002a0000 t BazAlias(bool)
+002b6bb8 t $t
+""".format(_SHRINK_TO_FIT_CLONE)
+
+_SHRINK_TO_FIT = ('blink::ContiguousContainerBase::shrinkToFit() '
+ '[clone .part.1234] [clone .isra.2]')
+_OBJECT_OUTPUTS = {
+ 'obj/third_party/icu/icuuc/ucnv_ext.o': [
+ '01010101 t ' + _SHRINK_TO_FIT,
+ '01010101 t _GLOBAL__sub_I_SkDeviceProfile.cpp',
+ '01010101 t foo_bar',
+ '002a0000 t BazAlias(bool)',
+ '01010101 r vtable for ChromeMainDelegate',
+ '01010101 r vtable for chrome::mojom::FieldTrialRecorder',
+ ('01010101 t ucnv_extMatchFromU(int const*, int, unsigned short const*,'
+ ' int, unsigned short const*, int, unsigned int*, signed char, signed '
+ 'char)'),
+ ],
+ 'obj/third_party/WebKit.a': [
+ '',
+ 'PaintChunker.o:',
+ '01010101 t ' + _SHRINK_TO_FIT,
+ '010101 t (anonymous namespace)::kAnimationFrameTimeHistogramClassPath',
+ '010101 r vtable for ChromeMainDelegateAndroid',
+ ('01010101 r blink::(anonymous namespace)::CSSValueKeywordsHash::findVa'
+ 'lueImpl(char const*, unsigned int)::value_word_list'),
+ '',
+ 'ContiguousContainer.o:',
+ '01010101 d chrome::mojom::FilePatcher::Name_',
+ '01010101 r vtable for chrome::mojom::FieldTrialRecorderProxy',
+ '01010101 r google::protobuf::internal::pLinuxKernelMemoryBarrier',
+ '01010101 r base::android::kBaseRegisteredMethods',
+ ('01010101 r base::android::(anonymous namespace)::g_renderer_histogram'
+ '_code'),
+ ('01010101 r base::android::(anonymous namespace)::g_library_version_nu'
+ 'mber'),
+ ('01010101 t blink::ContiguousContainerBase::ContiguousContainerBase(bl'
+ 'ink::ContiguousContainerBase&&)'),
+ ('01010101 t (anonymous namespace)::blink::PaintChunker::releasePaintCh'
+ 'unks() [clone .part.1]'),
+ ],
+ 'obj/base/base/page_allocator.o': [
+ '01010101 t _GLOBAL__sub_I_page_allocator.cc',
+ '01010101 t _GLOBAL__sub_I_bbr_sender.cc',
+ '01010101 t _GLOBAL__sub_I_pacing_sender.cc',
+ '01010101 t _GLOBAL__sub_I_bbr_sender.cc',
+ '01010101 t extFromUUseMapping(aj, int)',
+ '01010101 t extFromUUseMapping(signed char, unsigned int, int)',
+ '01010101 t Name',
+ '01010101 v vtable for mojo::MessageReceiver',
+ '01010101 r kMethodsAnimationFrameTimeHistogram',
+ '01010101 r google::protobuf::internal::pLinuxKernelCmpxchg',
+ ],
+ 'obj/third_party/ffmpeg/libffmpeg_internal.a': [
+ '',
+ 'fft_float.o:',
+ '01010101 b ff_cos_65536',
+ '01010101 b ff_cos_131072',
+ '002a0010 t FooAlias()',
+ '002b6bb8 t $t',
+ '002a0010 t BarAlias()',
+ ''
+ 'fft_fixed.o:'
+ '01010101 b ff_cos_131072_fixed',
+ ],
+ '../../third_party/gvr-android-sdk/libgvr_shim_static_arm.a': [
+ '',
+ 'libcontroller_api_impl.a_controller_api_impl.o:'
+ '01010101 d .Lswitch.table.45',
+ '',
+ 'libport_android_jni.a_jni_utils.o:',
+ '(anonymous namespace)::kSystemClassPrefixes',
+ ],
+}
+
+def _PrintHeader(path):
+ sys.stdout.write('\n')
+ sys.stdout.write(path + ':\n')
+
+
+def _PrintOutput(path):
+ if path.endswith(os.path.join('mock_output_directory', 'elf')):
+ sys.stdout.write(_ELF_OUTPUT)
+ else:
+ lines = _OBJECT_OUTPUTS.get(path)
+ assert lines, 'No mock_nm.py entry for: ' + path
+ sys.stdout.write('\n'.join(lines))
+ sys.stdout.write('\n')
+
+
+def main():
+ paths = [p for p in sys.argv[1:] if not p.startswith('-')]
+ if len(paths) == 1:
+ _PrintOutput(paths[0])
+ else:
+ for path in paths:
+ _PrintHeader(path)
+ _PrintOutput(path)
+
+
+if __name__ == '__main__':
+ main()

Powered by Google App Engine
This is Rietveld 408576698