| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python2 | 1 #!/usr/bin/env python2 | 
| 2 | 2 | 
| 3 import argparse | 3 import argparse | 
| 4 import os | 4 import os | 
| 5 import pipes | 5 import pipes | 
| 6 import re | 6 import re | 
| 7 import sys | 7 import sys | 
| 8 | 8 | 
| 9 from utils import FindBaseNaCl, GetObjcopyCmd, get_sfi_string, shellcmd | 9 from utils import FindBaseNaCl, GetObjcopyCmd, get_sfi_string, shellcmd | 
| 10 | 10 | 
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 179               '--undefined=_start', | 179               '--undefined=_start', | 
| 180               '--defsym=__Sz_AbsoluteZero=0', | 180               '--defsym=__Sz_AbsoluteZero=0', | 
| 181               '--defsym=_begin=0', | 181               '--defsym=_begin=0', | 
| 182               '-o', exe | 182               '-o', exe | 
| 183              ], echo=verbose) | 183              ], echo=verbose) | 
| 184 | 184 | 
| 185 def LinkNative(objs, exe, target, verbose=True): | 185 def LinkNative(objs, exe, target, verbose=True): | 
| 186     nacl_root = FindBaseNaCl() | 186     nacl_root = FindBaseNaCl() | 
| 187     linker = { | 187     linker = { | 
| 188       'arm32': '/usr/bin/arm-linux-gnueabihf-g++', | 188       'arm32': '/usr/bin/arm-linux-gnueabihf-g++', | 
|  | 189       'mips32': '/usr/bin/mipsel-linux-gnu-g++', | 
| 189       'x8632': ('{root}/../third_party/llvm-build/Release+Asserts/bin/clang' | 190       'x8632': ('{root}/../third_party/llvm-build/Release+Asserts/bin/clang' | 
| 190                ).format(root=nacl_root), | 191                ).format(root=nacl_root), | 
| 191       'x8664': ('{root}/../third_party/llvm-build/Release+Asserts/bin/clang' | 192       'x8664': ('{root}/../third_party/llvm-build/Release+Asserts/bin/clang' | 
| 192                ).format(root=nacl_root) | 193                ).format(root=nacl_root) | 
| 193     }[target] | 194     }[target] | 
| 194 | 195 | 
| 195     extra_linker_args = { | 196     extra_linker_args = { | 
| 196       'arm32': ['-mcpu=cortex-a9'], | 197       'arm32': ['-mcpu=cortex-a9'], | 
| 197       'x8632': ['-m32'], | 198       'x8632': ['-m32'], | 
| 198       'x8664': ['-mx32'] | 199       'x8664': ['-mx32'] | 
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 290     sym_sz = pexe_base + '.sym.sz.txt' | 291     sym_sz = pexe_base + '.sym.sz.txt' | 
| 291     sym_sz_unescaped = pexe_base_unescaped + '.sym.sz.txt' | 292     sym_sz_unescaped = pexe_base_unescaped + '.sym.sz.txt' | 
| 292     whitelist_sz = pexe_base + '.wl.sz.txt' | 293     whitelist_sz = pexe_base + '.wl.sz.txt' | 
| 293     whitelist_sz_unescaped = pexe_base_unescaped + '.wl.sz.txt' | 294     whitelist_sz_unescaped = pexe_base_unescaped + '.wl.sz.txt' | 
| 294     pnacl_sz = ( | 295     pnacl_sz = ( | 
| 295         '{root}/toolchain_build/src/subzero/pnacl-sz' | 296         '{root}/toolchain_build/src/subzero/pnacl-sz' | 
| 296         ).format(root=nacl_root) | 297         ).format(root=nacl_root) | 
| 297     llcbin = '{base}/pnacl-llc'.format(base=path_addition) | 298     llcbin = '{base}/pnacl-llc'.format(base=path_addition) | 
| 298     gold = '{base}/le32-nacl-ld.gold'.format(base=path_addition) | 299     gold = '{base}/le32-nacl-ld.gold'.format(base=path_addition) | 
| 299     objcopy = '{base}/{objcopy}'.format(base=path_addition, | 300     objcopy = '{base}/{objcopy}'.format(base=path_addition, | 
| 300                                         objcopy=GetObjcopyCmd()) | 301                                         objcopy=GetObjcopyCmd(args.target)) | 
| 301     opt_level = args.optlevel | 302     opt_level = args.optlevel | 
| 302     opt_level_map = { 'm1':'0', '-1':'0', '0':'0', '1':'1', '2':'2' } | 303     opt_level_map = { 'm1':'0', '-1':'0', '0':'0', '1':'1', '2':'2' } | 
| 303     hybrid = args.include or args.exclude | 304     hybrid = args.include or args.exclude | 
| 304     native = not args.sandbox and not args.nonsfi | 305     native = not args.sandbox and not args.nonsfi | 
| 305     if args.asan: | 306     if args.asan: | 
| 306         if args.sandbox or args.nonsfi: | 307         if args.sandbox or args.nonsfi: | 
| 307             print 'Can only use AddressSanitizer with a native build' | 308             print 'Can only use AddressSanitizer with a native build' | 
| 308             exit(1) | 309             exit(1) | 
| 309         if '-fsanitize-address' not in args.sz_args: | 310         if '-fsanitize-address' not in args.sz_args: | 
| 310           args.sz_args.append('-fsanitize-address') | 311           args.sz_args.append('-fsanitize-address') | 
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 465 | 466 | 
| 466     # Put the extra verbose printing at the end. | 467     # Put the extra verbose printing at the end. | 
| 467     if args.verbose and hybrid: | 468     if args.verbose and hybrid: | 
| 468         print 'include={regex}'.format(regex=re_include_str) | 469         print 'include={regex}'.format(regex=re_include_str) | 
| 469         print 'exclude={regex}'.format(regex=re_exclude_str) | 470         print 'exclude={regex}'.format(regex=re_exclude_str) | 
| 470         print 'default_match={dm}'.format(dm=default_match) | 471         print 'default_match={dm}'.format(dm=default_match) | 
| 471         print 'Number of Subzero syms = {num}'.format(num=len(sz_syms)) | 472         print 'Number of Subzero syms = {num}'.format(num=len(sz_syms)) | 
| 472 | 473 | 
| 473 if __name__ == '__main__': | 474 if __name__ == '__main__': | 
| 474     main() | 475     main() | 
| OLD | NEW | 
|---|