Sortie de GNU Compiler Collection 9.1

Posté par  . Édité par Davy Defaud, Benoît Sibaud, Florent Zara, claudex, Julien Jorge et ZeroHeure. Modéré par Julien Jorge. Licence CC By‑SA.
53
7
mai
2019
GNU

La nouvelle version de la collection de compilateurs GNU est sortie le 3 mai 2019.

Plus qu’à son habitude, elle apporte de très nombreuses améliorations. Une partie d’icelles a été motivée par la récente décision des développeurs de Firefox d’utiliser le compilateur, particulièrement pour les phases d’optimisation à l’édition des liens.

On note également la prise en charge du langage D.

Plus d’informations dans la suite de la dépêche.

Journal LLVM se fait de vieux os ? La recherche pour rester jeune.

Posté par  . Licence CC By‑SA.
Étiquettes :
51
20
déc.
2016

Il y a une discussion intéressante sur la liste de développement de LLVM ce mois-ci, partie du constat que les temps de compilation de LLVM augmentent au fil du temps—avec l'évolution du code. En particulier j'ai trouvé ce message de Daniel Berlin très intéressant: il parle du rapport entre les compilateurs industriels et la recherche en compilation, et de l'effet que ça peut avoir sur la maintenabilité du code. Traduction à la rache (le début est la citation d'un autre (…)

Journal OSX, Windows, GNU/Linux Toolchains

Posté par  . Licence CC By‑SA.
47
12
déc.
2013

Depuis maintenant plus d'un an je travaille avec Ray Donnelly sur l'ajout dans l'outil crosstool-ng du support de Darwin(OSX) comme système cible.

Nous avons depuis maintenant un moment une solution fonctionnelle et somme en train de faire les demandes de patch pour que notre fork, ceci est plus une sandbox qu'un fork à proprement parlé, soit directement intégré dans la version officielle de crosstool-ng

De base, crosstool-ng est un outil permettant de générer des chaînes de cross-compilation depuis un (…)

LLVM 2.9 !

Posté par  (Mastodon) . Modéré par patrick_g. Licence CC By‑SA.
45
8
avr.
2011
Technologie

La version 2.9 de LLVM vient de sortir et a été annoncée par Chris Lattner le 6 avril !

Pour ceux qui se posent encore la question, LLVM est une suite de compilation concurrente de GCC, sous licence UIUC (semblable à BSD), qui a pour but de produire des briques de bases modulaires pour construire toute sorte de programmes : compilateurs, debugger, assembleur, etc. L'aspect hautement modulaire permet également de pouvoir travailler sur une petite partie et d'en faire bénéficier toutes les autres. C'est notamment le cas des optimisations : en effet, LLVM utilise une représentation intermédiaire (IR) parfaitement spécifiée et les optimisations se font sur cette représentation. Et ce n'est qu'un des nombreux avantages de LLVM.

Cette version 2.9 permet de consolider plein d'aspects de LLVM. Parmi les nouveautés principales, on notera :

  • la génération de code a été améliorée, en particulier pour l'architecture ARM ;
  • l'optimisation au moment de la liaison (LTO) a été améliorée également ;
  • un nouvel allocateur de registre a été écrit, mais n'est pas activé par défaut pour cette sortie ;
  • l'infrastructure Machine Code est désormais utilisée par défaut pour produire du code objet directement (plutôt que de passer par un assembleur externe) ;
  • Clang, le compilateur C/C++/Objective-C/Objective-C++ gère le C++0x de mieux en mieux, avec l'ajout des rvalue references et des variadic templates ;
  • LLDB, le débugger du projet LLVM, atteint un certain stade de maturité alors que ce n'était qu'un projet larvaire à la dernière sortie.

Journal Premiers pas sur l'architecture RISC-V avec la carte HiFive1

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
3
juin
2020

Une révolution, tout simplement. Depuis que je travaille dans le domaine embarqué, j'ai connu quelques changements intéressants avec notamment l'arrivée de l'architecture Cortex-M, mais là, c'est un cran au-dessus. Une architecture de microcontrôleur Open Source, j'en ai rêvé, maintenant elle existe.

Rappel sur les microcontrôleurs

Petite piqûre de rappel : les microcontrôleurs sont de très petits processeurs équipés de périphériques pour contrôler le monde extérieur au composant : des actionneurs ou des capteurs. De plus, ces composants disposent de leur (…)

Sortie de la version 4.4 du compilateur GCC

Posté par  (site web personnel) . Modéré par Mouns.
38
21
avr.
2009
GNU
Aujourd'hui la sortie de la version 4.4 du compilateur GCC a été annoncée sur la liste de diffusion du projet.
Écrit à l'origine par Richard Stallman, le logiciel GCC (GNU Compiler Collection) est le compilateur de référence du monde du logiciel libre. Il accepte des codes source écrits en C, C++, Objective-C, Fortran, Java et Ada et fonctionne sur une multitude d'architectures.

La sortie de GCC 4.4 a été grandement retardée par des questions d'ordre juridiques. En effet la FSF a dû se prononcer sur la nouvelle "Runtime Library Exception" qui autorise le passage des diverses bibliothèques sous licence GPLv3 ainsi que l'arrivée prochaine des greffons dans l'architecture de GCC. La FSF étant connue pour sa hâte toute relative sur les questions juridiques il a fallu patienter ce qui a provoqué un certain mécontentement chez plusieurs développeurs. Néanmoins le comité directeur de GCC a préféré jouer la prudence (better safe than fast) et attendre d'avoir l'aval des juristes de la FSF avant d'autoriser la sortie tant attendue.

