Доброе время суток. При написании модулей к 2.4 можно было использовать тип float и операции с ним, например, деление. А при добавлении модуля к 2.6, в котором используются операции с floating point числами получается следующее: # insmod ./test.ko insmod: error inserting './test.ko': -1 Unknown symbol in module в syslog сыпется следующее: kernel: test: Unknown symbol __floatsidf kernel: test: Unknown symbol __adddf3 kernel: test: Unknown symbol __truncdfsf2 сам модуль собирается без ошибок. Часть кода, вызывающая ошибку: /* .... */ float ftest; // само объявление ошибок не вызывает int i = 2; // тоже самое, если i имеет тип float ftest = 1.112 *1.2 /2.3 + i; // ругается именно на ОПЕРАЦИИ c float /* строка ftest = 1.112 *1.2 /2.3 *1.2222; ошибок не вызывает */ /* .... */ В исходных кодах ядра (в каталоге linux/drivers) в комментариях можно встретить фразу: linux/drivers/media/video/msp3400.h: ... Remember -- no floats in kernel mode ... Вопрос: 1. Действительно-ли никак нельзя использовать операции с floating point числами в ядре 2.6? 2. Если да, то какие есть альтернативы? Имеется ввиду стандартные/классические замены. 3. Если возможно, дайте плз ссылку на документацию, в которой рассматривается данный вопрос. ps: в интернете не особо много написано по этой теме...