Index: infra/scripts/legacy/scripts/slave/chromium/sizes.py |
diff --git a/infra/scripts/legacy/scripts/slave/chromium/sizes.py b/infra/scripts/legacy/scripts/slave/chromium/sizes.py |
index 8a61840a1ef18cff8e65b95a8d2bb3b04f549201..d5a1169d731eace0f9f1840fd9c3a1ca54c4aff5 100755 |
--- a/infra/scripts/legacy/scripts/slave/chromium/sizes.py |
+++ b/infra/scripts/legacy/scripts/slave/chromium/sizes.py |
@@ -101,6 +101,7 @@ def main_mac(options, args, results_collector): |
framework_name = base_name + ' Framework' |
framework_bundle = framework_name + '.framework' |
framework_dsym_bundle = framework_bundle + '.dSYM' |
+ framework_unstripped_name = framework_name + '.unstripped' |
chromium_app_dir = os.path.join(target_dir, app_bundle) |
chromium_executable = os.path.join(chromium_app_dir, |
@@ -115,6 +116,8 @@ def main_mac(options, args, results_collector): |
chromium_framework_dsym = os.path.join(chromium_framework_dsym_dir, |
'Contents', 'Resources', 'DWARF', |
framework_name) |
+ chromium_framework_unstripped = os.path.join(target_dir, |
+ framework_unstripped_name) |
if os.path.exists(chromium_executable): |
print_dict = { |
# Remove spaces in the names so any downstream processing is less |
@@ -167,14 +170,33 @@ def main_mac(options, args, results_collector): |
# For Release builds only, use dump-static-initializers.py to print the |
# list of static initializers. |
if si_count > 0 and options.target == 'Release': |
- dump_static_initializers = os.path.join( |
- os.path.dirname(build_dir), 'tools', 'mac', |
- 'dump-static-initializers.py') |
- result, stdout = run_process(result, [dump_static_initializers, |
- chromium_framework_dsym]) |
print '\n# Static initializers in %s:' % chromium_framework_executable |
- print_si_fail_hint('tools/mac/dump-static-initializers.py') |
- print stdout |
+ |
+ # First look for a dSYM to get information about the initializers. If |
+ # one is not present, check if there is an unstripped copy of the build |
+ # output. |
+ mac_tools_path = os.path.join(os.path.dirname(build_dir), |
+ 'tools', 'mac') |
+ if os.path.exists(chromium_framework_dsym): |
+ dump_static_initializers = os.path.join( |
+ mac_tools_path, 'dump-static-initializers.py') |
+ result, stdout = run_process(result, [dump_static_initializers, |
+ chromium_framework_dsym]) |
+ print_si_fail_hint('tools/mac/dump-static-initializers.py') |
+ print stdout |
+ else: |
+ show_mod_init_func = os.path.join( |
+ mac_tools_path, 'show_mod_init_func.py') |
+ args = [show_mod_init_func] |
+ if os.path.exists(chromium_framework_unstripped): |
+ args.append(chromium_framework_unstripped) |
+ else: |
+ print '# Warning: Falling back to potentially stripped output.' |
+ args.append(chromium_framework_executable) |
+ result, stdout = run_process(result, args) |
+ print_si_fail_hint('tools/mac/show_mod_init_func.py') |
+ print stdout |
+ |
results_collector.add_result( |
print_dict['app_name'], print_dict['app_name'], |