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

Side by Side Diff: pydir/run-pnacl-sz.py

Issue 1559243002: Suzero. X8664. NaCl Sandboxing. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fixes filetype=asm; addresses comments. Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « Makefile.standalone ('k') | pydir/szbuild.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python2 1 #!/usr/bin/env python2
2 2
3 import argparse 3 import argparse
4 import itertools 4 import itertools
5 import os 5 import os
6 import re 6 import re
7 import subprocess 7 import subprocess
8 import sys 8 import sys
9 import tempfile 9 import tempfile
10 10
11 from utils import FindBaseNaCl, shellcmd 11 from utils import FindBaseNaCl, shellcmd
12 12
13 13
14 def TargetAssemblerFlags(target, sandboxed): 14 def TargetAssemblerFlags(target, sandboxed):
15 # TODO(reed kotler). Need to find out exactly we need to 15 # TODO(reed kotler). Need to find out exactly we need to
16 # add here for Mips32. 16 # add here for Mips32.
17 flags = { 'x8632': ['-triple=%s' % ('i686-nacl' if sandboxed else 'i686')], 17 flags = { 'x8632': ['-triple=%s' % ('i686-nacl' if sandboxed else 'i686')],
18 'x8664': ['-triple=%s' % (
19 'x86_64-nacl' if sandboxed else 'x86_64')],
18 'arm32': ['-triple=%s' % ( 20 'arm32': ['-triple=%s' % (
19 'armv7a-nacl' if sandboxed else 'armv7a'), 21 'armv7a-nacl' if sandboxed else 'armv7a'),
20 '-mcpu=cortex-a9', '-mattr=+neon'], 22 '-mcpu=cortex-a9', '-mattr=+neon'],
21 'mips32': ['-triple=mipsel' ] } 23 'mips32': ['-triple=mipsel' ] }
22 return flags[target] 24 return flags[target]
23 25
24 26
25 def TargetDisassemblerFlags(target): 27 def TargetDisassemblerFlags(target):
26 flags = { 'x8632': ['-Mintel'], 28 flags = { 'x8632': ['-Mintel'],
29 'x8664': ['-Mintel'],
27 'arm32': [], 30 'arm32': [],
28 'mips32':[] } 31 'mips32':[] }
29 return flags[target] 32 return flags[target]
30 33
31 34
32 def main(): 35 def main():
33 """Run the pnacl-sz compiler on an llvm file. 36 """Run the pnacl-sz compiler on an llvm file.
34 37
35 Takes an llvm input file, freezes it into a pexe file, converts 38 Takes an llvm input file, freezes it into a pexe file, converts
36 it to a Subzero program, and finally compiles it. 39 it to a Subzero program, and finally compiles it.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 help='Disassemble the assembled output') 79 help='Disassemble the assembled output')
77 argparser.add_argument('--dis-flags', required=False, 80 argparser.add_argument('--dis-flags', required=False,
78 action='append', default=[], 81 action='append', default=[],
79 help='Add a disassembler flag') 82 help='Add a disassembler flag')
80 argparser.add_argument('--filetype', default='iasm', dest='filetype', 83 argparser.add_argument('--filetype', default='iasm', dest='filetype',
81 choices=['obj', 'asm', 'iasm'], 84 choices=['obj', 'asm', 'iasm'],
82 help='Output file type. Default %(default)s') 85 help='Output file type. Default %(default)s')
83 argparser.add_argument('--forceasm', required=False, action='store_true', 86 argparser.add_argument('--forceasm', required=False, action='store_true',
84 help='Force --filetype=asm') 87 help='Force --filetype=asm')
85 argparser.add_argument('--target', default='x8632', dest='target', 88 argparser.add_argument('--target', default='x8632', dest='target',
86 choices=['x8632','arm32','mips32'], 89 choices=['x8632','x8664','arm32','mips32'],
87 help='Target architecture. Default %(default)s') 90 help='Target architecture. Default %(default)s')
88 argparser.add_argument('--echo-cmd', required=False, 91 argparser.add_argument('--echo-cmd', required=False,
89 action='store_true', 92 action='store_true',
90 help='Trace command that generates ICE instructions') 93 help='Trace command that generates ICE instructions')
91 argparser.add_argument('--tbc', required=False, action='store_true', 94 argparser.add_argument('--tbc', required=False, action='store_true',
92 help='Input is textual bitcode (not .ll)') 95 help='Input is textual bitcode (not .ll)')
93 argparser.add_argument('--expect-fail', required=False, action='store_true', 96 argparser.add_argument('--expect-fail', required=False, action='store_true',
94 help='Negate success of run by using LLVM not') 97 help='Negate success of run by using LLVM not')
95 argparser.add_argument('--args', '-a', nargs=argparse.REMAINDER, 98 argparser.add_argument('--args', '-a', nargs=argparse.REMAINDER,
96 default=[], 99 default=[],
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 [output_file_name]) 202 [output_file_name])
200 203
201 stdout_result = shellcmd(cmd, echo=args.echo_cmd) 204 stdout_result = shellcmd(cmd, echo=args.echo_cmd)
202 if not args.echo_cmd: 205 if not args.echo_cmd:
203 sys.stdout.write(stdout_result) 206 sys.stdout.write(stdout_result)
204 if asm_temp and not keep_output_file: 207 if asm_temp and not keep_output_file:
205 os.remove(output_file_name) 208 os.remove(output_file_name)
206 209
207 if __name__ == '__main__': 210 if __name__ == '__main__':
208 main() 211 main()
OLDNEW
« no previous file with comments | « Makefile.standalone ('k') | pydir/szbuild.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698