OLD | NEW |
1 #! -*- python -*- | 1 #! -*- python -*- |
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 import atexit | 6 import atexit |
7 import json | 7 import json |
8 import os | 8 import os |
9 import platform | 9 import platform |
10 import re | 10 import re |
(...skipping 3006 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3017 """ | 3017 """ |
3018 if env.Bit('bitcode'): | 3018 if env.Bit('bitcode'): |
3019 # For each architecture, we only attempt to make our inline | 3019 # For each architecture, we only attempt to make our inline |
3020 # assembly code work with one untrusted-code toolchain. For x86, | 3020 # assembly code work with one untrusted-code toolchain. For x86, |
3021 # we target GCC, but not PNaCl/Clang, because the latter's | 3021 # we target GCC, but not PNaCl/Clang, because the latter's |
3022 # assembly support has various quirks that we don't want to have | 3022 # assembly support has various quirks that we don't want to have |
3023 # to debug. For ARM, we target PNaCl/Clang, because that is the | 3023 # to debug. For ARM, we target PNaCl/Clang, because that is the |
3024 # only current ARM toolchain. One day, we will have an ARM GCC | 3024 # only current ARM toolchain. One day, we will have an ARM GCC |
3025 # toolchain, and we will no longer need to use inline assembly | 3025 # toolchain, and we will no longer need to use inline assembly |
3026 # with PNaCl/Clang at all. | 3026 # with PNaCl/Clang at all. |
3027 if not (env.Bit('target_arm') or env.Bit('target_mips32')): | 3027 # |
| 3028 # For Non-SFI NaCl we use inline assembly in PNaCl/Clang. |
| 3029 if not (env.Bit('target_arm') or env.Bit('target_mips32') |
| 3030 or env.Bit('nonsfi_nacl')): |
3028 return False | 3031 return False |
3029 # Inline assembly does not work in pexes. | 3032 # Inline assembly does not work in pexes. |
3030 if env.Bit('pnacl_generate_pexe'): | 3033 if env.Bit('pnacl_generate_pexe'): |
3031 return False | 3034 return False |
3032 env.AddBiasForPNaCl() | 3035 env.AddBiasForPNaCl() |
3033 env.PNaClForceNative() | 3036 env.PNaClForceNative() |
3034 return True | 3037 return True |
3035 | 3038 |
3036 nacl_env.AddMethod(AllowInlineAssembly) | 3039 nacl_env.AddMethod(AllowInlineAssembly) |
3037 | 3040 |
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4019 nacl_env.ValidateSdk() | 4022 nacl_env.ValidateSdk() |
4020 | 4023 |
4021 if BROKEN_TEST_COUNT > 0: | 4024 if BROKEN_TEST_COUNT > 0: |
4022 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 4025 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
4023 if GetOption('brief_comstr'): | 4026 if GetOption('brief_comstr'): |
4024 msg += " Add --verbose to the command line for more information." | 4027 msg += " Add --verbose to the command line for more information." |
4025 print msg | 4028 print msg |
4026 | 4029 |
4027 # separate warnings from actual build output | 4030 # separate warnings from actual build output |
4028 Banner('B U I L D - O U T P U T:') | 4031 Banner('B U I L D - O U T P U T:') |
OLD | NEW |