ntdll: Only use ST_FIX_ALIGN on solaris

André Hentschel nerv at dawncrow.de
Fri Feb 4 14:44:46 CST 2011


This leads to a segfault on Linux/sparc and should only be usefull on solaris/sparc

---
 dlls/ntdll/signal_sparc.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/dlls/ntdll/signal_sparc.c b/dlls/ntdll/signal_sparc.c
index 318e5a9..aa4a01a 100644
--- a/dlls/ntdll/signal_sparc.c
+++ b/dlls/ntdll/signal_sparc.c
@@ -809,6 +809,7 @@ void signal_init_process(void)
     if (sigaction( SIGTRAP, &sig_act, NULL ) == -1) goto error;
 #endif
 
+#ifdef __sun__
     /* 'ta 6' tells the kernel to synthesize any unaligned accesses this 
        process makes, instead of just signalling an error and terminating
        the process.  wine-devel did not reach a conclusion on whether
@@ -816,6 +817,7 @@ void signal_init_process(void)
        because it could obscure problems in user code */
     __asm__("ta 6"); /* 6 == ST_FIX_ALIGN defined in sys/trap.h */
     return;
+#endif
 
  error:
     perror("sigaction");
-- 

Best Regards, André Hentschel



More information about the wine-patches mailing list