[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...