X86-64 Cross-Compiler — Änderungen 5777 → 5781

Zeile 1: Zeile 1:
−
Wer ein 64-Bit-Betriebssystem entwickeln möchte, allerdings kein 64-Bit-Linux installiert hat, muss sich einen Cross-Compiler bauen, damit dieser 64-Bit-dateien erstellen kann.
+
Wer ein 64-Bit-Betriebssystem entwickeln möchte, allerdings kein 64-Bit-Linux installiert hat, muss sich einen Cross-Compiler bauen, damit dieser 64-Bit-Dateien erstellen kann.
  
 
Im Folgenden wird erklärt, wie man einen Cross-Compiler für die x86-64-Plattform unter einem 32-Bit-Linux erstellt.
 
Im Folgenden wird erklärt, wie man einen Cross-Compiler für die x86-64-Plattform unter einem 32-Bit-Linux erstellt.
Zeile 5: Zeile 5:
  
 
== Vorbereitung ==
 
== Vorbereitung ==
−
Es gibt zwei verschiedene Wege, einen Cross-Compiler für x86-64 zu erstellen, wir bedienen uns hier der einfachsten Variante: Wir bauen die Binutils und den GCC neu, sodass wir einen funktionierenden gcc haben, mit dessen Hilfe wir x86-64-ELF-Dateien erstellen können.
+
Es gibt zwei verschiedene Wege, einen Cross-Compiler für x86-64 zu erstellen, wir bedienen uns hier der einfachsten Variante: Wir bauen die Binutils und den [[GCC]] neu, sodass wir einen funktionierenden gcc haben, mit dessen Hilfe wir x86-64-ELF-Dateien erstellen können.
  
 
Als erstes müssen dazu die Binutils und der gcc heruntergeladen werden. Wir benutzen dazu die neueste (Stand: 28. August 2009) Version beider Toolchains, einmal die [http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2 binutils 2.19.9] und das Core-Package des [http://ftp.gnu.org/gnu/gcc/gcc-4.4.1/gcc-core-4.4.1.tar.bz2 gcc 4.4.1]. Wenn allerdings auch Support für mehr Sprachen als C gewünscht ist, müssen dementsprechend zusätzliche Pakete unter [http://ftp.gnu.org/gnu/gcc ftp.gnu.org/gnu/gcc] heruntergeladen werden.
 
Als erstes müssen dazu die Binutils und der gcc heruntergeladen werden. Wir benutzen dazu die neueste (Stand: 28. August 2009) Version beider Toolchains, einmal die [http://ftp.gnu.org/gnu/binutils/binutils-2.19.tar.bz2 binutils 2.19.9] und das Core-Package des [http://ftp.gnu.org/gnu/gcc/gcc-4.4.1/gcc-core-4.4.1.tar.bz2 gcc 4.4.1]. Wenn allerdings auch Support für mehr Sprachen als C gewünscht ist, müssen dementsprechend zusätzliche Pakete unter [http://ftp.gnu.org/gnu/gcc ftp.gnu.org/gnu/gcc] heruntergeladen werden.
Zeile 13: Zeile 13:
 
Falls man sich noch nicht auf der Shell befindet, sollte man '''jetzt''' zu selbiger wechseln.
 
Falls man sich noch nicht auf der Shell befindet, sollte man '''jetzt''' zu selbiger wechseln.
  
−
Nun werden ein paar Variablen gesetzt:
+
Anschließend werden ein paar Variablen gesetzt:
  
 
<pre>
 
<pre>
Zeile 32: Zeile 32:
 
make install
 
make install
  
−
Ins binutils-Verzeichnis gewechselt geben wir configure ein paar Parameter mit auf dem Weg:
+
Ins binutils-Verzeichnis gewechselt, geben wir configure ein paar Parameter mit auf dem Weg:
  
 
<pre>
 
<pre>
Zeile 45: Zeile 45:
 
</pre>
 
</pre>
  
−
Die binutils wurden nunerfolgreich gebaut. Jetzt geht's weiter zum gcc.
+
Die binutils wurden dann erfolgreich gebaut. Jetzt geht's weiter zum gcc.
  
  
 
== gcc bauen ==
 
== gcc bauen ==
 
=== Halt, da fehlt noch was ===
 
=== Halt, da fehlt noch was ===
−
Um den gcc zu bauen benötigt es zwei (sofern nicht bereits installiert) Bibliotheken: Die GMP und MPFR-Libraries. Diese müssen ebenfalls runtergeladen und per ./configure, make, make install gebaut und installiert werden. Hier allerdings '''erst''' GMP '''dann''' MPFR bauen und installieren.
+
Um den gcc zu bauen, benötigt es zwei (sofern nicht bereits installiert) Bibliotheken: Die GMP und MPFR-Libraries. Diese müssen ebenfalls runtergeladen und per ./configure, make, make install gebaut und installiert werden. Hier allerdings '''erst''' GMP '''dann''' MPFR bauen und installieren.
  
 
gcc wird beim configure schon meckern, wenn eines der Librarys fehlt.
 
gcc wird beim configure schon meckern, wenn eines der Librarys fehlt.
Zeile 66: Zeile 66:
 
Damit wird der Ort der Cross-binutils zum PATH hinzugefügt.
 
Damit wird der Ort der Cross-binutils zum PATH hinzugefügt.
  
−
Nun wird gcc konfiguriert:
+
Jetzt wird gcc konfiguriert:
  
 
<pre>
 
<pre>
Zeile 79: Zeile 79:
 
</pre>
 
</pre>
  
−
gebaut und installiert werden. Das bauen des gcc dauert unter umständen sehr lange (sind halt ein paar MB Sourcecode).  
+
gebaut und installiert werden. Das Bauen des gcc dauert unter Umständen sehr lange (sind halt ein paar MB Sourcecode).  
  
  
 
== Fertig! ==
 
== Fertig! ==
−
Gratulation, ein Cross-Compiler f+r die x86-64-Plattform wurde erstellt! Die Tools befinden sich nun unter /usr/cross/ (in diesem Beispiel) und haben x86_64-elf- als Prefix, Beispiel: x86_64-elf-gcc, x86_64-elf-ld usw.
+
Gratulation, ein Cross-Compiler für die x86-64-Plattform wurde erstellt! Die Tools befinden sich nun unter /usr/cross/ (in diesem Beispiel) und haben x86_64-elf- als Prefix, Beispiel: x86_64-elf-gcc, x86_64-elf-ld usw.
  
 
[[Kategorie:x86-64]]
 
[[Kategorie:x86-64]]