1# Copyright 2015 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# Helper script to run dump_syms on Chrome Linux executables and strip 6# them if needed. 7 8import os 9import subprocess 10import sys 11 12if len(sys.argv) != 5: 13 print "dump_app_syms.py <dump_syms_exe> <strip_binary>" 14 print " <binary_with_symbols> <symbols_output>" 15 sys.exit(1) 16 17dumpsyms = sys.argv[1] 18strip_binary = sys.argv[2] 19infile = sys.argv[3] 20outfile = sys.argv[4] 21 22# Dump only when the output file is out-of-date. 23if not os.path.isfile(outfile) or \ 24 os.stat(outfile).st_mtime > os.stat(infile).st_mtime: 25 with open(outfile, 'w') as outfileobj: 26 subprocess.check_call([dumpsyms, '-r', infile], stdout=outfileobj) 27 28if strip_binary != '0': 29 subprocess.check_call(['strip', infile]) 30