Всем привет, наверное многие в курсе про попытки Apple и проекта FreeBSD избавиться от GCC из-за его лицензионной «неугодности» BSD-like проектам, собственно так появились llvm ( http://llvm.org ) , а также компиляторы на ее основе - llvm-gcc (основан на GCC 4.2.1 , но использует кодогенерацию через механизмы llvm) , dragonegg (благодаря плагин-ориентированной архитектуре возможна замена кодогенерирующей машины GCC, на llvm) , а также самостоятельный компилятор без заимствования частей GCC - clang, собственно последний и является главной надеждой БСДэшников и яблочников, наверное весьма резонен вопрос, а насколько вообще возможна полноценная замена GCC всеми этими альтернативами? На него я и попыталась ответить своим экспериментом.
Wyrmtail (по-русски - драконий хвост) основаная на билд-системе ~86 ветки Gentoo Linux бинарная сборка GNU/Linux (в отличие от Apple,BSD я попыталась собрать именно GNU userland, несмотря на то, что как раз GNU программы собирались хуже всего), в качестве компиляторов для 550 пакетов системы ( 80 world, 50 system, остальные по зависимостям) были использованы Clang 2.0 (llvm 2.8svn), Clang 1.1 (llvm 2.7) ( около 400 пакетов ) . DragonEgg ( пакеты сета @system , большая часть GNU проблемных пакетов, около 100 пакетов), llvm-gcc (llvm 2.7), отдельные пакеты были собраны GCC 4.5.1pre (порядка 20 несобираемых llvm компиляторами, либо вызывающие ошибки в самой llvm , либо вызывающие ICE в парсере компилятора, либо наиболее частой ошибкой явилась обработка inline asm включений, которые часто вызывали ошибку из за недостатка регистров в llvm)
«дистрибутиву» я пока уделила порядка 12 часов, большую часть из которых составила сборка, система базируется на EGlibc 2.11.1 патчсете debian sid-2, саму libc собрать llvm не удалось из за отсутствия поддержки unwind и интенсивного использования asm inlines.
Если у кого-нибудь возникнет желание потестировать сборку, я готова выложить Gentoo stage4 .tgz, как дистрибутив все пока очень сильно недопилено и требует вмешательств по настройке системы, тем не менее оно грузится и работает, вот сейчас прямо с вирмтэйла и пишу, в качестве основного DE - Gnome (gnome-light)
//ps: впрочем, если даже никому дела до тестирования не будет ( а судя по первым комментариям ниже так оно и есть ) , пусть тема считается новостью об успешной сборке GNU/Linux с помощью llvm компиляторов.