diff options
author | Brian Paul <brian.paul@tungstengraphics.com> | 2001-06-06 18:12:35 +0000 |
---|---|---|
committer | Brian Paul <brian.paul@tungstengraphics.com> | 2001-06-06 18:12:35 +0000 |
commit | a5455bb374571833080fcbd6728edcba13d45b38 (patch) | |
tree | 5803bbfdfc4d380e129016940b8dd5abffb0f50b /src/mesa/x86 | |
parent | 6f365c21d796310a9ea70d8420e6879eb5abb6ae (diff) | |
download | external_mesa3d-a5455bb374571833080fcbd6728edcba13d45b38.zip external_mesa3d-a5455bb374571833080fcbd6728edcba13d45b38.tar.gz external_mesa3d-a5455bb374571833080fcbd6728edcba13d45b38.tar.bz2 |
test for X86_FXSR_MAGIC to be sure we have the _fpstate.magic field, needed for SSE signal handler
Diffstat (limited to 'src/mesa/x86')
-rw-r--r-- | src/mesa/x86/common_x86.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mesa/x86/common_x86.c b/src/mesa/x86/common_x86.c index 1502819..ba3a54c 100644 --- a/src/mesa/x86/common_x86.c +++ b/src/mesa/x86/common_x86.c @@ -1,4 +1,4 @@ -/* $Id: common_x86.c,v 1.15 2001/03/29 06:46:16 gareth Exp $ */ +/* $Id: common_x86.c,v 1.16 2001/06/06 18:12:35 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -87,7 +87,7 @@ static void message( const char *msg ) extern void _mesa_test_os_sse_support( void ); extern void _mesa_test_os_sse_exception_support( void ); -#if defined(__linux__) && defined(_POSIX_SOURCE) +#if defined(__linux__) && defined(_POSIX_SOURCE) && defined(X86_FXSR_MAGIC) static void sigill_handler( int signal, struct sigcontext sc ) { message( "SIGILL, " ); @@ -125,7 +125,7 @@ static void sigfpe_handler( int signal, struct sigcontext sc ) _mesa_problem( NULL, "SSE enabling test failed badly!" ); } } -#endif /* __linux__ && _POSIX_SOURCE */ +#endif /* __linux__ && _POSIX_SOURCE && X86_FXSR_MAGIC */ /* If we're running on a processor that can do SSE, let's see if we * are allowed to or not. This will catch 2.4.0 or later kernels that @@ -138,7 +138,7 @@ static void sigfpe_handler( int signal, struct sigcontext sc ) static void check_os_sse_support( void ) { #if defined(__linux__) -#if defined(_POSIX_SOURCE) +#if defined(_POSIX_SOURCE) && defined(X86_FXSR_MAGIC) struct sigaction saved_sigill; struct sigaction saved_sigfpe; @@ -212,7 +212,7 @@ static void check_os_sse_support( void ) */ message( "Cannot test OS support for SSE, disabling to be safe.\n" ); _mesa_x86_cpu_features &= ~(X86_FEATURE_XMM); -#endif /* _POSIX_SOURCE */ +#endif /* _POSIX_SOURCE && X86_FXSR_MAGIC */ #else /* Do nothing on non-Linux platforms for now. */ |