Forum: PC-Programmierung GNU GCC Compiler für ARM und MIPS32


von Lars (Gast)


Lesenswert?

Moin,

hab ne kurze Frage zum Thema GNU GCC Compiler mit den Binutils, die ja 
u. a. verantwortlich für die Linker-Geschichten sind. Ich muss sowohl 
nen Compiler basteln für arm-elf als auch für mipsisa32-elf. Fürs 
compilieren der Makefiles benötige ich zum Schluss beide, da es sich um 
einen MIPS32 Prozessor handelt, dessen c-Files aber auch auf 
arm-elf-Funktionen zurückgreifen.

Muss ich in diesem Fall die Binutils zweimal nacheinander installieren 
und unterschiedliche Ordner vergeben, damit nichts überschrieben wird?

[binutils]
./configure --traget=armelf --prefix=/gnu/arm-elf

und
./configure --traget=mipsisa32-elf --prefix=/gnu/mipsisa32

oder kann man auch
./configure --traget="mipsisa32-elf, arm-elf" --prefix=/gnu
angeben und der Linker weiß danach welches ld er verwenden muss?

Inwieweit muss ich dass dann auch bei MPC MPFR GMP und GCC 
berücksichtigen?

Gruß
Lars

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

Auch wenn sich mir der Sinn des ersten Absatz nicht erschließt:

Nimm zum bauen deiner Cross-Compiler (du brauchst zwei komplette 
Toolchains) crosstools-ng

Damit geht das alles recht stressfrei

Matthias

von Lars (Gast)


Lesenswert?

alles klar, werd alles zweimal aufbauen.

vielen Dank für deine Antwort

von chieb (Gast)


Lesenswert?

>da es sich um
>einen MIPS32 Prozessor handelt, dessen c-Files aber auch auf
       ^^^^^^
>arm-elf-Funktionen zurückgreifen.
^^^^^
????
Läuft auf deinem MIPS ein ARM Emulator?

>Inwieweit muss ich dass dann auch bei MPC MPFR GMP und GCC
>berücksichtigen?

Das kopierst Du in den GCC Sourcetree (ist in der entsprechenden Doku
beschrieben.

>Damit geht das alles recht stressfrei

Viel stressfreier als mit

./configure --target=XXXX

kann's kaum sein. Warum sich mit noch einer Software rumschlagen?

Übrigens: Bei Codesourcery gibt´s das alles fertig.

von Lars (Gast)


Lesenswert?

so hab erstmal soweit alles hinbekommen. Der build und compile-Prozess 
wird schonmal erfolgreich durchlaufen. Lediglich beim Linker hab ich 
noch ein paar Fehlermeldungen, weil ich bis jetzt noch nicht die libgcc 
installiert habe.

Wie installiert man diese lib richtig?

Hab auf`ner Seite (http://wiki.osdev.org/GCC_Cross-Compiler) gefunden, 
dass man in den build_gcc Ordner geht und dann
1
make all-target-libgcc
2
make install-target-libgcc

eingibt? Das läuft jetzt schon seit gefühlten 15min....

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

chieb schrieb:
>>Damit geht das alles recht stressfrei
>
> Viel stressfreier als mit
>
> ./configure --target=XXXX
>
> kann's kaum sein. Warum sich mit noch einer Software rumschlagen?

Naja, also etwas mehr als ein paar mal ./configure --target=XXXX ist 
dann doch notwendig um eine komplette Toolchain zu bauen. Insbesondere 
wenn man dann noch libc, gdb dabei sein soll.

Matthias

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.