Alexandre Julliard : winebuild: Support building krnl386.exe in PE format.

Alexandre Julliard julliard at winehq.org
Thu Apr 2 14:27:35 CDT 2020


Module: wine
Branch: master
Commit: 2746797ad5aee4df3b6f4736ad1aba571af7a361
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=2746797ad5aee4df3b6f4736ad1aba571af7a361

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Apr  2 10:49:56 2020 +0200

winebuild: Support building krnl386.exe in PE format.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 tools/winebuild/relay.c  | 5 +++--
 tools/winebuild/spec16.c | 2 +-
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/winebuild/relay.c b/tools/winebuild/relay.c
index 3b1f4cd18e..29d0a74c83 100644
--- a/tools/winebuild/relay.c
+++ b/tools/winebuild/relay.c
@@ -379,9 +379,10 @@ static void BuildCallFrom16Core( int reg_func, int thunk )
 static void BuildCallTo16Core( int reg_func )
 {
     const char *name = reg_func ? "wine_call_to_16_regs" : "wine_call_to_16";
+    const char *func_name = (target_platform == PLATFORM_WINDOWS ? strmake( "%s at 12", name ) : name);
 
     /* Function header */
-    function_header( name );
+    function_header( func_name );
 
     /* Function entry sequence */
     output_cfi( ".cfi_startproc" );
@@ -523,7 +524,7 @@ static void BuildCallTo16Core( int reg_func )
     output( "\tlret\n" );
 
     /* Function footer */
-    output_function_size( name );
+    output_function_size( func_name );
 }
 
 
diff --git a/tools/winebuild/spec16.c b/tools/winebuild/spec16.c
index 3a7e457282..a52c03aaa6 100644
--- a/tools/winebuild/spec16.c
+++ b/tools/winebuild/spec16.c
@@ -825,7 +825,7 @@ void output_spec16_file( DLLSPEC *spec16 )
     output_stubs( spec16 );
     output_exports( spec32 );
     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 (spec16->main_module)
     {




More information about the wine-cvs mailing list