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 shellcmd | 9 from utils import shellcmd |
10 from utils import FindBaseNaCl | 10 from utils import FindBaseNaCl |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 '-o {exe}' | 301 '-o {exe}' |
301 ).format(gold=gold, linklib=linklib, partial=obj_partial, exe=exe, | 302 ).format(gold=gold, linklib=linklib, partial=obj_partial, exe=exe, |
302 root=nacl_root), | 303 root=nacl_root), |
303 echo=args.verbose) | 304 echo=args.verbose) |
304 else: | 305 else: |
305 shellcmd(( | 306 shellcmd(( |
306 '{ld} -m32 {partial} -o {exe} ' + | 307 '{ld} -m32 {partial} -o {exe} ' + |
307 # 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 |
308 # sync with RunHostLD() in pnacl-translate.py. | 309 # sync with RunHostLD() in pnacl-translate.py. |
309 '{root}/toolchain/linux_x86/pnacl_newlib/translator/x86-32-linux/' + | 310 '{root}/toolchain/linux_x86/pnacl_newlib/translator/x86-32-linux/' + |
310 'lib/{{unsandboxed_irt,irt_random,irt_query_list}}.o ' + | 311 'lib/{{unsandboxed_irt,irt_random,irt_query_list}}.o ' + |
311 '{root}/toolchain_build/src/subzero/build/runtime/' + | 312 '{root}/toolchain_build/src/subzero/build/runtime/' + |
312 'szrt_native_x8632.o -lpthread -lrt' | 313 'szrt_native_x8632.o -lpthread -lrt ' + |
| 314 '-Wl,--defsym=__Sz_AbsoluteZero=0' |
313 ).format(ld=linker, partial=obj_partial, exe=exe, root=nacl_root), | 315 ).format(ld=linker, partial=obj_partial, exe=exe, root=nacl_root), |
314 echo=args.verbose) | 316 echo=args.verbose) |
315 | 317 |
316 # Put the extra verbose printing at the end. | 318 # Put the extra verbose printing at the end. |
317 if args.verbose: | 319 if args.verbose: |
318 print 'PATH: {path}'.format(path=path_addition) | 320 print 'PATH: {path}'.format(path=path_addition) |
319 if hybrid: | 321 if hybrid: |
320 print 'include={regex}'.format(regex=re_include_str) | 322 print 'include={regex}'.format(regex=re_include_str) |
321 print 'exclude={regex}'.format(regex=re_exclude_str) | 323 print 'exclude={regex}'.format(regex=re_exclude_str) |
322 print 'default_match={dm}'.format(dm=default_match) | 324 print 'default_match={dm}'.format(dm=default_match) |
323 print 'Number of Subzero syms = {num}'.format(num=len(sz_syms)) | 325 print 'Number of Subzero syms = {num}'.format(num=len(sz_syms)) |
324 | 326 |
325 if __name__ == '__main__': | 327 if __name__ == '__main__': |
326 main() | 328 main() |
OLD | NEW |