Page 1 of 1

Compiler laufender Kernel

Posted: 2010-01-11 00:17
by papabaer
Hey,

mal ne schräge Frage: Gibt es / kennt jemand ne Möglichkeit festzustellen, mit welchem Compiler (gcc, icc, ...) ein laufender Kernel übersetzt wurde?

Hab gelesen, dass der gcc keine Atom-Optimierung kann. Da wäre icc ne Lösung, weiß aber nicht, ob der Kernel bereits mit dem icc gebaut ist.

Re: Compiler laufender Kernel

Posted: 2010-01-11 12:15
by dotme
Bei mir steht das in den ersten Zeilen der Ausgabe von `dmesg`.
Ist die Frage ob Du dann auch noch glibc neu kompilieren musst und dann in eine Menge Probleme rennst.

Re: Compiler laufender Kernel

Posted: 2010-01-11 14:41
by papabaer
Treffer

Code: Select all

(gcc version 4.4.2 20091027 (Red Hat 4.4.2-7) (GCC) ) #1 SMP PREEMPT Fri Jan 1 19:34:34 UTC 2010
Dankä

Re: Compiler laufender Kernel

Posted: 2010-01-11 20:53
by daemotron
dotme wrote:Ist die Frage ob Du dann auch noch glibc neu kompilieren musst und dann in eine Menge Probleme rennst.
Nein, wieso? Kernel und libc sind voneinander (weitgehend) unabhängig. Also der Kernel linkt keine Bestandteile der glibc, und umgekehrt gilt das genauso. ld-linux.so2 wird üblicherweise statisch gelinkt und ist somit ebenfalls kein Problem.

Mal abgesehen davon ist es allerdings Blödsinn, wegen vermeintlicher Kompiler-Optimierungen im Kernel mit dem ICC herumzuhantieren. Grund: Das Kernel-Makefile klemmt fast überall Kompiler-Optimierungen ab, weil die bei so maschinennahen Sachen meist mehr Schaden als Nutzen anrichten...

Re: Compiler laufender Kernel

Posted: 2010-01-11 21:15
by papabaer
Ob es sinnvoll ist, ist die große Frage. Ich bin mit Moblin am Bauen, das Zeugs ist von Intel (inzwischen Linux-Foundation) und auf Atom optimiert. Die haben sicher einiges am Kernel rumgebastelt.

Da mir leider die Kenntnisse fehlen mal eben kurz Kernel-Code zu lesen, um dann festzustellen, was wie wo warum optimiert ist oder nicht, würd ich es einfach austesten. Geht mir garnicht so sehr um Geschwindigkeit (dann wäre Atom eh der falsche Ansatz), eher um Energie sparen.

Lasse mich aber gern von euch eines Besseren belehren :-D

Re: Compiler laufender Kernel

Posted: 2010-01-11 22:12
by Joe User
Der Linux-Kernel ist auf die GCC optimiert, daher wird die ICC eher Nachteile als Vorteile bringen. Ansonsten werden dem Compiler und dem Linker nahezu überall hardcoded Flags übergeben, so dass gerade non-GCC teilweise fehlerhaft(er)en Code erzeugen werden. Also nicht über einen unstabilen und fehlerhaften Kernel wundern...