Login
Login-Name Passwort


 
Newsletter
Werbung

Do, 2. März 2006, 11:03

Software::Entwicklung

GCC 4.1.0 freigegeben

Nach rund einjähriger Entwicklungszeit wurde Version 4.1.0 der GNU Compiler Collection fertiggestellt.

Ursprünglich war der 18. Januar 2006 als Freigabetermin vorgesehen, doch konnte das Team die Software nicht rechtzeitig fertigstellen.

GCC 4.1 bringt eine große Zahl von Änderungen gegenüber GCC 4.0. Die Codeoptimierung wurde an vielen Stellen verbessert. So wurde eine Infrastruktur für funktionsübergreifende Optimierungen geschaffen. Eine Reihe neuer Optimierungen nutzt diese bereits. Man kann z.B. die Ergebnisse von Profiler-Läufen nutzen, um zu steuern, welche Funktionen als Inline-Funktionen generiert werden. Aufgrund von Cache-Effekten in den Prozessoren läßt sich heute vielfach nicht mehr genau voraussagen, ob es sich lohnt, eine Funktion als Inline-Funktion zu generieren. Eine reale Messung kann daher zu besserem Code führen. Der Optimierer analysiert auch die Seiteneffekte von Funktionen besser und kann dies für verbesserte Code-Generierung nutzen.

Partial Dead Code Elimination (PDCE), bessere Abschätzung der Wahrscheinlichkeit von Verzweigungen und mehrere andere Analysen sollen zu weiter verbessertem Code beitragen.

Der Parser für C und Objective C wurde völlig neu geschrieben. Anstatt sich auf den Parser-Generator »Bison« zu verlassen, wurde ein neuer schnellerer Parser von Hand erstellt. Die Integration von Ada in GCC wurde verbessert und soll dadurch unter anderem die Cross-Compilierung von Ada-Programmen vereinfachen. Im C++-Compiler gab es zwei Änderungen, die in Einzelfällen bisher akzeptierten Code zurückweisen, dies läßt sich durch eine Korrektur des fraglichen Codes oder Einschalten einer Option beheben.

Die C++-Standardbibliothek wurde an einigen Stellen optimiert, ferner wurde eine neue flexible String-Klasse, __gnu_cxx::__versa_string hinzugefügt, die zur Klasse basic_string konform ist.

Während für den Java-Compiler selbst keine Änderungen dokumentiert sind, wurde die Java-Laufzeitbibliothek stark verbessert. Sie beruht auf GNU Classpath 0.19 mit einigen Updates aus 0.20.

Red Hat hat Code zu GCC beigetragen, der Unterstützung für die Prozessoren der MorphoSys-Architektur hinzufügt. GCC kann nun Code erzeugen, der Anwendungen vor stackbasierten Pufferüberläufen schützen soll, die unter Umständen eine Sicherheitslücke darstellen. Der Schutz besteht aus der Erkennung von Pufferüberläufen und der Umordnung von Variablen auf dem Stack, mit der das Überschreiben von Zeigern verhindert werden soll. Es handelt sich dabei offenbar um eine Weiterentwicklung von IBM Pro Police. Auch einige eingebaute Funktionen sollen nun besser vor Überläufen geschützt sein.

Werbung
Kommentare (Insgesamt: 28 || Alle anzeigen || Kommentieren )
Re[3]: Benchmark? (blablabla, Fr, 3. März 2006)
Re[2]: Benchmark? (o13, Fr, 3. März 2006)
Re[70]: Objective-C++ (Kriegsberichterstatter, Do, 2. März 2006)
Re[60]: Objective-C++ (Volker, Do, 2. März 2006)
Re[70]: Objective-C++ (blablabla, Do, 2. März 2006)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung