| Index: pydir/build-runtime.py
|
| diff --git a/pydir/build-runtime.py b/pydir/build-runtime.py
|
| index ad38a2ed62757fb67fcd610753e6350b3b8bda8e..8189d25253a69597e07e3f45371ec55de2ff82d7 100755
|
| --- a/pydir/build-runtime.py
|
| +++ b/pydir/build-runtime.py
|
| @@ -24,7 +24,7 @@ def Translate(ll_files, extra_args, obj, verbose):
|
| '-filetype=obj',
|
| '-bitcode-format=llvm',
|
| '-o', obj
|
| - ] + extra_args, echo=verbose)
|
| + ] + extra_args, echo=verbose)
|
| shellcmd(['le32-nacl-objcopy',
|
| '--strip-symbol=nacl_tp_tdb_offset',
|
| '--strip-symbol=nacl_tp_tls_offset',
|
| @@ -52,15 +52,15 @@ def MakeRuntimesForTarget(target_info, ll_files,
|
| ['-mtriple=' + target_info.triple] + target_info.llc_flags,
|
| TmpFile('{dir}/szrt_native_{target}.tmp.o'),
|
| verbose)
|
| - # Compile srcdir/szrt_profiler.c to tempdir/szrt_profiler_native_{target}.o
|
| + # Compile srcdir/szrt_profiler.c to tempdir/szrt_profiler_native_{target}.o.
|
| shellcmd(['clang',
|
| '-O2',
|
| '-target=' + target_info.triple,
|
| '-c',
|
| '{srcdir}/szrt_profiler.c'.format(srcdir=srcdir),
|
| '-o', TmpFile('{dir}/szrt_profiler_native_{target}.o')
|
| - ], echo=verbose)
|
| - # Writing full szrt_native_{target}.o.
|
| + ], echo=verbose)
|
| + # Write full szrt_native_{target}.o.
|
| PartialLink([TmpFile('{dir}/szrt_native_{target}.tmp.o'),
|
| TmpFile('{dir}/szrt_profiler_native_{target}.o')],
|
| ['-m {ld_emu}'.format(ld_emu=target_info.ld_emu)],
|
| @@ -76,6 +76,28 @@ def MakeRuntimesForTarget(target_info, ll_files,
|
| OutFile('{rtdir}/szrt_sb_{target}.o'),
|
| verbose)
|
|
|
| + # Translate tempdir/szrt.ll and tempdir/szrt_ll.ll to
|
| + # szrt_nonsfi_{target}.tmp.o.
|
| + Translate(ll_files,
|
| + ['-mtriple=' + target_info.triple] + target_info.llc_flags +
|
| + ['-relocation-model=pic', '-force-tls-non-pic', '-malign-double'],
|
| + TmpFile('{dir}/szrt_nonsfi_{target}.tmp.o'),
|
| + verbose)
|
| + # Assemble srcdir/szrt_asm_{target}.s to tempdir/szrt_asm_{target}.o.
|
| + shellcmd(['llvm-mc',
|
| + '-triple=' + target_info.triple,
|
| + '-filetype=obj',
|
| + '-o', TmpFile('{dir}/szrt_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')],
|
| + ['-m {ld_emu}'.format(ld_emu=target_info.ld_emu)],
|
| + OutFile('{rtdir}/szrt_nonsfi_{target}.o'),
|
| + verbose)
|
| +
|
|
|
| def main():
|
| """Build the Subzero runtime support library for all architectures.
|
|
|