2440
|
1 <HTML>
|
4982
|
2
|
|
3 <HEAD>
|
|
4 <STYLE>
|
|
5 .text
|
|
6 {font-family : Verdana, Arial, Helvetica, sans-serif;
|
|
7 font-size : 14px;}
|
|
8 </STYLE>
|
|
9 </HEAD>
|
|
10
|
2440
|
11 <BODY BGCOLOR=WHITE>
|
4982
|
12 <FONT CLASS="text">
|
2441
|
13
|
|
14 <P>
|
5054
|
15 <B>Question:</B> What is GCC 2.96 ? I can't find it at the GNU site.
|
2441
|
16 </P>
|
|
17
|
|
18 <P>
|
|
19 <B>Answer:</B> Read the <A HREF="http://gcc.gnu.org/gcc-2.96.html">official answer from GNU GCC team.</A>
|
|
20 </P>
|
2440
|
21
|
|
22 <P>
|
|
23 <B>Question:</B> What is the problem with GCC 2.96 ? And with 3.x ?
|
|
24 </P>
|
|
25
|
|
26 <P>
|
|
27 <B>Answer:</B>
|
|
28 </P>
|
|
29
|
4542
|
30 <P>Read in MySQL documentation :</P>
|
|
31
|
|
32 <P><I>
|
|
33 Compiler Advisory: Several of our users have reported random crashes and
|
|
34 table corruption with MySQL binaries compiled with gcc two-dot-nine-six on
|
|
35 the x86 Linux platform. Although we were unable to duplicate the problems
|
|
36 ourselves or understand their exact cause, we suspect with a great degree of
|
|
37 confidence that the problem was compiler related. Replacing the faulty binary
|
|
38 with our binary always eliminated the problem.
|
|
39 </I></P>
|
|
40
|
2440
|
41 <P>
|
5054
|
42 And for the people who periodically ask what the exact problems with
|
|
43 gcc 2.96 are, my answer: <I>We don't know exactly.</I>
|
2441
|
44 There were various problems and new problems / bugs come up periodically.
|
5054
|
45 It is <I>not a single bug/problem</I>. We just see various bug reports, mostly
|
2440
|
46 gcc internal bugs, compiler syntax errors in source or bad code compiled. They
|
5054
|
47 are all solved by using a different version of gcc. I understand that gcc 2.96
|
|
48 has different default optimization flags and they conflict with our inline
|
2440
|
49 asm code, but we can't fix them, and we really don't want to fix them as they
|
|
50 work with other compilers or gcc versions, and the fix may cause speed loss.
|
|
51 </P>
|
|
52
|
|
53 <P>
|
5054
|
54 I think that gcc 2.96 should be fixed to be option-compatible with other
|
|
55 releases, but Red Hat guys refused to do it. If someone is interested - ask
|
2440
|
56 Eugene K., avifile author, he has a long mailing with them, because they had
|
|
57 the same problems with avifile. Finally he changed avifile source to
|
5054
|
58 <I>work around</I> gcc 2.96 bugs...
|
|
59 We simply have no interest and time to do it.
|
2440
|
60 </P>
|
|
61
|
|
62 <P>
|
|
63 Ah, and about the pipe-in-comment bug: it wasn't really our bug.
|
5054
|
64 I've talked to one of the gcc maintainers, and he told me that gcc 2.96 and 3.x
|
|
65 support Intel asm syntax, and it caused the pipe bug. But it <I>is</I> a bug,
|
2909
|
66 because gcc <I>silently</I>, without any warning, ignored the whole asm block!
|
2440
|
67 </P>
|
|
68
|
|
69 <P>
|
5054
|
70 Other gcc 3.x problems come from a broken libstdc++ or glibc header (std_*.h)
|
2440
|
71 installation. They are not our fault. MPlayer compiles and works well with
|
5001
|
72 gcc 2.95.3 (<B>MEncoder</B> won't work with 2.95.2 because it miscompiles
|
|
73 some MMX instructions). <B>2.96 and 3.0.x are broken</B>, but it depends on
|
|
74 many environment elements, including gcc 2.96 release number, enabled mplayer
|
|
75 features, etc. <I>If it works for you using gcc 2.96, it doesn't mean it will
|
|
76 work for everyone.</I>
|
2440
|
77 </P>
|
|
78
|
3053
|
79 <P><B>Answer 2:</B></P>
|
|
80
|
|
81 <P>
|
|
82 Also read <A HREF="users_against_developers.html">this</A> text !!!</P>
|
|
83
|
2441
|
84 <P>
|
5001
|
85 <B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>but</I> MPlayer !
|
2441
|
86 </P>
|
|
87
|
|
88 <P>
|
|
89 <B>Answer:</B>
|
|
90 </P>
|
|
91
|
|
92 <P>
|
|
93 No. You are wrong!
|
5054
|
94 Several projects (mostly those which contain highly optimized inline asm code)
|
|
95 had problems with gcc 2.96, for example: avifile, MESA / DRI, Wine, ffmpeg,
|
|
96 lame, NuppelVideo, MySQL. But other projects already worked around gcc bugs
|
5001
|
97 (changed code which triggered compiler bugs) so they work for now.
|
2441
|
98 </P>
|
|
99
|
|
100 <P>
|
5001
|
101 <B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>including</I> MPlayer .
|
2441
|
102 </P>
|
|
103
|
|
104 <P>
|
|
105 <B>Answer:</B>
|
|
106 </P>
|
|
107
|
|
108 Good. Be happy. But you must know, it depends on many environment
|
|
109 elements, including gcc 2.96 release number, enabled mplayer features, etc.
|
|
110 <I>If it works for you using gcc 2.96, it doesn't mean it will work for everyone!</I>
|
|
111 It only means that you are lucky, until you find a problem. But don't forget the
|
5001
|
112 <B>No.1 rule of gcc 2.96 users: NEVER REPORT BUGS OR PROBLEMS IF YOU ARE USING GCC 2.96</B> !
|
2441
|
113
|
|
114 <P>
|
5054
|
115 <B>Question:</B> OK. Understood. But I want to give it a try... how to compile with gcc 2.96?
|
2441
|
116 </P>
|
|
117
|
|
118 <P>
|
5054
|
119 <B>Answer:</B> Really? Are you sure? OK. You know... here it is: ./configure --disable-gcc-checking
|
2441
|
120 </P>
|
|
121
|
|
122 <P>
|
|
123 <B>Question:</B> No! I don't agree with you, because ...
|
|
124 </P>
|
|
125
|
|
126 <P>
|
5001
|
127 <B>Answer:</B> It doesn't matter. Keep your comments to yourself. We're not interested in gcc 2.96 stories.
|
2441
|
128 </P>
|
|
129
|
|
130 </FONT>
|
2440
|
131 </BODY>
|
|
132 </HTML>
|