Меню
+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
|
||||
|
Драйверы для OpenWRTДобрый день. Драйверы Lcomp для Linux под Ubuntu скомпилировались без проблем, но при попытке компиляции под OpenWrt вылезают ошибки:
и т.д. Я так понимаю компилятору не нравится, что в case стоит НЕ integer constant. Декларация макросов в ioctl.h выглядит так:
Можно, конечно, переписать весь код в if-else, но может быть существует способ обойтись малой кровью? |
|||
|
||||
|
Re: Драйверы для OpenWRTа OpenWRT с какими опциями собирает? Это может лезет если свежий gcc и опции типа С99 С11 при сборке заданы... в этих макросах sizeof есть и видимо он это дает. с опцией С90 наверное соберет нормально. |
|||
|
||||
|
Re: Драйверы для OpenWRTИзначально вообще никаких опций задано не было. Но и с C90 имеем тоже самое. Получившийся Makefile.
|
|||
|
||||
|
Re: Драйверы для OpenWRTА какая версия ядра и для какой архитектуры процессора собираете? |
|||
|
||||
|
Re: Драйверы для OpenWRTА, понял. По логам у Вас mips. Чем именно это ограничение обосновано на MIPS я не знаю, но судя по всему единственный вариант - это уменьшать IOCTL_BUFFER (правда тогда нужно убедиться, что драйвер нигде не использует его полностью в старом размере). И if тут не помогут, т.к. это защита от неправильного размера параметра ioctl сработала. Сообщение конечно малоинформативно при компиляции.... |
|||
|
||||
|
Re: Драйверы для OpenWRTА еще MIPS может быть big-endian. Я не разработчик lcomp, не знаю насколько он это учитывает... Отредактировано Алексей L Card (24.01.2018 15:01:57) |
|||
|
||||
|
Re: Драйверы для OpenWRTпроверить в этом ли дело просто - в объявлении структуры IOCTL_BUFFER уменьшить оба массива до 2048 например. |
|||
|
||||
|
Re: Драйверы для OpenWRTУменьшение буфферов действительно помогло. Все модули успешно скомпилировались. Буду копать файл моего модуля на предмет функций put/get_array. |
Страницы 1
Адрес: 117105, Москва, Варшавское шоссе, д. 5, корп. 4, стр. 2
Многоканальный телефон:
+7 (495) 785-95-25
Отдел продаж: sale@lcard.ru
Техническая поддержка: support@lcard.ru
Время работы: с 9-00 до 19-00 мск