Gli sviluppatori del team GCC hanno rilasciato Gnu Compiler Collection 4.6.0 come nuova versione stabile dopo circa un anno di sviluppo.
Dal punto di vista dei processori supportati ora si aggiungono alla lista ARM Cortex-M4, Cortex-A15 a cui seguono vari ottimizzazioni e migliorie generali per tutti gli ARM. Chi vuole ottenere il massimo delle prestazioni su Intel Core 2 potrà utilizzare il parametro “core2” per le opzioni mtune e march, mentre per la prima generazione di Intel Core i3, i5 e i7 si potrà passare il parametro corei7. Non neanche manca il supporto per i processori Intel Sandy Bridge comprese le estensioni AVX (Advanced Vector eXtensions) e per BMI (Bit Manipulation) di AMD.
Passando ora a guardare il lato dei linguaggio supportati il nuovo gcc ora ha un supporto rudimentale per C1x, il nuovo standard per il C, Ada2012 e per Google Go che però è disabilitato nell’impostazione predefinita. Interessante anche l’aggiunta del supporto per Bionic, la libreria C scritta da Google per Android. Questo consentirà di sviluppare applicazioni utilizzando il gcc anche se solo per i device dotati di processori ARM.
Per chi ha bisogno della massima velocità ora è disponibile il nuovo parametro -Ofast che combina tutte le ottimizzazioni di -O3 con alcuni parametri che saltano alcuni vincoli degli standard come -ffast-math. Il Gcc 4.6 sarà parte di Fedora 15 che uscirà in Maggio, ma non sarà il compilatore predefinito di Ubuntu 11.04 che arriverà entro circa 30 giorni.
Via | Gcc
Attraverso un messaggio di Walter Bright di Digital Mars sulla mailing list di sviluppo di GCC scopriamo che l’azienda vorrebbe includere un frontend per il linguaggio D.
Al momento GCC è sprovvisto di un compilatore per questo linguaggio derivato e chi è interessato ad utilizzarlo è costretto a ricorrere a LLVM. Walter è l’inventore stesso del linguaggio che negli ultimi tempi sta vedendo crescere il numero dei suoi utilizzatori.
Con questa mossa si vuole probabilmente cercare di creare una più ampia comunità di sviluppatori D. L’inclusione nel prossimo Gcc 4.6 è ormai sfumata perché fuori tempo, ma si spera che il futuro gcd possa fare il suo debutto in GCC 4.7.
Via | Phoronix
Il team di sviluppo di Mozilla ha notato un calo delle prestazioni nei benchmark automatizzati dopo il passaggio da gcc 4.3 a gcc 4.5.
Il problema è presente in quasi tutti i test ed è misurabile in un peggioramento fra il 4% ed il 19% sulla piattaforma Linux a 32bit e 64bit. Una regressione delle prestazioni dei binari prodotti dal compilatore piuttosto importante che è già stata segnalata sulla mailing list di GCC e che è stata scoperta prontamente grazie all’infrastruttura automatica di compilazione e benchmark.
Al momento nel team Mozilla si sta riconsiderando il passaggio a gcc 4.5 che era stato scelto per il supporto ai plugin e la possibilità di compilazione con PGO (Profile-Guided Optimizations).
Via | Phoronix
Mark Mitchell ha annunciato che il GCC Steering Committee e la FSF hanno autorizzato l’utilizzo di codice C++ all’interno di GCC.
Questo non significa che ci sarà una riscrittura dei sorgenti, ma semplicemente che quando avrà un senso si potranno usare alcune delle caratteristiche del linguaggio C++. Soprattutto all’inizio l’adozione sarà limitata per non spaventare o mettere da parte chi non ha famigliarità con il C++.
Al momento viene consigliato di limitarsi a quanto previsto dallo standard C++98 e di evitare l’uso di ereditarietà multipla, template (al di fuori della STL) o le eccezioni. Cosa ne pensate di questa decisione?
Via | Gnu
Sulla mailing list di Gcc Manuel López-Ibáñez ha chiesto cosa impediva alle persone di partecipare allo sviluppo del compilatore.
Per quanto riguarda questo progetto in particolare una prima barriera è rappresentata dal dover assegnare il copyright del proprio codice alla FSF e se si lavora nel settore è necessario chiarire la cosa con il reparto legale. Il team che sviluppa Gcc accetta solo codice di qualità molto alta e scritto in stile Gnu e chi è alle prima armi fa un po’ più di fatica.
Allargando la domanda a qualsiasi genere di progetto tra le principali cause c’è la mancanza di commenti, documentazione e codice scritto male. Qual è il motivo principale che vi impedisce di partecipare allo sviluppo di un software open source?
Via | Phoronix

