Existe uma distro Linux compilada com o comando clang / llvm?

7

Existe uma distro Linux compilada com clang / llvm ? Parece que a partir do final de 2010 o kernel estava funcionando. Se não, seria mais provável que fosse um problema técnico ou de licenciamento?

    
por rbrito 03.08.2011 / 14:43

3 respostas

8

A situação com o Debian

Como uma resposta tardia a esta pergunta, o que @jmtd disse é exatamente o que acontece periodicamente no repositório Debian.

Pacotes são recompilados com novas toolchains (compiladores, linkers, etc.) e, quando a recompilação falha, erros contra os pacotes que não foram compilados são arquivados com a indicação de FTBFS ("falha ao construir a partir da fonte"). / p>

Tais erros geralmente são uma indicação de algo ruim acontecendo e são geralmente classificados com alta severidade e recebem o status de "liberar críticas", o que significa que uma nova versão não pode ser feita com esses erros não resolvidos.

Em particular, Lucas Nussbaum vem recompilando todo o arquivo do Projeto Debian em uma grade como meio de alguma Avaliação de Qualidade.

Recentemente, porém, Sylvestre Ledru e alguns outros desenvolvedores do Debian têm orientado alunos no Summer of Code of 2012 do Google para permitir a substituição de ambos GCC por Clang e libstdc++ (biblioteca de suporte do GCC para C ++) por libc++ (contraparte de Clang / LLVM).

Existe um site onde os resultados de compilação de toda a coleção de pacotes Debian foram publicados e mais relatórios foram documentados por LWN e pelo programa para desacoplar o processo de compilação do Debian do GCC foi concluído com sucesso .

Portanto, em breve poderemos ver um sabor do Debian compilado com o clang / llvm, dependendo de quanto suporte esses resultados bem-sucedidos podem obter.

O recém-chegado

Existe, a partir desta atualização (2016-08-16), uma nova versão de uma distribuição tradicional Linux compilada com o clang e llvm, OpenMandriva Lx 3.0 , agora em sua versão final. De acordo com suas notas, ele é compilado, tanto quanto possível, não apenas com clang e llvm, mas também com níveis de otimização altos "regulares" e também com Otimização de tempo de link (LTO) .

LTO

Embora o principal assunto da pergunta e desta resposta seja llvm / clang, para ser justo, deve ser observado GCC também apresenta LTO (mais experiência em LTO ).

Em teoria, LTO, como visto em novos clang / llvm e GCC, tem o potencial de tornar não apenas os binários resultantes mais rápidos, mas também ter requisitos de memória menores para a seção de texto dos programas (e o kernel do Linux é um potencial beneficiário do LTO .

Eu não li o quanto o OpenMandriva Lx 3.0 usa LTO em todos os programas, mas estou animado que ele usa o clang / llvm + LTO e adoraria ver pessoas fazendo vários benchmarks independentes comparando e contrastando o GCC "regular" distribuições não otimizadas baseadas em LTO para o OpenMandriva Lx 3.0.

    
por 08.11.2012 / 02:29
5

Ainda não. De acordo com este relatório de bugs aberto atualmente , parece que o próprio kernel não consegue compilar.

    
por 03.08.2011 / 14:55
2

Embora os binários do usuário final não sejam construídos com o clang / llvm, a maior parte do repositório Debian foi construída (e reconstruída) com o clang / llvm (e binutils-gold e outros bits e partes) por pessoas que desejam expor bugs de portabilidade no pacote de software (e nos próprios compiladores).

    
por 03.08.2011 / 17:21