Я ищу инструмент для статической генерации графа вызовов ядра Linux (для заданной конфигурации ядра). Сгенерированный граф вызовов должен быть "полным", в том смысле, что все вызовы включены, включая потенциальные косвенные, которые, как мы можем предположить, выполняются только через использование указателей функций в случае ядра Linux.
Например, это можно сделать, анализируя типы указателей функций: такой подход приведет к появлению лишних ребер в графе, но для меня это нормально.
ncc, похоже, реализует эту идею, однако мне не удалось заставить ее работать на ядре 3.0. Есть другие предложения?
Я предполагаю, что этот подход также может привести к отсутствию краев в случаях, когда используются приведения указателей функций, поэтому мне было бы интересно узнать, возможно ли это в ядре Linux.
В качестве примечания, кажется, есть и другие инструменты, способные выполнять семантический анализ исходного текста для вывода потенциальных значений указателей, но, AFAICT, ни один из них не предназначен для использования в таком проекте, как ядро Linux.
Любая помощь будет очень признательна.