| 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 Import('env') | 6 Import('env') |
| 7 | 7 |
| 8 # So far, all tests involve native assembler | 8 # So far, all tests involve native assembler |
| 9 | 9 |
| 10 HALT_SLED_SIZE=32 | 10 HALT_SLED_SIZE=32 |
| (...skipping 15 matching lines...) Expand all Loading... |
| 26 # ---------------------------------------------------------- | 26 # ---------------------------------------------------------- |
| 27 # Tests that require a NaCl module | 27 # Tests that require a NaCl module |
| 28 # ---------------------------------------------------------- | 28 # ---------------------------------------------------------- |
| 29 | 29 |
| 30 if env.Bit('target_x86_32'): | 30 if env.Bit('target_x86_32'): |
| 31 nacl_text_pad_asm = 'arch/x86_32/nacl_text_pad_test.S' | 31 nacl_text_pad_asm = 'arch/x86_32/nacl_text_pad_test.S' |
| 32 elif env.Bit('target_x86_64'): | 32 elif env.Bit('target_x86_64'): |
| 33 nacl_text_pad_asm = 'arch/x86_64/nacl_text_pad_test.S' | 33 nacl_text_pad_asm = 'arch/x86_64/nacl_text_pad_test.S' |
| 34 elif env.Bit('target_arm'): | 34 elif env.Bit('target_arm'): |
| 35 nacl_text_pad_asm = 'arch/arm/nacl_text_pad_test.S' | 35 nacl_text_pad_asm = 'arch/arm/nacl_text_pad_test.S' |
| 36 elif env.Bit('target_mips32'): |
| 37 nacl_text_pad_asm = 'arch/mips/nacl_text_pad_test.S' |
| 36 else: | 38 else: |
| 37 raise Exception('unknown architecture') | 39 raise Exception('unknown architecture') |
| 38 | 40 |
| 39 def NewAsmEnv(env, defines, rodata_address, rwdata_address): | 41 def NewAsmEnv(env, defines, rodata_address, rwdata_address): |
| 40 | 42 |
| 41 asm_env = env.Clone() | 43 asm_env = env.Clone() |
| 42 # NOTE(robertm): convert this to pure C code so that most of this | 44 # NOTE(robertm): convert this to pure C code so that most of this |
| 43 # special handling can be eliminated | 45 # special handling can be eliminated |
| 44 if asm_env.Bit('bitcode'): | 46 if asm_env.Bit('bitcode'): |
| 45 asm_env.PNaClForceNative() | 47 asm_env.PNaClForceNative() |
| 46 asm_env.Append(ASPPFLAGS=['-DPNACL_AS=1']) | 48 asm_env.Append(ASPPFLAGS=['-DPNACL_AS=1']) |
| 47 # On Windows, assembly pre-preprocessing uses $CCCOM instead of $ASPPCOM, | 49 # On Windows, assembly pre-preprocessing uses $CCCOM instead of $ASPPCOM, |
| 48 # so we need to set PNACL_AS=1 in CCFLAGS as well. | 50 # so we need to set PNACL_AS=1 in CCFLAGS as well. |
| 49 asm_env.Append(CCFLAGS=['-DPNACL_AS=1']) | 51 asm_env.Append(CCFLAGS=['-DPNACL_AS=1']) |
| 50 | 52 |
| 51 link_cmd = ('${LD} -static -e _start ${TEXT_START} ${RO_START} ${RW_START}' + | 53 link_cmd = ('${LD} -static -e _start ${TEXT_START} ${RO_START} ${RW_START}' + |
| 52 ' -o ${TARGET} ${SOURCES}') | 54 ' -o ${TARGET} ${SOURCES}') |
| 53 | 55 |
| 54 if env.Bit('target_x86_32'): | 56 if env.Bit('target_x86_32'): |
| 55 link_cmd += ' -melf_nacl' | 57 link_cmd += ' -melf_nacl' |
| 56 elif env.Bit('target_x86_64'): | 58 elif env.Bit('target_x86_64'): |
| 57 link_cmd += ' -melf64_nacl' | 59 link_cmd += ' -melf64_nacl' |
| 58 elif env.Bit('target_arm'): | 60 elif env.Bit('target_arm'): |
| 59 link_cmd += ' -marmelf_nacl' | 61 link_cmd += ' -marmelf_nacl' |
| 62 elif env.Bit('target_mips32'): |
| 63 link_cmd += ' -mmipselelf_nacl' |
| 60 else: | 64 else: |
| 61 raise Exception('unknown architecture') | 65 raise Exception('unknown architecture') |
| 62 | 66 |
| 63 asm_env['LINKCOM'] = link_cmd | 67 asm_env['LINKCOM'] = link_cmd |
| 64 | 68 |
| 65 asm_env.Append(CPPDEFINES = [ | 69 asm_env.Append(CPPDEFINES = [ |
| 66 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ], | 70 ['NACL_BUILD_ARCH', '${BUILD_ARCHITECTURE}' ], |
| 67 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ], | 71 ['NACL_BUILD_SUBARCH', '${BUILD_SUBARCH}' ], |
| 68 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ], | 72 ['NACL_TARGET_ARCH', '${TARGET_ARCHITECTURE}' ], |
| 69 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ], | 73 ['NACL_TARGET_SUBARCH', '${TARGET_SUBARCH}' ], |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 obj = asm_env.ComponentObject(base_name + '.o', nacl_text_pad_asm) | 163 obj = asm_env.ComponentObject(base_name + '.o', nacl_text_pad_asm) |
| 160 | 164 |
| 161 nexe = asm_env.ComponentProgram(base_name, [obj]) | 165 nexe = asm_env.ComponentProgram(base_name, [obj]) |
| 162 | 166 |
| 163 node = env.CommandSelLdrTestNacl(base_name + '.out', | 167 node = env.CommandSelLdrTestNacl(base_name + '.out', |
| 164 nexe) | 168 nexe) |
| 165 env.AddNodeToTestSuite(node, | 169 env.AddNodeToTestSuite(node, |
| 166 ['small_tests', 'sel_ldr_sled_tests', | 170 ['small_tests', 'sel_ldr_sled_tests', |
| 167 'nonpexe_tests'], | 171 'nonpexe_tests'], |
| 168 'run_' + base_name) | 172 'run_' + base_name) |
| OLD | NEW |