view DOCS/gcc-2.96-3.0.html @ 4567:a7f2c58a9ab1

unscaled converters BGR24 -> BGR32 & RGB24 -> RGB32 BGR32 -> BGR24 & RGB32 -> RGB24
author michael
date Thu, 07 Feb 2002 15:29:15 +0000
parents e67d400b6fde
children 6cb9d9a1716d
line wrap: on
line source

<HTML>
<BODY BGCOLOR=WHITE>
<FONT face="Verdana, Arial, Helvetica, sans-serif" size=2>

<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 3.x versions. <B>Only 2.96 is 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 (mainly which source contains high optimized inline asm code)
had problems with gcc 2.96. For example: avifile, MESA / DRI, Wine, ffmpeg, lame, NuppelVideo.
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 is it: ./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 commets for yourself. We're not interested in gcc 2.96 stories.
</P>


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