[Kos-cvs] [kos] Modification CVS par Thomas_Petazzoni
KOS CVS
kos-cvs@enix.org
Sun, 8 Oct 2000 07:44:39 +0200
Module : kos
Modifié par : Thomas_Petazzoni 08/10/00 07:44:39
Fichiers modifiés :
. : MkVars
include : macros.h stdio.h types.h
include/loader : assert.h bootmem.h debug.h dump_multiboot.h
ld_bfd.h macros.h mm.h mod.h stdio.h string.h
types.h
loader : loader.c
loader/elf32 : Makefile elf32.h
loader/lib : string.c
loader/mm : mm.c
modules : Makefile main.c mod1.c mod2.c mod3-1.c
modules/lib : Makefile stdio.c
modules/mm : Makefile mm_init.c
modules/mm-x86 : Makefile mm_x86.c
modules/splaytrees: Makefile splay_lib.c
Fichiers ajoutés :
. : module.lds
loader/elf32 : elf32_build.c elf32_check.c elf32_link.c
elf32_load.c elf32_private.c elf32_private.h
elf32_symbols.c
Fichiers enlevés :
loader/elf32 : mod_check.c mod_ctrl.c mod_header.c mod_link.c
mod_load.c mod_symbols.c mod_tools.c
Détails :
Une petite visite de routine : repris le loader pour supporter plusieurs
types de modules.
Un script ld pour generer les modules, en .ro : mis a profit pour une gestion
efficace des parties a conserver / liberer plus tard (.init, .load, .zero).
Methode plus directe d'exportation des symboles a la Linux. Lookup des methodes dùinit/cleanup fait sans tenir compte du nom de ces methodes : suffit de les placer dans .ctors/.dtors via les macros DECLARE_INIT_SYMBOL.
Relocation plus robuste en presence de R_386_PC32.
Reste un TODO a faire pour plus de test sur les conflits de symboles...