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 <assert.h> | 7 #include <assert.h> |
8 #include <setjmp.h> | 8 #include <setjmp.h> |
9 #include <stdio.h> | 9 #include <stdio.h> |
10 | 10 |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 ".byte 0x90\n" /* nop */ | 60 ".byte 0x90\n" /* nop */ |
61 ".byte 0x66, 0x90\n" /* xchg %ax, %ax */ | 61 ".byte 0x66, 0x90\n" /* xchg %ax, %ax */ |
62 ".byte 0x0f, 0x1f, 0x00\n" /* nopl (%eax) */ | 62 ".byte 0x0f, 0x1f, 0x00\n" /* nopl (%eax) */ |
63 ".byte 0x0f, 0x1f, 0x40, 0x00\n" /* nopl 0x0(%eax) */ | 63 ".byte 0x0f, 0x1f, 0x40, 0x00\n" /* nopl 0x0(%eax) */ |
64 ".byte 0x0f, 0x1f, 0x44, 0x00, 0x00\n" /* nopl 0x0(%eax, %eax, 1) */ | 64 ".byte 0x0f, 0x1f, 0x44, 0x00, 0x00\n" /* nopl 0x0(%eax, %eax, 1) */ |
65 "jmp DoLongjmp\n"); | 65 "jmp DoLongjmp\n"); |
66 #elif defined(__arm__) | 66 #elif defined(__arm__) |
67 ASM_WITH_REGS( | 67 ASM_WITH_REGS( |
68 expected_regs, | 68 expected_regs, |
69 ".p2align 4\n" | 69 ".p2align 4\n" |
70 "FaultAddr: bkpt 0x7777\n" | 70 "FaultAddr: udf 0xedef\n" |
71 /* | 71 /* |
72 * ARM does not provide hardware single-stepping so we do not | 72 * ARM does not provide hardware single-stepping so we do not |
73 * test it here, unlike in the x86 case. | 73 * test it here, unlike in the x86 case. |
74 */ | 74 */ |
75 "b DoLongjmp\n" | 75 "b DoLongjmp\n" |
76 ".p2align 4\n"); | 76 ".p2align 4\n"); |
77 #else | 77 #else |
78 # error Unknown architecture | 78 # error Unknown architecture |
79 #endif | 79 #endif |
80 } | 80 } |
81 return 0; | 81 return 0; |
82 } | 82 } |
OLD | NEW |