В списке рассылки разработчиков ядра Linux представлен (https://lkml.org/lkml/2014/10/13/340) инструментарий Undertaker 1.6 (https://undertaker.cs.fau.de), предназначенный для выявления проблем с использованием директив препроцессора в исходных текстах на языке Си. Проект создан на базе исследовательских проектов VAMOS (http://www4.informatik.uni-erlangen.de/Research/VAMOS/) и CADOS (https://cados.cs.fau.de). Undertaker выполняет статический анализ кода ядра Linux и позволяет определить такие проблемы, как некорректное включение или выключение условных блоков препроцессора, не соответствующих заданной конфигурации (Kconfig). Ключевым новшеством Undertaker 1.6 является реализация инструмента undertaker-checkpatch для анализа корректности патчей к ядру. Инструмент позволяет выявить появление дефектов в патче, проанализировать причины их появления и оценить устранение ранее зафиксированных проблем.Для UndertakerTailor (http://vamos.cs.fau.de/trac/undertaker/wiki/UndertakerTailor), системы для формирования конфигурации ядра, содержащей минимальный набор компонентов, требуемых для реализации заданной функциональности (ядро содержит более 14000 опций настройки и понять какие из них необходимы для обеспечения определённой функциональности достаточно трудно), представлен новый инструмент flipper (https://vamos.informatik.uni-erlangen.de/trac/undertaker/wik...). Flipper позволяет организовать сбор информации об управляющих потоках в ядре, чтобы оценить какие из подсистем ядра можно отключить без негативного влияние на текущий рабочий процесс.
URL: https://lkml.org/lkml/2014/10/13/340
Новость: http://www.opennet.me/opennews/art.shtml?num=40821
Есть то же самое, но только для VxWorks? :)
А vxworks - проприетарная система, ее многие поэтому видели только на картинках. А уж исходники и подавно.
А я и не прошу бесплатного тула для проприетарной разработки. :)
Тогда, наверно, не том сайте ищешь ;)
Так блин, киньте ссылку, я не Ъ, могу и посмотреть на другом сайте, только понятия не имею, где. И гугл тоже не знает.
> Так блин, киньте ссылку, я не Ъ, могу и посмотреть на другом
> сайте, только понятия не имею, где. И гугл тоже не знает.Мы тебе что, бесплатный саппорт для твоего проприетарного крапа? Ты за него платил деньги? Вот и задавай все вопросы туда - владельцам твоей системы, которые тебе право пользования оной за денежку лицензировали. Спрашивать тут о VxWorks - в высшей степени бесполезное начинание.
Дружище, не кипятись. Давай посмотрим на этот вопрос с другой стороны. Пусть у нас есть любая другая POSIX-совместимая ОС, разработка которой ведется опенсорсно, под линуксами и компилируется чем-то широко распространенным. Как проверить, что память не бежит гигабайтами, ОС корректно работает и обрабатывает проблемы адекватным образом? Через valgrind же её не запустишь.
Чуууумааа. Надеюсь 3.17 проанализирут, пофиксят и всем будет клева :)
> включение или выключение условных блоков препроцессора, не соответствующих
> заданной конфигурации (Kconfig).Актуальная тулза. А то я пощелкал опциями и получил ... ядро которое никак не может скомпилиться. Где-то в процессе линковки не оказывается нужной функции - обана, облом компиляции. Я уж и Mr Proper'а звал и прочее. Нифига, с конкретным конфигом - ну не хочет собираться и все тут. А с точно таким же конфигом, отличающимся парой опций по мелочи - компилится как из пушки. Видимо как раз из такой области баг попался.
>> включение или выключение условных блоков препроцессора, не соответствующих
>> заданной конфигурации (Kconfig).
> Актуальная тулза. А то я пощелкал опциями и получил ... ядро которое
> никак не может скомпилиться. Где-то в процессе линковки не оказывается нужной
> функции - обана, облом компиляции. Я уж и Mr Proper'а звал
> и прочее. Нифига, с конкретным конфигом - ну не хочет собираться
> и все тут. А с точно таким же конфигом, отличающимся парой
> опций по мелочи - компилится как из пушки. Видимо как раз
> из такой области баг попался.Аккордеон.
Обычно в таких случаях при компиляции явно видно, из-за чего не собирается, и "довключить" нужную опцию не составляет проблем.
Это не отменяет касяков конфиггенераторов
> Аккордеон.Губная гармошка, бэть.
> Обычно в таких случаях при компиляции явно видно, из-за чего не собирается,
> и "довключить" нужную опцию не составляет проблем.Это круто, но представь себе как это выглядит:
- Был рабочий конфиг.
- Обновил дерево сорцов.
- При запуске make билд система просекла что есть новые опции и спросила пару вопросов о новых фичах/дровах. Мол, а эти вам как подать?
- Я ответил, задав опции в желаемом виде. Я их впервые вижу и процесс разумеется "на глазок", в меру понимания системных сущностей. И уж естественно я в этот момент уже не вижу как там все остальные опции выставлены, ибо это уже make, а не menuconfig.
- Билдуем...
- Упсь, fail.Очень здорово выглядит - спросить меня о новых опциях и облажаться получив ответ на эти вопросы. А я наверное должен угадывать или подбирать - какие ответы на новые фичи - расово верные, да? :) Я так понимаю что сабжевый тул может сократить число подобных приколов.
А что не для BSD с таким-то названием?
>14000 опций настройкиОткуда число?
Отвечу сам себе. 14000 вариантов настройки, а не опций.