| 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 # Tests for Native Client fixed-feature CPU mode. The fixed-feature CPU | 6 # Tests for Native Client fixed-feature CPU mode. The fixed-feature CPU |
| 7 # mode requires SSE and disallows MMX and x87. By fixing the instruction set | 7 # mode requires SSE and disallows MMX and x87. By fixing the instruction set |
| 8 # it allows exclusion of the CPUID instruction and use of a read-only text | 8 # it allows exclusion of the CPUID instruction and use of a read-only text |
| 9 # segment. See http://code.google.com/p/nativeclient/issues/detail?id=2684 | 9 # segment. See http://code.google.com/p/nativeclient/issues/detail?id=2684 |
| 10 Import('env') | 10 Import('env') |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 'ff_hello_world_sse_Z.out', ff_hello_world_sse_nexe, | 113 'ff_hello_world_sse_Z.out', ff_hello_world_sse_nexe, |
| 114 exit_status=expect_sse_Z_status, | 114 exit_status=expect_sse_Z_status, |
| 115 sel_ldr_flags=['-Z']) | 115 sel_ldr_flags=['-Z']) |
| 116 env.AddNodeToTestSuite(node, test_suites, 'run_ff_sse_Z_test', | 116 env.AddNodeToTestSuite(node, test_suites, 'run_ff_sse_Z_test', |
| 117 is_broken=is_validation_broken) | 117 is_broken=is_validation_broken) |
| 118 | 118 |
| 119 # NOTE: -mfpmath=387 does not work for x86-64. See: | 119 # NOTE: -mfpmath=387 does not work for x86-64. See: |
| 120 # http://code.google.com/p/nativeclient/issues/detail?id=2692 | 120 # http://code.google.com/p/nativeclient/issues/detail?id=2692 |
| 121 if not env.Bit('target_x86_64') and not env.Bit('bitcode'): | 121 if not env.Bit('target_x86_64') and not env.Bit('bitcode'): |
| 122 x87_env = env.Clone() | 122 x87_env = env.Clone() |
| 123 x87_env.Append(CCFLAGS=['-mfpmath=387']) | 123 x87_env.Append(CCFLAGS=['-mfpmath=387', '-mno-sse']) |
| 124 x87_o = x87_env.ComponentObject('ff_hello_world_x87.o', 'ff_hello_world.c') | 124 x87_o = x87_env.ComponentObject('ff_hello_world_x87.o', 'ff_hello_world.c') |
| 125 ff_hello_world_x87_nexe = x87_env.ComponentProgram( | 125 ff_hello_world_x87_nexe = x87_env.ComponentProgram( |
| 126 'ff_hello_world_x87', | 126 'ff_hello_world_x87', |
| 127 'ff_hello_world_x87.o', | 127 'ff_hello_world_x87.o', |
| 128 EXTRA_LIBS=['${NONIRT_LIBS}']) | 128 EXTRA_LIBS=['${NONIRT_LIBS}']) |
| 129 | 129 |
| 130 # ff_hello_world_x87 should pass in default mode | 130 # ff_hello_world_x87 should pass in default mode |
| 131 node = env.CommandSelLdrTestNacl( | 131 node = env.CommandSelLdrTestNacl( |
| 132 'ff_hello_world_x87.out', ff_hello_world_x87_nexe, | 132 'ff_hello_world_x87.out', ff_hello_world_x87_nexe, |
| 133 stdout_golden=env.File('ff_hello_world.stdout')) | 133 stdout_golden=env.File('ff_hello_world.stdout')) |
| 134 env.AddNodeToTestSuite(node, test_suites, 'run_ff_x87_test') | 134 env.AddNodeToTestSuite(node, test_suites, 'run_ff_x87_test') |
| 135 | 135 |
| 136 # ff_hello_world_x87 should fail in fixed function CPU mode | 136 # ff_hello_world_x87 should fail in fixed function CPU mode |
| 137 node = env.CommandSelLdrTestNacl( | 137 node = env.CommandSelLdrTestNacl( |
| 138 'ff_hello_world_x87_Z.out', ff_hello_world_x87_nexe, | 138 'ff_hello_world_x87_Z.out', ff_hello_world_x87_nexe, |
| 139 exit_status=expect_x87_Z_status, | 139 exit_status=expect_x87_Z_status, |
| 140 sel_ldr_flags=['-Z']) | 140 sel_ldr_flags=['-Z']) |
| 141 env.AddNodeToTestSuite(node, test_suites, 'run_ff_x87_Z_test', | 141 env.AddNodeToTestSuite(node, test_suites, 'run_ff_x87_Z_test', |
| 142 is_broken=is_validation_broken) | 142 is_broken=is_validation_broken) |
| OLD | NEW |