• [^] # OpenBSD utilise gcc 3.3. Les nazes.

    Posté par . En réponse au journal Fin de gcc dans les *BSD ?. Évalué à -3.

    > Maintenant, si tu prends toute remarque négative comme une insulte envers ce projet,

    Dans le cas que tu donnes, oui.

    Tu peux faire une critique de gcc, il y a toujours des choses à améliorer.
    Mais dire que gcc est tellement pourrave qu'il faut passer à un "sous-compilateur", c'est une insulte.
    Et quel est l'argumentaire pour "descendre" gcc ?

    > GCC is developed by people who have vastly different goals from us.

    Un compilateur, c'est un compilateur. Ce n'est pas une machine à café. Donc le "vastly different goals from us", je ne le comprend pas.

    > Here is some *more* flame material.

    C'est un compliment pour toi ?

    > GCC is mostly a commercial compiler, these days.

    Et ? Il l'a acheté combien ?
    Il y a peu Theo se félicitait d'avoir des contributions de société et il trouvait ça bien. Mais si c'est GCC, "bing", ça devient mal.
    Marrant.
    Et pourquoi le "these days". Si ma mémoire ne me trahie pas, OpenBSD n'est même pas à la version 4 de gcc qui est sortie depuis des années. OpenBSD est à la version 3.3 (tout une époque...).

    > They mostly target *fast* i386 architectures and PowerPC.

    Et ?
    C'est là où il y a le plus d'utilisateur, c'est là où il y a le plus de contribution.
    Qu'il fasse pcc ou n'importe quoi, ça sera la même chose (pour peu que pcc soit vaguement populaire).
    En passant, OpenBSD utilisant gcc 3.3, il ne doivent rien remarquer de ces modifications.

    > *but* the compiler is getting bigger and bigger, and slower and slower (very much so).

    Comment il le sait, OpenBSD est à la version 3.3 de gcc...

    C'est con, mais gcc a gagné en rapidité ces derniers temps. Il en a perdu à l'introduction de SSA et maintenant il en gagne. De plus, ça ne veut rien dire. Un compilateur ce n'est pas un truc pour l'utilisateur final, ce n'est pas un jeux ou les fps compte, ça n'a pas des critères d'ergonomies, etc... Avant tout, il rend un service (compiler, générer du code machine). Le service est-il bon ? La majorité pense que oui.

    > GCC warnings are not *really* useful. The -Wall flag shows many right things, and quite a few wrong issues.

    Ben qu'il nous casse pas les couilles avec ça et qu'il désactive les warnings s'il veut coder comme porc. C'est ses oignons. NB : c'est l'option "-w" pour désactiver les warnings. C'est aussi configurable au niveau système.

    > - There is a lot of churn in GCC which ends up with it no longer supporting some architectures that are still relevant to us.

    Et ?
    C'est ses oignons. Si personne ne veut d'une architecture mais seulement lui, ben qu'il retrousse ses manches. Passer à pcc ne change rien à ce problème.
    pcc supporte des architectures "exotiques" ? Je ne crois pas.
    Pcc est-il cross-plateform ? C'est important pour tester les architecture exotique sans avoir des tonnes de matériel.

    > - The whole design of GCC is perverted

    Encore un compliment ou une affirmation gratuite ?

    > This is broken by design

    Encore un compliment ? Une critique argumenté ?

    > as the GPL people

    La conspiration des adorateurs de la GPL. Mais oui...

    > This also makes it impossible to write interesting tools, such as intermediate analyzers

    C'est carrément impossible !

    > This also makes it impossible to plug old legacy back-ends for old architectures into newer compilers.

    ?!?!
    Si tu veux un vieux compilateur, utilise un vieux compilateur ! C'est exactement ce que fait OpenBSD. Il utilise gcc 2.95 et 3.3. Des vieux compilateurs.
    Sûr que pcc n'aura jamais cette "feature" (utiliser des vieux backend avec un nouveau frontend). On en fait le pari ?

    > every GCC update is an engineering nightmare,

    Comment il sait ça?
    OpenBsd n'est même pas à la version 4 de gcc...

    > because there is NO simple choice. You gain some capabilities, and you also lose some important stuff.

    S'il le dit...
    En tout cas pour OpenBSD on n'en sait rien car OpenBSD a arrêté le temps depuis gcc 3.3.

    > Even when you conform, it's hard to write code to the GNU coding standards, which are probably the most illegible coding guidelines for C. It's so obvious it was written by a lisp programmer. As a result, I've even lost interest into rewriting and getting in the GCC repository a few pieces.

    La belle excuse....

    > - some of their most recent advances do not have a chance to work on OpenBSD, like preparsed includes,

    Ben il faut faire le portage. C'est un "peu" le boulot d'OpenBSD.

    > which depend on mmap() at a fixed location.

    Ben dans ce cas ça ne marche pas sous Linux non plus.
    Le "méchant" Red Hat (et pas seulement Red Hat) utilise des adresses alléatoires pour RHEL et Fedora.
    Bref, du gros pipo.

    > - there are quite a few places in GCC and G++ where you cannot have full functionality without having a glibc-equivalent around.

    C'est un problème de portage, c'est à OpenBSD de faire le boulot (du moins de ne pas se plaindre si ce n'est pas fait).

    > - some of the optimisation choices are downright dangerous

    Puisque tu le dis. Depuis quelques jours c'est un feux d'artifice d'exposion de bécane qui compile avec gcc.

    > and wrong for us (like optimizing memory fills away, even if they deal with crypto keys).

    C'est un problème de portage.

    > - don't forget the total nightmare of autoconf/libtool/automake.

    Toujours le même troll...
    Ben qu'OpenBSD fasse l'équivalent d'autoconf/libtool/automake et qui marche partout. Après on en recause.

    > And GCC is *the only program in the ports tree* that actually uses its own libtool. Its configuration and reconfiguration fails abysmally when you try to use a system-wide libtool.

    Enfin une bonne critique....
    Ce bug ne demande qu'à être corrigé.
    Mais je m'interroge. Ça ne serait pas un bug de gcc 3.3 qui a été corrigé depuis des lustres ? Mais OpenBSD ne serait pas au courrant car il reste sckotché à gcc 3.3.

    > I could actually go on for pages...

    Compliment ou critique constructive ?
    Et de quoi ?
    De gcc 3.3 ?

    > I will happily switch to another compiler, so frustrating has been the road with GCC.

    Bon débarras. Qu'OpenBSD n'utilise plus GCC.

    > I've actually been de facto maintainer of GCC on OpenBSD for a few years by now

    Ça n'a pas été trop dure puisque que gcc est en version 3.3 dans OpenBSD.
    Il y a peut-être encore gcc 2.95 dans la dernière OpenBSD que ça ne m'étonnerait pas.




    Si tu veux des critiques constructives sur gcc, t'en trouvera ici par exemple :
    http://www.gccsummit.org/2007/