| OLD | NEW |
| 1 # -*- python -*- | 1 # -*- python -*- |
| 2 # Copyright (c) 2011 The Native Client Authors. All rights reserved. | 2 # Copyright (c) 2011 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 | 6 |
| 7 Import('env') | 7 Import('env') |
| 8 | 8 |
| 9 # Since the integrated runtime will be built with newlib, | 9 # Since the integrated runtime will be built with newlib, |
| 10 # there's no need to build this module against glibc. | 10 # there's no need to build this module against glibc. |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 ] | 76 ] |
| 77 | 77 |
| 78 irt_browser = ['irt_interfaces_ppapi.c', | 78 irt_browser = ['irt_interfaces_ppapi.c', |
| 79 'irt_ppapi.c', | 79 'irt_ppapi.c', |
| 80 ] | 80 ] |
| 81 | 81 |
| 82 def LinkIrt(output, files, libs): | 82 def LinkIrt(output, files, libs): |
| 83 return blob_env.ComponentProgram(output, irt_support_objs + files, | 83 return blob_env.ComponentProgram(output, irt_support_objs + files, |
| 84 EXTRA_LIBS=libs + irt_support_libs) | 84 EXTRA_LIBS=libs + irt_support_libs) |
| 85 | 85 |
| 86 irt_core_library = LinkIrt('irt_core.nexe', irt_nonbrowser, []) | 86 irt_core_library = LinkIrt('irt_core', irt_nonbrowser, []) |
| 87 irt_library = LinkIrt('irt.nexe', irt_browser, ['ppruntime', | 87 irt_library = LinkIrt('irt', irt_browser, ['ppruntime', |
| 88 'srpc', | 88 'srpc', |
| 89 'imc_syscalls', | 89 'imc_syscalls', |
| 90 'platform', | 90 'platform', |
| 91 'gio', | 91 'gio', |
| 92 'm']) | 92 'm']) |
| 93 | 93 |
| 94 # TODO(mcgrathr): these should be installed, but scons is a mystery | 94 # TODO(mcgrathr): these should be installed, but scons is a mystery |
| 95 #env.AddHeaderToSdk(['irt.h']) | 95 #env.AddHeaderToSdk(['irt.h']) |
| 96 #env.AddHeaderToSdk(['irt_ppapi.h']) | 96 #env.AddHeaderToSdk(['irt_ppapi.h']) |
| 97 | 97 |
| 98 if env.Bit('build_x86_32') and not env.Bit('bitcode'): | 98 if env.Bit('build_x86_32') and not env.Bit('bitcode'): |
| 99 # Make sure that the linked IRT nexe never uses TLS via %gs access. | 99 # Make sure that the linked IRT nexe never uses TLS via %gs access. |
| 100 # All IRT code must avoid direct use of the TLS ABI register, which | 100 # All IRT code must avoid direct use of the TLS ABI register, which |
| 101 # is reserved for user TLS. Instead, ensure all TLS accesses use a | 101 # is reserved for user TLS. Instead, ensure all TLS accesses use a |
| 102 # call to __nacl_read_tp, which the IRT code overrides to segregate | 102 # call to __nacl_read_tp, which the IRT code overrides to segregate |
| 103 # IRT-private TLS from user TLS. | 103 # IRT-private TLS from user TLS. |
| 104 node = env.CommandTest('irt_tls_test.out', | 104 node = env.CommandTest('irt_tls_test.out', |
| 105 ['${PYTHON}', env.File('check_tls.py'), | 105 ['${PYTHON}', env.File('check_tls.py'), |
| 106 '${OBJDUMP}', irt_library]) | 106 '${OBJDUMP}', irt_library]) |
| 107 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_tls_test') | 107 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_tls_test') |
| 108 node = env.CommandTest('irt_core_tls_test.out', | 108 node = env.CommandTest('irt_core_tls_test.out', |
| 109 ['${PYTHON}', env.File('check_tls.py'), | 109 ['${PYTHON}', env.File('check_tls.py'), |
| 110 '${OBJDUMP}', irt_core_library]) | 110 '${OBJDUMP}', irt_core_library]) |
| 111 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_core_tls_test') | 111 env.AddNodeToTestSuite(node, ['small_tests'], 'run_irt_core_tls_test') |
| OLD | NEW |