comparison DOCS/gcc-2.96-3.0.html @ 5054:93c65f130dd6

corrections by Diego Biurrun <diego@biurrun.de>
author jaf
date Tue, 12 Mar 2002 12:36:00 +0000
parents b4c4d1abb7a4
children
comparison
equal deleted inserted replaced
5053:146513806b2f 5054:93c65f130dd6
10 10
11 <BODY BGCOLOR=WHITE> 11 <BODY BGCOLOR=WHITE>
12 <FONT CLASS="text"> 12 <FONT CLASS="text">
13 13
14 <P> 14 <P>
15 <B>Question:</B> What is GCC 2.96 ? I can't find it at GNU site. 15 <B>Question:</B> What is GCC 2.96 ? I can't find it at the GNU site.
16 </P> 16 </P>
17 17
18 <P> 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> 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> 20 </P>
37 confidence that the problem was compiler related. Replacing the faulty binary 37 confidence that the problem was compiler related. Replacing the faulty binary
38 with our binary always eliminated the problem. 38 with our binary always eliminated the problem.
39 </I></P> 39 </I></P>
40 40
41 <P> 41 <P>
42 And for the people, who periodically asks what are the exact problems with 42 And for the people who periodically ask what the exact problems with
43 gcc 2.96, my answer: <I>we don't know exactly.</I> 43 gcc 2.96 are, my answer: <I>We don't know exactly.</I>
44 There were various problems and new problems / bugs come up periodically. 44 There were various problems and new problems / bugs come up periodically.
45 It is <I>not a single bug/problem</I>. We just see various bugreports, mostly 45 It is <I>not a single bug/problem</I>. We just see various bug reports, mostly
46 gcc internal bugs, compiler syntax errors in source or bad code compiled. They 46 gcc internal bugs, compiler syntax errors in source or bad code compiled. They
47 all are solved using different version of gcc. I understand that gcc 2.96 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 conflicts with our inline 48 has different default optimization flags and they conflict with our inline
49 asm code, but we can't fix them, and we really don't want to fix them as they 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. 50 work with other compilers or gcc versions, and the fix may cause speed loss.
51 </P> 51 </P>
52 52
53 <P> 53 <P>
54 I think that the gcc 2.96 should be fixed to be option-compatible with other 54 I think that gcc 2.96 should be fixed to be option-compatible with other
55 releases, but redhat guys refused to do it. If someone interested - ask 55 releases, but Red Hat guys refused to do it. If someone is interested - ask
56 Eugene K., avifile author, he has a long mailing with them, because they had 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 57 the same problems with avifile. Finally he changed avifile source to
58 <I>workaround</I> gcc 2.96 bugs... 58 <I>work around</I> gcc 2.96 bugs...
59 We simply has no interest and time to do it. 59 We simply have no interest and time to do it.
60 </P> 60 </P>
61 61
62 <P> 62 <P>
63 Ah, and about the pipe-in-comment bug: it wasn't really our bug. 63 Ah, and about the pipe-in-comment bug: it wasn't really our bug.
64 I've talked one of gcc maintainers, and he told me that gcc 2.96 and 3.x 64 I've talked to one of the gcc maintainers, and he told me that gcc 2.96 and 3.x
65 supports intel asm syntax, and it caused the pipe bug. But it <I>is</I> a bug, 65 support Intel asm syntax, and it caused the pipe bug. But it <I>is</I> a bug,
66 because gcc <I>silently</I>, without any warning, ignored the whole asm block! 66 because gcc <I>silently</I>, without any warning, ignored the whole asm block!
67 </P> 67 </P>
68 68
69 <P> 69 <P>
70 Other gcc 3.x problems comes from broken libstdc++ or glibc header (std_*.h) 70 Other gcc 3.x problems come from a broken libstdc++ or glibc header (std_*.h)
71 installation. They are not our fault. MPlayer compiles and works well with 71 installation. They are not our fault. MPlayer compiles and works well with
72 gcc 2.95.3 (<B>MEncoder</B> won't work with 2.95.2 because it miscompiles 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 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 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 75 features, etc. <I>If it works for you using gcc 2.96, it doesn't mean it will
89 <B>Answer:</B> 89 <B>Answer:</B>
90 </P> 90 </P>
91 91
92 <P> 92 <P>
93 No. You are wrong! 93 No. You are wrong!
94 Several projects (mostly which contain highly optimized inline asm code) 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, 95 had problems with gcc 2.96, for example: avifile, MESA / DRI, Wine, ffmpeg,
96 lame, NuppelVideo, MySQL. But other projects already workarounded gcc bugs 96 lame, NuppelVideo, MySQL. But other projects already worked around gcc bugs
97 (changed code which triggered compiler bugs) so they work for now. 97 (changed code which triggered compiler bugs) so they work for now.
98 </P> 98 </P>
99 99
100 <P> 100 <P>
101 <B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>including</I> MPlayer . 101 <B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>including</I> MPlayer .
110 <I>If it works for you using gcc 2.96, it doesn't mean it will work for everyone!</I> 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 111 It only means that you are lucky, until you find a problem. But don't forget the
112 <B>No.1 rule of gcc 2.96 users: NEVER REPORT BUGS OR PROBLEMS IF YOU ARE USING GCC 2.96</B> ! 112 <B>No.1 rule of gcc 2.96 users: NEVER REPORT BUGS OR PROBLEMS IF YOU ARE USING GCC 2.96</B> !
113 113
114 <P> 114 <P>
115 <B>Question:</B> Ok. Understood. But I want to give it a try... how to compile with gcc 2.96? 115 <B>Question:</B> OK. Understood. But I want to give it a try... how to compile with gcc 2.96?
116 </P> 116 </P>
117 117
118 <P> 118 <P>
119 <B>Answer:</B> Really? Are you sure? Ok. You know... here it is: ./configure --disable-gcc-checking 119 <B>Answer:</B> Really? Are you sure? OK. You know... here it is: ./configure --disable-gcc-checking
120 </P> 120 </P>
121 121
122 <P> 122 <P>
123 <B>Question:</B> No! I don't agree with you, because ... 123 <B>Question:</B> No! I don't agree with you, because ...
124 </P> 124 </P>