Koneessa on RH8 ja umpivanha gcc-3.2 kääntäjä, nytpä kääntelin sorsista tilalle gcc-3.4.3:n ja tapahtuu seuraavaa. Normaalia debuggi-käännöstä tehdessä kaikki menee hienosti ja binääri toimii, mutta millä tahansa optimointi-lipulla (O1-O3 kokeiltu) binääri menee rikki. (käntyy siis kuitenkin virheettä, mutta niitä tulee ajoaikaisesti.)
Herjat tulevat mm. POSIX-thread kirjastosta ym. (joita ei siis ole käännetty tällä uudemmalla kääntäjällä.) Mikä tuohon auttaisi, distribuution vaihto ei tule kysymykseen.
Herjat tulevat mm. POSIX-thread kirjastosta ym. (joita ei siis ole käännetty tällä uudemmalla kääntäjällä.) Mikä tuohon auttaisi, distribuution vaihto ei tule kysymykseen.
Vastaukset 4
Vanhimmat
Käännä kaikki ne kirjastot, joista se herjaa,
uusiksi itse käsin sillä uudella 3.4.3
kääntäjällä?
Saattas toimii ...
Ihmetyttää vain tuo, miksi optimoimaton koodi toimii oikein ja optimoitu ei, ts. kirjastothan linkataan mukaan käännöksen jälkeen ja optimointiflägit vaikuttavat käännökseen eivät linkkaukseen. No tutkimattomia ovat kääntäjien tiet varmaan :)
"Koneessa on RH8 ja umpivanha gcc-3.2 kääntäjä,"
Ja syy päivitykseen? Eikö kääntäjä käännä oikeinkirjoitettua koodia? Pelkän kääntäjän kääntäminen ei pitkälle riitä, kaikki kirjastot ovat jo aikoja muuttuneet.
Luultavasti käännöksesi toimisivat hienosta RH8:ssa?
"Mikä tuohon auttaisi, distribuution vaihto ei tule kysymykseen."
Viaton kysymys vain, miksi käytät noin vanhaa järjestelmää, johon ei enää tukea edes ole saatavilla. RH8 -> RH9 -> RHEL tai Fedora Core?
PS. Joitakin RHEL-klooneja on olemassa?
Vanhakin kääntäjä kääntää ihan oikein, mutta nyt on kyse optimoidun koodin tehokkuudesta, jolle on olemassa jotain reunaehtoja, johon ei välttämättä päästä 3.2 -sarjan kääntäjillä. Kyse on siis tavallaan "ilmaisesta" tehonlisäyksestä, sillä kokeillut testitapaukset osoittavat, että tuolla uudemmalla kääntäjällä päästään useiden kymmenien prosenttien tehonlisäykseen samoja kääntäjä-flägejä käyttämällä.
Distron vaihto ei tule tällä hetkellä kysymykseen siksi, että RH8 on mainittu systeemille asetetuissa vaatimuksissa, ikävä kyllä en voi tuohon itse vaikuttaa.
Pitää yrittää taistella eteen päin omin avuin tuon ongelman kanssa :)