Линус Торвальдс решил бороться с парсерами Kconfig, которые не могут правильно обрабатывать табуляции

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В рамках подготовки патчей для Linux 6.9-rc4 Линус Торвальдс решил бороться с парсерами конфигурационных файлов Kconfig, которые не могут правильно обрабатывать табуляции.

Из-за того, что на прошлой неделе в очередь на обработку был поставлен патч, заменяющий табуляцию на пробел в файле трассировки ядра Kconfig (kernel tracing Kconfig file), Линус Торвальдс решил взять дело в свои руки для парсеров Kconfig, которые не могут работать с табуляциями.

Торвальдс написал патч, чтобы намеренно добавить несколько собственных табов в Kconfig, чтобы отбросить любые внешние или сторонние парсеры, которые не могут их правильно обработать.

Торвальдс намеренно добавил эти скрытые табы в общий файл Kconfig для обработки размеров страниц ядра. Таким образом, это обязательно приведёт к серьёзным и заметным ошибкам для любых парсеров, не имеющих правильную обработку табов.

«Commit d96c36004e31 («трассировка: исправить запись FTRACE_RECORD_RECURSION_SIZE Kconfig») удаление скрытой табуляции, поскольку она, очевидно, вызывала ошибку в каком-то стороннем инструменте анализа конфигурации ядра.

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

На самом деле, давайте сделаем такой сбой (breakage) более очевидным, чем какой-нибудь эзотерический параметр размера записи ftrace. Если вы не можете анализировать табы, у вас не будет правильных размеров страницы.

Да, путаница между табуляцией и пробелом, к сожалению, является традиционной особенностью Unix, и команда make известна своими ошибками в этом отношении. Но нет, это не значит, что все в порядке.

Я бы добавил больше случайных табов в наши файлы Kconfig, но не хочу делать все уродливее, чем необходимо. Но это может стать необходимостью, если окажется, что мы увидим больше подобных глупых инструментов»,

— пояснил Торвальдс.

Источник: https://habr.com/ru/news/807963/


Интересные статьи

Интересные статьи

Сегодня расскажу, как можно реализовать раскраску для векторных картинок, и как выбор графического движка может оказать влияние на производительность в этом кейсе
Привет, Хабр! Сегодня поговорим о Python и некоторых концепциях языка, которые пригодятся многим. Мы сделали подборку, которая в первую очередь будет полезна начинающим разработчикам, хотя, возможно, ...
Если вам кажется, что сон - не самое важное для продуктивной работы в течение дня (и даже недели), поздравляю, значит у вас нет проблем с недосыпанием. Всех остальных приглашаю к прочтению. Рейтин...
YAML - это широко используемый язык сериализации данных. Все разработчики сталкиваются с необходимостью обработать YAML время от времени. Но обработка YAML, особенно с использованием PyYAML в Python, ...