Alexandre Julliard : winebuild: Fix relay entry points for Thumb mode.

Alexandre Julliard julliard at winehq.org
Wed Feb 24 15:45:40 CST 2021


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Feb 24 10:34:58 2021 +0100

winebuild: Fix relay entry points for Thumb mode.

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

---

 tools/winebuild/spec32.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/tools/winebuild/spec32.c b/tools/winebuild/spec32.c
index 8d7e48d2da4..546d058b199 100644
--- a/tools/winebuild/spec32.c
+++ b/tools/winebuild/spec32.c
@@ -236,7 +236,7 @@ static void output_relay_debug( DLLSPEC *spec )
         ORDDEF *odp = spec->ordinals[i];
 
         if (needs_relay( odp ))
-            output( "\t.long .L__wine_spec_relay_entry_point_%d-__wine_spec_relay_entry_points\n", i );
+            output( "\t.long __wine_spec_relay_entry_point_%d-__wine_spec_relay_entry_points\n", i );
         else
             output( "\t.long 0\n" );
     }
@@ -249,7 +249,6 @@ static void output_relay_debug( DLLSPEC *spec )
     /* then the relay thunks */
 
     output( "\t.text\n" );
-    if (thumb_mode) output( "\t.thumb_func\n" );
     output( "__wine_spec_relay_entry_points:\n" );
     output( "\tnop\n" );  /* to avoid 0 offset */
 
@@ -264,7 +263,7 @@ static void output_relay_debug( DLLSPEC *spec )
         case CPU_x86:
             output( "\t.align %d\n", get_alignment(4) );
             output( "\t.long 0x90909090,0x90909090\n" );
-            output( ".L__wine_spec_relay_entry_point_%d:\n", i );
+            output( "__wine_spec_relay_entry_point_%d:\n", i );
             output_cfi( ".cfi_startproc" );
             output( "\t.byte 0x8b,0xff,0x55,0x8b,0xec,0x5d\n" );  /* hotpatch prolog */
             if (odp->flags & (FLAG_THISCALL | FLAG_FASTCALL))  /* add the register arguments */
@@ -308,7 +307,7 @@ static void output_relay_debug( DLLSPEC *spec )
             val = (odp->u.func.args_str_offset << 16) | (i - spec->base);
             output( "\t.align %d\n", get_alignment(4) );
             if (thumb_mode) output( "\t.thumb_func\n" );
-            output( ".L__wine_spec_relay_entry_point_%d:\n", i );
+            output( "__wine_spec_relay_entry_point_%d:\n", i );
             output_cfi( ".cfi_startproc" );
             output( "\tpush {r0-r3}\n" );
             output( "\tmov r2, SP\n");
@@ -333,7 +332,7 @@ static void output_relay_debug( DLLSPEC *spec )
 
         case CPU_ARM64:
             output( "\t.align %d\n", get_alignment(4) );
-            output( ".L__wine_spec_relay_entry_point_%d:\n", i );
+            output( "__wine_spec_relay_entry_point_%d:\n", i );
             output_cfi( ".cfi_startproc" );
             switch (odp->u.func.nb_args)
             {
@@ -372,7 +371,7 @@ static void output_relay_debug( DLLSPEC *spec )
         case CPU_x86_64:
             output( "\t.align %d\n", get_alignment(4) );
             output( "\t.long 0x90909090,0x90909090\n" );
-            output( ".L__wine_spec_relay_entry_point_%d:\n", i );
+            output( "__wine_spec_relay_entry_point_%d:\n", i );
             output_cfi( ".cfi_startproc" );
             switch (odp->u.func.nb_args)
             {




More information about the wine-cvs mailing list