Linux 14.981 Themen, 106.344 Beiträge

Kernelkompilierung mit gcc 3.3

KarstenW / 6 Antworten / Flachansicht Nickles

Hallo,

ich kompiliere in der Regel immer einen eigenen Kern. Ich habe irgendwo gelesen , das der Kompiler 3.x noch nicht für den kernl 2.6.x freigegeben ist. Stimmt das , oder kann man einen Kern 2.6.x auch mit einem neuen Kompiler gcc 3.x kompilieren? Linus Torwalds hat sich schon darüber beschwert das die neuen Kompilerversionen 3.x von gcc schlechten C - Code erzeugen würden. Da der Betriebsystemkern in C programmiert ist, möchte ich hier gern mal die Experten fragen.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
FrogPR KarstenW „Ja , es gibt guten und schlechten Binärcode. Ich selbst bin keine Informatiker,...“
Optionen

Nun, Linux-Kernel unterstützen sehr wohl die spezifischen erweiterten Befehlssätze der einzelnen Prozessoren (inwieweit die dads allerdings ausnutzen, weiss ich nicht). Das kannst du ja im Kernel einstellen was für einen Prozessor du hast. Während die Option "386" auf allen x86-Plattformen läuft, tun das die weiter unten angegebenen Typen nur für den jeweiligen Prozessorentyp (ich hatte mal aus Versehn ein Intel-Kernel auf nem AMD laufen lassen, das gab ne Kernel panic beim booten. Is aber auch schon ne Weile her). Und für Intel-Prozessoren soll der Intel-eigene C-Compiler, den es übrigens auch für Linux gibt (sogar umsonst) tatsächlich in bestimmten Fällen deutlich effektiveren Binärcode erstellen (gegenüber dem gcc). Ich hatte jedenfalls zumindest über den gcc-3.3 (der ja auch die Grundlage des g++ ist, der C++-Code übersetzt) nur gutes gehört. Es kommt sicher auch auf die jeweilige Situation an und es haben sich sicher Leute mit beschäftigt und irgendwo Benchmarks veröffentlicht. Und ich kann mir auch nicht vorstellen, wieso ein alter 2.95 Befehlsätze aktueller Prozessoren besser umsetzen können sollte, als ein aktueller 3.3. Macht keinen Sinn für mich, und wenn das so wäre, dann würde der gcc-3.3 sicher unter starkem Beschuß stehen, was er wie gesagt nicht tut.

Gruß, FrogPR

bei Antwort benachrichtigen