| Index: site_scons/site_tools/naclsdk.py
|
| diff --git a/site_scons/site_tools/naclsdk.py b/site_scons/site_tools/naclsdk.py
|
| index 2208d6db98061740086ce926188cfd7ff3830cc0..b5f7f5848713abac479b171bd15b619fd098f82f 100755
|
| --- a/site_scons/site_tools/naclsdk.py
|
| +++ b/site_scons/site_tools/naclsdk.py
|
| @@ -176,6 +176,19 @@ def _SetEnvForPnacl(env, root):
|
| else:
|
| ld_arch_flag = arch_flag
|
|
|
| + llc_mtriple_flag = ''
|
| + if env.Bit('minsfi'):
|
| + llc_cpu = ''
|
| + if env.Bit('build_x86_32'):
|
| + llc_cpu = 'i686'
|
| + elif env.Bit('build_x86_64'):
|
| + llc_cpu = 'x86_64'
|
| +
|
| + if env.Bit('host_linux'):
|
| + llc_mtriple_flag = ' -mtriple=%s-linux-gnu' % llc_cpu
|
| + elif env.Bit('host_mac'):
|
| + llc_mtriple_flag = ' -mtriple=%s-apple-darwin' % llc_cpu
|
| +
|
| translator_root = os.path.join(os.path.dirname(root), 'pnacl_translator')
|
|
|
| binprefix = os.path.join(root, 'bin', 'pnacl-')
|
| @@ -202,6 +215,7 @@ def _SetEnvForPnacl(env, root):
|
| pnacl_finalize = binprefix + 'finalize' + binext
|
| pnacl_opt = binprefix + 'opt' + binext
|
| pnacl_strip = binprefix + 'strip' + binext
|
| + pnacl_llc = binprefix + 'llc' + binext
|
|
|
| # NOTE: XXX_flags start with space for easy concatenation
|
| # The flags generated here get baked into the commands (CC, CXX, LINK)
|
| @@ -211,6 +225,7 @@ def _SetEnvForPnacl(env, root):
|
| pnacl_cc_flags = ' -std=gnu99'
|
| pnacl_ld_flags = ' ' + ' '.join(env['PNACL_BCLDFLAGS'])
|
| pnacl_translate_flags = ''
|
| + pnacl_llc_flags = ''
|
|
|
| if env.Bit('nacl_pic'):
|
| pnacl_cc_flags += ' -fPIC'
|
| @@ -220,6 +235,10 @@ def _SetEnvForPnacl(env, root):
|
| pnacl_ld_flags += ' -fPIC'
|
| pnacl_translate_flags += ' -fPIC'
|
|
|
| + if env.Bit('minsfi'):
|
| + pnacl_llc_flags += ' -relocation-model=pic -filetype=obj'
|
| + pnacl_ld_flags += ' -nostdlib -Wl,-r'
|
| +
|
| if env.Bit('use_sandboxed_translator'):
|
| sb_flags = ' --pnacl-sb'
|
| pnacl_ld_flags += sb_flags
|
| @@ -261,6 +280,7 @@ def _SetEnvForPnacl(env, root):
|
| TRANSLATE=pnacl_translate + arch_flag + pnacl_translate_flags,
|
| PNACLFINALIZE=pnacl_finalize,
|
| PNACLOPT=pnacl_opt,
|
| + LLC=pnacl_llc + llc_mtriple_flag + pnacl_llc_flags,
|
| )
|
|
|
| if env.Bit('built_elsewhere'):
|
|
|