[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re[4]: gcc



On Fri, 12 Mar 2004, Dmitry Skorinko wrote:

> На самом деле проблема стоит так. Пишутся несколько библиотек -
> объектных файлов на С. Они потом должны быть прилинкованы к собранной
> обвязке и должен в конце получиться загружаемый модуль - драйвер.

"Чтобы правильно задать вопрос, нужно знать половину ответа".

С этого и надо было начинать.


> Каким бы макаром я бы не собирал эти файлы - все нормально
> прилинковывается и драйвер собирается, но при подгрузке к ядру
> выдается ошибка, что ядро собрано gcc таким-то, а один или несколько
> частей модуля другим - так что фиг вам подгружу...

Да. Ядерный модуль должен собираться тем же компилятором, что и
ядро. Более того, на уровне исходных текстов в одном из заголовков
явно прописана зависимость содержания и размера одной очень
важной структуры от версии компилятора. Вот, в том числе и поэтому и
введено требование одного компилятора.


> Мне надо отдавать драйвер с закрытыми библиотеками. Я конечно могу для
> каждого компилятора их скомпилить, а потом определять при сборке
> модуля какие присоединять в зависимости от установленного Gcc
> конфигуром....  (что я и сделал уже собств)
> но как-то неправильно это все.......

Ядро линукса _технически_ не приспособлено для модулей с закрытыми
исходниками. И это правильно _политически_ - закрытые исходники давить.


Ну ладно, я сегодня добрый - с помощью objcopy вырежь и вставь секцию
.comment. Надеюсь, этой подсказки будет достаточно.

-- 
Если виртуальная память закончилась, она ненастоящая.



Reply to: