zmaten z gcc, glibc...

pasky na ji.cz pasky na ji.cz
Pondělí Srpen 27 20:53:07 CEST 2001


> Ano, udelali takovou strasnou pitomost, ze vetsinu soucasnych produktu
> diky tomu lze novym kompilatorem uz nyni kompilovat (a mame uz nyni k
> dispozici GCC 3.0+). Diky tomu jsme se pohnuli dopredu (vyrabet patche
> zpetne kompatibility je opravdu velmi produktivni zalezitost).
Eh? Prosim? Ted nejak nechapu o cem vlastne mluvite... AFAIK gcc 0.96 nebyla
zadna stable release, ale pouze development verze... rozhodne to tedy nebyla
'nova verze kompilatoru' v tom smyslu v jakem to zrejme myslite - ten kompilator
je vyvojova verze, a to velice BUGGY verze, ktera ten kod nepreklada SPRAVNE
- ty chyby jsou zname, a v dalsich verzich samozrejme fixnute, jen je nesmysl
davat neco takoveho prakticky neodladeneho (logicky) do release nejake komercni
distribuce.
> 
> Radeji nevynasejte soudy, pokud nemate dostatek relevantnich informaci. Je
> uplne normalni, ze se v distribucich objevuji ruzne verze ruzneho SW a to
> jak bety, tak meziverze z CVS. Dulezite je vsak hlavne to, jestli ta
> prislusna verze dobre funguje. Kompilatorem z RH lze prelozit celou
> distribuci, takze asi funguje (jako jediny take bez problemu na SPARC a
> Alpha platforme, coz se o starsich verzich rict neda).
V distribucich se takove verze vyskytovat mohou, ale za ospravedlnitelne to
povazuji pouze pokud je skutecne velice vyhodny pomer ocekavana_stabilita /
nove_featury. Ta prislusna verze dobre neefunguje - resp. funguje (nejak ;)
na mensi a jednodussi zdrojaky, ale zejmena u slozitejsich C++ zdrojaku (napriklad
ono ACE ;) ci C black magic (mplayer,kernel) tezce ztroskotava na internal
compiler errorech, coz nepovazuji za 'dobre funguje'.

To o prekladu cele distribuce byla doufam nadsazka... uz jen kdyz vememe
elementarni priklad, kernel - je 'cela distribuce' distribuce bez kernelu? ;-)))

OBTW, jde gcc-2.96 zkompilovat glibc? (netvrdim ze ne, jen by me to proste
zajimalo)
> 
> Pokud je v kompilatoru chyba, je nutne ji opravit. Ovsem chyby jsou ve
> vsech programech (a to i ve starsich kompilatorech).
Jiste, ale zdaleka ne tolik... samozrejme, pokud je v kompilatoru chyba,
je nutne ji opravit, a kvuli tomu se prave vydavaji alfa verze, kvuli tomu
existuje anonymni cvs etc - ale nikdy se takove verze oficialne nevydavaji
nebo se nezarazuji do distribuci, protoze jen malo kdo pujde a upgradne si
compiler, kdyz mu to nepujde, ale bude zavalovat nesmyslnymi bugreporty bud
autora programu nebo autory gcc...
> 
> BTW: jadro s tim nema co do cineni.
A proc jako?
>                                     Jadro 2.2.x se preklada starym
>      kompilatorem proto, ze je overene, ze to funguje.
Jadro 2.2.x se nepreklada redhat-buggy kompilatorem proto, ze je overene,
ze to nefunguje. ;-)
Proc jinak existuje v redhatu i 'kgcc'? Kdyz jsou chlapci s cervenymi klobouky
tak dobrodruzni, tak by imho tak na takoveto 'overenosti' nehledeli...
>                                                        Jadro je totiz na
>      verze kompilatoru dost nachylne, coz je vlastnost (a nikomu se do
>      toho jednoduse nechce stourat).
To je pochopitelne, jadro je na tohle dosti citliva zalezitost, kompilator
musi umet produkovat opravdu fine kod :-) - ale afaik jde prelozit vsemi skutecne
stabilnimi verzemi gcc (pomineme-li neprijemnosti jako multiline stringy :)
(resp. nove jadro novejsimi stabilnimi verzemi gcc ;).
>      Mozna jste nepostrehl, ale jadra rady 2.4.x se normalne prekladaji
>      kopilatorem GCC 2.96, ktery RH pouziva (a problemy nejsou).
Tak to jsem nepostrehl... vim jen o nejake flame na lkml (asi pred pul rokem?)
kde se Linus rozciloval nad RH :-).

-- 

				Petr "Pasky" Baudis
.                                                                       .
#define BITCOUNT(x)     (((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F) % 255)
#define  BX_(x)         ((x) - (((x)>>1)&0x77777777)                    \
                             - (((x)>>2)&0x33333333)                    \
                             - (((x)>>3)&0x11111111))
             -- really weird C code to count the number of bits in a word
.                                                                       .
My public PGP key is on: http://pasky.ji.cz/~pasky/pubkey.txt
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d- s++:++ a--- C+++ UL++++$ P+ L+++ E--- W+ N !o K- w-- !O M-
!V PS+ !PE Y+ PGP+>++ t+ 5 X(+) R++ tv- b+ DI(+) D+ G e-> h! r% y?
------END GEEK CODE BLOCK------


Další informace o konferenci Linux