[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