DragonEgg è un plugin che consente di usare LLVM come backend per Gcc.
In pratica vengono rimpiazzati l’ottimizzatore ed il generatore di codice con quelli del progetto LLVM grazie all’architettura a plugin di Gcc 4.5 (non ancora rilasciato ufficialmente) ed è una riscrittura del vecchio llvm-gcc che consisteva in una versione “patchata” di gcc.
Per provarlo sarà sufficiente aggiungere alla linea di comando -fplugin=path/dragonegg.so. Al momento il codice non è ancora pronto per un utilizzo professionale, ma chi ha voglia di provare e/o contribuire al progetto può già iniziare a lavorarci sopra.

David Edelsohn ha annunciato che il GCC Steering Committee ha accettato di includere Google Go fra i linguaggi supportati dal compilatore.
È stato aggiunto il frontend gccgo e tutto il codice specifico per questo liguaggio. Il maintainer destinato a curare Google Go è Ian Taylor, ma sarà compito dei GCC
Release Manager decidere quando e se verrà il momento di integrare il linguaggio nella prossima versione stabile.
Ian ha anche annunciato che chi usa Go gode automaticamente del privilegio di utilizzare i brevetti di Google che potrebbero riguardare questo linguaggio. Non ce ne dovrebbero essere, ma si tratta di una clausola per eliminare i possibili problemi legali avanzati dai reparti legali di alcune aziende.
Sembra che questo linguaggio stia guadagnando parecchio seguito, voi cosa ne pensate?
Via | Gmane
Recentemente Melanie Blower, per conto di Intel, ha richiesto i moduli da firmare per aiutare a portare avanti lo sviluppo di gcc ed altri progetti satelliti come binutils, gdb e glibc.
Con lei, Intel assegnerà altri 2 programmatori a questo compito. Una svolta per l’azienda che fino ad ora aveva collaborato in altri progetti, come Xorg e moblin, ma aveva puntato soprattutto sul suo compilatore ICC, Intel Compiler Collection.
Non è la prima volta che alcuni giganti del settore mettono a disposizione alcuni dei loro programmatori per lavorare full time su progetti open source che possono essere strategici per l’azienda.
Via | Heise
Il Wall Street Journal ha segnalato un interessante progetto europeo il cui scopo è quello di integrare una AI (Artificial Intelligence) all’interno del noto compilatore GCC.
IBM, l’Università di Edinburgo, l’Istituto di ricerca francese INRIA ed altre aziende/istituti che partecipano allo sviluppo di Milepost (MachIne Learning for Embedded PrOgramS opTimization) hanno annunciato i risultati preliminari della loro sperimentazione durante il GCC Summit 2008: in un solo mese di lavoro sono riusciti ad incrementare le performance di GCC del 10%!
La nascita di questo progetto va legata con molta probabilità alla complessità delle architetture cui vanno incontro gli sviluppatori di sistemi embedded: ad ogni nuova generazione, i tempi di sviluppo dei compilatori aumentano ed ottimizzare diventa sempre più complesso.
L’utilizzo di una AI dovrebbe quindi porre rimedio ai limiti dettati dal design dei compilatori (che non possono supportare “staticamente” così tanti tipi differenti di nuovi architetture/processori).
via | Slashdot
Nonostante poco più di due mesi fa abbia deciso di inaugurare il nuovo ramo di sviluppo 4.3, la Free Software Foundation ha in questi giorni rilasciato la versione 4.2.4 della famosa suite di compilatori.
Si tratta di un importante bugfix release e l’aggiornamento è ovviamente altamente consigliato. I cambiamenti rispetto alla precedente 4.2.3 sono veramente tanti e per questo ci è impossibile segnalarli tutti; nel caso comunque vogliate saperne di più, il changelog ufficiale è disponibile a questo indirizzo.
Via | Kerneltrap
La Free Software Foundation ha rilasciato la prima versione del ramo 4.3.x di GCC, la nota famiglia di compilatori inizialmente sviluppata da Richard Stallman; l’elenco delle novità incluse in questa nuova incarnazione di GCC è estremamente lungo ( nonché tecnico ), perciò rimando gli interessati alla lettura del changelog ufficiale.
via | OSNews
Non sono passati nemmeno tre mesi dal rilascio di GCC 4.2.1 e già ci troviamo a segnalare la disponibilità di una nuova versione “di manutenzione” della famiglia di compilatori della Free Software Foundation. La notizia più importante, però, non consiste nelle novità di GCC 4.2.2 ( che, come già detto, include solo le correzioni alle regressioni introdotte nel precedente rilascio ) ma nella licenza con cui esso viene distribuito: a partire da questa versione, infatti, GCC è coperto da licenza GPL 3.
Tempi duri per Novell ( ed il suo accordo con Microsoft ) e per i sistemi BSD?
[ via Kerneltrap ]