Am Montag, 08. Dezember 2003 12:58 schrieb Boris Höffgen:
Hallo,
ich habe ein Programm, welches sich mit gcc-2.95 aber nicht korrekt mit gcc-3.01 übersetzen lässt. Das heist zu überstzen geht es schon, aber es stürzt mit Segmentation-Fault(Division by zero) ab oder berechnet Dinge nicht mehr richtig. Ich habe die Vermutung, dass es an verschieden Pointer-Initialisierungen liegt. Kann mir jemand kurz die wichtigsten Änderung des gcc-3 erläutern, da ich das Changelog nicht so ganz verstehe.
Vor allem gibt's zwischen 2.x, 3.x (und auch zwischen einigen 3.x-Versionen) Binärinkompatibilität. D.h., ALLE Bibliotheken, die Dein Programm zur Laufzeit benötigt (ldd <meinProgramm> gibt Auskunft), müssen mit demselben Compiler compiliert sein. Die Fehler, die Du beschreibst, klingen danach, als wäre z.B. die glibc mit dem 2.x compiliert, Dein Programm aber mit dem gcc 3.x. Das wird nicht funktionieren. Gruß, Sebastian