OLD | NEW |
1 /* | 1 /* |
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 | 6 |
7 #include "native_client/src/shared/platform/nacl_log.h" | 7 #include "native_client/src/shared/platform/nacl_log.h" |
8 #include "native_client/src/trusted/validator/ncvalidate.h" | 8 #include "native_client/src/trusted/validator/ncvalidate.h" |
9 | 9 |
10 | 10 |
11 /* The function is not static to avoid compiler error on platforms where it is | 11 /* The function is not static to avoid compiler error on platforms where it is |
12 * not used. | 12 * not used. |
13 */ | 13 */ |
14 void EmitExperimentalValidatorWarning() { | 14 void EmitExperimentalValidatorWarning() { |
15 NaClLog(LOG_WARNING, "DANGER! USING THE EXPERIMENTAL DFA VALIDATOR!\n"); | 15 NaClLog(LOG_WARNING, "DANGER! USING THE EXPERIMENTAL DFA VALIDATOR!\n"); |
16 } | 16 } |
17 | 17 |
18 const struct NaClValidatorInterface *NaClCreateValidator() { | 18 const struct NaClValidatorInterface *NaClCreateValidator() { |
19 #if NACL_ARCH(NACL_BUILD_ARCH) == NACL_arm | 19 #if NACL_ARCH(NACL_BUILD_ARCH) == NACL_arm |
20 return NaClValidatorCreateArm(); | 20 return NaClValidatorCreateArm(); |
| 21 #elif NACL_ARCH(NACL_BUILD_ARCH) == NACL_mips |
| 22 return NaClValidatorCreateMips(); |
21 #elif NACL_ARCH(NACL_TARGET_ARCH) == NACL_x86 | 23 #elif NACL_ARCH(NACL_TARGET_ARCH) == NACL_x86 |
22 # if NACL_TARGET_SUBARCH == 64 | 24 # if NACL_TARGET_SUBARCH == 64 |
23 # if defined(NACL_VALIDATOR_RAGEL) | 25 # if defined(NACL_VALIDATOR_RAGEL) |
24 EmitExperimentalValidatorWarning(); | 26 EmitExperimentalValidatorWarning(); |
25 return NaClDfaValidatorCreate_x86_64(); | 27 return NaClDfaValidatorCreate_x86_64(); |
26 # else | 28 # else |
27 return NaClValidatorCreate_x86_64(); | 29 return NaClValidatorCreate_x86_64(); |
28 # endif /* defined(NACL_VALIDATOR_RAGEL) */ | 30 # endif /* defined(NACL_VALIDATOR_RAGEL) */ |
29 # elif NACL_TARGET_SUBARCH == 32 | 31 # elif NACL_TARGET_SUBARCH == 32 |
30 # if defined(NACL_VALIDATOR_RAGEL) | 32 # if defined(NACL_VALIDATOR_RAGEL) |
31 EmitExperimentalValidatorWarning(); | 33 EmitExperimentalValidatorWarning(); |
32 return NaClDfaValidatorCreate_x86_32(); | 34 return NaClDfaValidatorCreate_x86_32(); |
33 # else | 35 # else |
34 return NaClValidatorCreate_x86_32(); | 36 return NaClValidatorCreate_x86_32(); |
35 # endif /* defined(NACL_VALIDATOR_RAGEL) */ | 37 # endif /* defined(NACL_VALIDATOR_RAGEL) */ |
36 # else | 38 # else |
37 # error "Invalid sub-architecture!" | 39 # error "Invalid sub-architecture!" |
38 # endif | 40 # endif |
39 #else /* NACL_x86 */ | 41 #else /* NACL_x86 */ |
40 # error "There is no validator for this architecture!" | 42 # error "There is no validator for this architecture!" |
41 #endif | 43 #endif |
42 } | 44 } |
OLD | NEW |