IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GCC Discussion :

GCC 8.2 est disponible


Sujet :

GCC

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 939
    Points : 88 210
    Points
    88 210
    Billets dans le blog
    2
    Par défaut GCC 8.2 est disponible
    GCC 8.1, la nouvelle version majeure du compilateur libre sera disponible début 2018
    un aperçu des fonctionnalités et changements attendus

    GCC est une collection de compilateurs créés par le projet GNU. Il s’agit plus exactement d’un logiciel libre capable de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran. Il faut également noter qu’il est utilisé pour le développement de la plupart des logiciels libres.

    Depuis le 20 novembre, le développement de GCC 8 a franchi une nouvelle étape : les fonctionnalités ont été gelées et seules les corrections de bogues et mises à jour de la documentation seront acceptées. La première version stable de GCC 8, numérotée 8.1, sera quant à elle disponible début 2018.

    Pour le moment, la documentation officielle des changements et nouveautés dans GCC 8 est assez incomplète, mais elle sera mise à jour par les développeurs GCC (GNU Compiler Collection) au fur et à mesure qu’on se rapproche de la sortie de la nouvelle version. Toutefois, Phoronix, le site spécialisé dans les actualités GNU/Linux a pu suivre de bout en bout le développement de GCC8 pour nous proposer les principaux changements et nouveautés qui incluent :

    • amélioration du support de znver1 d'AMD : des patchs ont été apportés au compilateur GNU pour les processeurs Ryzen / Threadripper / EPYC ; ce qui permet d'obtenir de meilleures performances sur ces processeurs ;

    • support de Cannonlake, le processeur Intel de nouvelle génération succédant à Coffee Lake / Kaby Lake Refresh ;

    • support initial pour Intel Icelake, la génération de processeurs qui va succéder à Cannonlake. Cela inclut les instructions GFNI (Galois Field Affine Transformation) et plus encore ;

    • support d'Intel CET (Control-flow Enforcement Technology) pour une meilleure sécurité. La technologie Control-flow Enforcement vise en effet à empêcher les attaques de type return-oriented programming (ROP) et call-jump-oriented programming (COP/JOP). La ROP, par exemple, est une technique d'exploitation avancée de type dépassement de pile permettant l'exécution de code par un attaquant, et ce en s'affranchissant plus ou moins efficacement des mécanismes de protection tels que l'utilisation de zones mémoires non exécutables, l'utilisation d'un espace d'adressage aléatoire ou encore la signature de code ;

    • support du CPU Qualcomm Saphira. Saphira est le successeur de Falkor, une microarchitecture ARM conçue par Qualcomm pour le marché des serveurs ;

    • support du langage C17. À ne pas confondre avec C++ 17 qui apporte de nombreux ajouts et améliorations notables, C17 sera bientôt disponible sous forme de mise à jour du langage de programmation C. La mise à jour du langage de programmation C17 est juste une « version de correction de bogue » à la norme C11. Si C17 va bientôt être soumis pour approbation et pourrait finir par être connu sous le nom de C18, GCC se prépare pour son arrivée. Fin octobre, il a par exemple été publié un patch initial introduisant C17/GNU17 et faisant de C17/GNU17 le nouveau standard par défaut pour le front-end du compilateur C ;

    • préparation pour C++ 20 / C++2A. Avec les discussions des fonctionnalités de C++ 20, les développeurs GCC ont également commencé à se préparer à travailler sur les nouvelles fonctionnalités du compilateur pour le prochain standard qui devrait sortir dans quelques années. GCC ayant déjà un support C++ 1z / C++ 17 complet, C++ 20 deviendra rapidement une cible pour les développeurs qui travaillent sur ce compilateur open source. En préparation au travail qui sera effectué, le développeur Andrew Sutton a envoyé en juillet un patch ajoutant un support pour spécifier la nouvelle norme C++ via -std=c++2a pour le travail C++ 20 provisoire et -std=gnu++2a pour C++20 plus les extensions GNU ;

    • support ARMv8-R. Ce sous-ensemble de l'architecture ARMv8 est destiné aux applications temps réel et aux environnements dont la sécurité est critique, tels que le contrôle automobile et industriel et l'aviation ;

    • amélioration supplémentaire du support ARM pour les nouveaux processeurs Cortex ;

    • amélioration du support de la spécification OpenACC 2.5 ;

    • mise à jour du front-end du langage Go. Il s'agit de l'une des premières plus grosses fusions pour GCC 8. Celle-ci met à jour le code de GCC avec celui du runtime Go 1.8 et d'autres mises à jour de Go 1.8 ;

    • poursuite des améliorations pour le support AMD HSA IL / BRIG ;

    • Cilk Plus est en cours de suppression. Intel déconseille le support multithreading de Cilk Plus avec GCC 7 et maintenant pour GCC 8, l'entreprise cherche à abandonner complètement ce support ;

    • améliorations significatives du back-end du compilateur Nios II.

    Il faut rappeler que le projet GNU a annoncé il y a quelques mois le support du langage D dans GCC. Une dizaine de patchs de près de 800 000 lignes de nouveau code a aussi été publiée pour l'ajout d'un front-end D à la collection de compilateurs GNU. Ce nouveau front-end implémente le langage D 2.0 et prend en charge le runtime D 2.0 et les bibliothèques partagées. Outre les différents changements et nouveautés annoncés ici, on pourrait donc également s’attendre au support du langage D dans GCC 8.1.

    Sources : Phoronix, GCC 8 Release Series

    Et vous ?

    Que pensez-vous de ces nouveautés ?

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 681
    Points : 188 805
    Points
    188 805
    Par défaut
    Sans oublier les extensions pour MinGW, qui viennent d'arriver dans la branche master (https://gcc.gnu.org/git/?p=gcc.git;a...cf3d9ae555f962). De là à voir si des gens l'utiliseront, c'est une autre paire de manches !

  3. #3
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 939
    Points : 88 210
    Points
    88 210
    Billets dans le blog
    2
    Par défaut GCC 8.1 est disponible
    GCC 8.1 est disponible
    la nouvelle version majeure du compilateur libre vient avec un support expérimental de C++2a et bien d'autres fonctionnalités

    L'équipe GCC vient d'annoncer la sortie officielle de GCC 8.1, la première version stable de GCC 8. Rappelons que GCC (GNU Compiler Collection) est une collection de compilateurs créés par le projet GNU. Il s’agit plus exactement d’un logiciel libre capable de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran, et il est utilisé pour le développement de la plupart des logiciels libres.

    En annonçant la sortie de GCC 8.1, le développeur Jakub Jelinek de Red Hat explique qu'il s'agit d'une version majeure contenant de nouvelles fonctionnalités importantes non disponibles dans GCC 7.x et les versions précédentes de GCC. Le front-end C++ intègre par exemple un support expérimental de certaines fonctionnalités de la prochaine norme C++2a, avec les options -std=c++2a et -std=gnu++2a, et la bibliothèque libstdc++ implémente des fonctionnalités supplémentaires de C++17 et C++2a.

    Cette version vient aussi avec des améliorations significatives dans les diagnostics émis. Les optimisations guidées par profil (PGO) ont également été considérablement améliorées, à côté d'autres optimisations de compilateur.


    Parmi les autres nouveautés introduites, on peut encore noter :

    • une amélioration du support de znver1 d'AMD : des patchs ont été apportés au compilateur GNU pour les processeurs Ryzen / Threadripper / EPYC, ce qui permet d'obtenir de meilleures performances sur ces processeurs ;

    • le support de Cannonlake, le processeur Intel de nouvelle génération succédant à Coffee Lake / Kaby Lake Refresh ;

    • un support initial pour Intel Icelake, la génération de processeurs qui va succéder à Cannonlake. Cela inclut les instructions GFNI (Galois Field Affine Transformation) et plus encore ;

    • le support d'Intel CET (Control-flow Enforcement Technology) pour une meilleure sécurité. La technologie Control-flow Enforcement vise en effet à empêcher les attaques de type return-oriented programming (ROP) et call-jump-oriented programming (COP/JOP). La ROP, par exemple, est une technique d'exploitation avancée de type dépassement de pile permettant l'exécution de code par un attaquant, et ce en s'affranchissant plus ou moins efficacement des mécanismes de protection tels que l'utilisation de zones mémoires non exécutables, l'utilisation d'un espace d'adressage aléatoire ou encore la signature de code ;

    • le support du CPU Qualcomm Saphira. Saphira est le successeur de Falkor, une microarchitecture ARM conçue par Qualcomm pour le marché des serveurs ;

    • un support initial du langage C17, qui sera bientôt disponible sous forme de mise à jour du langage de programmation C. Il s'agit plus précisément d'une « version de correction de bogue » à la norme C11. Pour préparer GCC à l'arrivée de C17, fin octobre, il a été publié un patch initial introduisant C17/GNU17 et faisant de C17/GNU17 le nouveau standard par défaut pour le front-end du compilateur C ;

    • la prise en charge de l'architecture Armv8.4-A. Elle peut être utilisée en spécifiant l'option -march=armv8.4-a ;

    • l'ajout du support pour les processeurs ARM Cortex-A75 et ARM Cortex-A55 ;

    • une implémentation complète des packages utilisateur de Go 1.10.1 ;

    • l'amélioration du support AMD HSA IL / BRIG avec de meilleures performances et plus de stabilité ;

    • la suppression du support de Cilk Plus. Intel déconseillait déjà le support multithreading de Cilk Plus avec GCC 7 et il est maintenant supprimé dans la première version stable de GCC 8 ;

    • une amélioration du back-end du compilateur Nios II pour générer du code plus optimisé ;

    • etc.

    Sources : Annonce officielle de la sortie de GCC 8.1, Liste complète des changements

    Et vous ?

    Utilisez-vous le compilateur GCC ? A quelles fins ?
    Sinon, quelles alternatives utilisez-vous ? Pourquoi ?
    Que pensez-vous des nouveautés de GCC 8.1 ? Lesquelles appréciez-vous le plus ?
    Qu’attendez-vous des prochaines versions ?

    Voir aussi :

    GCC : la version 7.3 du compilateur libre est disponible avec des correctifs pour la vulnérabilité Spectre pour les dispositifs x86 et powerpc
    GCC 8.1, la nouvelle version majeure du compilateur libre sera disponible début 2018 : un aperçu des fonctionnalités et changements attendus
    Le projet GNU annonce l'intégration du langage de programmation D dans GCC, qui vient s'ajouter au C, C++, Objective-C, Java, Ada et Fortran
    Sortie de GCC 7.1, le compilateur libre peut décharger du code OpenMP sur la plateforme AMD HSA et sur les cartes graphiques NVIDIA

  4. #4
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 939
    Points : 88 210
    Points
    88 210
    Billets dans le blog
    2
    Par défaut GCC 8.2 est disponible
    GCC 8.2 est disponible
    cette mise à jour du compilateur libre corrige une centaine de bogues

    L'équipe GCC vient d'annoncer la sortie de GCC 8.2, la première mise à jour de GCC 8.x après la sortie de la version stable (8.1) début mai. Rappelons que GCC (GNU Compiler Collection) est une collection de compilateurs créés par le projet GNU. Il s’agit plus exactement d’un logiciel libre capable de compiler divers langages de programmation, dont C, C++, Objective-C, Java, Ada et Fortran, et il est utilisé pour le développement de la plupart des logiciels libres.

    Avec la version 8.1 de GCC, le front-end C++ a introduit un support expérimental de certaines fonctionnalités de la prochaine norme C++2a, avec les options -std=c++2a et -std=gnu++2a, et la bibliothèque libstdc++ a implémenté des fonctionnalités supplémentaires de C++17 et C++2a. GCC 8.1 a aussi apporté des améliorations significatives dans les diagnostics émis. Les optimisations guidées par profil (PGO) ont également été considérablement améliorées, à côté d'autres optimisations de compilateur. La liste des nouveautés de cette version majeure s'étendait, sans s'y limiter, à :

    • une amélioration du support de znver1 d'AMD : des patchs ont été apportés au compilateur GNU pour les processeurs Ryzen / Threadripper / EPYC, ce qui permet d'obtenir de meilleures performances sur ces processeurs ;

    • le support de Cannonlake, le processeur Intel de nouvelle génération succédant à Coffee Lake / Kaby Lake Refresh ;

    • un support initial pour Intel Icelake, la génération de processeurs qui va succéder à Cannonlake. Cela inclut les instructions GFNI (Galois Field Affine Transformation) et plus encore ;

    • le support d'Intel CET (Control-flow Enforcement Technology) pour une meilleure sécurité. La technologie Control-flow Enforcement vise en effet à empêcher les attaques de type return-oriented programming (ROP) et call-jump-oriented programming (COP/JOP). La ROP, par exemple, est une technique d'exploitation avancée de type dépassement de pile permettant l'exécution de code par un attaquant, et ce en s'affranchissant plus ou moins efficacement des mécanismes de protection tels que l'utilisation de zones mémoires non exécutables, l'utilisation d'un espace d'adressage aléatoire ou encore la signature de code ;

    • le support du CPU Qualcomm Saphira. Saphira est le successeur de Falkor, une microarchitecture ARM conçue par Qualcomm pour le marché des serveurs ;

    • un support initial du langage C17, qui sera bientôt disponible sous forme de mise à jour du langage de programmation C. Il s'agit plus précisément d'une « version de correction de bogue » à la norme C11. Pour préparer GCC à l'arrivée de C17, fin octobre, il a été publié un patch initial introduisant C17/GNU17 et faisant de C17/GNU17 le nouveau standard par défaut pour le front-end du compilateur C ;

    • la prise en charge de l'architecture Armv8.4-A. Elle peut être utilisée en spécifiant l'option -march=armv8.4-a ;

    • l'ajout du support pour les processeurs ARM Cortex-A75 et ARM Cortex-A55 ;

    • une implémentation complète des packages utilisateur de Go 1.10.1 ;

    • l'amélioration du support AMD HSA IL / BRIG avec de meilleures performances et plus de stabilité ;

    • la suppression du support de Cilk Plus. Intel déconseillait déjà le support multithreading de Cilk Plus avec GCC 7 et il est maintenant supprimé dans la première version stable de GCC 8 ;

    • une amélioration du back-end du compilateur Nios II pour générer du code plus optimisé ;

    • etc.


    Dans la version 8.2, l'équipe GCC corrige une centaine de bogues, en plus d'apporter d'autres améliorations. Au niveau des améliorations générales, il faut noter que les problèmes de performance LTO (link-time optimization ou optimisation à l'édition des liens) dus à un débordement dans l'algorithme de partitionnement lors de la création de gros fichiers binaires ont été corrigés.

    Il y a aussi des changements spécifiques au langage C++. Plus précisément, GCC 8.2 corrige un bogue introduit dans GCC 8.1 ; lequel bogue affecte le passage ou le retour de classes avec un constructeur de copie supprimé et un constructeur de déplacement trivial par défaut. GCC 8.2 introduit -fabi-version=13 et en fait la valeur par défaut. Rappelons que fabi-version indique au compilateur de sélectionner une implémentation ABI spécifique. Notons aussi que les incompatibilités ABI entre GCC 8.1 et 8.2 peuvent être signalées avec -Wabi=12.

    Entre autres changements, soulignons encore que sur les plateformes IA-32/x86-64, la régression de performance de -mtune=native sur Intel Skylake a été corrigée.

    Source : Changements dans GCC 8.2

    Et vous ?

    Utilisez-vous le compilateur GCC ? À quelles fins ?
    Sinon, quelles alternatives utilisez-vous ? Pourquoi ?
    Que pensez-vous de cette mise à jour de GCC ? Qu’attendez-vous des prochaines versions ?

    Voir aussi :

    GCC : la version 7.3 du compilateur libre est disponible avec des correctifs pour la vulnérabilité Spectre pour les dispositifs x86 et powerpc
    GCC 8.1, la nouvelle version majeure du compilateur libre sera disponible début 2018 : un aperçu des fonctionnalités et changements attendus
    Le projet GNU annonce l'intégration du langage de programmation D dans GCC, qui vient s'ajouter au C, C++, Objective-C, Java, Ada et Fortran
    Sortie de GCC 7.1, le compilateur libre peut décharger du code OpenMP sur la plateforme AMD HSA et sur les cartes graphiques NVIDIA

  5. #5
    Candidat au Club
    Homme Profil pro
    enseignant retraité
    Inscrit en
    Novembre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : enseignant retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2018
    Messages : 1
    Points : 2
    Points
    2
    Par défaut GCC
    Bonjour !Je découvre et apprécie ! Merci !

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/02/2015, 20h07
  2. Aperçu des nouvelles fonctionnalités de Unreal Engine 4.5
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 09/10/2014, 10h30
  3. [C# 2.0] Ajouter des fonctionnalités au MonthCalandar
    Par margagn dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/08/2006, 16h11
  4. Réponses: 5
    Dernier message: 12/07/2006, 11h21
  5. Réponses: 9
    Dernier message: 19/11/2005, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo