Новости Просто решиться, как сказал Линус: Разработчики ядра "кусают пулю" и готовы включить Microsoft C Extensions навсегда

NewsMaker

I'm just a script
Премиум
21,983
46
8 Ноя 2022
В Linux 6.19 может появиться флаг компилятора -fms-extensions.


iwl2ef48ugqeoqhej2ama694rtr291k1.jpg

Разработчики Linux Kernel готовятся включить поддержку Microsoft C Extensions при сборке ядра. Два патча, добавленные в дерево разработки kbuild-next , активируют флаг компилятора -fms-extensions для GCC и LLVM/Clang, что позволит использовать нестандартные конструкции языка C, применяемые в Microsoft Visual C/C++. Изменения могут войти в релиз Linux 6.19, если не встретят возражений в сообществе.

Опция -fms-extensions позволяет компилятору принимать конструкции, характерные для Microsoft C, например, анонимное включение структур или объединений в другие структуры. Ранее такие предложения неоднократно обсуждались в почтовой рассылке Linux Kernel , но каждый раз отклонялись.

На этот раз инициатива, предложенная Расмусом Виллемусом (Rasmus Villemoes) , предлагает «наконец решиться» и включить расширения Microsoft по умолчанию. По его словам, это позволит писать «более аккуратный код» и в отдельных случаях экономить место в стеке.

<blockquote> «Если просто решиться, как сказал Линус, и включить -fms-extensions один раз и навсегда, то он будет доступен всякий раз, когда появится подходящий сценарий, и не придётся каждый раз оправдывать его использование», — приводит слова Виллемуса обсуждение на lore.kernel.org .

</blockquote> Второй патч — «kbuild: Add '-fms-extensions' to areas with dedicated CFLAGS» — гарантирует, что параметр будет применяться и для архитектур, где используются собственные флаги компиляции.

Линус Торвальдс ранее также участвовал в дискуссии по этому вопросу и, судя по всему, не возражает против включения -fms-extensions в будущие версии ядра.

Если изменение примут, Linux 6.19 станет первым релизом, где разрешено использование Microsoft C Extensions. Это может сделать код ядра визуально чище, но часть сообщества может воспринять такую совместимость с осторожностью — ведь она приближает Linux к стандартам, принятым в экосистеме Microsoft.
 
Источник новости
www.securitylab.ru

Похожие темы