din ce scrie la redhat pe site, nu au scos ei 2.96 de capul lor (hehe,
stiu ca cei de la mplayer au alta parere dar cred ca gresesc IMHO) :

(chiar dau si expemple de cod "corect" si "broken")
http://www.redhat.com/advice/speaks_gcc.html

Red Hat made a decision to use a branch of the public GNU compiler
collection (gcc) when it launched the Red Hat 7 series of Linux operating
systems. This choice, although controversial, was done for very specific
reasons. Here is an overview of the key issues and decisions impacting Red
Hat's engineering organization in the decision to use gcc 2.96-rh.

    * gcc 2.96 is more standards compliant than any other version of gcc
released at the time Red Hat made this decision.

      It may not be "standards compliant" as in "what most others are
shipping", but 2.96 is almost fully ISO C99 and ISO C++ 98 compliant,
unlike any previous version of gcc.
    * gcc 2.96 has more complete support for C++. Older versions of gcc
could handle only a very limited subset of C++.

      Earlier versions of g++ often had problems with templates and other
valid C++ constructs.
    * Most of gcc 2.96's perceived "bugs" are actually broken code that
older gccs accepted because they were not standards compliant - or, using
an alternative term to express the same thing, buggy.

      A C or C++ compiler that doesn't speak the standardized C language
is a bug, not a feature.

      In the initial version of gcc 2.96, there were a couple of other
bugs. All known ones have been fixed in the version from updates. The bugs
in the initial version don't make the whole compiler broken, though. There
has never been a 100% bug free compiler or any other 100% bug free
non-trivial program.

      The current version can be taken from Red Hat Linux 7.3. It will
work without changes on prior 7.x releases of Red Hat Linux.

    * gcc 2.96 generates better, more optimized code.

    * gcc 2.96 supports all architectures Red Hat is currently supporting,
including ia64. No other compiler can do this. Having to maintain
different compilers for every different architecture is a development
(find a bug, then fix it 4 times), QA and support nightmare.

    * The binary incompatibility issues are not as bad as is sometimes
rumored.

      First of all, they affect dynamically linked C++ code only. If you
don't use C++, you aren't affected. If you use C++ and link statically,
you aren't affected.

      If you don't mind depending on a current glibc, you might also want
to link statically to c++ libraries while linking dynamically to glibc and
other C libraries you're using: g++ -o test test.cc -Wl,-Bstatic -lstdc++
-Wl,-Bdynamic (Thanks to Pavel Roskin for pointing this out)

      Second, the same issues appear with every major release of gcc so
far. gcc 2.7.x C++ is not binary compatible with gcc 2.8.x. gcc 2.8.x C++
is not binary compatible with egcs 1.0.x. egcs 1.0.x C++ is not binary
compatible with egcs 1.1.x. egcs 1.1.x C++ is not binary compatible with
gcc 2.95. gcc 2.95 C++ is not binary compatible with gcc 3.0.

      Besides, it can easily be circumvented. Either link statically, or
simply distribute libstdc++ with your program and install it if
necessary. Since it has a different soname, it can coexist with other
libstdc++ versions without causing any problems.

      Red Hat Linux 7 also happens to be the first Linux distributions
using the current version of glibc, 2.2.x. This update is not binary
compatible with older distributions either (unless you update glibc -
there's nothing that prevents you from updating libstdc++ at the same
time). If you want to distribute something binary-only, link it statically
and it will run everywhere.




On Fri, 12 Jul 2002, Laurentiu Matei wrote:

> Red Hat de exemplu s-au apucat si au scos de capul lor o versiune noua 
> de gcc (2.96) - injurata la greu de multa lume. Atata timp cat exista in 
> distributie pachete separate cu kernelul original (cum e facut de Linus) 
> presupun ca isi baga nasul si acolo. Asta pentru inceput... :-)
> 
> Lars
> 
> 
> Florin Andrei wrote:
> 
> >On Tue, 2002-06-11 at 15:37, root wrote:
> >
> >>Poate cineva sa imi spuna sau sa imi dea un link catre mai multe 
> >>detalii. Ma tot freaca o intrebare de ceva timp: pachetele de baza pt 
> >>linux (ma refer la kernel, modutils, gcc, etc...) in diferite 
> >>distributii sunt toate la fel, cele scoase de GNU, sau fiecare 
> >>producator le modifica dupa cum il taie capul?
> >>
> >
> >Unele sint la fel.
> >Altele sint modificate "dupa cum il taie capul". :-)
> >Altele sint modificate pe baza unor motive rationale.
> >
> >Depinde de pachet, distributie, versiune, anotimp, presiunea
> >atmosferica, precum si de cine intreaba/raspunde. :-)
> >
> 
> 
> 
> ---
> Pentru dezabonare, trimiteti mail la 
> [EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
> REGULI, arhive si alte informatii: http://www.lug.ro/mlist/
> 
> 

---
Pentru dezabonare, trimiteti mail la 
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/


Raspunde prin e-mail lui