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

Side by Side Diff: pydir/crosstest.py

Issue 1665263003: Subzero. ARM32. Nonsfi. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Addresses comments. Created 4 years, 10 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 | « pydir/build-runtime.py ('k') | pydir/crosstest_generator.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 os 4 import os
5 import subprocess 5 import subprocess
6 import sys 6 import sys
7 import tempfile 7 import tempfile
8 8
9 import targets 9 import targets
10 from szbuild import LinkNonsfi 10 from szbuild import LinkNonsfi
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 # currently the only situation where multiple translated files are 170 # currently the only situation where multiple translated files are
171 # linked into the executable, but when PNaCl supports shared nexe 171 # linked into the executable, but when PNaCl supports shared nexe
172 # libraries, this would need to change. 172 # libraries, this would need to change.
173 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir), 173 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir),
174 '--weaken-symbol=__Sz_block_profile_info', 174 '--weaken-symbol=__Sz_block_profile_info',
175 '--strip-symbol=nacl_tp_tdb_offset', 175 '--strip-symbol=nacl_tp_tdb_offset',
176 '--strip-symbol=nacl_tp_tls_offset', 176 '--strip-symbol=nacl_tp_tls_offset',
177 obj_sz]) 177 obj_sz])
178 objs.append(obj_sz) 178 objs.append(obj_sz)
179 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir), 179 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir),
180 '-arm-enable-dwarf-eh=1',
180 '-mtriple=' + triple, 181 '-mtriple=' + triple,
181 '-externalize', 182 '-externalize',
182 '-filetype=obj', 183 '-filetype=obj',
183 '-bitcode-format=llvm', 184 '-bitcode-format=llvm',
184 '-o=' + obj_llc, 185 '-o=' + obj_llc,
185 bitcode] + llc_flags) 186 bitcode] + llc_flags)
186 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir), 187 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir),
187 '--weaken-symbol=__Sz_block_profile_info', 188 '--weaken-symbol=__Sz_block_profile_info',
188 '--strip-symbol=nacl_tp_tdb_offset', 189 '--strip-symbol=nacl_tp_tdb_offset',
189 '--strip-symbol=nacl_tp_tls_offset', 190 '--strip-symbol=nacl_tp_tls_offset',
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 return 0 231 return 0
231 232
232 base, ext = os.path.splitext(args.driver) 233 base, ext = os.path.splitext(args.driver)
233 bitcode_nonfinal = os.path.join(args.dir, base + '.' + key + '.bc') 234 bitcode_nonfinal = os.path.join(args.dir, base + '.' + key + '.bc')
234 bitcode = os.path.join(args.dir, base + '.' + key + '.pnacl.ll') 235 bitcode = os.path.join(args.dir, base + '.' + key + '.pnacl.ll')
235 asm_sz = os.path.join(args.dir, base + '.' + key + '.s') 236 asm_sz = os.path.join(args.dir, base + '.' + key + '.s')
236 obj_llc = os.path.join(args.dir, base + '.' + key + '.o') 237 obj_llc = os.path.join(args.dir, base + '.' + key + '.o')
237 compiler = '{bin}/{prefix}{cc}'.format( 238 compiler = '{bin}/{prefix}{cc}'.format(
238 bin=bindir, prefix='pnacl-', 239 bin=bindir, prefix='pnacl-',
239 cc='clang' if pure_c else 'clang++') 240 cc='clang' if pure_c else 'clang++')
240 shellcmd([compiler, 241 shellcmd([compiler] + target_params + [
241 args.driver, 242 args.driver,
242 '-O2', 243 '-O2',
243 '-o', bitcode_nonfinal, 244 '-o', bitcode_nonfinal,
244 '-Wl,-r' 245 '-Wl,-r'
245 ]) 246 ])
246 shellcmd(['{bin}/pnacl-opt'.format(bin=bindir), 247 shellcmd(['{bin}/pnacl-opt'.format(bin=bindir),
247 '-pnacl-abi-simplify-preopt', 248 '-pnacl-abi-simplify-preopt',
248 '-pnacl-abi-simplify-postopt', 249 '-pnacl-abi-simplify-postopt',
249 '-pnaclabi-allow-debug-metadata', 250 '-pnaclabi-allow-debug-metadata',
250 '-strip-metadata', 251 '-strip-metadata',
251 '-strip-module-flags', 252 '-strip-module-flags',
252 '-strip-debug', 253 '-strip-debug',
253 '-disable-opt', 254 '-disable-opt',
254 bitcode_nonfinal, '-S', '-o', bitcode]) 255 bitcode_nonfinal, '-S', '-o', bitcode])
255 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir), 256 shellcmd(['{bin}/pnacl-llc'.format(bin=bindir),
257 '-arm-enable-dwarf-eh=1',
256 '-mtriple=' + triple, 258 '-mtriple=' + triple,
257 '-externalize', 259 '-externalize',
258 '-filetype=obj', 260 '-filetype=obj',
259 '-O2', 261 '-O2',
260 '-bitcode-format=llvm', 262 '-bitcode-format=llvm',
261 '-o', obj_llc, 263 '-o', obj_llc,
262 bitcode] + llc_flags) 264 bitcode] + llc_flags)
263 if not args.sandbox and not args.nonsfi: 265 if not args.sandbox and not args.nonsfi:
264 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir), 266 shellcmd(['{bin}/le32-nacl-objcopy'.format(bin=bindir),
265 '--redefine-sym', '_start=_user_start', 267 '--redefine-sym', '_start=_user_start',
266 obj_llc 268 obj_llc
267 ]) 269 ])
268 objs.append(obj_llc) 270 objs.append(obj_llc)
269 if args.nonsfi: 271 if args.nonsfi:
270 LinkNonsfi(objs, os.path.join(args.dir, args.output), args.target) 272 LinkNonsfi(objs, os.path.join(args.dir, args.output), args.target)
271 elif args.sandbox: 273 elif args.sandbox:
272 LinkSandbox(objs, os.path.join(args.dir, args.output), args.target) 274 LinkSandbox(objs, os.path.join(args.dir, args.output), args.target)
273 else: 275 else:
274 LinkNative(objs, os.path.join(args.dir, args.output), args.target) 276 LinkNative(objs, os.path.join(args.dir, args.output), args.target)
275 277
276 if __name__ == '__main__': 278 if __name__ == '__main__':
277 main() 279 main()
OLDNEW
« no previous file with comments | « pydir/build-runtime.py ('k') | pydir/crosstest_generator.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698