| Index: pydir/build-runtime.py
|
| diff --git a/pydir/build-runtime.py b/pydir/build-runtime.py
|
| index 2d5cf3dd00b15ee8eecf9412ee86261968be13db..c4ba6d47e63aef0dbff6347d4bc6ba1441cd5826 100755
|
| --- a/pydir/build-runtime.py
|
| +++ b/pydir/build-runtime.py
|
| @@ -65,14 +65,27 @@ def MakeRuntimesForTarget(target_info, ll_files,
|
| '-target=' + target_info.triple,
|
| '-c',
|
| '{srcdir}/szrt_profiler.c'.format(srcdir=srcdir),
|
| - '-o', TmpFile('{dir}/szrt_profiler_native_{target}.o')
|
| + '-o', TmpFile('{dir}/szrt_native_profiler_{target}.o')
|
| + ], echo=verbose)
|
| + # Assemble srcdir/szrt_asm_{target}.s to tempdir/szrt_asm_{target}.o.
|
| + shellcmd(['llvm-mc',
|
| + '-triple=' + target_info.triple, '--defsym NATIVE=1',
|
| + '-filetype=obj',
|
| + '-o', TmpFile('{dir}/szrt_native_asm_{target}.o'),
|
| + '{srcdir}/szrt_asm_{target}.s'.format(
|
| + srcdir=srcdir, target=target_info.target)
|
| ], echo=verbose)
|
| # Write full szrt_native_{target}.o.
|
| PartialLink([TmpFile('{dir}/szrt_native_{target}.tmp.o'),
|
| - TmpFile('{dir}/szrt_profiler_native_{target}.o')],
|
| + TmpFile('{dir}/szrt_native_asm_{target}.o'),
|
| + TmpFile('{dir}/szrt_native_profiler_{target}.o')],
|
| ['-m {ld_emu}'.format(ld_emu=target_info.ld_emu)],
|
| OutFile('{rtdir}/szrt_native_{target}.o'),
|
| verbose)
|
| + shellcmd(['le32-nacl-objcopy',
|
| + '--strip-symbol=NATIVE',
|
| + OutFile('{rtdir}/szrt_native_{target}.o')])
|
| +
|
| # Helper function for building the sandboxed runtime.
|
| def MakeSandboxedRuntime():
|
| """Builds just the sandboxed runtime."""
|
| @@ -82,8 +95,26 @@ def MakeRuntimesForTarget(target_info, ll_files,
|
| Translate(ll_files,
|
| ['-mtriple=' + targets.ConvertTripleToNaCl(target_info.triple)] +
|
| target_info.llc_flags,
|
| - OutFile('{rtdir}/szrt_sb_{target}.o'),
|
| + TmpFile('{dir}/szrt_sb_{target}.tmp.o'),
|
| verbose)
|
| + # Assemble srcdir/szrt_asm_{target}.s to tempdir/szrt_asm_{target}.o.
|
| + shellcmd(['llvm-mc',
|
| + '-triple=' + targets.ConvertTripleToNaCl(target_info.triple),
|
| + '--defsym NACL=1',
|
| + '-filetype=obj',
|
| + '-o', TmpFile('{dir}/szrt_sb_asm_{target}.o'),
|
| + '{srcdir}/szrt_asm_{target}.s'.format(
|
| + srcdir=srcdir, target=target_info.target)
|
| + ], echo=verbose)
|
| + PartialLink([TmpFile('{dir}/szrt_sb_{target}.tmp.o'),
|
| + TmpFile('{dir}/szrt_sb_asm_{target}.o')],
|
| + ['-m {ld_emu}'.format(ld_emu=target_info.sb_emu)],
|
| + OutFile('{rtdir}/szrt_sb_{target}.o'),
|
| + verbose)
|
| + shellcmd(['le32-nacl-objcopy',
|
| + '--strip-symbol=NACL',
|
| + OutFile('{rtdir}/szrt_sb_{target}.o')])
|
| +
|
| # Helper function for building the Non-SFI runtime.
|
| def MakeNonsfiRuntime():
|
| """Builds just the nonsfi runtime."""
|
| @@ -96,18 +127,22 @@ def MakeRuntimesForTarget(target_info, ll_files,
|
| verbose)
|
| # Assemble srcdir/szrt_asm_{target}.s to tempdir/szrt_asm_{target}.o.
|
| shellcmd(['llvm-mc',
|
| - '-triple=' + target_info.triple,
|
| + '-triple=' + target_info.triple, '--defsym NONSFI=1',
|
| '-filetype=obj',
|
| - '-o', TmpFile('{dir}/szrt_asm_{target}.o'),
|
| + '-o', TmpFile('{dir}/szrt_nonsfi_asm_{target}.o'),
|
| '{srcdir}/szrt_asm_{target}.s'.format(
|
| srcdir=srcdir, target=target_info.target)
|
| ], echo=verbose)
|
| # Write full szrt_nonsfi_{target}.o.
|
| PartialLink([TmpFile('{dir}/szrt_nonsfi_{target}.tmp.o'),
|
| - TmpFile('{dir}/szrt_asm_{target}.o')],
|
| + TmpFile('{dir}/szrt_nonsfi_asm_{target}.o')],
|
| ['-m {ld_emu}'.format(ld_emu=target_info.ld_emu)],
|
| OutFile('{rtdir}/szrt_nonsfi_{target}.o'),
|
| verbose)
|
| + shellcmd(['le32-nacl-objcopy',
|
| + '--strip-symbol=NONSFI',
|
| + OutFile('{rtdir}/szrt_nonsfi_{target}.o')])
|
| +
|
|
|
| # Run the helper functions.
|
| MakeNativeRuntime()
|
|
|