We fixed it in Neptune with the attached fix. It is not ideal, as it also reverts some fixes done with the 04-x86-ftbfs.diff. But it works :P So for debian it would be ideal to directly modify the 04 patch instead of using our 05 patch (which is attached)
-- ZevenOS-Team http://www.zevenos.com Leszek Lesner <[email protected]>
Description: Kernel 3.3 has_fpu compile fix Fixes compilation of fglrx driver on kernel 3.3rc4 and up. . fglrx-driver (1:12-4-neptune2) unstable; urgency=low . * Added patch for kernel 3.3 compilation Author: Leszek Lesner <[email protected]> --- Bug-Debian: http://bugs.debian.org/#670817 Forwarded: <no|not-needed|url proving that it has been forwarded> Reviewed-By: <name and email of someone who approved the patch> Last-Update: 2012-05-22 --- fglrx-driver-12-4.orig/common/lib/modules/fglrx/build_mod/firegl_public.c +++ fglrx-driver-12-4/common/lib/modules/fglrx/build_mod/firegl_public.c @@ -5807,20 +5807,20 @@ void ATI_API_CALL KCL_fpu_begin(void) #ifdef CONFIG_X86_64 kernel_fpu_begin(); #else -#ifdef TS_USEDFPU +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) + struct task_struct *tsk = current; + preempt_disable(); + if (tsk->thread.fpu.has_fpu) + __save_init_fpu(tsk); + else + clts(); +#else struct thread_info *cur_task = current_thread_info(); preempt_disable(); if (cur_task->status & TS_USEDFPU) __save_init_fpu(cur_task->task); else clts(); -#else - struct task_struct *cur_task = current; - preempt_disable(); - if (cur_task->thread.has_fpu) - __save_init_fpu(cur_task); - else - clts(); #endif #endif }

