Open Source im professionellen Einsatz

GCC 4.8.0 erschienen

25.03.2013

Die neue Version der Gnu Compiler Collection bringt unter anderem einen von Google spendierten Address- und Thread-Sanitizer mit, kennt weitere Teile des C++11-Standards und ist jetzt in C++ geschrieben.

309

Die Entwickler haben die GCC zumindest in einigen Teilen in der Programmiersprache C++ implementiert. Wer die GCC selbst übersetzt, muss folglich ab sofort einen C++-Compiler bereithalten, der mit C++ 2003 umgehen kann. Details liefert die Seite C++ Conversion im GCC-Wiki.

Der neue Adress-Sanitizer spürt Speicherfehler auf, darunter Heap-, Stack- und globale Buffer-Overflows. Unter Linux arbeitet er allerdings nur auf den Architekturen IA-32, x86-64, x32, PowerPC und PowerPC64. Der Thread-Sanitizer soll wiederum auf x86-64-Systemen die gefürchteten Race-Conditions in Threads aufdecken.
GCC ermittelt jetzt mit einem wesentlich aggressiveren Verfahren, wie häufig Schleifen maximal durchlaufen werden. Bei einigen Programmen, wie dem Benchmark SPEC CPU 2006 464.h264ref, führt das jedoch zu Fehlern. In solchen Fällen können Programmierer die aggressive Analyse per „-fno-aggressive-loop-optimizations“ abschalten.

Bei Debug-Informationen im DWARF-Format kommt jetzt der Dwarf4-Standard zum Einsatz. Dieses Format unterstützten GDB 7.5, Valgrind 3.8.0 und elfutils 0.154 von Haus aus, zum alten Dwarf3 oder Dwarf2 schalten „-gdwarf-2“ respektive „-gdwarf-3“. Die neue Optimierungsstufe „-Og“ führt nur kleinere Optimierungen durch. Die Programme sollen damit insbesondere beim Debugging eine bessere Leistung zeigen, während sich der Compiler weiterhin recht schnell durch den Code fräst. Über den Parameter „-ftree-partial-pre“ lässt sich die Partial Redundancy Elimination (kurz PRE) steuern, die redundante Ausdrücke beseitigt. Die Optimierungsstufe „-O3“ aktiviert das jetzt aggressiver zu Werke gehende PRE automatisch.

Der C++-Compiler unterstützt weitere Teile des C++11-Standards. Dazu zählt das Schlüsselwort „thread_local“, die Attribut-Syntax und vererbte Konstruktoren. Die GCC Version 4.8.0 generiert jetzt auch Code für 64-Bit-ARM-Prozessoren (AArch64) Cortex-A53 und Cortex-A57 sowie die Aarch32-Erweiterung ARMv8. Die Entwickler haben zudem die Code-Erzeugung für Cortex-A7 und A15 weiter optimiert. Bei den x86-Prozessoren kennt die GCC jetzt die Befehle neuerer Intel-Prozessoren und bietet spezielle Optimierungen für AMDs Steamroller- oder Jaguar-Prozessoren.

Sämtliche Änderungen finden sich im langen Changelog.

Ähnliche Artikel

  • Mit LLVM 5.0.0 beherrscht Clang C++17

    Das Compiler-Infrastruktur-Projekt LLVM hat die Version 5.0.0 erreicht. Während Clang nun C++17 und die Coroutines TS vollständig unterstützt, bringt LLVM Verbesserungen für die verschiedenen Targets und neue Tools sowie Bibliotheken.

  • ARM-SoCs

    Ihren pfeilschnellen Verstand haben die meisten Single-Board-Computer einem, zwei oder vier CPU-Kernen zu verdanken, deren Design aus Laboratorien der Firma ARM stammt. Weil auf demselben Chip zugleich ein Großteil der Peripheriegeräte sitzt, trifft "Systems on a Chip" die Sache besser als "CPU".

  • Schneller parallel?

    Mit der Integration des OpenMP-Standards vereinfacht der GNU-Compiler ab Version 4.2 die Parallelprogrammierung in C, C++ und Fortran. Neue Optimierungen sollen übersetzte Programme beschleunigen. Ob der Plan aufgeht, verraten die Benchmarks.

  • Canonical portiert Ubuntu auf ARM-Plattform

    Bereits Ende letzter Woche kündigten ARM und Canonical an, die beliebte Linux-Distribution Ubuntu auf die ARMv7-Prozessorarchitektur zu portieren. Nach dem Willen der beiden Unternehmen sollen auf dieser Basis dann weitere Hardware-Hersteller neue, stromsparende, mobile Geräte entwickeln, darunter vor allen Dingen die derzeit gefragten Netbooks und "Hybrid Computer".

  • ARM-Architektur

    Mit Klarheit im Inneren und einem Niedrigenergie-Ansatz nach außen schreibt die ARM-Architektur moderne Computergeschichte. Zeit für einen indiskreten Blick in britische Baupläne.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.