#include <excpt.h>
#include <string.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <signal.h>
#include <stdio.h>
#include <windef.h>
#include <winbase.h>
Go to the source code of this file.
◆ __ImageBase
◆ _NTSYSTEM_
This file has no copyright assigned and is placed in the Public Domain. This file is part of the w64 mingw-runtime package. No warranty is given; refer to the file DISCLAIMER.PD within this package.
Definition at line 14 of file crt_handler.c.
◆ GCC_MAGIC
| #define GCC_MAGIC (('G' << 16) | ('C' << 8) | 'C' | (1U << 29)) |
◆ PUNWIND_INFO
◆ UNWIND_INFO
◆ __mingw_init_ehandler()
◆ _FindPESectionByName()
Definition at line 70 of file pesect.c.
71{
75 unsigned int iSection;
76
77
80
84
86
89 ++iSection,++pSection)
90 {
92 return pSection;
93 }
95}
_ACRTIMP size_t __cdecl strlen(const char *)
_ACRTIMP int __cdecl strncmp(const char *, const char *, size_t)
PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS
#define IMAGE_FIRST_SECTION(NtHeader)
#define IMAGE_SIZEOF_SHORT_NAME
WINBOOL _ValidateImageBase(PBYTE)
IMAGE_DOS_HEADER __ImageBase
◆ _FindPESectionExec()
Definition at line 133 of file pesect.c.
134{
138 unsigned int iSection;
139
143
145
148 ++iSection,++pSection)
149 {
151 {
153 return pSection;
155 }
156 }
158}
#define IMAGE_SCN_MEM_EXECUTE
◆ _fpreset()
Definition at line 1591 of file math.c.
1592{
1593#if (defined(__GNUC__) || defined(__clang__)) && defined(__i386__)
1594 const unsigned int x86_cw = 0x27f;
1595 __asm__ __volatile__(
"fninit; fldcw %0" : :
"m" (x86_cw) );
1597 {
1599 _setfp_sse(&cw, ~0, &
sw, ~0);
1600 }
1601#else
1604#endif
1605}
static void _setfp(unsigned int *cw, unsigned int cw_mask, unsigned int *sw, unsigned int sw_mask)
__asm__(".p2align 4, 0x90\n" ".seh_proc __seh2_global_filter_func\n" "__seh2_global_filter_func:\n" "\tsub %rbp, %rax\n" "\tpush %rbp\n" "\t.seh_pushreg %rbp\n" "\tpush %rbx\n" "\t.seh_pushreg %rbx\n" "\tpush %rdi\n" "\t.seh_pushreg %rdi\n" "\tpush %rsi\n" "\t.seh_pushreg %rsi\n" "\tpush %r12\n" "\t.seh_pushreg %r12\n" "\tpush %r13\n" "\t.seh_pushreg %r13\n" "\tpush %r14\n" "\t.seh_pushreg %r14\n" "\tpush %r15\n" "\t.seh_pushreg %r15\n" "\tsub $40, %rsp\n" "\t.seh_stackalloc 40\n" "\t.seh_endprologue\n" "\tsub %rax, %rdx\n" "\tmov %rdx, %rbp\n" "\tjmp *%r8\n" "__seh2_global_filter_func_exit:\n" "\t.p2align 4\n" "\tadd $40, %rsp\n" "\tpop %r15\n" "\tpop %r14\n" "\tpop %r13\n" "\tpop %r12\n" "\tpop %rsi\n" "\tpop %rdi\n" "\tpop %rbx\n" "\tpop %rbp\n" "\tret\n" "\t.seh_endproc")
SYMCRYPT_ECURVE_INFO_PRECOMP sw
Referenced by _gnu_exception_handler().
◆ _GetPEImageBase()
Definition at line 163 of file pesect.c.
164{
169 return pImageBase;
170}
◆ _gnu_exception_handler()
Definition at line 196 of file crt_handler.c.
197{
200 int reset_fpu = 0;
201
202#ifdef __SEH__
204 {
207 }
208#endif
209
211 {
213
216 {
217
218
221 }
222 else if (old_handler !=
SIG_DFL)
223 {
224
227 }
228 break;
229
232
235 {
236
237
240 }
241 else if (old_handler !=
SIG_DFL)
242 {
243
246 }
247 break;
248
255 reset_fpu = 1;
256
257
259
262 {
264 if (reset_fpu)
267 }
268 else if (old_handler !=
SIG_DFL)
269 {
270
273 }
274 break;
275#ifdef _WIN64
281
283 break;
284#endif
285 default:
286 break;
287 }
288
290 action = (*__mingw_oldexcpt_handler)(exception_data);
292}
LPTOP_LEVEL_EXCEPTION_FILTER __mingw_oldexcpt_handler
void __cdecl _fpreset(void)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define EXCEPTION_CONTINUE_SEARCH
#define EXCEPTION_CONTINUE_EXECUTION
#define EXCEPTION_FLT_STACK_CHECK
#define EXCEPTION_INT_DIVIDE_BY_ZERO
#define EXCEPTION_FLT_UNDERFLOW
#define EXCEPTION_INT_OVERFLOW
#define EXCEPTION_INVALID_HANDLE
#define EXCEPTION_FLT_OVERFLOW
#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED
#define EXCEPTION_DATATYPE_MISALIGNMENT
#define EXCEPTION_FLT_DENORMAL_OPERAND
#define EXCEPTION_FLT_INEXACT_RESULT
#define EXCEPTION_ILLEGAL_INSTRUCTION
#define EXCEPTION_ACCESS_VIOLATION
#define EXCEPTION_FLT_INVALID_OPERATION
#define EXCEPTION_PRIV_INSTRUCTION
#define EXCEPTION_FLT_DIVIDE_BY_ZERO
PEXCEPTION_RECORD ExceptionRecord
#define EXCEPTION_NONCONTINUABLE
◆ __ImageBase
◆ __mingw_oldexcpt_handler