[Kos-dev] Cross compilo gcc 3.0 sparc-sun-solaris2.7 -> i586-gnu
d2
kos-dev@enix.org
19 Jun 2001 15:17:32 +0200
The following message is a courtesy copy of an article
that has been posted to melimelo.forum.C as well.
Voici mes notes pour generer un cross-compilo gcc 3.0 depuis Sun vers
Intel x86. Pas un cross-compilo complet : pas de libc, rien : juste
gcc[*]/as/ld pour compiler des noyaux d'OS vers IA32. Teste et approuve
sur un petit noyau (kos.enix.org). Ca peut servir a d'autres (c'est un
peu un casse-tete SURTOUT a cause du --disable-shared, sinon, on a un
probleme : il manque crti.o a la compilation de libgcc_s.so)
Pour compiler un cross-compilateur gcc (host sparc-sun-solaris2.7, target
i586-gnu) :
Binutils :
==========
+ Recuperer les binutils (testes avec v2.11) ; desarchiver
+ ./configure --prefix=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/stow/binutils-2.11 --host=sparc-sun-solaris2.7 i586-gnu
+ make && make install # + make check eventuellement
Environnement :
===============
+ etapes stow si on a choisi de passer par stow
+ setenv PATH vers le bin/ de binutils (celui ou il y a i586-gnu-as et cie)
Gcc :
=====
+ Recuperer gcc (teste avec v3.0) ; desarchiver
+ ./configure --prefix=/udd/ddecotig/temp_dd/xgcc/host-sparc-solaris7/stow/gcc-3.0 --enable-languages=c++ --host=sparc-sun-solaris2.7 --disable-shared --with-as=/udd/ddecotig/xgcc/host-sparc-solaris7/stow/binutils-2.11/bin//i586-gnu-as --with-gnu-as --with-ld=/udd/ddecotig/xgcc/host-sparc-solaris7/stow/binutils-2.11/bin//i586-gnu-ld --with-gnu-ld -v i586-gnu
# Les trucs importants la-dedans :
# --with-as, --with-ld, et surtout --enable-languages=c++ et --disable-shared
+ Commenter :
#include <signal.h>
#include <sys/ucontext.h>
dans gcc/config/i386/linux.h
+ make
# Ca foire dans le configure de i586-gnu/libiberty -- On ignore
+ make install
Environnement :
===============
+ etapes stow si on a choisi de passer par stow
Notes :
[*] A noter que le gcc compile ainsi a un bug : SEGV sur des macros
etendues vers ({ }), dans certains cas seulement. Pas encore
pu isoler le bug pour soumission. En cours.
--
d2