12 #define SPECIAL_CRTEXE 29 #if !defined(__arm__) && !defined(__aarch64__) 33 #define __winitenv (* __MINGW_IMP_SYMBOL(__winitenv)) 38 #define __initenv (* __MINGW_IMP_SYMBOL(__initenv)) 45 #define __ImageBase __MINGW_LSYMBOL(_image_base__) 52 #define SPACECHAR _T(' ') 53 #define DQUOTECHAR _T('\"') 61 #define _commode (* __MINGW_IMP_SYMBOL(_commode)) 88 static wchar_t **
argv;
89 static wchar_t **envp;
97 static int managedapp;
98 static int has_cctor = 0;
110 static int __cdecl pre_c_init (
void);
172 asm (
"\t.l_startw:\n" 173 "\t.seh_handler __C_specific_handler, @except\n" 174 "\t.seh_handlerdata\n" 176 "\t.rva .l_startw, .l_endw, _gnu_exception_handler ,.l_endw\n" 201 "\t.seh_handler __C_specific_handler, @except\n" 202 "\t.seh_handlerdata\n" 204 "\t.rva .l_start, .l_end, _gnu_exception_handler ,.l_end\n" 233 memset (lpszCommandLine, 0xcc, 32);
235 asm __volatile__ (
"andl $-16, %%esp" : : :
"%esp");
242 void *lock_free =
NULL;
248 if (lock_free == fiberid)
293 lpszCommandLine = (
char *)
_acmdln;
295 while (*lpszCommandLine >
SPACECHAR || (*lpszCommandLine && inDoubleQuote))
298 inDoubleQuote = !inDoubleQuote;
308 while (*lpszCommandLine && (*lpszCommandLine <=
SPACECHAR))
319 #if !defined(__arm__) && !defined(__aarch64__) 326 #if !defined(__arm__) && !defined(__aarch64__) 389 static size_t wbytelen(
const wchar_t *
p)
401 wchar_t **
n = (
wchar_t **)
malloc (
sizeof (
wchar_t *) * (ac + 1));
404 for (
i=0;
i < ac;
i++)
406 size_t l = wbytelen (avl[
i]);
418 char **
n = (
char **)
malloc (
sizeof (
char *) * (ac + 1));
421 for (
i=0;
i < ac;
i++)
432 #ifdef __MINGW_SHOW_INVALID_PARAMETER_EXCEPTION 433 #define __UNUSED_PARAM_1(x) x 435 #define __UNUSED_PARAM_1 __UNUSED_PARAM 444 #ifdef __MINGW_SHOW_INVALID_PARAMETER_EXCEPTION 445 wprintf(
L"Invalid parameter detected in function %s. File: %s Line: %u\n",
function,
file,
line);
446 wprintf(
L"Expression: %s\n", expression);
int _MINGW_INSTALL_DEBUG_MATHERR
void(__cdecl * _PVFV)(void)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
static void duplicate_ppstrings(int ac, char ***av)
void _pei386_runtime_relocator(void)
int wmain(int argc, WCHAR **argv)
void __cdecl _fpreset(void)
int mingw_initltssuo_force
ACPI_SIZE strlen(const char *String)
#define DLL_THREAD_ATTACH
int main(int argc, char *argv[])
#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR
void CDECL __setusermatherr(MSVCRT_matherr_func func)
#define __UNUSED_PARAM(x)
#define IMAGE_NT_OPTIONAL_HDR32_MAGIC
volatile __enative_startup_state __native_startup_state
_CRTIMP void __cdecl _initterm(_PVFV *, _PVFV *)
long CALLBACK _gnu_exception_handler(EXCEPTION_POINTERS *exception_data)
static void __cdecl __mingw_prepare_except_for_msvcr80_and_higher(void)
static int __cdecl __tmainCRTStartup(void)
int __cdecl mainCRTStartup(void)
void __cdecl __security_init_cookie(void)
void __cdecl _amsg_exit(int errnum)
#define IMAGE_DOS_SIGNATURE
VOID(NTAPI * PIMAGE_TLS_CALLBACK)(PVOID DllHandle, ULONG Reason, PVOID Reserved)
DWORD __mingw_winmain_nShowCmd
LPTOP_LEVEL_EXCEPTION_FILTER WINAPI DECLSPEC_HOTPATCH SetUnhandledExceptionFilter(IN LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
__analysis_noreturn _CRTIMP void __cdecl _cexit(void)
LPTOP_LEVEL_EXCEPTION_FILTER __mingw_oldexcpt_handler
#define InterlockedCompareExchangePointer
HANDLE __mingw_get_msvcrt_handle(void)
int __CRTDECL _setargv(void)
struct _IMAGE_DOS_HEADER * PIMAGE_DOS_HEADER
#define STARTF_USESHOWWINDOW
#define IMAGE_NT_SIGNATURE
_CRTIMP void __cdecl __set_app_type(int)
#define InterlockedExchangePointer(Target, Value)
void __do_global_dtors(void)
void __getmainargs(int *argc, char ***argv, char ***envp, int expand_wildcards, int *new_mode)
static void __cdecl __mingw_invalidParameterHandler(const wchar_t *__UNUSED_PARAM_1(expression), const wchar_t *__UNUSED_PARAM_1(function), const wchar_t *__UNUSED_PARAM_1(file), unsigned int __UNUSED_PARAM_1(line), uintptr_t __UNUSED_PARAM(pReserved))
HINSTANCE __mingw_winmain_hInstance
#define IMAGE_NT_OPTIONAL_HDR64_MAGIC
IMAGE_DOS_HEADER __ImageBase
static int __cdecl check_managed_app(void)
static __declspec(noinline)
struct _IMAGE_OPTIONAL_HEADER * PIMAGE_OPTIONAL_HEADER32
wchar_t *** __MINGW_IMP_SYMBOL(__winitenv)
#define memcpy(s1, s2, n)
void CDECL __wgetmainargs(int *argc, WCHAR ***wargv, WCHAR ***wenvp, int expand_wildcards, int *new_mode)
PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER
int mingw_initltsdyn_force
const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback
LPSTR __mingw_winmain_lpCmdLine
int __CRTDECL _matherr(_Inout_ struct _exception *exception)
FORCEINLINE struct _TEB * NtCurrentTeb(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int(__cdecl * _PIFV)(void)
int __cdecl _ismbblead(unsigned int)
int __CRTDECL _wsetargv(void)
int mingw_initltsdrot_force
struct _IMAGE_OPTIONAL_HEADER64 * PIMAGE_OPTIONAL_HEADER64
void(__cdecl * _invalid_parameter_handler)(const wchar_t *, const wchar_t *, const wchar_t *, unsigned int, uintptr_t)
#define GetProcAddress(x, y)
int __mingw_init_ehandler(void)
int __cdecl WinMainCRTStartup(void)
volatile void * __native_startup_lock
static void __cdecl pre_cpp_init(void)
PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS