Линус Торвальдс подключился к обсуждению начальной реализации поддержки 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 и включать его поддержку в случае, если он установлен.

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

©  OpenNet