Dmitry Skorinko, Fri, Mar 12, 2004 19:55:05 +0100: > Мне надо отдавать драйвер с закрытыми библиотеками. Я конечно могу для > каждого компилятора их скомпилить, а потом определять при сборке > модуля какие присоединять в зависимости от установленного Gcc > конфигуром.... (что я и сделал уже собств) > но как-то неправильно это все.......
это как раз правильно. Ядро - довольно сложная штука, и после того как народу надоело бороться с ошибками в gcc, в загрузчик модулей просто вставили проверку версий. Проверка искусственная, т.е. в объектный код вставляется запись с версией компилятора. Загрузчик сравнивает версию компилятора ядра с версией модуля, и разрешает загрузку только если версии _точно_ совпадают. Такой же подход используется не только в ядре, но и в любом достаточно сложном проекте (или даже не сложном, но где разработчиков тоже всё достало). Можешь отключить версии в ядре и в модулях. Тогда твой драйвер просто молча вылетит где-нибудь. Он и так вылетит, впрочем ;)