| 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 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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 objs.append(obj_llc) | 192 objs.append(obj_llc) |
| 193 | 193 |
| 194 # Add szrt_sb_${target}.o or szrt_native_${target}.o. | 194 # Add szrt_sb_${target}.o or szrt_native_${target}.o. |
| 195 if not args.nonsfi: | 195 if not args.nonsfi: |
| 196 objs.append(( | 196 objs.append(( |
| 197 '{root}/toolchain_build/src/subzero/build/runtime/' + | 197 '{root}/toolchain_build/src/subzero/build/runtime/' + |
| 198 'szrt_{sb}_' + args.target + '.o' | 198 'szrt_{sb}_' + args.target + '.o' |
| 199 ).format(root=nacl_root, | 199 ).format(root=nacl_root, |
| 200 sb=get_sfi_string(args, 'sb', 'nonsfi', 'native'))) | 200 sb=get_sfi_string(args, 'sb', 'nonsfi', 'native'))) |
| 201 | 201 |
| 202 # TODO(jpp): clean up stack hack related code. | |
| 203 needs_stack_hack = False | |
| 204 target_params = [] | 202 target_params = [] |
| 205 if needs_stack_hack: | |
| 206 shellcmd('{bin}/clang -g -o stack_hack.x8664.{key}.o -c ' | |
| 207 'stack_hack.x8664.c'.format(bin=bindir, key=key)) | |
| 208 target_params.append('-DX8664_STACK_HACK') | |
| 209 target_params.append('stack_hack.x8664.{key}.o'.format(key=key)) | |
| 210 | 203 |
| 211 if args.target == 'arm32': | 204 if args.target == 'arm32': |
| 212 target_params.append('-DARM32') | 205 target_params.append('-DARM32') |
| 213 target_params.append('-static') | 206 target_params.append('-static') |
| 214 | 207 |
| 215 pure_c = os.path.splitext(args.driver)[1] == '.c' | 208 pure_c = os.path.splitext(args.driver)[1] == '.c' |
| 216 if not args.nonsfi: | 209 if not args.nonsfi: |
| 217 # Set compiler to clang, clang++, pnacl-clang, or pnacl-clang++. | 210 # Set compiler to clang, clang++, pnacl-clang, or pnacl-clang++. |
| 218 compiler = '{bin}/{prefix}{cc}'.format( | 211 compiler = '{bin}/{prefix}{cc}'.format( |
| 219 bin=bindir, prefix=get_sfi_string(args, 'pnacl-', '', ''), | 212 bin=bindir, prefix=get_sfi_string(args, 'pnacl-', '', ''), |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 objs.append(obj_llc) | 263 objs.append(obj_llc) |
| 271 if args.nonsfi: | 264 if args.nonsfi: |
| 272 LinkNonsfi(objs, os.path.join(args.dir, args.output), args.target) | 265 LinkNonsfi(objs, os.path.join(args.dir, args.output), args.target) |
| 273 elif args.sandbox: | 266 elif args.sandbox: |
| 274 LinkSandbox(objs, os.path.join(args.dir, args.output), args.target) | 267 LinkSandbox(objs, os.path.join(args.dir, args.output), args.target) |
| 275 else: | 268 else: |
| 276 LinkNative(objs, os.path.join(args.dir, args.output), args.target) | 269 LinkNative(objs, os.path.join(args.dir, args.output), args.target) |
| 277 | 270 |
| 278 if __name__ == '__main__': | 271 if __name__ == '__main__': |
| 279 main() | 272 main() |
| OLD | NEW |