Tom Stellard anunciou hoje o lançamento do LLVM 11.0.1. Essa versão traz correções de bugs da versão anterior mas mantendo a compatibilidade entre as duas versões.
Mostrando postagens classificadas por data para a consulta clang. Classificar por relevância Mostrar todas as postagens
Mostrando postagens classificadas por data para a consulta clang. Classificar por relevância Mostrar todas as postagens
Comando fdisk do Busybox não consegue lidar com dispositivos de 8TB
![]() |
Comando fdisk do Busybox não consegue lidar com dispositivos de 8TB |
Em outubro de 2019 eu postei que a distribuição Puppy quirky passará a utilizar toybox, musl e clang. Com isso Barry Kauler , o criador do projeto, passou a contribuir com os projetos para que também possa beneficiar seu próprio projeto (é assim que tem que ser).
Graças a isso, Barry e reportou a comunidade toybox para darem atenção ao seu comando fdisk pois descobriu o fdisk do Busybox não consegue lidar com dispositivos de 8TB.
A descoberta aconteceu quando havia instalado o EasyOS em um desktop Lenovo que possui um HD do tamanho especificado e criando uma partição com sistema de arquivos ext4 de aproximadamente 6.3TB, uma fat32 de 1.3G, swap e outras pequenas ext4.
No artigo que você pode ler na descrição, Barry explica porque particionou desta forma. Quando Barry bootou seu sistema, o comando fdisk retornou a seguinte mensagem de erro:
fdisk: Device has more than 2^32 sectors, can't use all of them
Ao executar o comando "fdisk -l /dev/sda" é exibido informações irrelevantes e a solução foi utilizar o fidsk completo de forma estática no initrd até quue os desenvolvedores do busybox solucionem o problema (lembrando quue o fdisk completo, que vem do pacote util-linux, é do tamanho do busybox).
Rob Landley retornou a Barry informando que o comando fdisk ainda está como pendente. Então, poderão concentrar-se nesta parte para que o fdisk do toybox não venha a ter o mesmo problema.
Mais sobre o Busybox Lançado LLVM 10.0.0
![]() |
Lançado LLVM 10.0.0 |
Artigo rápido anunciando que foi lançada a versão 10.0.0 do LLVM. Esse lançamento é o resultado de seis meses de árduo trabalho que traz suporte a conceitos C++ ao Clang, o Clang não roda mais em um processo separado por padrão ("in-process cc1"), Windows control flow guard (CFG) checks, suporte para mais núcleos de processador e features e, como de costume, muitas correções de bug, otimizações e novos diagnósticos de compilador.
For more details, see the release notes:
Mais sobre o LLVM/Clang
OpenMandriva passa a distribuir kernel compilado com o clang
![]() |
OpenMandriva passa a distribuir kernel compilado com o clang |
O LLVM possui suporte as arquiteturas i686, x86_64, znver1, armv7hnl, aarch64 e riscv64. Exits suporte a toolchain cross compile para todas as arquiteturas mencionadas e o openMandriva fornece um automatic build farm chamado ABF gerando pacotes RPM e imagens ISO baseado no código fonte do projeto ou até mesmo no seu próprio. O ABF também possui uma CLI chamada abf-console-client permitindo trabalhar direto nos pacotes do projetos (você pode até mesmo doar ciclos de CPU).
Nick Desaulniers informou que a comunidade OpenMandriva passou a disponibilizar o kernel Linux compilado com o clang que recebeu o nome de kernel-release-clang e incentiva aos usuários a comparar o kernel atual com essa versão.
- 4.1 alpha (disponibilizado em 10 de Novembro 2019)
- 4.1 beta (disponibilizado no dia 10 de Janeiro de2020)
- 4.1-rc (disponibilizado no dia 28 de Janeiro 2020)
- 4.1 release (disponibilizado no dia 1 de Fevereiro de 2020)
Mais sobre o LLVM/clang
![]() |
NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX. |
Aplicando o Clang Thread Safety Analysis ao kernel Linux
![]() |
Aplicando o Clang Thread Safety Analysis ao kernel Linux |
Clang Thread Safety Analysis é uma extensão do Clang escrita em C++ (funciona também para a linguagem C) que foi desenvolvido pelo Google e pela CERT/SEI. Clang Thread Safety Analysis emite avisos de potenciais condições de race (potential race conditions) no código fonte, possui fácil configuração, é rapidamente executado, adequado até mesmo para estudantes;
Porém, não entrega os resultados mais promissores (algo que vem sendo trabalhado para melhorar). Agora é aguardar para ver no futuro.
![]() |
NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX. |
Kernel Linux receberá proteção CFI
Como sempre, Linux está sempre muito a frente quando o assunto é inovação na parte de segurança. Em um vídeo sobre o Android eu dividi segurança em partes diferentes para mostrar como realmente funciona e a fim de desmistificar o assunto.
Desta vez o kernel Linux receberá recurso de Integridade no fluxo de controle (CFI = Control-flow integrity). A ideia foi apresentada por Kees Cook na linux.conf.au deste ano em Gold Coast, Australia. Control-flow Intigrity é uma técnica utilizada para reduzir a habilidade de redirecionar a execução de um programa evitando que ataques escalem privilégio de administrador.
O Clang já possui alguns recursos que podem dar assistência e manter control-flow integrity e que tem sido aplicado ao kernel Android.
A ideia surgiu analisando de ataques históricos relacionados a antivirus. O user space pode escrever (gravar) e executar em qualquer lugar no address space mas não pode escrever na área reservada ao kernel space. Uma falha de escrita no kernel poderia permitir que algo no user space seja gravado no kernel memory. Daí surge a ideia do CFI assegurar que tentativas indiretas vão para seus respectivos endereços.
Mais sobre o LLVM/Clang
![]() |
NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX. |
Lançado LLVM 9.0.1
![]() |
Lançado LLVM 9.0.1 |
Existe até mesmo o projeto da LLVM Linux Foundation que visa compilar totalmente o kernel utilizando o Clang (fronend do LLVM). Algumas distribuições, projetos e empresas já migraram para o compilador como a própria Apple (forte a adotar o LLVM), o Open Mandriva ja compilou 94% dos seus pacotes com Clang, o Android é 100% compilado com o LLVM, o Debian hoje compila grande parte dos seus pacotes usando o LLVM/Clang, é fortemente indicado para embarcados, FreeBSD, PCBSD, Sony, Qualcomm e mais uma lista gigantesca de empresas.
Antes de finalizar o ano, o projeto LLVM/Clang lançou a versão 9.0.1. Essa é uma versão de correção de bugs da versão anterior e mantendo sua compatibilidade. Não há muito o que se falar, mas eu não queria deixar passar batido o seu lançamento (e o seu próximo lançamento está previsto para 6 ou 7 de April de 2020). Fica aqui também um forte agradecimento aos financiadores do projeto que tem permitido esse compilador acontecer.
O código fonte (ou binários) da nova versão podem ser baixados clicando aqui.
Mais sobre o LLVM/Clang pode ser conferido clicando aqui
Open Embedded trabalhando para que systemd tenha suporte a musl
Desde antes do lançamento do Debian 8 que eu venho debatendo sobre o systemd, principalmente por terem criado um monte boatos (vergonhosos e mentirosos) para poder criticar o novo init system. De lá para cá eu já fiz videos contando a sua história, debatendo bug encontrado, fiz live debatendo a palestra "A tragédia systemd" feita por um dos desenvolvedores do FreeBSD e fazendo até mesmo parte do meu curso (não deixe de conferí-lo hein ;)
Há algum tempo atrás eu fiz um vídeo detalhando as criticas tenho a respeito do systemd. Sim, eu tenho minhas criticas a respeito do systemd assim como tenho a respeito de qualquer outra ferramenta e que não tem nada a ver com os boatos que todos dizem a respeito do init system. Quer saber as minhas criticas? Confere o vídeo aí embaixo:
Há algum tempo atrás eu fiz um vídeo detalhando as criticas tenho a respeito do systemd. Sim, eu tenho minhas criticas a respeito do systemd assim como tenho a respeito de qualquer outra ferramenta e que não tem nada a ver com os boatos que todos dizem a respeito do init system. Quer saber as minhas criticas? Confere o vídeo aí embaixo:
Recentemente descobri que a Open Embedded trabalha em um patch para que o systemd passe a ter suporte a musl (clique aqui para conferir) que é algo muito interessante de se ver já que o systemd é também adotado em embarcados. Isso já é um passo e há muito trabalho a ser feito já que a glibc possui incompatibilidade com as várias outras bibliotecas além da musl (dietlibc, uClibc e newlib). Esse é o motivo da musl não ter sido adotada ainda como biblioteca padrão no Debian mesmo havendo planos para isso. Há muito trabalho ainda a ser feito por parte da Open Embedded e dos colaboradores no desenvolvimento da musl, mas o futuro desta biblioteca é muito promissor (principalmente por sua qualidade de código e resultado no tamanho final dos binários).
Mas ainda espero que o systemd também venha a ter suporte ao LLVM/Clang e longa vida ao systemd.
Mais sobre o systemd
![]() |
CLIQUE AQUI, VENHA APRENDER LINUX COMIGO E TORNE-SE UM VERDADEIRO PROFISSIONAL. |
Puppy quirky passará a utilizar toybox, musl e clang
Puppy Quirky Linux é uma distribuição experimental criada por Barry Kauler em 2013 depois de se aposentar da liderança do projeto Puppy Linux. Sim, o Quirky é desenvolvido pelo fundador do Puppy Linux com a intenção de poder explorar o sistema mais a fundo com novas ideias podendo ser mais ousado nos desafios. Porém em Dezembro de 2018 o Quirky Linux foi descontinuado para dar lugar a sua nova distribuição experimental chamada EasyOS.
![]() |
CLIQUE AQUI, VENHA APRENDER LINUX COMIGO E TORNE-SE UM VERDADEIRO PROFISSIONAL. |
- Utilizar o Busybox como terminal de comandos padrão
- Substituir os comandos pelos existentes no toybox.
Por hora é o que pretendem fazer no build T2 do Puppy Quirky até que esse objetivo seja alcançado. Espero que tal dependência venha logo o que não falta muito para isso :)
Mais sobre o toybox
Mais sobre a musl
Mais sobre o llvm
NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX.
Mais sobre o toybox
Mais sobre a musl
Mais sobre o llvm
NÃO SE ESQUEÇA DE SE INSCREVER NO MEU CURSO DE MIGRAÇÃO PARA LINUX.
Lançado LLVM 9.0.0
![]() |
Lançado LLVM 9.0.0 |
LLVM é a coleção de compiladores que tende a substituir o GCC no Linux (gostemos ou não) sendo já adota pelo Android (O Android é todo compilado com o LLVM), Debian (de mais 50 mil pacotes, 32.757 foram compilados com o LLVM e somente 1314 apresentaram falha (4 %)), o Open Mandriva (quase 100% do Open Mandriva) e o Fedora está tomando o mesmo rumo. Fora as distribuições Linux, outros sistemas operacionais também já o adotam como o MacOS X (sendo uma das pioneiras no seu uso), o FreeBSD, o TrueOS e o DragonflyBSD (tendo suporte a ambos compiladores). Em Março foi lançada a versão 8.0.0 e como de costume, a cada seis meses é lançada uma nova versão.
![]() |
CLIQUE AQUI, VENHA APRENDER LINUX COMIGO E TORNE-SE UM VERDADEIRO PROFISSIONAL. |
Lançado LLVM 8.0.1
![]() |
Lançado LLVM 8.0.1 |
LLVM é a coleção de compiladores que tende a substituir o GCC no Linux (gostemos ou não) sendo já adota pelo Android (O Android é todo compilado com o LLVM), Debian (de mais 50 mil pacotes, 32.757 foram compilados com o LLVM e somente 1314 apresentaram falha (4 %), o Open Mandriva (quase 100% do Open Mandriva) e o Fedora está tomando o mesmo rumo. Fora as distribuições Linux, outros sistemas operacionais também já o adotam como o MacOS (sendo uma das pioneiras no seu uso), o FreeBSD, o TrueOS e o DragonflyBSD (tendo suporte a ambos compiladores). Em Março foi lançada a versão 8.0.0 e como de costume, a cada seis meses é lançada uma nova versão.
![]() |
CLIQUE AQUI, VENHA APRENDER LINUX COMIGO E TORNE-SE UM VERDADEIRO PROFISSIONAL. |
Foi lançada a sua versão 8.0.1 que traz muitas correções de bugs da versão 8.0.0 (porém mantendo a sua compatibilidade com a API e ABI da versão anterior); speculative load hardening; compilação atual na API ORC JIT; remoção do suporte experimental à alvo WebAssembly, uma opção do Clang para inicializar varáveis automáticas; melhorias no suporte á cabeçalho pre-compilado no clang-cl, na flag /Zc:dllexportInlines-; suporte a RISC-V no lld e muitas otimizações e melhorias em diagnósticos.
Mais sobre o LLVM, clique aqui
Lançado Adélie Linux 1.0-BETA3
![]() |
Lançado Adélie Linux 1.0-BETA3 |
Anunciei em Setembro do ano passado o lançamento da versão BETA2 da distribuição Adélie Linux. Oito meses depois a equipe Adélie vem com muitas novidades.
Adélie Linux é uma distribuição cujo foco é ter total compatibilidade POSIX® com uma ampla variedade de computadores e facilitar o uso sem sacrificar recursos.
Dentre esses recursos estão Algumas das características da distribuição Adélie são:
Kernel Linux com o conjunto de patch conhecido como mc que tem como objetivo fornecer melhorias na confiabilidade, desempenho na interatividade e consumo de memória em todas as arquiteturas possíveis (o kernel-mc extrairá o máximo do hardware de forma mais eificiente); biblioteca musl de forma mais rigorosa, implementar ferramentas rigorosamente compatíveis onde elas faltam, e acompanhando o progresso e notando faltas ou recursos não em conformidade; Init System V-style com gerenciamento de serviços do OpenRC e do s6; o gerenciador de pacotes APK Tools da distirbuição Alpine Linux; suporte a ppc, ppc64, arm64, pmmx (i586) e x86_64; interfaces gráficas; aplicações de servidores como Popular Server Software Apache, Bugzilla, lighttpd, PHP 7, Python 3 (que indiquei recentemente o livro do professor Augusto Manzano), qmail, Quassel Core, Ruby, StrongSwan VPN e muitos outros recursos.
![]() |
CLIQUE AQUI, VENHA APRENDER LINUX COMIGO E TORNE-SE UM VERDADEIRO PROFISSIONAL. |
A versão 1.0-BETA3 foi lançada no dia 31 de Maço e foram 1683 commits entre a versão 1.0-BETA2 e 1.0-BETA3. Esta nova versão traz o GCC 8.3.0 (a distribuição inteira foi reconstruída sob essa versão); gcompat foi atualizado para ter mais suporte programas que dependem da glibc software.; a linguagem Go agora disponível via gcc-go; Ghostscript que permitem impressões utilizando CUPs e Gutenprint; Java, Sphinx e Subversion; LLVM e o Clang versão 8.0.0 (sua versão de LLVM possuem suporte a SPARC e WebAssembly targets) e na parte de redes recebeu suporte iw, netqmail, Netsurf, NFS, NMap, Postfix, RDesktop e WireGuard, NetworkManager e ModemManager.
Na parte de desktop não ficou de fora e agora a distribuição possui suporte a MATE e as aplicações do KDE foram atualizadas para a versão 19.04.1 ( já os Frameworks para a versão 5.54.0). E como KDE é algo que nos remete a Qt, está disponível também o Qt 5 Speech que permite algumas aplicações entregarem a funcionalidade text-to-speech.
Outras aplicações para desktop que valem mencionar foram o AbiWord, Evince, Gnumeric, o LibreOffice, aproximadamente 50 novas fonts, XScreenSaver e suporte a MTP (Media Transfer Protocol) para câmeras digitais.
Há também melhorias no suporte a arquitetura e correções de bug, mas acredito que isso já nos dá uma boa visão geral de como está o progresso da distribuição.
LLVM Foundation pretende adotar linguagem Fortran em sua coleção
![]() |
LLVM/Clang + Fortran |
LLVM é o compilador que está ganhando cada vez mais espaço nos projetos, ambientes comerciais e acadêmicos. Esse começo de adoção tem a ver com a Apple depois de presenciar a Free Software Foundation tomou a errada atitude de processar a Cisco por um serviço da Broadcom.
Desta forma, a Apple tomou a iniciativa de congelar o uso das ferramentas do GNU que ela já fazia e passou a investir em outros projetos como criar seu próprio servidor de arquivos, comprar o CUPs e investir no LLVM/Clang para substituir a toolchain do GNU. Depois disso, vários outros projetos começaram a seguir o mesmo caminho (que aparenta ser sem volta, até mesmo o Linux anda fazendo o mesmo)
Desta forma, a Apple tomou a iniciativa de congelar o uso das ferramentas do GNU que ela já fazia e passou a investir em outros projetos como criar seu próprio servidor de arquivos, comprar o CUPs e investir no LLVM/Clang para substituir a toolchain do GNU. Depois disso, vários outros projetos começaram a seguir o mesmo caminho (que aparenta ser sem volta, até mesmo o Linux anda fazendo o mesmo)
Certificação Linux LPIC-1 e CompTIA Linux+
Depois de muito debate, esta semana a fundação LLVM anunciou que irão adicionar o suporte ao compilador e runtime f18 Fortran. Tal conclusão foi feita na EuroLLVM’19 onde os diretores do LLVM aprovaram tal inclusão ao projeto. A fundação recomendou adotar um novo nome ao projeto como flang ou simplesmente fortran para se tornar mais óbvio para novos contribuidores.
Há outros debates sendo feitos em torno da nova adição. A comunidad LLVM Foundation dá boas vindas ao projeto ficando satisfeitas em ver novos esforços sobre o compilador e runtime.
Lançado LLVM 8.0.0
![]() |
Linux e o LLVM |
Ontem (dia 20/03/2019) foi lançada a versão 8.0.0 do compilador LLVM. Nesta versão houve trabalho no trunco que houve na revisão da subversão r351319, speculative load hardening, compilação concorrente na ORC JIT API, uma opção do Clang para inicializar variáveis automaticamente, suporte melhorado a header pré-compilado, muitas correções de bug, otimizações e melhorias nos diagnósticos.
Skarnet começa Março com um monte de lançamentos
E vamos para mais lançamentos (parece que o canal virou point para lançamentos). Mas a Skarnet lançou skalibs-2.8.0.0, nsss-0.0.1.1, execline-2.5.1.0, utmps-0.0.2.1, mdevd-0.1.0.3, s6-portable-utils-2.2.1.3, s6-linux-utils-2.5.0.1, s6-dns-2.3.0.2, s6-2.8.0.0, s6-rc-0.5.0.0, s6-networking-2.3.0.4 e o s6-linux-init-0.4.0.1.
CURSO DE SHELL SCRIPT DO MATEUS MÜLLER
Pois é, é coisa p'ra caramba lançada de uma vez só e tem informação p'ra caramba para eu poder relatar aqui. Então, para facilitar a minha vida, vou postar o report em inglês mesmo já que existe a facilidade de tradução pelo navegador que você pode usufruir, Boa leitura:
skalibs-2.8.0.0
This is a major version release of skalibs, so compatibility with previous versions is not guaranteed. Make sure to upgrade the rest of the skarnet.org stack at the same time to avoid build failures.
https://skarnet.org/software/skalibs/
git://git.skarnet.org/skalibs
Bugfixes
- The avltreeb_* family of macros have been removed. (They were only usable with GNU C, not pure C99.) A new macro has been added to declare a tree and its storage at the same time.
- The mkdir_unique() function has been removed. It was duplicating the functionality of the libc's mkdtemp().
- New functions: env_dump(), autosurf(), autosurf_name(), and the mk?temp() family of functions that work on the same model as mkstemp() and mkdtemp().
- New header: skalibs/posixishard.h to gather workarounds for various OSes' failures to respect POSIX. It's meant to be included *after* system headers, whereas skalibs/nonposix.h, which activates OSes' extensions and idiosyncrasies, is meant to be included *before* system headers.
- The ancilautoclose and nbwaitall sysdeps have been removed. (ancilautoclose was always false; nbwaitall was not useful.)
nsss-0.0.1.1
Bugfixes
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/nsss/
git://git.skarnet.org/nsss
execline-2.5.1.0
Compatibility with skalibs-2.8.0.0.
New command: envfile.
https://skarnet.org/software/execline/
git://git.skarnet.org/execline
utmps-0.0.2.1
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/utmps/
git://git.skarnet.org/utmps
mdevd-0.1.0.3
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/mdevd/
git://git.skarnet.org/mdevd
s6-portable-utils-2.2.1.3
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/s6-portable-utils/
git://git.skarnet.org/s6-portable-utils
s6-linux-utils-2.5.0.1
Compatibility with skalibs-2.8.0.0.
Build fixes with clang.
https://skarnet.org/software/s6-linux-utils/
git://git.skarnet.org/s6-linux-utils
s6-dns-2.3.0.2
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/s6-dns/
git://git.skarnet.org/s6-dns
s6-2.8.0.0
This is a major version release of s6. It is recommended to first stop all your s6 services, then upgrade, then immediately restart your supervision tree, then start your services again. Failure to do so *will* cause issues if you're relying on s6-ftrigrd notifications (which is the case, for instance, with services managed by s6-rc).
Bugfixes
- Compatibility with skalibs-2.8.0.0.
- s6-log now uses a default line limit of 8kB, instead of having unlimited lines by default.
- s6-log can now notify readiness.
- In the accessrules library: checking uid+gid credentials now checks the "uid/self" key if the client and server have the same euid, and the "gid/self" key if the client and server have the same egid.
- This means, for instance, that it's now possible to define s6-ipcserver-access rules that only apply then the client runs with the same credentials as the server.
https://skarnet.org/software/s6/
git://git.skarnet.org/s6
s6-rc-0.5.0.0
This is a major version release of s6-rc, but the compiled database format does not change. It is not necessary to recompile your source databases. However, it is necessary to stop all services before upgrading s6 (else the down notifications will not be received and the s6-rc -d change command will hang.) I recommend to switch to single-user mode, then upgrade s6, then restart the
supervision tree (or reboot), then restart the s6-rc services, in order to avoid all problems.
Bugfixes
- Compatibility with skalibs-2.8.0.0 and s6-2.8.0.0.
- s6-rc-compile does not support the -u or -g options anymore. The user who can run s6-rc on a livedir is now *always* the user who owns the supervision tree that this livedir uses.
https://skarnet.org/software/s6-rc/
git://git.skarnet.org/s6-rc
s6-networking-2.3.0.4
Bugfixes
Compatibility with skalibs-2.8.0.0.
https://skarnet.org/software/s6-networking/
git://git.skarnet.org/s6-networking
s6-linux-init-0.4.0.1
Compatibility with skalibs-2.8.0.0.
A major version release of s6-linux-init is in preparation, but requires more work. It will come at some point this month; I didn't want it to delay all the other releases, so 0.4.0.1 is only here to bridge the gap.
Lançado LLVM 7.0.1
![]() |
Lançado LLVM 7.0.1 |
Mais um lançamento antes do final do ano do compilador LLVM/Clang, este que está cada vez mais tomando cada vez mais a atenção e até substituindo o GCC (lá ven choro...) como já vem sendo feito em distribuições como OpenMandriva, Debian e Ubuntu, o Fedora que está em planejamento (automaticamente, herdado pelo Red Hat Enterprise Linux), o Alpine Linux e o próprio kernel Linux.
Mais detalhes, podem conferir o vídeo que fiz esse ano sobre o assunto:
Como sempre, essa nova versão trás correções de bugs da versão anterior, mas mantendo sua compatibilidade em sua API e sua ABI. Mas uma observação feita é que essa nova versão não trás correção para a incompatibilidade de com a ABI do GCC 8.2 quando passa-se llvm::ConstantExpr::getGetElementPtr como descrito na mensagem de lançamento da versão anterior:
https://bugs.llvm.org/show_bug.cgi?id=39427
Talvez é algo que tenhamos que esperar uma nova versão ou a versão 7.0.2. De qualquer jeito, ficamos com mais um lançamento disponível para download e que podemos conferir no link abaixo:
http://releases.llvm.org/download.html#7.0.1
Vale lembrar que distribuições Debian e Ubuntu podem já fazer uso bastando adicionar ao seu source.list:
https://apt.llvm.org/
Fedora abandonará o GCC
Pois é, o anuncio foi feito recentemente no próprio projeto e já há uma longa discussão sobre o assunto.
O vídeo da semana que vem já está pronto e trás uma noticia muito interessante, agora o Fedora também passará a adotar o LLVM/Clang ao invés do GCC. Mais uma das principais distribuição Linux que migra para esse poderoso compilador:
O vídeo da semana que vem já está pronto e trás uma noticia muito interessante, agora o Fedora também passará a adotar o LLVM/Clang ao invés do GCC. Mais uma das principais distribuição Linux que migra para esse poderoso compilador:
Desempenho do LLVM comparado ao GCC de acordo com o site Fedora People:
https://www.phoronix.com/scan.php?page=news_item&px=Fedora-29-GCC-BuildRoot-Debate
https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/UDI6KBUWJRMGEDI2DJQBS7MI2QVPRPW3/
https://www.funtoo.org/Clang
http://clang.llvm.org/features.html#performance
https://www.phoronix.com/scan.php?page=article&item=llvm3_gcc_open64&num=1
http://clang.debian.net/
https://github.com/gjasny/fedora-llvm
Cursos na Udemy
Curso COMPLETO para a certificação CompTIA Linux+ e LPIC-1 do Mateus Müller do canal 4Fasters
Anuncie no canal Toca do Tux: tocadotux@gmail.com
https://www.phoronix.com/scan.php?page=news_item&px=Fedora-29-GCC-BuildRoot-Debate
https://fedoraproject.org/wiki/Changes/Remove_GCC_from_BuildRoot
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/UDI6KBUWJRMGEDI2DJQBS7MI2QVPRPW3/
https://www.funtoo.org/Clang
http://clang.llvm.org/features.html#performance
https://www.phoronix.com/scan.php?page=article&item=llvm3_gcc_open64&num=1
http://clang.debian.net/
https://github.com/gjasny/fedora-llvm
Cursos na Udemy
Curso COMPLETO para a certificação CompTIA Linux+ e LPIC-1 do Mateus Müller do canal 4Fasters
Anuncie no canal Toca do Tux: tocadotux@gmail.com
Lançado LLVM 6.0.0
![]() |
LLVM/Clang versão 6.0 |
Galera, estes artigo é somente um aviso rápido. Já divulguei o lançamento do compilador LLVM/Clang quando foi a versão 4.0.1, a versão 5.0, a versão 5.1 e agora que divulgar que está disponível a versão 6.0 do compilador LLVM disponível para download que foi um trabalho árduo de seis meses. Esse lançamento trás vária melhorias que podem ser conferidas nas notas de lançamento.
Venho mencionando sobre o LLVM/Clang desde o artigo "O dia em que o pinguim adquire asas e cauda de um dragão de ferro". Lá pode ser conferida suas informações específicas e características e também no artigo "Para quê serve a liberdade?". O LLVM está sendo fortemente adotado para a IoT por gerar binários menores junto com a Musl. E no artigo "como conheci o Alpine Linux" conto como conheci também o LLVM/Clang.
Mais detalhes, confiram os links abaixo:
O que falta para a que a musl substitua a GilbC no Linux
![]() |
Logo da biblioteca C musl |
musl é uma nova biblioteca padrão para dar poder à uma nova geração de dispositivos baseados em Linux. musl é leve, rápida, simples, livre e se esforça para ser correta no senso de padrões de conformidade e de segurança.
A musl segue o padrão POSIX 2008 base a risca e é possível ver durante o processo de compilação que é adotado fortemente o padrão ISO C99 na biblioteca e um número de interfaces não padronizadas para ter compatibilidade com funcionalidades entre Linux, BSD e a glibc:
musl está sob a licença permissiva MIT e possui suporte as arquiteturas x86 (32/64), ARM (32/64), MIPS (32/64), PowerPC (32/64), S390X, SuperH, Microblaze, OpenRISC.
Veja o vídeo da série Muito além do GNU para saber melhor sobre a Musl
Veja o vídeo da série Muito além do GNU para saber melhor sobre a Musl
Mas o que falta então para que musl se torna padrão nas distribuições Linux?
Assim como no LLVM/Clang (e é o que a comunidade LLVM mais reclama), é que faltam algumas extensões GNU extremamente importantes presentes somente no GCC e na GlibC e que não são documentadas pela comunidade GNU. Se vocês quiserem saber algo sobre essas extensões, é necessário entrar em contato com a comunidade GNU e perguntá-los sobre elas (e para eles responderem... aí já é outras história). Isso acaba dificultando que alavanquem e acaba amarrando projetos a ficarem dependendo das ferramentas que o GNU tem a oferecer (chega a ser estranho falar de liberdade...)
Faltam também um monte de localizações, dados, um monte de bloat do GNU (que acontece a mesma coisa), Name Service Switch, (NSS), serviços de rede, biblioteca (libnsl em específico) e 80+ CVEs. Quando esses recursos forem adicionados a musl, podem ter certeza, adeus glibc.
Apesar do que ainda falta para a sua melhor adoção (que estão trabalhando fortemente para ter por completo e que há longa data já é boa o suficiente para colocar em um ambiente de produção), a musl já apresenta suas viabilidades em comparação a glibc. Basta comparar o resultado final das duas:
Site oficial da musl-libc
Assinar:
Postagens (Atom)
Marcadores
A pior história sobre Linux que já ouvi
(5)
A.I
(1)
ambiente gráfico
(15)
AMD
(14)
analise
(9)
Andriod
(8)
artigo
(5)
benchmark
(3)
BSDs
(20)
btrfs
(12)
Caixa de Ferramentas do UNIX
(19)
canto do Diego Lins
(2)
certificações Linux
(6)
Código Fonte
(50)
comandos
(17)
comp
(1)
compressores
(4)
container
(1)
CPU
(18)
criptografia
(2)
crowdfunding
(9)
cursos
(21)
daemons
(13)
Debian
(30)
desenvolvimento
(55)
desktop
(17)
DevOps
(1)
DevSecOps
(1)
dic
(1)
Dica de leitura
(57)
dica DLins
(2)
dicas do Flávio
(27)
Dicas TechWarn
(1)
diocast
(1)
dioliunx
(3)
distribuições Linux
(13)
Docker
(7)
DragonflyBSD
(15)
ead Diolinux
(2)
edição de vídeo
(4)
EMMI Linux
(4)
emuladores
(5)
endless
(5)
English interview
(2)
Enless OS
(2)
entrevista
(16)
espaço aberto
(83)
evento
(4)
facebook
(1)
Fedora
(5)
filesystem
(60)
financiamento coletivo
(2)
fork
(3)
fox n forests
(4)
FreeBSD
(12)
Funtoo Linux
(13)
games
(87)
gerenciadores de pacotes
(2)
GOG
(3)
google
(8)
gpu
(3)
hardware
(99)
I.A
(1)
init system
(7)
Intel
(15)
IoT
(1)
ispconfig
(1)
jogos
(33)
kernel
(116)
lançamento
(43)
leis
(1)
LFCS
(1)
licenças
(7)
Linus
(15)
linus torvalds
(1)
Linux
(190)
linux foundation
(3)
linux para leigos
(1)
live
(5)
LPI
(8)
LTS
(1)
machine learning
(1)
meetup
(1)
mesa redonda
(27)
microsoft
(3)
microst
(1)
muito além do GNU
(121)
não viva de boatos
(9)
navegadores
(3)
NetBSD
(3)
novatec
(17)
o meu ambiente de trabalho
(3)
off-topic
(12)
open source
(79)
OpenBSD
(3)
OpenShift
(1)
os vários sabores de Linux
(39)
padrim
(2)
palestras e eventos
(3)
partições
(6)
pentest
(6)
processadores
(26)
professor Augusto Manzano
(11)
Programação
(40)
propagandas com Linux
(8)
Red Hat
(16)
redes
(2)
resenha nerd
(4)
Resumo da Semana do Dlins
(2)
resumo do Tux
(19)
retrospectiva Linux
(1)
risc-V
(1)
runlevel
(2)
Secomp
(1)
segurança digital
(15)
servidores
(1)
shell
(1)
sistema operacional
(19)
Software livre e de código aberto
(150)
sorteio
(3)
Steam
(8)
Steam no Linux
(6)
supercomputadores
(4)
suse
(6)
systemd
(7)
terminal
(74)
toca do tux
(1)
toybox
(15)
tutorial
(6)
Tux
(3)
unboxing
(7)
UNIX
(16)
UNIX Toolbox
(14)
vartroy
(1)
vga
(1)
vulnerabilidade
(3)
wayland
(2)
whatsapp
(1)
Windows Subsystem for Linux
(1)
wine
(12)
WoT
(1)
ZFS
(9)
