ubuntuusers.de

Müssen gcc Version von Kernel und Modulen immer gleich sein?

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Mitchel1985

Anmeldungsdatum:
3. Oktober 2010

Beiträge: Zähle...

Hallo zusammen,

ich habe eine Frage bezüglich der Verwendung von unterschiedlichen GCC Versionen. Kann ich Module mit einer anderen Version kompileren wie den Kernel selbst? Also z.B.: Kernel mit Gcc 4.1 und Module mit gcc 3.3.1 ? Oder müssen die Versionen immer übereinstimmen?

Gruß Michi

Online

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17594

Wohnort: Berlin

Der Compiler sollte keine Rolle spielen - nur die benutzten Bibliotheken.

DeJe

Anmeldungsdatum:
2. Januar 2008

Beiträge: 2377

user unknown schrieb:

Der Compiler sollte keine Rolle spielen - nur die benutzten Bibliotheken.

Betonung sollte auf sollte liegen. 😉

Im Ernst, wenn, dann werden meist in den Release-Notes oder README's entsprechende Hinweise gegeben. Es ist aber immer sinnvoll Module mit gleicher gcc-Version zu bilden wie der Kernel.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17594

Wohnort: Berlin

DeJe schrieb:

Es ist aber immer sinnvoll Module mit gleicher gcc-Version zu bilden wie der Kernel.

Also Kernlemodule für Kernel 2.6.32 mit gcc-2.6.32? Das erscheint mir zwar eine unterhaltsame Aufgabe, aber nicht wirklich sinnvoll. 😉

DeJe

Anmeldungsdatum:
2. Januar 2008

Beiträge: 2377

gcc version != kernel version, aber gcc version mit dem der Kernel gebildet wurde == gcc-version mit dem die module gebildet werden, mindestens die major version. Das ist durchaus sinnvoll, und manchmal sogar notwendig. 😉

Als Nachrag für die ungeduldigen Leser.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17594

Wohnort: Berlin

Der GCC kann eine neuer Version bekommen, weil die alte einen Fehler hatte, von dem Du gar nicht betroffen bist, oder es gibt eine Performanceverbesserung im Compiler, die den produzierten Code gar nicht betreffen.

M.E. muß die Antwort klarerweise lauten, dass die GCC-Version keine Rolle spielt.

Wann und wie sollte denn die GCC-Version eine Rolle spielen?

da1l6

Avatar von da1l6

Anmeldungsdatum:
29. August 2005

Beiträge: Zähle...

Hallo

Die GCC Version ist wichtig, weil verschiedene Versionen unterschiedliche Aufrufkonventionen verwenden können. Auch die GCC Optionen sind wichtig, auch dort kann man die Aufrufkonventionen beinflussen. Idealerweise sind also GCC und Compileroptionen identisch.

Haiku OS z.B. hat Probleme weil die alten BeOS Anwendungen (zu denen es kompatibel sein will) mit GCC 2 erstellt wurden und Haiku mit dem inkompatiblen GCC 4.

Prakisch wird es bei kleinen Unterschieden in der GCC Version funktionieren, bei GCC 3 vs. GCC 4 wäre ich vorsichtig.

da1l6

Antworten |