[Kos-cvs] [kos] Modification CVS par thomas

KOS CVS kos-dev <kos-dev@enix.org>
Tue, 27 May 2003 22:15:42 +0200 (CEST)


Module :	kos
Modifié par :	thomas	27/05/03 22:15:42

Fichiers modifiés :
	loader         : mod.h 
	loader/boot    : loader.c 
	modules/klavier: _klavier.c 
	modules/kos    : wolfgang.c 
	modules/lib    : snprintf.c 
	modules/libhash: _libhash.c 
	modules/scheduler: scheduler.h 
	modules/tty    : _tty.c 
	modules/x86/lib: _delay.c 
	modules/x86/mm : _gdt.c 
	modules/x86/task: _cpl0_switch.c _thread_cpu_context.c 

Détails :
Modifications pour compilation avec Gcc 3.3 :

* loader/mod.h : Ajout de l'attribut "unused" pour les variables
__kctor_* et __kdtor. Gcc ralait parce que ce sont des variables
static, et qu'on ne les utilise pas en tant que telles dans le code
C.

* boot/loader.c : Unsigned long long -> Unsigned long long int

* boot/loader.c : Ajout du suffixe ULL pour l'initialisation des
variables Unsigned long long int.

* modules/klavier/_klavier.c : Modification macro KB_WAIT() car Gcc
3.3 n'aime plus les chaines de caracteres sur plusieurs lignes : il
faut fermer les guillemets avant la fin de chaque ligne, et les
rouvrir de nouveau au début d'une ligne.

* modules/kos/wolfgang.c : Pour la même raison, modification de la
chaine de logo.

* modules/libhash/_libhash.c : le test visant à vérifier si un entier
non signé est supérieur à 2^32 est stupide, il est forcément
inférieur, sinon, ça rentre pas sur 32 bits.

* modules/scheduler/scheduler.h : on exporte get_jiffies(), comme ça
Gcc 3.3 est content, et puis ça peut servir ;-)

* modules/tty/_tty.c : suppression du test visant à détecter le
changement de console, car le clavier nous envoie une chaine de
caractère (unsigned char *), et les nombres utilisés pour coder les
caractères spéciaux (F1, F2, etc...) sont supérieurs à 256. Il
faudra certainement passer en 16 bits, et regarder du coté de
Unicode/UTF-8 (plus tard).

* modules/x86/lib/_delay.c : plus le droit aux chaines de caracteres
sur plusieurs lignes, donc mise à jour de la macro assembleur
utilisée pour la calibration de la boucle utilisée pour l'attente
active.

* modules/x86/mm/_gdt.c : unsigned long long -> unsigned long long
int

* modules/x86/mm/_gdt.c : ajout du suffixe ULL pour l'initialisation
de la GDT.

* modules/x86/task/_cpl0_switch.c : ajout de idt/idt.h pour avoir le
prototype de get_hw_isr_nested_level.

* modules/x86/task/_thread_cpu_context.c : suppression de la variable
locale inutile.

Il reste des warnings, ils concernent tous l'histoire des fonctions
inline, sauf 2 warnings qui concernent le label en fin de bloc (voir
liste en fin de log).

KOS compile et tourne avec Gcc 3.3, Gcc 3.2 et Gcc 2.95.

Dans le loader :

loader.c: In function `cmain':
loader.c:34: warning: inlining failed in call to `check_if_modules'
loader.c:157: warning: called from here

pmm_init.c: In function `pmm_init':
pmm_init.c:115: warning: deprecated use of label at end of compound statement

ld_build.c: In function `ld_register_module':
ld_build.c:60: warning: inlining failed in call to `assign_module_operation'
ld_build.c:109: warning: called from here

nit.c: In function `elf32_init':
init.c:189: warning: deprecated use of label at end of compound statement

ar_load.c: In function `ar_load':
ar_load.c:9: warning: inlining failed in call to `ar_atoi'
ar_load.c:62: warning: called from here
ar_load.c:9: warning: inlining failed in call to `ar_atoi'
ar_load.c:86: warning: called from here

Dans les modules :

_vmap.c: In function `_map_virtual_page_unsafe':
_vmap.c:120: warning: inlining failed in call to `_map_foreign_pd_unsafe'
_vmap.c:166: warning: called from here
_vmap.c: In function `arch_map_virtual_page':
_vmap.c:158: warning: inlining failed in call to `_map_virtual_page_unsafe'
_vmap.c:288: warning: called from here
_vmap.c: In function `_get_vpage_status_unsafe':
_vmap.c:120: warning: inlining failed in call to `_map_foreign_pd_unsafe'
_vmap.c:386: warning: called from here
_vmap.c: In function `arch_get_vpage_status':
_vmap.c:375: warning: inlining failed in call to `_get_vpage_status_unsafe'
_vmap.c:431: warning: called from here
_vmap.c:375: warning: inlining failed in call to `_get_vpage_status_unsafe'
_vmap.c:441: warning: called from here
_vmap.c: In function `_unmap_virtual_page_unsafe':
_vmap.c:120: warning: inlining failed in call to `_map_foreign_pd_unsafe'
_vmap.c:463: warning: called from here
_vmap.c: In function `arch_unmap_virtual_page':
_vmap.c:456: warning: inlining failed in call to `_unmap_virtual_page_unsafe'
_vmap.c:549: warning: called from here
_vmap.c: In function `arch_remap_virtual_page':
_vmap.c:120: warning: inlining failed in call to `_map_foreign_pd_unsafe'
_vmap.c:608: warning: called from here
_vmap.c: In function `_protect_virtual_page_unsafe':
_vmap.c:120: warning: inlining failed in call to `_map_foreign_pd_unsafe'
_vmap.c:680: warning: called from here
_vmap.c: In function `arch_protect_virtual_page':
_vmap.c:675: warning: inlining failed in call to `_protect_virtual_page_unsafe'
_vmap.c:732: warning: called from here

_vmm_vr.c: In function `vr_del':
_vmm_vr.c:25: warning: inlining failed in call to `_vr_del'
_vmm_vr.c:144: warning: called from here

_pmm_put_page.c: In function `put_physical_page':
_pmm_put_page.c:11: warning: inlining failed in call to `_release_gpfme_unsafe'
_pmm_put_page.c:67: warning: called from here

_kvmem_free.c: In function `kvfree':
_kvmem_free.c:22: warning: inlining failed in call to `__kvfree_unsafe'
_kvmem_free.c:159: warning: called from here