FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Suporte Clang/LLVM no FreeBSD
Suporte Clang/LLVM no FreeBSD
Por Luiz Gustavo S. Costa   
15/10/2009

LLVM-Logo-Derivative-4Um grupo de desenvolvedores está trabalhando na substituição do GCC no sistema base do FreeBSD para o clang/LLVM. Clang é um compilador construído em uma infraestrutura de compilação na Maquina Virtual de baixo nível. Tanto clang quanto llvm são mantidos sobre licença BSD, diferente do GCC que usa licença GPL.

Roman Divacky fez uma atualização no projeto:

Essa é a situação do projeto no final de Setembro:

  • i386 – kernel boots, o ambiente world precisa de algumas alterações hacks, mas funciona
  • amd64 – compila o kernel mas não inicializa (boot), ainda precisa de algumas alterações hacks
  • ppc – Não funciona por causa de um bug desconhecido no RTLD

Todas as outras plataformas não foram testadas. Isso é uma regressão em relação à situação do projeto no inicio da primavera, quando a plataforma AMD64 efetuava boot …

Muita coisa aconteceu durante a primavera e o verão - amd64 agora tem suporte apropriado mcmodel=suporte kernel, o compiler-rt foi introduzido no projeto (no caminho para substituir a libgcc), nós construimos dois ports experimentais para ver o comportamento do clang neles, o suporte C++ agora tem a habilidade de processar  o devd.cc sem erros,  Fizemos o kernel trabalhar com -O2, estamos promovendo o projeto para o FreeBSD suportar oficialmente a plataforma LLVM, etc... etc....

Os desenvolvedores podem fazer um pouco mais pelo trabalho com a ajuda de vocês. Você pode ajudar ?

Nós temos alguns problemas: estamos sem pessoal (recursos humanos) para testar na plataforma amd64 (porque parou de inicializar) e desenvolvedores para integrar os outros itens no FreeBSD (manutenção de ports, etc...). Se você tem interesse em nos ajudar, por favor, me contate ou participe de nosso canal no IRC (#freebsd-clang) no servidor irc.oftc.net. Nós estamos precisando de pessoas que possam testar o projeto em plataforma amd64 (por causa do bug no kernel amd64) e pessoas de outras plataformas como arm/mips/sparc para ver como o clang/llvm se comporta nelas e poder efetuar melhorias nelas.

Mais informações você pode encontrar nesse email ou na página wiki do projeto FreeBSD.

* Esse post é uma tradução direta do post enviado para o blog: FreeBSD – the unknown Giant

Referencia: http://www.luizgustavo.pro.br/blog/2009/10/15/suporte-clangllvm-no-freebsd/

Comentrios
OlDeKJROfkwEfz
Por Jeslyn em 08/12/2011 01:59:53
Stands back from the kebyaord in amazement! Thanks!
UEMlvBSZjKBmUFVoCg
Por Tangela em 14/01/2012 01:07:00
Good point. I hadn't thuhogt about it quite that way. :)
OwCPsJQlykpTqGCuPJ
Por Shawna em 19/07/2012 12:52:37
Hi,Thanks for the tip, but it does not work for me. I've installed gmp, mpfr and mic wituoht any problem, but when I build gcc 4.6.1, it fails with :/usr/local/src/gcc-4.6.1/host-x86_64-apple-darwin11.0.0/gcc/xgcc -B/usr/local/src/gcc-4.6.1/host-x86_64-apple-darwin11.0.0/gcc/ -B/usr/local/x86_64-apple-darwin11.0.0/bin/ -B/usr/local/x86_64-apple-darwin11.0.0/lib/ -isystem /usr/local/x86_64-apple-darwin11.0.0/include -isystem /usr/local/x86_64-apple-darwin11.0.0/sys-include -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -pipe -g -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -fno-stack-protector -dynamiclib -nodefaultlibs -install_name /usr/local/lib/libgcc_s.1.dylib -single_module -o i386/libgcc_s.dylib -Wl,-exported_symbols_list,libgcc.map -compatibility_version 1 -current_version 1.0 -g -O2 -m32 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _enable_execute_stack_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _udivdi3_s.o _umoddi3_s.o _udiv_w_sdiv_s.o _udivmoddi4_s.o darwin-64_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o trunctfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o tf-signs_s.o unwind-dw2_s.o unwind-dw2-fde-darwin_s.o unwind-sjlj_s.o unwind-c_s.o emutls_s.o -lci686-apple-darwin11-gcc-4.2.1: 1: No such file or directoryi686-apple-darwin11-gcc-4.2.1: 1.0: No such file or directoryi686-apple-darwin11-gcc-4.2.1: /usr/local/lib/libgcc_s.1.dylib: No such file or directoryi686-apple-darwin11-gcc-4.2.1: 10.7.0: No such file or directorycollect2: ld returned 1 exit statusmake[5]: *** [libgcc_s.dylib] Error 1make[4]: *** [multi-do] Error 1make[3]: *** [all-multi] Error 2make[2]: *** [all-stage1-target-libgcc] Error 2make[1]: *** [stage1-bubble] Error 2make: *** [all] Error 2Loutre:gcc-4.6.1 fayard$ find /usr/lib -name *libgcc_s* /usr/lib/gcc/i686-apple-darwin11/4.2.1/libgcc_static.a/usr/lib/libgcc_s.1.dylib/usr/lib/libgcc_s.10.4.dylib/usr/lib/libgcc_s.10.5.dylibI just exported the variables given on your web site. Nothing else is in my .bash_profile. I just did a plain :./configuremakemake checksudo make installfor each package.


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 16/10/2009 )