Линус Торвальдс подключился к обсуждению начальной реализации поддержки Rust в ядре Linux


Линус Торвальдс подключился к обсуждению возможности добавления в ядро Linux средств для разработки на языке Rust. Джош Триплет (Josh Triplett) из компании Intel, работающий над проектом по доведению языка Rust до паритета с языком Си в области системного программирования, предложил на начальном этапе добавить в Kconfig опцию для поддержки Rust, которая не приводила бы к включению в число зависимостей компилятора Rust при выполнении сборки в режимах "make allnoconfig" и "make allyesconfig" и позволяла бы более свободно экспериментировать с кодом Rust. Аналогичный трюк был реализован при добавлении в ядро экспериментальной поддержки сборки в Clang в режиме оптимизаций на этапе связывания (LTO, Link Time Optimization), после которой планируется добавить и поддержку сборки с защитой потока выполнения команд (CFI, Control-Flow Integrity).

Линус не согласился и выразил опасение, что тогда начальная поддержка Rust окажется не протестированной на сборку и имеет риск завязнуть в своём болоте, в котором небольшая группа заинтересованных в проекте разработчиков проверяет работу кода только в своих специфичных условиях и добавляет неправильные вещи, так как они остаются спрятанными и не всплывают при тестировании ядра в других окружениях.

По мнению Линуса первый драйвер Rust должен быть предложен в простом формате, при котором сбои будут очевидны и просты для обнаружения. Для упрощения тестирования он рекомендовал поступить как при проверке версий Си-компилятора и поддерживаемых флагов - проверять наличие в системе компилятора Rust и включать его поддержку в случае, если он установлен.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53344


Comments 0