From: Marcelo E. M. <mar...@bi...> - 2001-06-05 15:31:11
|
>> Brian Paul <br...@va...> writes: > If anyone knows a solution to this I'd like to hear it. Sometime ago I submitted a patch for this (#403332). The comment reads: | If the use of KATMAI instructions is enabled, on linux it's necessary | to have recent kernel headers installed (these are coupled to the C | library, so suggesting to place/change a link in /usr/src/ is not | advisable). There are two options for it's detection at compile time, | one is using LINUX_KERNEL_VERSION, what this patch does, the other is | checking for X86_FXSR_MAGIC to be defined. I'm sure Gareth can make a | recommendation as to which is better. With either of them, I think | it's important to provide the user with an error that at least | suggests a course of action (the current one goes along the lines of | "magic is not a member of structure sigcontext", IIRC) | The patch uses 2.4.0 as a reference point, I'm not really sure when | the SSE support was introduced in the kernel, but it's not on the | 2.2.18 I looked at. The patch, which is not on SF (weird) is basically: Index: extras/Mesa/src/X86/common_x86.c =================================================================== RCS file: /cvsroot/dri/xc/xc/extras/Mesa/src/X86/common_x86.c,v retrieving revision 1.10 diff -u -r1.10 common_x86.c --- extras/Mesa/src/X86/common_x86.c 2001/02/12 20:42:42 1.10 +++ extras/Mesa/src/X86/common_x86.c 2001/06/05 15:22:50 @@ -88,6 +88,11 @@ extern void gl_test_os_katmai_exception_support( void ); #if defined(__linux__) && defined(_POSIX_SOURCE) +#include <linux/version.h> +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0) +#error "linux headers older than 2.4.0 don't provide support for SSE." +#endif + static void sigill_handler( int signal, struct sigcontext sc ) { message( "SIGILL, " ); Granted, it's not the best solution, but it's at least an useful error. Some conditionals on the configuration files would do it, too. (HAVE_LINUX_2_4_HEADERS, Imakefile style). The point is, you need 2.4 kernel headers to compile this. -- Marcelo |