[Kos-dev] Portage glibc-2.1.3

PETAZZONI,THOMAS (Non-HP-Germany,ex1) kos-dev@enix.org
Mon, 5 Aug 2002 09:52:43 +0200


Bonjour,

Jeudi soir j'ai commence a realiser le portage de la Glibc-2.1.3 pour KOS.
Bien evidemment, je ne souhaitais pas implementer tous les syscalls, mais
simplement voir comment il etait possible de creer un nouveau systeme, et
comment compiler la glibc en utilisant ce nouveau systeme.

J'ai finalement reussi samedi a venir au bout de la compilation de la glibc.
Je n'envoie pas encore de patch pour vous, mais ca pourrait avoir lieu a
partir du mois de septembre. Pour le moment il suffit de faire :

./configure --host=i686-pc-kos
make

Et laisser turbiner. La compilation devrait se derouler correctement, avec
tout de meme quelques warnings. A noter que je n'ai essaye que i686, et pas
i{3,4,5}86. Chez moi, j'ai pu obtenir un libc.a et un libc.so. Par contre,
le Makefile ne se termine pas correctement car ensuite il essaie de compiler
des programmes separes dans nss/ qui demandent le support reseau, que je
n'ai pas inclus dans le systeme kos.

A l'heure actuelle, il est possible de linker un programme C avec cette
libc. Evidemment pour l'instant ce n'est pas utilisable sous KOS puisque
nous n'avons pas mis en place tout ce qu'il faut autour, a savoir :
 - mise en place de l'environnement avant de lancer le programme (argc,
argv, environ, etc...)
 - gestion de l'errno (per thread variable)

Et evidemment les syscalls fcntl, fork, exit, etc... qui sont
indispensables. 

Pour parvenir a compiler je n'ai presque pas eu besoin de modifier de
fichiers exterieurs a la sous arborescence reservee a KOS. En ce qui
concerne ces modifications, je pense mailer la mailing list de la glibc pour
en savoir plus, mais etant donne que la version que j'ai porte est plutot
ancienne, je ne sais pas si j'aurai des reponses.

Il reste maintenant a faire ce qu'il faut du cote de KOS (Babel, fork(),
exit(), mise en place de l'environnement) pour que tout ceci fonctionne.

C'etait donc la nouvelle du WE, il est possible de compiler des programmes
faisant printf() avec la glibc portee pour KOS. Mais bien entendu, on ne
peut pas les lancer ;)

Reactions, commentaires, idees, suggestions les bienvenues.

Thomas Petazzoni
thomas.petazzoni@non.hp.com
KOS : http://kos.enix.org
Perso : http://kos.enix.org/~thomas/