summaryrefslogtreecommitdiffstats
path: root/DOCS/Italian/gcc-2.96-3.0.html
blob: 511b266468bef42f095e1a05a245736de62c9421 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
<HTML>

<HEAD>
<STYLE>
	.text
		{font-family	:	Verdana, Arial, Helvetica, sans-serif;
		font-size	:	14px;}
</STYLE>
</HEAD>

<BODY BGCOLOR=WHITE>
<FONT CLASS="text">

<P>
<B>Domanda:</B> Cos'è il GCC 2.96 ? Non riesco a trovarlo sul sito GNU.
</P>

<P>
<B>Risposta:</B> Leggi la <A HREF="http://gcc.gnu.org/gcc-2.96.html">risposta ufficiale del team GNU GCC.</A>
</P>

<P>
<B>Domanda:</B> Qual'è il problema col GCC 2.96 ? E con il 3.x ?
</P>

<P>
<B>Risposta:</B>
</P>

<P>Leggi nella documentazione di MySQL :</P>

<P><I>
  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.
</I></P>

<P>
E per le persone, che periodicamente chiedono quali siano gli esatti problemi col
gcc 2.96, la mia risposta: <I>non lo sappiamo esattamente.</I>
Ci sono vari problemi/bug e ne saltano fuori periodicamente di nuovi.
<I>Non è un singolo problema/bug</I>. 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à.
</P>

<P>
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
<I>aggirare</I> i bug del gcc 2.96...
Noi semplicemente non abbiamo l'interesse e il tempo di farlo.
</P>

<P>
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 <I>è</I> un bug,
perchè gcc <I>silenziosamente</I>, senza alcun avvertimento, ha ignorato l'intero blocco asm!
</P>

<P>
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(<B>MEncoder</B> non funziona col 2.95.2 perchè questo compila male
alcune istruzioni MMX). <B>Il 2.96 e il 3.0.x sono difettosi</B>, ma dipende da molti elementi d'ambiente,
incluso il numero di release del gcc 2.96, le caratteristiche di mplayer abilitate, ecc.
<I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti.</I>
</P>

<P><B>Risposta 2:</B></P>

<P>
Leggi anche <A HREF="users_against_developers.html">questo</A> testo !!!</P>

<P>
<B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>tranne</I> MPlayer !
</P>

<P>
<B>Risposta:</B>
</P>

<P>
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.
</P>

<P>
<B>Domanda:</B> No! Sbagli! Funziona tutto col gcc 2.96 <I>incluso</I> MPlayer .
</P>

<P>
<B>Risposta:</B>
</P>

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.
<I>Se per te funziona usando il gcc 2.96, non significa che funzionerà per tutti!</I>
Significa solo che sei fortunato, finchè non scopri un problema. Ma non dimenticare la
<B>regola No.1 degli utenti gcc 2.96: MAI SEGNALARE BUG O PROBLEMI SE STAI USANDO IL GCC 2.96</B> !

<P>
<B>Domanda:</B> Ok. Capito. Ma voglio provarlo... come posso compilare col gcc 2.96?
</P>

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

<P>
<B>Domanda:</B> No! Non sono daccordo con te, perchè ...
</P>

<P>
<B>Risposta:</B> Non importa. Tieni i tuoi commenti per te. Non siamo interessati in storie sul gcc 2.96.
</P>


</FONT>
</BODY>
</HTML>