Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux:gentoo-spezifisch:gcc

GCC

The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking.

1. GCC Upgrade

1.1 Upgrade

Zunächst neuen GCC installieren und mit

# gcc-config 

aktivieren. Anschließend @sytem und @world neu kompilieren:

# emerge -eav system
# emerge -eav world

Eventuell

# emerge --resume

oder

# emerge --resume --skip-first

verwenden.

1.2 Nacharbeit

  • Wenn Fehler wie libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/4.5.2/libstdc++.la' is not a valid libtool archiv auftreten, kann dies mit fix_libtool_files.sh und der Angabe der alten GCC-Version behoben werden:
# fix_libtool_files.sh 4.5.2
  • Falls error: /usr/bin/gcc-config: line 632: /etc/env.d/gcc/i686-pc-linux-gnu-3.3.5: No such file or directory gemeldet wird, kann versucht werden /etc/env.d/gcc/config-i686-pc-linux-gnu zu löschen. Anschließend muss
# gcc-config
und
# source /etc/profile

ausgeführt werden.

1.3 Aufräumen

# emerge -aC <sys-devel/gcc-IHRE-NEUE-GCC-VERSION

2. Graphite

2.1 Einleitung

FIXME Was ist graphite?

2.2 Installation

Zunächst

USE="graphite"

setzen und gcc neu kompilieren.

Anschließend müssen

dev-libs/ppl
dev-libs/cloog-ppl
sys-devel/gcc

mit entsprechenden Flags

CFLAGS="-floop-interchange -floop-strip-mine -floop-block"

neu kompiliert werden. Nun sollte der komplette Toolchain sowie wichtige Systembibliotheken mit den neuen CFLAGS kompiliert werden:

# emerge -eav1 @system

Abschließend kann auch @world komplett neu gebaut werden, es kann aber auch sukzessive mit den normales Updates geschehen.

3. LTO

3.1 Einleitung

FIXME Was ist LTO?

  • Seit GCC-4.6 ohne zusätzlichen USE-Flag
  • Mit GCC-4.6 angeblich für „a wide range of programs“ nutzbar
  • GCC-4.5 extrem experimentell

3.2 Installation

CFLAGS="-flto"

und

LDFLAGS="-Wl,-flto"

4. Aktuelles

linux/gentoo-spezifisch/gcc.txt · Zuletzt geändert: 09.07.2013 21:33 (Externe Bearbeitung)