OLD | NEW |
1 # -*- python -*- | 1 # -*- python -*- |
2 # Copyright 2011 The Native Client Authors. All rights reserved. | 2 # Copyright 2011 The Native Client Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can | 3 # Use of this source code is governed by a BSD-style license that can |
4 # be found in the LICENSE file. | 4 # be found in the LICENSE file. |
5 | 5 |
6 Import('env') | 6 Import('env') |
7 | 7 |
8 # Large TLS aligns don't work for newlib. | 8 # Large TLS aligns don't work for newlib. |
9 if not env.Bit('nacl_glibc'): | 9 if not env.Bit('nacl_glibc'): |
10 Return() | 10 Return() |
11 | 11 |
12 defines_map = { | 12 defines_map = { |
13 'tdata1' : ['WITH_PTHREAD'], | 13 'tdata1' : ['WITH_PTHREAD'], |
14 'tdata2' : ['MORE_TDATA', 'WITH_PTHREAD'], | 14 'tdata2' : ['MORE_TDATA', 'WITH_PTHREAD'], |
15 'tbss1' : ['WITH_TBSS', 'WITH_PTHREAD'], | 15 'tbss1' : ['WITH_TBSS', 'WITH_PTHREAD'], |
16 'tbss2' : ['WITH_TBSS', 'MORE_TBSS', 'WITH_PTHREAD'], | 16 'tbss2' : ['WITH_TBSS', 'MORE_TBSS', 'WITH_PTHREAD'], |
17 'tbss3' : ['WITH_TBSS', 'MORE_TDATA', 'WITH_PTHREAD'], | 17 'tbss3' : ['WITH_TBSS', 'MORE_TDATA', 'WITH_PTHREAD'], |
18 'largealign' : ['TDATA_LARGE_ALIGN', 'TBSS_LARGE_ALIGN', 'WITH_PTHREAD'], | 18 'largealign' : ['TDATA_LARGE_ALIGN', 'TBSS_LARGE_ALIGN', 'WITH_PTHREAD'], |
19 'nopthread' : ['WITH_TBSS', 'TDATA_LARGE_ALIGN', 'TBSS_LARGE_ALIGN']} | 19 'nopthread' : ['WITH_TBSS', 'TDATA_LARGE_ALIGN', 'TBSS_LARGE_ALIGN']} |
20 for case_name, defines in sorted(defines_map.iteritems()): | 20 for case_name, defines in sorted(defines_map.iteritems()): |
21 full_name = 'tls_test_' + case_name | 21 full_name = 'tls_test_' + case_name |
22 if 'WITH_PTHREAD' in defines: | 22 if 'WITH_PTHREAD' in defines: |
23 libs = ['pthread'] | 23 libs = ['pthread'] |
24 else: | 24 else: |
25 libs = [] | 25 libs = [] |
26 env_test = env.Clone() | 26 env_test = env.Clone() |
27 env_test.Append(CPPDEFINES=[[define, ''] for define in defines]) | 27 env_test.Append(CPPDEFINES=[[define, ''] for define in defines]) |
28 obj = env_test.ComponentObject(full_name + '.o', 'tls.c') | 28 obj = env_test.ComponentObject(full_name + '.o', 'tls.c') |
29 prog = env_test.ComponentProgram(full_name + '.nexe', obj, EXTRA_LIBS=libs) | 29 prog = env_test.ComponentProgram(full_name, obj, EXTRA_LIBS=libs) |
30 node = env_test.CommandSelLdrTestNacl(full_name + '.out', command=[prog], | 30 node = env_test.CommandSelLdrTestNacl(full_name + '.out', prog, |
31 size='small') | 31 size='small') |
32 env_test.AddNodeToTestSuite(node, ['small_tests'], 'run_' + full_name) | 32 env_test.AddNodeToTestSuite(node, ['small_tests'], 'run_' + full_name) |
OLD | NEW |