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 3481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3492 nacl_irt_env.Append(LINKFLAGS=['--pnacl-disable-abi-check']) | 3492 nacl_irt_env.Append(LINKFLAGS=['--pnacl-disable-abi-check']) |
3493 | 3493 |
3494 # The IRT is C only, don't link with the C++ linker so that it doesn't | 3494 # The IRT is C only, don't link with the C++ linker so that it doesn't |
3495 # start depending on the C++ standard library and (in the case of | 3495 # start depending on the C++ standard library and (in the case of |
3496 # libc++) pthread. | 3496 # libc++) pthread. |
3497 nacl_irt_env.Replace(LINK=(nacl_irt_env['LINK']. | 3497 nacl_irt_env.Replace(LINK=(nacl_irt_env['LINK']. |
3498 replace('pnacl-clang++', 'pnacl-clang'))) | 3498 replace('pnacl-clang++', 'pnacl-clang'))) |
3499 nacl_irt_env.Replace(LINK=(nacl_irt_env['LINK']. | 3499 nacl_irt_env.Replace(LINK=(nacl_irt_env['LINK']. |
3500 replace('nacl-clang++', 'nacl-clang'))) | 3500 replace('nacl-clang++', 'nacl-clang'))) |
3501 | 3501 |
3502 | |
3503 # All IRT code must avoid direct use of the TLS ABI register, which | |
3504 # is reserved for user TLS. Instead, ensure all TLS accesses use a | |
3505 # call to __nacl_read_tp, which the IRT code overrides to segregate | |
3506 # IRT-private TLS from user TLS. This only applies to mips now, on | |
3507 # other platforms we modify the TLS register through tls_edit as a | |
3508 # post process. | |
3509 if nacl_irt_env.Bit('build_mips32'): | |
3510 nacl_irt_env.Append(LINKFLAGS=['-Wt,-mtls-use-call']) | |
3511 | |
3512 # TODO(mcgrathr): Clean up uses of these methods. | 3502 # TODO(mcgrathr): Clean up uses of these methods. |
3513 def AddLibraryDummy(env, nodes): | 3503 def AddLibraryDummy(env, nodes): |
3514 return nodes | 3504 return nodes |
3515 nacl_irt_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk') | 3505 nacl_irt_env.AddMethod(AddLibraryDummy, 'AddLibraryToSdk') |
3516 | 3506 |
3517 def AddObjectInternal(env, nodes): | 3507 def AddObjectInternal(env, nodes): |
3518 return env.Replicate('${LIB_DIR}', nodes) | 3508 return env.Replicate('${LIB_DIR}', nodes) |
3519 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') | 3509 nacl_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') |
3520 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') | 3510 nacl_irt_env.AddMethod(AddObjectInternal, 'AddObjectToSdk') |
3521 | 3511 |
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3988 nacl_env.ValidateSdk() | 3978 nacl_env.ValidateSdk() |
3989 | 3979 |
3990 if BROKEN_TEST_COUNT > 0: | 3980 if BROKEN_TEST_COUNT > 0: |
3991 msg = "There are %d broken tests." % BROKEN_TEST_COUNT | 3981 msg = "There are %d broken tests." % BROKEN_TEST_COUNT |
3992 if GetOption('brief_comstr'): | 3982 if GetOption('brief_comstr'): |
3993 msg += " Add --verbose to the command line for more information." | 3983 msg += " Add --verbose to the command line for more information." |
3994 print msg | 3984 print msg |
3995 | 3985 |
3996 # separate warnings from actual build output | 3986 # separate warnings from actual build output |
3997 Banner('B U I L D - O U T P U T:') | 3987 Banner('B U I L D - O U T P U T:') |
OLD | NEW |