[SOS] Suite de Urgent !
Thomas Petazzoni
thomas.petazzoni at enix.org
Jeu 2 Juin 12:01:49 CEST 2005
Salut,
Cyril Dupuit wrote:
> `/mnt/win_c2/Thomas/Temp/sos-code-article7.5/userland'
Encore une fois, je te recommande *vivement* de ne pas travailler dans
une partition VFAT, tu risques d'avoir de grosses surprises.
> size sos.elf
> text data bss dec hex filename
> 78348 1570924 21932 1671204 198024 sos.elf
Effectivement, sos.elf est très gros. Tu es sûr que tu n'as pas rajouté
des données ? Tu es sûr que tu ne compiles pas avec -g ?
En effet, chez moi, la compilation de l'article 7.5 donne:
text data bss dec hex filename
82076 277128 21760 380964 5d024 sos.elf
> Sympa ton truc sur le patch de l'article 7.5 mais pour le Makefile, ça ne
> marche pas. Il me marque :
Je viens de retester de nouveau sur une version *PROPRE* des sources de
l'article 7.5, et ça passe très bien. Tu es sûr que tu l'as appliqué sur
une version *complètement* propre des sources de l'article 7.5 ?
La sortie :
> patching file userland/Makefile
> Hunk #1 FAILED at 31
> Hunk #2 FAILED at 47
> Hunk #3 FAILED at 91
> patch: **** Can't set permissions on file userland/Makefile : Operation not
> permitted
1) Laisse supposer que tu avais modifié le Makefile par rapport au
Makefile de la version 7.5, donc forcément, le patch ne peut plus
s'appliquer
2) Tu utilises un système de fichier FAT qui l'empêche de faire
certaines opérations, ou alors tu n'as pas les droits suffisants sur le
fichier.
> Par contre, au niveau utilisateur, je n'ai pas accès aux fonctions (lors
> de l'édition de liens) :
> - random()
> - sos_ksema_init()
> - sos_ksema_up()
> - sos_ksema_down()
> - free()
- random() n'est disponible qu'en espace noyau. Si tu le veux en
espace user, il faut l'implémenter dans userland/libc.c ;
- Il n'y a pas d'implémentation des sémaphores en userland pour le
moment ;
- free() n'est pas implémenté, car comme tu le verras dans la fonction
malloc() (fichier userland/libc.c), la méthode d'allocation utilisée ne
permet pas la libération ;
> Pour les fonctions sos_ksema_xxx(), je ne suis pas étonné mais,
> j'aimerai obtenir un équivalent pour le niveau utilisateur.
Ce n'est pas disponible à l'heure actuelle, et ce n'est pas dans
l'article 8, et ne sera pas non plus dans l'article 9, sauf si tu
l'ajoutes à ta contribution.
Bonne journée,
Thomas
--
Thomas Petazzoni
thomas.petazzoni at enix.org
Plus d'informations sur la liste de diffusion Sos