Dans la suite de la dépêche, vous pourrez découvrir les nouveautés et les optimisations mises en œuvre dans cette version 4.4 de GCC.

NdM : pour l'anecdote, cette dépêche a été initialement soumise le 18 décembre 2008, a attendu la sortie officielle de GCC 4.4, et à ce titre remporte le titre de dépêche restée le plus longtemps en modération (le record précédent étant de 70 jours).

Journal Un fonds pour la GNU Toolchain

Posté par  . Licence CC By‑SA.
Étiquettes :
37
28
mar.
2017

Le Free Software Foundation accepte maintenant des donations spécifiquement pour la GNU Toolchain : GCC, GDB, la glibc, les Binutils, etc.

Toutes les informations ici.

En tant que programmeur C, j’utilise certains de ces outils tous les jours et, comme je n’achète jamais de programmes, je fais parfois une donation pour les projets qui me tiennent hacker. Mais la plupart des distributions GNU/Linux dépendent fortement de la GNU Toolchain, donc, en tant que simple utilisateur, ça vaut aussi la (…)

8 juin 2011 : Le projet OpenGPU, un an plus tard.

Posté par  . Modéré par tuiu pol.
36
11
mai
2011
Matériel

Un an après son lancement au mois de mars 2010, les partenaires du projet OpenGPU organisent un colloque national pour partager avec la communauté scientifique les premiers résultats quantitatifs et opérationnels obtenus par les différentes équipes de recherche.

Cette journée, organisée en partenariat avec l’association Aristote, sera suivie d’une journée consacrée aux nouvelles tendances du « big data », pour lesquelles les architectures hybrides GPU/CPU joueront un rôle essentiel.

L’après‐midi sera entièrement consacré à l’open source dans le domaine du calcul haute performance (HPC) et aux travaux menés par l’INRIA et le CEA LIST autour des optimisations du compilateur GCC, ainsi qu’au projet Scilab, pour l’accélération des calculs via GPU. Les outils d’aide à la parallélisation, PIPS et PAR4ALL, seront également présentés dans leurs derniers développements.

Cette journée, gratuite et ouverte à tous, se déroulera à l’École Polytechnique (à Palaiseau dans l'Essonne), le 8 juin 2011.

Éric Mahé, responsable scientifique du projet OpenGPU

Journal C++11 : sur le fil

Posté par  . Licence CC By‑SA.
Étiquettes :
28
6
juin
2013
Ce journal a été promu en dépêche : C++11 : sur le fil.

Dans la course effrénée que se livrent les compilateurs, GCC vient traîtreusement de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

les rvalue-references pour le pointeur this

Celles-ci permettent (entre autres) de surcharger des fonctions membres quand this est une rvalue ; voici un exemple tiré de la proposition originale :

class X {
(…)

Journal GCC++ (gcc in cxx)

Posté par  (site web personnel) .
Étiquettes :
19
17
août
2012

Salut vendredi !
Quelle belle journée, c'est la canicule, beaucoup sont ceux se préparant à aller siroter des perroquets dans leurs piscines. Et certains pourraient croire à une insolation en lisant que la branche de GCC en C++ vient d'être fusionnée dans la branche principale.

Bbon ok, c'est un peu exagéré, mais en même temps mieux laisser s'exprimer les "connoisseurs".

Voilou, c'est tout.
Hop.

http://gcc.gnu.org/wiki/cxx-conversion

Bibliothèque de génération et de manipulation de formes libsdl2_gfxutils

Posté par  (site web personnel) . Édité par bubar🦥, Benoît Sibaud et palm123. Modéré par patrick_g. Licence CC By‑SA.
16
1
fév.
2016
C et C++

J'annonce de part ce présent message, la réécriture de la bibliothèque de génération et de manipulation de formes libSDL2_gfxutils. Elle est publiée sous GPLv3.

Journal Chaine(s) de compilation ARM

Posté par  .
15
10
avr.
2012

Bonjour,

Ca fait longtemps que le problème m'interpelle, et la sortie du dernier Linux Magazine vient raviver mon sentiment d’incompréhension.

Pourquoi nos distributions préférées ne fournissent-elles pas de chaine(s) de compilation ARM packagées?

Les développements pour microcontrôleur sont pourtant bien supportés sous Linux. GCC supporte beaucoup de plateformes, comme AVR, MSP430, … et les paquets correspondants s'installent facilement (voir avr-gcc et mspgcc pour Debian par exemple).

Mais dès qu'il s'agit de ARM, plus grand chose de disponible! Pas de arm-gcc. (…)

Journal Annonce : HWA nouvelle version

15
17
mai
2015

HWA est un outil d'abstraction du matériel pour la programmation de microcontrôleurs en C (ou en assembleur).

Ce n'est pas une bibliothèque mais un ensemble de macros qui permettent d'écrire un code plus porté vers la description du résultat attendu que sur les valeurs à écrire dans les registres.

Une première version avait été sortie (un peu prématurément) il y a environ trois ans. HWA a depuis été entièrement réécrit pour proposer des instructions génériques acceptant des listes d'arguments de (…)