Alexandre Julliard : ntdll: Move the RtlRaiseException implementation into the respective platform-specific files .
Alexandre Julliard
julliard at winehq.org
Fri Apr 10 08:10:15 CDT 2009
Module: wine
Branch: master
Commit: f4eee1c73128e16352efd08e1f8b35f55f570173
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f4eee1c73128e16352efd08e1f8b35f55f570173
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Apr 10 13:14:05 2009 +0200
ntdll: Move the RtlRaiseException implementation into the respective platform-specific files.
---
dlls/ntdll/exception.c | 23 -----------------------
dlls/ntdll/signal_i386.c | 12 ++++++++++++
dlls/ntdll/signal_powerpc.c | 13 +++++++++++++
dlls/ntdll/signal_sparc.c | 14 +++++++++++++-
dlls/ntdll/signal_x86_64.c | 11 +++++++++++
5 files changed, 49 insertions(+), 24 deletions(-)
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
index 757fe04..04996f3 100644
--- a/dlls/ntdll/exception.c
+++ b/dlls/ntdll/exception.c
@@ -427,29 +427,6 @@ void raise_status( NTSTATUS status, EXCEPTION_RECORD *rec )
}
-/***********************************************************************
- * RtlRaiseException (NTDLL.@)
- */
-void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
-{
- NTSTATUS status = raise_exception( rec, context, TRUE );
- if (status != STATUS_SUCCESS) raise_status( status, rec );
-}
-
-/**********************************************************************/
-
-#ifdef DEFINE_REGS_ENTRYPOINT
-DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
-#else
-void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
-{
- CONTEXT context;
- RtlCaptureContext( &context );
- __regs_RtlRaiseException( rec, &context );
-}
-#endif
-
-
/*******************************************************************
* RtlUnwind (NTDLL.@)
*/
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index 76807ca..53e0012 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -2007,6 +2007,18 @@ void __wine_enter_vm86( CONTEXT *context )
}
#endif /* __HAVE_VM86 */
+
+/***********************************************************************
+ * RtlRaiseException (NTDLL.@)
+ */
+void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
+{
+ NTSTATUS status = raise_exception( rec, context, TRUE );
+ if (status != STATUS_SUCCESS) raise_status( status, rec );
+}
+DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
+
+
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/
diff --git a/dlls/ntdll/signal_powerpc.c b/dlls/ntdll/signal_powerpc.c
index 6191246..518b123 100644
--- a/dlls/ntdll/signal_powerpc.c
+++ b/dlls/ntdll/signal_powerpc.c
@@ -1001,6 +1001,19 @@ void __wine_enter_vm86( CONTEXT *context )
MESSAGE("vm86 mode not supported on this platform\n");
}
+/***********************************************************************
+ * RtlRaiseException (NTDLL.@)
+ */
+void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
+{
+ CONTEXT context;
+ NTSTATUS status;
+
+ RtlCaptureContext( &context );
+ status = raise_exception( rec, &context, TRUE );
+ if (status) raise_status( status, rec );
+}
+
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/
diff --git a/dlls/ntdll/signal_sparc.c b/dlls/ntdll/signal_sparc.c
index 8029be3..0f4808e 100644
--- a/dlls/ntdll/signal_sparc.c
+++ b/dlls/ntdll/signal_sparc.c
@@ -699,7 +699,6 @@ void signal_init_process(void)
this is correct, because that is what x86 does, or it is harmful
because it could obscure problems in user code */
asm("ta 6"); /* 6 == ST_FIX_ALIGN defined in sys/trap.h */
- signal_init_thread();
return;
error:
@@ -716,6 +715,19 @@ void __wine_enter_vm86( CONTEXT *context )
MESSAGE("vm86 mode not supported on this platform\n");
}
+/***********************************************************************
+ * RtlRaiseException (NTDLL.@)
+ */
+void WINAPI RtlRaiseException( EXCEPTION_RECORD *rec )
+{
+ CONTEXT context;
+ NTSTATUS status;
+
+ RtlCaptureContext( &context );
+ status = raise_exception( rec, &context, TRUE );
+ if (status) raise_status( status, rec );
+}
+
/**********************************************************************
* DbgBreakPoint (NTDLL.@)
*/
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c
index 0f7f26b..3deb583 100644
--- a/dlls/ntdll/signal_x86_64.c
+++ b/dlls/ntdll/signal_x86_64.c
@@ -804,6 +804,17 @@ PVOID WINAPI RtlVirtualUnwind ( ULONG type, ULONG64 base, ULONG64 pc,
}
+/***********************************************************************
+ * RtlRaiseException (NTDLL.@)
+ */
+void WINAPI __regs_RtlRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context )
+{
+ NTSTATUS status = raise_exception( rec, context, TRUE );
+ if (status != STATUS_SUCCESS) raise_status( status, rec );
+}
+DEFINE_REGS_ENTRYPOINT( RtlRaiseException, 1 )
+
+
/**********************************************************************
* __wine_enter_vm86 (NTDLL.@)
*/
More information about the wine-cvs
mailing list