summaryrefslogtreecommitdiff
path: root/emulators/wine-devel/patches/patch-dlls_ntdll_signal__x86__64.c
blob: be26e829f0371c1834758a5cd3cc3cc9f1dcc69b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$NetBSD: patch-dlls_ntdll_signal__x86__64.c,v 1.3 2015/02/09 13:30:44 adam Exp $

--- dlls/ntdll/signal_x86_64.c.orig	2015-01-20 11:56:36.000000000 +0000
+++ dlls/ntdll/signal_x86_64.c
@@ -694,7 +694,9 @@ struct dwarf_fde
     unsigned int cie_offset;
 };
 
+#ifdef __linux__
 extern const struct dwarf_fde *_Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
+#endif
 
 static unsigned char dwarf_get_u1( const unsigned char **p )
 {
@@ -2108,6 +2110,7 @@ static NTSTATUS call_stack_handlers( EXC
 
         if (!module || (module->Flags & LDR_WINE_INTERNAL))
         {
+#ifdef __linux__
             struct dwarf_eh_bases bases;
             const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context.Rip - 1), &bases );
 
@@ -2124,6 +2127,7 @@ static NTSTATUS call_stack_handlers( EXC
                 }
                 goto unwind_done;
             }
+#endif
         }
         else WARN( "exception data not found in %s\n", debugstr_w(module->BaseDllName.Buffer) );
 
@@ -3108,6 +3112,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame
 
         if (!module || (module->Flags & LDR_WINE_INTERNAL))
         {
+#ifdef __linux__
             struct dwarf_eh_bases bases;
             const struct dwarf_fde *fde = _Unwind_Find_FDE( (void *)(context->Rip - 1), &bases );
 
@@ -3124,6 +3129,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame
                 }
                 goto unwind_done;
             }
+#endif
         }
         else WARN( "exception data not found in %s\n", debugstr_w(module->BaseDllName.Buffer) );