Есть ли дистрибутив Linux, скомпилированный с clang / llvm?

Есть ли дистрибутив Linux, скомпилированный с clang / llvm ? Похоже, что с конца 2010 года ядро ​​работало. Если нет, будет ли это более вероятным техническим или лицензионным вопросом?

Ситуация с Debian

Как последний ответ на этот вопрос, то, что @jmtd сказал, – это то, что периодически происходит в архиве Debian.

Пакеты перекомпилируются с новыми инструментальными целями (компиляторами, компоновщиками и т. Д.), И при сбое рекомпиляции ошибки с пакетами, которые не удалось скомпилировать, подаются с указанием FTBFS («не удалось создать из источника»).

Такие ошибки обычно указывают на то, что происходит что-то плохое, и обычно оцениваются с высокой степенью тяжести и имеют статус «критических ошибок выпуска», а это означает, что новый выпуск не может быть выполнен с этими нерешенными ошибками.

В частности, Лукас Нуссбаум перекомпилировал весь архив проекта Debian в сетке как средство некоторой оценки качества.

В последнее время Sylvestre Ledru и некоторые другие разработчики Debian наставники участвовали в Летнем кодексе Google 2012 года, чтобы позволить замене GCC на Clang и libstdc++ (библиотека поддержки GCC для C ++) на libc++ (аналог Clang / LLVM).

Существует сайт, на котором были опубликованы результаты компиляции всей коллекции пакетов Debian, и дальнейшие отчеты были задокументированы LWN, и была успешно завершена программа для развязки процесса сборки Debian из GCC.

Таким образом, мы скоро увидим вкус Debian, скомпилированный с clang / llvm, в зависимости от того, какую поддержку могут получить эти успешные результаты.

Новичок

С этого обновления (2016-08-16) появилась новая версия традиционного дистрибутива Linux, скомпилированная с clang и llvm, OpenMandriva Lx 3.0 , в ее окончательной версии. Согласно его примечаниям, он скомпилирован, насколько это возможно, не только с clang и llvm, но и с «регулярными» высокими уровнями оптимизации, а также с Оптимизацией времени связи (LTO) .

LTO

Хотя основным предметом вопроса и этого ответа является llvm / clang, если быть справедливым, следует отметить, что GCC также имеет LTO (больше фона на LTO ).

Теоретически, LTO, как видно из новых clang / llvm и GCC, имеет потенциал для создания не только результирующих двоичных файлов быстрее, но также имеет меньшие требования к памяти для текстового раздела программ (а ядро Linux является одним из потенциальных преимуществ от LTO ).

Я не читал, насколько OpenMandriva Lx 3.0 использует LTO для всех программ, но я очень рад, что он использует clang / llvm + LTO, и мне было бы приятно видеть, что люди делают несколько независимых тестов, сравнивая и сравнивая «обычные» GCC-based, не-LTO-оптимизированные дистрибутивы OpenMandriva Lx 3.0.

Еще нет. Согласно этому открытому отчету об ошибке, кажется, даже само ядро ​​не удается скомпилировать.

Хотя двоичные файлы конечного пользователя не построены с помощью clang / llvm, большая часть архива Debian была построена (и перестроена) с помощью clang / llvm (и binutils-gold и других битов и частей) людьми, которые хотят выявлять ошибки переносимости в программный пакет (и сами компиляторы).