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

KOS CVS kos-dev <kos-dev@enix.org>
Fri, 31 Jan 2003 23:15:54 +0100 (CET)


Module :	kos
Modifié par :	thomas	31/01/03 23:15:54

Fichiers modifiés :
	.              : MkVars 
	modules        : config.h 
	modules/babel/tower: Makefile 
	modules/kares  : Makefile 
	modules/kares/oog: Driver.h Kres.h 
	modules/kos    : wolfgang.c 
	modules/lib    : libcmdline.c 
	modules/libcxxrt: gcc-3.cc 
	modules/testcbb: main.cc 
Fichiers ajoutés :
	modules/kares/oog: Kres.cc 

Détails :
Qques modifs :

* Correction des constructeurs de modules/kares/oog : avec gcc 3.2,
il faut que le __export_text soit apres le prototype du
constructeur et non avant :
__export_text Machin(); --> GCC 2.95 : OK, GCC 3.2 : BOUM
Machin() __export_text; --> GCC 2.95 : OK, GCC 3.2 : OK

* Creation de Kres.cc, parce qu'il a fallu deplacer un constructeur
de cette classe vers un fichier .cc. Il etait avant code en dur
dans le .h, mais avec la nouvelle ecriture (__export_text apres le
nom du constructeur), je savais pas comment ecrire le constructeur
avec ce __export_text et le code au même endroit.

* Virage d'une ligne de Makefile dans modules/babel/tower, qui
surchargeait les CFLAGS alors que c'etait pas utile. En plus ca
desactivait le -ffreestanding, donc y'avait des warnings en pagaille
sous GCC 3.2.

* Correction d'un vieux bug pourri dans cmdline. Quand on avait
part="/dev/part/hda0", la chaine renvoyee pour part était
/dev/part/hda0" au lieu de /dev/part/hda0. Forcement ca
merdait. Fallait écrire *(param + param_len) = '\0' et non *(param +
param_len + 1) = '\0'.

* Ajout de operator new, operator new[] et __cxa_virtual_pure dans
gcc-3.c dans le module libcxxrt.

Resultat : KOS compile, linke et tourne avec la compilation GCC 2.95
et GCC 3.2. Par contre j'ai pas teste le fonctionnement des runtimes
C++, mais en tout cas ca fait pas BOUM, on a nos pitis threads qui
tournent.

Thomas --> [DODO]