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
4 * found in the LICENSE file.
9 #include "native_client/src/trusted/debug_stub/thread.h"
10 #include "native_client/src/trusted/service_runtime/nacl_signal.h"
13 * Define the OS specific portions of IThread interface.
30 int IThread::ExceptionToSignal(int ex) {
31 switch (static_cast<DWORD>(ex)) {
32 case EXCEPTION_GUARD_PAGE:
33 case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:
34 case EXCEPTION_DATATYPE_MISALIGNMENT:
35 case EXCEPTION_ACCESS_VIOLATION:
36 case EXCEPTION_IN_PAGE_ERROR:
37 case EXCEPTION_PRIV_INSTRUCTION:
40 case EXCEPTION_BREAKPOINT:
41 case EXCEPTION_SINGLE_STEP:
44 case EXCEPTION_FLT_DENORMAL_OPERAND:
45 case EXCEPTION_FLT_DIVIDE_BY_ZERO:
46 case EXCEPTION_FLT_INEXACT_RESULT:
47 case EXCEPTION_FLT_INVALID_OPERATION:
48 case EXCEPTION_FLT_OVERFLOW:
49 case EXCEPTION_FLT_STACK_CHECK:
50 case EXCEPTION_FLT_UNDERFLOW:
53 case EXCEPTION_INT_DIVIDE_BY_ZERO:
54 case EXCEPTION_INT_OVERFLOW:
55 case EXCEPTION_ILLEGAL_INSTRUCTION:
58 case EXCEPTION_STACK_OVERFLOW:
64 case EXCEPTION_NONCONTINUABLE_EXCEPTION:
65 case EXCEPTION_INVALID_DISPOSITION:
66 case EXCEPTION_INVALID_HANDLE: