Доброе время суток. При написании модулей к 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: в интернете не особо много написано по этой теме...
Ответ на:
комментарий
от tailgunner
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от fghj
Ответ на:
комментарий
от fghj
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Драйвер nvidia (2009)
- Форум execve in kernel space (2005)
- Форум Поиск/сбор драйвера звука для «старого» Linux на «новом» железе. (2012)
- Форум операции с плавающей точкой Linux (2013)
- Форум C, операции с числами с плавающей точкой (2009)
- Форум Beryl Исключение в операции с плавающей точкой (2007)
- Форум арифметика плавающей точки (2009)
- Форум 2.4.х -> 2.6.х (2005)
- Форум [Qt] Данные с плавающей точкой (2010)
- Форум Занимательная математика с плавающей точкой (2012)