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

Unified Diff: pydir/build-runtime.py

Issue 1506653002: Subzero: Add Non-SFI support for x86-32. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fill in part of the lit test Created 5 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Makefile.standalone ('k') | pydir/szbuild.py » ('j') | pydir/szbuild.py » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.
« no previous file with comments | « Makefile.standalone ('k') | pydir/szbuild.py » ('j') | pydir/szbuild.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698