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

Unified Diff: pydir/run-pnacl-sz.py

Issue 1136793002: Handle ARM "ret void" and function alignment with proper padding. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: note moved to cpp Created 5 years, 7 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
« no previous file with comments | « Makefile.standalone ('k') | src/IceCfg.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pydir/run-pnacl-sz.py
diff --git a/pydir/run-pnacl-sz.py b/pydir/run-pnacl-sz.py
index 2d86a35d863a9c0a554801472036df88885c61b7..e15b0960114162262d5b30fcdf01b160ec4eb22c 100755
--- a/pydir/run-pnacl-sz.py
+++ b/pydir/run-pnacl-sz.py
@@ -10,6 +10,22 @@ import tempfile
from utils import shellcmd
+
+def TargetAssemblerFlags(target):
+ # TODO(stichnot): -triple=i686-nacl should be used for a
+ # sandboxing test. This means there should be an args.sandbox
+ # argument that also gets passed through to pnacl-sz.
+ flags = { 'x8632': ['-triple=i686'],
+ 'arm32': ['-triple=armv7a', '-mcpu=cortex-a9', '-mattr=+neon'] }
+ return flags[target]
+
+
+def TargetDisassemblerFlags(target):
+ flags = { 'x8632': ['-Mintel'],
+ 'arm32': [] }
+ return flags[target]
+
+
def main():
"""Run the pnacl-sz compiler on an llvm file.
@@ -56,6 +72,9 @@ def main():
argparser.add_argument('--filetype', default='iasm', dest='filetype',
choices=['obj', 'asm', 'iasm'],
help='Output file type. Default %(default)s.')
+ argparser.add_argument('--target', default='x8632', dest='target',
+ choices=['x8632','arm32'],
+ help='Target architecture. Default %(default)s.')
argparser.add_argument('--echo-cmd', required=False,
action='store_true',
help='Trace command that generates ICE instructions')
@@ -82,6 +101,7 @@ def main():
cmd += ['--allow-local-symbol-tables']
cmd += ['|']
cmd += [args.pnacl_sz]
+ cmd += ['--target', args.target]
if args.insts:
# If the tests are based on '-verbose inst' output, force
# single-threaded translation because dump output does not get
@@ -107,19 +127,17 @@ def main():
asm_temp = tempfile.NamedTemporaryFile(delete=False)
asm_temp.close()
if args.assemble and args.filetype != 'obj':
- cmd += ['|', os.path.join(pnacl_bin_path, 'llvm-mc'),
- # TODO(stichnot): -triple=i686-nacl should be used for a
- # sandboxing test. This means there should be an args.sandbox
- # argument that also gets passed through to pnacl-sz.
- '-triple=i686',
- '-filetype=obj', '-o', asm_temp.name]
+ cmd += (['|', os.path.join(pnacl_bin_path, 'llvm-mc')] +
+ TargetAssemblerFlags(args.target) +
+ ['-filetype=obj', '-o', asm_temp.name])
elif asm_temp:
cmd += ['-o', asm_temp.name]
if args.disassemble:
# Show wide instruction encodings, diassemble, and show relocs.
cmd += (['&&', os.path.join(pnacl_bin_path, 'le32-nacl-objdump')] +
args.dis_flags +
- ['-w', '-d', '-r', '-Mintel', asm_temp.name])
+ ['-w', '-d', '-r'] + TargetDisassemblerFlags(args.target) +
+ [asm_temp.name])
stdout_result = shellcmd(cmd, echo=args.echo_cmd)
if not args.echo_cmd:
« no previous file with comments | « Makefile.standalone ('k') | src/IceCfg.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698