kernel32: Remove the no longer used __wine_start_process() function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
c2c330532e
commit
f7e4fd0cf8
|
@ -1693,6 +1693,3 @@
|
||||||
# Unix files
|
# Unix files
|
||||||
@ cdecl wine_get_unix_file_name(wstr)
|
@ cdecl wine_get_unix_file_name(wstr)
|
||||||
@ cdecl wine_get_dos_file_name(str)
|
@ cdecl wine_get_dos_file_name(str)
|
||||||
|
|
||||||
# Init code
|
|
||||||
@ cdecl -norelay -private __wine_start_process()
|
|
||||||
|
|
|
@ -59,7 +59,6 @@
|
||||||
#include "wine/debug.h"
|
#include "wine/debug.h"
|
||||||
|
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(process);
|
WINE_DEFAULT_DEBUG_CHANNEL(process);
|
||||||
WINE_DECLARE_DEBUG_CHANNEL(relay);
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -85,80 +84,6 @@ const WCHAR DIR_System[] = {'C',':','\\','w','i','n','d','o','w','s',
|
||||||
#define PDB32_WIN32S_PROC 0x8000 /* Win32s process */
|
#define PDB32_WIN32S_PROC 0x8000 /* Win32s process */
|
||||||
|
|
||||||
|
|
||||||
#ifdef __i386__
|
|
||||||
extern DWORD call_process_entry( PEB *peb, LPTHREAD_START_ROUTINE entry );
|
|
||||||
__ASM_GLOBAL_FUNC( call_process_entry,
|
|
||||||
"pushl %ebp\n\t"
|
|
||||||
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
|
|
||||||
__ASM_CFI(".cfi_rel_offset %ebp,0\n\t")
|
|
||||||
"movl %esp,%ebp\n\t"
|
|
||||||
__ASM_CFI(".cfi_def_cfa_register %ebp\n\t")
|
|
||||||
"pushl %ebx\n\t"
|
|
||||||
__ASM_CFI(".cfi_rel_offset %ebx,-4\n\t")
|
|
||||||
"movl 8(%ebp),%ebx\n\t"
|
|
||||||
/* deliberately mis-align the stack by 8, Doom 3 needs this */
|
|
||||||
"pushl 4(%ebp)\n\t" /* Driller expects readable address at this offset */
|
|
||||||
"pushl 4(%ebp)\n\t"
|
|
||||||
"pushl %ebx\n\t"
|
|
||||||
"call *12(%ebp)\n\t"
|
|
||||||
"leal -4(%ebp),%esp\n\t"
|
|
||||||
"popl %ebx\n\t"
|
|
||||||
__ASM_CFI(".cfi_same_value %ebx\n\t")
|
|
||||||
"popl %ebp\n\t"
|
|
||||||
__ASM_CFI(".cfi_def_cfa %esp,4\n\t")
|
|
||||||
__ASM_CFI(".cfi_same_value %ebp\n\t")
|
|
||||||
"ret" )
|
|
||||||
|
|
||||||
__ASM_GLOBAL_FUNC( __wine_start_process,
|
|
||||||
"pushl %ebp\n\t"
|
|
||||||
__ASM_CFI(".cfi_adjust_cfa_offset 4\n\t")
|
|
||||||
__ASM_CFI(".cfi_rel_offset %ebp,0\n\t")
|
|
||||||
"movl %esp,%ebp\n\t"
|
|
||||||
__ASM_CFI(".cfi_def_cfa_register %ebp\n\t")
|
|
||||||
"pushl %ebx\n\t" /* arg */
|
|
||||||
"pushl %eax\n\t" /* entry */
|
|
||||||
"call " __ASM_NAME("start_process") )
|
|
||||||
#else
|
|
||||||
static inline DWORD call_process_entry( PEB *peb, LPTHREAD_START_ROUTINE entry )
|
|
||||||
{
|
|
||||||
return entry( peb );
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/***********************************************************************
|
|
||||||
* __wine_start_process
|
|
||||||
*
|
|
||||||
* Startup routine of a new process. Runs on the new process stack.
|
|
||||||
*/
|
|
||||||
#ifdef __i386__
|
|
||||||
void CDECL start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
|
|
||||||
#else
|
|
||||||
void CDECL __wine_start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
|
|
||||||
#endif
|
|
||||||
{
|
|
||||||
if (!entry)
|
|
||||||
{
|
|
||||||
ERR( "%s doesn't have an entry point, it cannot be executed\n",
|
|
||||||
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer) );
|
|
||||||
ExitThread( 1 );
|
|
||||||
}
|
|
||||||
|
|
||||||
TRACE_(relay)( "\1Starting process %s (entryproc=%p)\n",
|
|
||||||
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer), entry );
|
|
||||||
|
|
||||||
__TRY
|
|
||||||
{
|
|
||||||
ExitThread( call_process_entry( peb, entry ));
|
|
||||||
}
|
|
||||||
__EXCEPT(UnhandledExceptionFilter)
|
|
||||||
{
|
|
||||||
TerminateProcess( GetCurrentProcess(), GetExceptionCode() );
|
|
||||||
}
|
|
||||||
__ENDTRY
|
|
||||||
abort(); /* should not be reached */
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* wait_input_idle
|
* wait_input_idle
|
||||||
*
|
*
|
||||||
|
|
|
@ -59,7 +59,6 @@ typedef DWORD (CALLBACK *DLLENTRYPROC)(HMODULE,DWORD,LPVOID);
|
||||||
typedef void (CALLBACK *LDRENUMPROC)(LDR_DATA_TABLE_ENTRY *, void *, BOOLEAN *);
|
typedef void (CALLBACK *LDRENUMPROC)(LDR_DATA_TABLE_ENTRY *, void *, BOOLEAN *);
|
||||||
|
|
||||||
void (FASTCALL *pBaseThreadInitThunk)(DWORD,LPTHREAD_START_ROUTINE,void *) = NULL;
|
void (FASTCALL *pBaseThreadInitThunk)(DWORD,LPTHREAD_START_ROUTINE,void *) = NULL;
|
||||||
static void (WINAPI *kernel32_start_process)(LPTHREAD_START_ROUTINE,void *);
|
|
||||||
|
|
||||||
const struct unix_funcs *unix_funcs = NULL;
|
const struct unix_funcs *unix_funcs = NULL;
|
||||||
|
|
||||||
|
@ -4002,13 +4001,6 @@ static void process_init(void)
|
||||||
MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
|
MESSAGE( "wine: could not load kernel32.dll, status %x\n", status );
|
||||||
NtTerminateProcess( GetCurrentProcess(), status );
|
NtTerminateProcess( GetCurrentProcess(), status );
|
||||||
}
|
}
|
||||||
RtlInitAnsiString( &func_name, "__wine_start_process" );
|
|
||||||
if ((status = LdrGetProcedureAddress( wm->ldr.DllBase, &func_name,
|
|
||||||
0, (void **)&kernel32_start_process )) != STATUS_SUCCESS)
|
|
||||||
{
|
|
||||||
MESSAGE( "wine: could not find __wine_start_process in kernel32.dll, status %x\n", status );
|
|
||||||
NtTerminateProcess( GetCurrentProcess(), status );
|
|
||||||
}
|
|
||||||
RtlInitAnsiString( &func_name, "BaseThreadInitThunk" );
|
RtlInitAnsiString( &func_name, "BaseThreadInitThunk" );
|
||||||
if ((status = LdrGetProcedureAddress( wm->ldr.DllBase, &func_name,
|
if ((status = LdrGetProcedureAddress( wm->ldr.DllBase, &func_name,
|
||||||
0, (void **)&pBaseThreadInitThunk )) != STATUS_SUCCESS)
|
0, (void **)&pBaseThreadInitThunk )) != STATUS_SUCCESS)
|
||||||
|
|
Loading…
Reference in New Issue