mirror of https://github.com/mpv-player/mpv
133 lines
4.2 KiB
HTML
133 lines
4.2 KiB
HTML
<HTML>
|
|
|
|
<HEAD>
|
|
<STYLE>
|
|
.text
|
|
{font-family : Verdana, Arial, Helvetica, sans-serif;
|
|
font-size : 14px;}
|
|
</STYLE>
|
|
</HEAD>
|
|
|
|
<BODY BGCOLOR=WHITE>
|
|
<FONT CLASS="text">
|
|
|
|
<P>
|
|
<B>Question:</B> What is GCC 2.96 ? I can't find it at GNU site.
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B> Read the <A HREF="http://gcc.gnu.org/gcc-2.96.html">official answer from GNU GCC team.</A>
|
|
</P>
|
|
|
|
<P>
|
|
<B>Question:</B> What is the problem with GCC 2.96 ? And with 3.x ?
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B>
|
|
</P>
|
|
|
|
<P>Read in MySQL documentation :</P>
|
|
|
|
<P><I>
|
|
Compiler Advisory: Several of our users have reported random crashes and
|
|
table corruption with MySQL binaries compiled with gcc two-dot-nine-six on
|
|
the x86 Linux platform. Although we were unable to duplicate the problems
|
|
ourselves or understand their exact cause, we suspect with a great degree of
|
|
confidence that the problem was compiler related. Replacing the faulty binary
|
|
with our binary always eliminated the problem.
|
|
</I></P>
|
|
|
|
<P>
|
|
And for the people, who periodically asks what are the exact problems with
|
|
gcc 2.96, my answer: <I>we don't know exactly.</I>
|
|
There were various problems and new problems / bugs come up periodically.
|
|
It is <I>not a single bug/problem</I>. We just see various bugreports, mostly
|
|
gcc internal bugs, compiler syntax errors in source or bad code compiled. They
|
|
all are solved using different version of gcc. I understand that gcc 2.96
|
|
has different default optimization flags and they conflicts with our inline
|
|
asm code, but we can't fix them, and we really don't want to fix them as they
|
|
work with other compilers or gcc versions, and the fix may cause speed loss.
|
|
</P>
|
|
|
|
<P>
|
|
I think that the gcc 2.96 should be fixed to be option-compatible with other
|
|
releases, but redhat guys refused to do it. If someone interested - ask
|
|
Eugene K., avifile author, he has a long mailing with them, because they had
|
|
the same problems with avifile. Finally he changed avifile source to
|
|
<I>workaround</I> gcc 2.96 bugs...
|
|
We simply has no interest and time to do it.
|
|
</P>
|
|
|
|
<P>
|
|
Ah, and about the pipe-in-comment bug: it wasn't really our bug.
|
|
I've talked one of gcc maintainers, and he told me that gcc 2.96 and 3.x
|
|
supports intel asm syntax, and it caused the pipe bug. But it <I>is</I> a bug,
|
|
because gcc <I>silently</I>, without any warning, ignored the whole asm block!
|
|
</P>
|
|
|
|
<P>
|
|
Other gcc 3.x problems comes from broken libstdc++ or glibc header (std_*.h)
|
|
installation. They are not our fault. MPlayer compiles and works well with
|
|
gcc 2.95.3 (<B>MEncoder</B> won't work with 2.95.2 because it miscompiles
|
|
some MMX instructions). <B>2.96 and 3.0.x are broken</B>, but it depends on
|
|
many environment elements, including gcc 2.96 release number, enabled mplayer
|
|
features, etc. <I>If it works for you using gcc 2.96, it doesn't mean it will
|
|
work for everyone.</I>
|
|
</P>
|
|
|
|
<P><B>Answer 2:</B></P>
|
|
|
|
<P>
|
|
Also read <A HREF="users_against_developers.html">this</A> text !!!</P>
|
|
|
|
<P>
|
|
<B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>but</I> MPlayer !
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B>
|
|
</P>
|
|
|
|
<P>
|
|
No. You are wrong!
|
|
Several projects (mostly which contain highly optimized inline asm code)
|
|
had problems with gcc 2.96. For example: avifile, MESA / DRI, Wine, ffmpeg,
|
|
lame, NuppelVideo, MySQL. But other projects already workarounded gcc bugs
|
|
(changed code which triggered compiler bugs) so they work for now.
|
|
</P>
|
|
|
|
<P>
|
|
<B>Question:</B> No! You are wrong! Everything works with gcc 2.96 <I>including</I> MPlayer .
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B>
|
|
</P>
|
|
|
|
Good. Be happy. But you must know, it depends on many environment
|
|
elements, including gcc 2.96 release number, enabled mplayer features, etc.
|
|
<I>If it works for you using gcc 2.96, it doesn't mean it will work for everyone!</I>
|
|
It only means that you are lucky, until you find a problem. But don't forget the
|
|
<B>No.1 rule of gcc 2.96 users: NEVER REPORT BUGS OR PROBLEMS IF YOU ARE USING GCC 2.96</B> !
|
|
|
|
<P>
|
|
<B>Question:</B> Ok. Understood. But I want to give it a try... how to compile with gcc 2.96?
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B> Really? Are you sure? Ok. You know... here it is: ./configure --disable-gcc-checking
|
|
</P>
|
|
|
|
<P>
|
|
<B>Question:</B> No! I don't agree with you, because ...
|
|
</P>
|
|
|
|
<P>
|
|
<B>Answer:</B> It doesn't matter. Keep your comments to yourself. We're not interested in gcc 2.96 stories.
|
|
</P>
|
|
|
|
</FONT>
|
|
</BODY>
|
|
</HTML>
|