4867
|
1 <HTML>
|
|
2 <BODY BGCOLOR=WHITE>
|
|
3 <FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>
|
|
4
|
|
5 <P>
|
|
6 <B>Domanda:</B> Cos'è il GCC 2.96 ? Non riesco a trovarlo sul sito GNU.
|
|
7 </P>
|
|
8
|
|
9 <P>
|
|
10 <B>Risposta:</B> Leggi la <A HREF="http://gcc.gnu.org/gcc-2.96.html">risposta ufficiale del team GNU GCC.</A>
|
|
11 </P>
|
|
12
|
|
13 <P>
|
|
14 <B>Domanda:</B> Qual'è il problema col GCC 2.96 ? E con il 3.x ?
|
|
15 </P>
|
|
16
|
|
17 <P>
|
|
18 <B>Risposta:</B>
|
|
19 </P>
|
|
20
|
|
21 <P>Leggi nella documentazione di MySQL :</P>
|
|
22
|
|
23 <P><I>
|
|
24 Avviso per il compilatore: molti nostri utenti hanno segnalato crash casuali e
|
|
25 corruzione delle tabelle con binari MySQL compilati con gcc due-punto-nove-sei su
|
|
26 piattaforma Linux x86. Sebbene non riusciamo a riprodurre gli errori
|
|
27 o capire le cause esatte, sospettiamo con un certo grado di sicurezza
|
|
28 che il problema sia relativo al compilatore. Rimpiazzare il binario difettoso
|
|
29 col nostro ha sempre eliminato il problema.
|
|
30 </I></P>
|
|
31
|
|
32 <P>
|
|
33 E per le persone, che periodicamente chiedono quali siano gli esatti problemi col
|
|
34 gcc 2.96, la mia risposta: <I>non lo sappiamo esattamente.</I>
|
|
35 Ci sono vari problemi/bug e ne saltano fuori periodicamente di nuovi.
|
|
36 <I>Non è un singolo problema/bug</I>. Noi vediamo solo varie segnalazioni di bug, soprattutto
|
|
37 bug interni al gcc, errori di sintassi nei sorgenti del compilatore o codice compilato male.
|
|
38 Questi sono tutti risolti usando una versione differente di gcc. Capisco che il gcc 2.96
|
|
39 ha diverse ottimizzazioni di default e che queste vadano in conflitto col nostro codice
|
|
40 asm, ma noi non possiamo correggerlo, e veramente non vogliamo in quanto
|
|
41 funziona con altri compilatori o verdioni di gcc, e la correzione può causare perdite di velocità.
|
|
42 </P>
|
|
43
|
|
44 <P>
|
|
45 Penso che il gcc 2.96 dovrebbe essere corretto per essere compatibile con le opzioni delle altre
|
|
46 versioni, ma i ragazzi della redhat si sono rifiutati di farlo. Se qualcuno è interessato - chieda
|
|
47 a Eugene K., l'autore di avifile, che ha avuto un longo scambio di mail con loro, perchè aveva
|
|
48 gli stessi problemi con avifile. Alla fine lui ha modificato i sorgenti di avifile per
|
|
49 <I>aggirare</I> i bug del gcc 2.96...
|
|
50 Noi semplicemente non abbiamo l'interesse e il tempo di farlo.
|
|
51 </P>
|
|
52
|
|
53 <P>
|
|
54 Ah, e a proposito del bug pipe-in-comment: non era in realtà un nostro bug.
|
|
55 Ho parlato con uno dei mainteiner del gcc, e mi ha detto che il gcc 2.96 e 3.x
|
|
56 supporta la sintassi asm intel, e questo causava il problema. Ma <I>è</I> un bug,
|
|
57 perchè gcc <I>silenziosamente</I>, senza alcun avvertimento, ha ignorato l'intero blocco asm!
|
|
58 </P>
|
|
59
|
|
60 <P>
|
|
61 Altri problemi col gcc 3.x provengono dall'istallazione di libstdc++ difettoso o un header glibc (std_*.h).
|
|
62 Non sono un nostro errore. MPlayer compila e funziona bene con le versioni di
|
|
63 gcc 3.x. <B>Solo il 2.96 è difettoso</B>, ma dipende da molti elementi d'ambiente,
|
|
64 incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc.
|
|
65 <I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti.</I>
|
|
66 </P>
|
|
67
|
|
68 <P><B>Risposta 2:</B></P>
|
|
69
|
|
70 <P>
|
|
71 Leggi anche <A HREF="users_against_developers.html">questo</A> testo !!!</P>
|
|
72
|
|
73 <P>
|
|
74 <B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>tranne</I> MPlayer
|
|
75 </P>
|
|
76
|
|
77 <P>
|
|
78 <B>Risposta:</B>
|
|
79 </P>
|
|
80
|
|
81 <P>
|
|
82 No. Tu sbagli!
|
|
83 Molti progetti (soprattutto quelli che hanno nei sorgenti codice asm altamente ottimizzato)
|
|
84 hanno avuto problemi col gcc 2.96. Per esempio: avifile, MESA / DRI, Wine, ffmpeg, lame, NuppelVideo.
|
|
85 Ma altri progetti hanno già aggirato i bug gcc (hanno cambiato il codice che
|
|
86 scatenava i bug del compilatore) così per ora funzionano.
|
|
87 </P>
|
|
88
|
|
89 <P>
|
|
90 <B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>incluso</I> MPlayer
|
|
91 </P>
|
|
92
|
|
93 <P>
|
|
94 <B>Risposta:</B>
|
|
95 </P>
|
|
96
|
|
97 Bene. Sii felice. Ma sappi, dipende da molti elementi d'ambiente,
|
|
98 incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc.
|
|
99 <I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti!</I>
|
|
100 Significa solo che sei fortunato, finchè non scopri un problema. Ma non dimenticare la
|
|
101 <B>regola No.1 degli utenti gcc 2.96: MAI SEGNALARE BUG O PROBLEMI SE STAI USANDO IL GCC 2.96</B>
|
|
102
|
|
103 <P>
|
|
104 <B>Domanda:</B> Ok. Capito. Ma voglio provarlo... come posso compilare col gcc 2.96?
|
|
105 </P>
|
|
106
|
|
107 <P>
|
|
108 <B>Risposta:</B> Veramente? Sei sicuro? Ok. Sai... eccotelo: ./configure --disable-gcc-checking
|
|
109 </P>
|
|
110
|
|
111 <P>
|
|
112 <B>Domanda:</B> No! Non sono daccordo con te, perchè ...
|
|
113 </P>
|
|
114
|
|
115 <P>
|
|
116 <B>Risposta:</B> Non importa. Tieni i tuoi commenti per te. Non siamo interessati in storie sul gcc 2.96.
|
|
117 </P>
|
|
118
|
|
119
|
|
120 </FONT>
|
|
121 </BODY>
|
|
122 </HTML>
|