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

Side by Side Diff: pydir/szbuild.py

Issue 1162903003: Subzero: Change pnacl_newlib ==> pnacl_newlib_raw in scripts. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 5 years, 6 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/crosstest.py ('k') | no next file » | 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 pipes 5 import pipes
6 import re 6 import re
7 import sys 7 import sys
8 8
9 from utils import shellcmd 9 from utils import shellcmd
10 from utils import FindBaseNaCl 10 from utils import FindBaseNaCl
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 Subzero re-translation are needed. It checks timestamps of llc, pnacl-sz, 124 Subzero re-translation are needed. It checks timestamps of llc, pnacl-sz,
125 and the pexe against the translated object files to determine the minimal 125 and the pexe against the translated object files to determine the minimal
126 work necessary. The --force option suppresses those checks and 126 work necessary. The --force option suppresses those checks and
127 re-translates everything. 127 re-translates everything.
128 128
129 This script augments PATH so that various PNaCl and LLVM tools can be run. 129 This script augments PATH so that various PNaCl and LLVM tools can be run.
130 These extra paths are within the native_client tree. When changes are made 130 These extra paths are within the native_client tree. When changes are made
131 to these tools, copy them this way: 131 to these tools, copy them this way:
132 cd native_client 132 cd native_client
133 toolchain_build/toolchain_build_pnacl.py llvm_x86_64_linux \\ 133 toolchain_build/toolchain_build_pnacl.py llvm_x86_64_linux \\
134 --install=toolchain/linux_x86/pnacl_newlib 134 --install=toolchain/linux_x86/pnacl_newlib_raw
135 """ 135 """
136 argparser = argparse.ArgumentParser( 136 argparser = argparse.ArgumentParser(
137 description=' ' + main.__doc__, 137 description=' ' + main.__doc__,
138 formatter_class=argparse.RawTextHelpFormatter) 138 formatter_class=argparse.RawTextHelpFormatter)
139 AddOptionalArgs(argparser) 139 AddOptionalArgs(argparser)
140 argparser.add_argument('pexe', help='Finalized pexe to translate') 140 argparser.add_argument('pexe', help='Finalized pexe to translate')
141 args = argparser.parse_args() 141 args = argparser.parse_args()
142 pexe = args.pexe 142 pexe = args.pexe
143 exe = args.output 143 exe = args.output
144 ProcessPexe(args, pexe, exe) 144 ProcessPexe(args, pexe, exe)
145 145
146 def ProcessPexe(args, pexe, exe): 146 def ProcessPexe(args, pexe, exe):
147 [pexe_base, ext] = os.path.splitext(pexe) 147 [pexe_base, ext] = os.path.splitext(pexe)
148 if ext != '.pexe': 148 if ext != '.pexe':
149 pexe_base = pexe 149 pexe_base = pexe
150 pexe_base_unescaped = pexe_base 150 pexe_base_unescaped = pexe_base
151 pexe_base = pipes.quote(pexe_base) 151 pexe_base = pipes.quote(pexe_base)
152 pexe = pipes.quote(pexe) 152 pexe = pipes.quote(pexe)
153 153
154 nacl_root = FindBaseNaCl() 154 nacl_root = FindBaseNaCl()
155 path_addition = ( 155 path_addition = (
156 '{root}/toolchain/linux_x86/pnacl_newlib/bin' 156 '{root}/toolchain/linux_x86/pnacl_newlib_raw/bin'
157 ).format(root=nacl_root) 157 ).format(root=nacl_root)
158 os.environ['PATH'] = ( 158 os.environ['PATH'] = (
159 '{dir}{sep}{path}' 159 '{dir}{sep}{path}'
160 ).format(dir=path_addition, sep=os.pathsep, path=os.environ['PATH']) 160 ).format(dir=path_addition, sep=os.pathsep, path=os.environ['PATH'])
161 obj_llc = pexe_base + '.llc.o' 161 obj_llc = pexe_base + '.llc.o'
162 obj_sz = pexe_base + '.sz.o' 162 obj_sz = pexe_base + '.sz.o'
163 asm_sz = pexe_base + '.sz.s' 163 asm_sz = pexe_base + '.sz.s'
164 obj_llc_weak = pexe_base + '.weak.llc.o' 164 obj_llc_weak = pexe_base + '.weak.llc.o'
165 obj_sz_weak = pexe_base + '.weak.sz.o' 165 obj_sz_weak = pexe_base + '.weak.sz.o'
166 obj_partial = obj_sz # overridden for hybrid mode 166 obj_partial = obj_sz # overridden for hybrid mode
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 'objcopy --globalize-symbol={start} {partial}' 279 'objcopy --globalize-symbol={start} {partial}'
280 ).format(partial=obj_partial, 280 ).format(partial=obj_partial,
281 start='_start' if args.sandbox else '_user_start'), 281 start='_start' if args.sandbox else '_user_start'),
282 echo=args.verbose) 282 echo=args.verbose)
283 283
284 # Run the linker regardless of hybrid mode. 284 # Run the linker regardless of hybrid mode.
285 linker = ( 285 linker = (
286 '{root}/../third_party/llvm-build/Release+Asserts/bin/clang' 286 '{root}/../third_party/llvm-build/Release+Asserts/bin/clang'
287 ).format(root=nacl_root) 287 ).format(root=nacl_root)
288 if args.sandbox: 288 if args.sandbox:
289 linklib = ('{root}/toolchain/linux_x86/pnacl_newlib/translator/' + 289 linklib = ('{root}/toolchain/linux_x86/pnacl_newlib_raw/translator/' +
290 'x86-32/lib').format(root=nacl_root) 290 'x86-32/lib').format(root=nacl_root)
291 shellcmd(( 291 shellcmd((
292 '{gold} -nostdlib --no-fix-cortex-a8 --eh-frame-hdr -z text ' + 292 '{gold} -nostdlib --no-fix-cortex-a8 --eh-frame-hdr -z text ' +
293 '--build-id --entry=__pnacl_start -static ' + 293 '--build-id --entry=__pnacl_start -static ' +
294 '{linklib}/crtbegin.o {partial} ' + 294 '{linklib}/crtbegin.o {partial} ' +
295 '{root}/toolchain_build/src/subzero/build/runtime/' + 295 '{root}/toolchain_build/src/subzero/build/runtime/' +
296 'szrt_sb_x8632.o ' + 296 'szrt_sb_x8632.o ' +
297 '{linklib}/libpnacl_irt_shim_dummy.a --start-group ' + 297 '{linklib}/libpnacl_irt_shim_dummy.a --start-group ' +
298 '{linklib}/libgcc.a {linklib}/libcrt_platform.a ' + 298 '{linklib}/libgcc.a {linklib}/libcrt_platform.a ' +
299 '--end-group {linklib}/crtend.o --undefined=_start ' + 299 '--end-group {linklib}/crtend.o --undefined=_start ' +
300 '--defsym=__Sz_AbsoluteZero=0 ' + 300 '--defsym=__Sz_AbsoluteZero=0 ' +
301 '-o {exe}' 301 '-o {exe}'
302 ).format(gold=gold, linklib=linklib, partial=obj_partial, exe=exe, 302 ).format(gold=gold, linklib=linklib, partial=obj_partial, exe=exe,
303 root=nacl_root), 303 root=nacl_root),
304 echo=args.verbose) 304 echo=args.verbose)
305 else: 305 else:
306 shellcmd(( 306 shellcmd((
307 '{ld} -m32 {partial} -o {exe} ' + 307 '{ld} -m32 {partial} -o {exe} ' +
308 # Keep the rest of this command line (except szrt_native_x8632.o) in 308 # Keep the rest of this command line (except szrt_native_x8632.o) in
309 # sync with RunHostLD() in pnacl-translate.py. 309 # sync with RunHostLD() in pnacl-translate.py.
310 '{root}/toolchain/linux_x86/pnacl_newlib/translator/x86-32-linux/' + 310 '{root}/toolchain/linux_x86/pnacl_newlib_raw/translator/' +
311 'lib/{{unsandboxed_irt,irt_random,irt_query_list}}.o ' + 311 'x86-32-linux/lib/' +
312 '{{unsandboxed_irt,irt_random,irt_query_list}}.o ' +
312 '{root}/toolchain_build/src/subzero/build/runtime/' + 313 '{root}/toolchain_build/src/subzero/build/runtime/' +
313 'szrt_native_x8632.o -lpthread -lrt ' + 314 'szrt_native_x8632.o -lpthread -lrt ' +
314 '-Wl,--defsym=__Sz_AbsoluteZero=0' 315 '-Wl,--defsym=__Sz_AbsoluteZero=0'
315 ).format(ld=linker, partial=obj_partial, exe=exe, root=nacl_root), 316 ).format(ld=linker, partial=obj_partial, exe=exe, root=nacl_root),
316 echo=args.verbose) 317 echo=args.verbose)
317 318
318 # Put the extra verbose printing at the end. 319 # Put the extra verbose printing at the end.
319 if args.verbose: 320 if args.verbose:
320 print 'PATH: {path}'.format(path=path_addition) 321 print 'PATH: {path}'.format(path=path_addition)
321 if hybrid: 322 if hybrid:
322 print 'include={regex}'.format(regex=re_include_str) 323 print 'include={regex}'.format(regex=re_include_str)
323 print 'exclude={regex}'.format(regex=re_exclude_str) 324 print 'exclude={regex}'.format(regex=re_exclude_str)
324 print 'default_match={dm}'.format(dm=default_match) 325 print 'default_match={dm}'.format(dm=default_match)
325 print 'Number of Subzero syms = {num}'.format(num=len(sz_syms)) 326 print 'Number of Subzero syms = {num}'.format(num=len(sz_syms))
326 327
327 if __name__ == '__main__': 328 if __name__ == '__main__':
328 main() 329 main()
OLDNEW
« no previous file with comments | « pydir/crosstest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698