winebuild: Support building krnl386.exe in PE format.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Alexandre Julliard 2020-04-02 10:49:56 +02:00
parent 1acb481d29
commit 2746797ad5
2 changed files with 4 additions and 3 deletions

View File

@ -379,9 +379,10 @@ static void BuildCallFrom16Core( int reg_func, int thunk )
static void BuildCallTo16Core( int reg_func ) static void BuildCallTo16Core( int reg_func )
{ {
const char *name = reg_func ? "wine_call_to_16_regs" : "wine_call_to_16"; const char *name = reg_func ? "wine_call_to_16_regs" : "wine_call_to_16";
const char *func_name = (target_platform == PLATFORM_WINDOWS ? strmake( "%s@12", name ) : name);
/* Function header */ /* Function header */
function_header( name ); function_header( func_name );
/* Function entry sequence */ /* Function entry sequence */
output_cfi( ".cfi_startproc" ); output_cfi( ".cfi_startproc" );
@ -523,7 +524,7 @@ static void BuildCallTo16Core( int reg_func )
output( "\tlret\n" ); output( "\tlret\n" );
/* Function footer */ /* Function footer */
output_function_size( name ); output_function_size( func_name );
} }

View File

@ -825,7 +825,7 @@ void output_spec16_file( DLLSPEC *spec16 )
output_stubs( spec16 ); output_stubs( spec16 );
output_exports( spec32 ); output_exports( spec32 );
output_imports( spec16 ); output_imports( spec16 );
if (is_undefined( "__wine_call_from_16" )) output_asm_relays16(); if (!strcmp( spec16->dll_name, "kernel" )) output_asm_relays16();
if (needs_get_pc_thunk) output_get_pc_thunk(); if (needs_get_pc_thunk) output_get_pc_thunk();
if (spec16->main_module) if (spec16->main_module)
{ {