Ян Поленски (Jan Polensky) опубликовал первый набор патчей под заголовком «s390: включение поддержки Rust и добавление необходимой архитектурной привязки», которые позволяют внедрить язык программирования Rust в сборку ядра Linux для мейнфреймов IBM z. Как сообщает ресурс Phoronix, данная поддержка уже доступна для архитектур x86-64, ARM, ARM64, LoongArch и RISC-V, но не для s390. И если Fujitsu готова отказаться от мейнфреймов, то IBM пока не намерена сворачивать это направление. Более того, компания планирует «подружить» их с Arm.
В своих примечаниях Ян Поленски указал, что для поддержки Rust на s390 потребуется небольшой набор архитектурно-зависимых компонентов, прежде чем станет возможным использование общей инфраструктуры ядра Rust: недостающие ассемблерные интерфейсы, корректировка параметров сборки для предотвращения конфликтов и прочее. На данный момент для s390 необходимы «ночные» сборки rustc. Набор патчей включает лишь несколько десятков строк кода, поэтому есть вероятность, что они будут приняты в ядро Linux 7.2.
Как отметил ресурс The Register, использование нерелизных версий компилятора Rust, которые содержат самые свежие изменения, экспериментальные функции и новые возможности, что подразумевает нестабильную работу, вряд ли вызовет энтузиазм у многих консервативных компаний, работающих с мейнфреймами. Тем не менее, набор патчей Поленски является значительным шагом вперед.
Источник изображения: PalePink Green / Unsplash
Когда Rust был интегрирован в ядро в 2022 году, издание The Register подняло вопрос, который редко обсуждается в других местах: хотя ядро традиционно компилируется с помощью GCC, основной компилятор Rust — rustc — работает на базе LLVM. Список бэкендов LLVM, хоть и расширяется, но всё ещё значительно уступает набору из 48 компиляторов GCC. Существует экспериментальный фронтенд GCC для Rust, однако он пока не готов для полноценного применения. Само ядро Linux поддерживает компиляцию с использованием LLVM начиная с версии ядра 6.9, выпущенной более двух лет назад.
Источники: