Domanda: Cos'è il GCC 2.96 ? Non riesco a trovarlo sul sito GNU.

Risposta: Leggi la risposta ufficiale del team GNU GCC.

Domanda: Qual'è il problema col GCC 2.96 ? E con il 3.x ?

Risposta:

Leggi nella documentazione di MySQL :

Avviso per il compilatore: molti nostri utenti hanno segnalato crash casuali e corruzione delle tabelle con binari MySQL compilati con gcc due-punto-nove-sei su piattaforma Linux x86. Sebbene non riusciamo a riprodurre gli errori o capire le cause esatte, sospettiamo con un certo grado di sicurezza che il problema sia relativo al compilatore. Rimpiazzare il binario difettoso col nostro ha sempre eliminato il problema.

E per le persone, che periodicamente chiedono quali siano gli esatti problemi col gcc 2.96, la mia risposta: non lo sappiamo esattamente. Ci sono vari problemi/bug e ne saltano fuori periodicamente di nuovi. Non è un singolo problema/bug. Noi vediamo solo varie segnalazioni di bug, soprattutto bug interni al gcc, errori di sintassi nei sorgenti del compilatore o codice compilato male. Questi sono tutti risolti usando una versione differente di gcc. Capisco che il gcc 2.96 ha diverse ottimizzazioni di default e che queste vadano in conflitto col nostro codice asm, ma noi non possiamo correggerlo, e veramente non vogliamo in quanto funziona con altri compilatori o verdioni di gcc, e la correzione può causare perdite di velocità.

Penso che il gcc 2.96 dovrebbe essere corretto per essere compatibile con le opzioni delle altre versioni, ma i ragazzi della redhat si sono rifiutati di farlo. Se qualcuno è interessato - chieda a Eugene K., l'autore di avifile, che ha avuto un lungo scambio di mail con loro, perchè aveva gli stessi problemi con avifile. Alla fine lui ha modificato i sorgenti di avifile per aggirare i bug del gcc 2.96... Noi semplicemente non abbiamo l'interesse e il tempo di farlo.

Ah, e a proposito del bug pipe-in-comment: non era in realtà un nostro bug. Ho parlato con uno dei mainteiner del gcc, e mi ha detto che il gcc 2.96 e 3.x supporta la sintassi asm intel, e questo causava il problema. Ma è un bug, perchè gcc silenziosamente, senza alcun avvertimento, ha ignorato l'intero blocco asm!

Altri problemi col gcc 3.x provengono dall'istallazione di libstdc++ difettoso o un header glibc (std_*.h). Non sono un nostro errore. MPlayer compila e funziona bene con la versione di gcc 2.95.3(MEncoder non funziona col 2.95.2 perchè questo compila male alcune istruzioni MMX). Il 2.96 e il 3.0.x sono difettosi, ma dipende da molti elementi d'ambiente, incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc. Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti.

Risposta 2:

Leggi anche questo testo !!!

Domanda: No! Sbagli! Funziona tutto col gcc 2.96 tranne MPlayer !

Risposta:

No. Tu sbagli! Molti progetti (soprattutto quelli che hanno nei sorgenti codice asm altamente ottimizzato) hanno avuto problemi col gcc 2.96. Per esempio: avifile, MESA / DRI, Wine, ffmpeg, lame, NuppelVideo, MySQL. Ma altri progetti hanno già aggirato i bug gcc (hanno cambiato il codice che scatenava i bug del compilatore) così per ora funzionano.

Domanda: No! Sbagli! Funziona tutto col gcc 2.96 incluso MPlayer .

Risposta:

Bene. Sii felice. Ma sappi, dipende da molti elementi d'ambiente, incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc. Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti! Significa solo che sei fortunato, finchè non scopri un problema. Ma non dimenticare la regola No.1 degli utenti gcc 2.96: MAI SEGNALARE BUG O PROBLEMI SE STAI USANDO IL GCC 2.96 !

Domanda: Ok. Capito. Ma voglio provarlo... come posso compilare col gcc 2.96?

Risposta: Veramente? Sei sicuro? Ok. Sai... eccotelo: ./configure --disable-gcc-checking

Domanda: No! Non sono daccordo con te, perchè ...

Risposta: Non importa. Tieni i tuoi commenti per te. Non siamo interessati in storie sul gcc 2.96.