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