Sommaire Index Rechercher Liens A Propos
[LinuxFocus Image]
[Barre de Navigation]
  Nouveaut�s   Archives

Activer le Profilage sur Alpha

 
 
 
From [email protected] Fri Dec 19 15:35:35 1997 
Date: 19 Nov 1997 11:55:52 +0200 
From: "Harvey J. Stein"  
To: Miguel A Sepulveda  
Cc: [email protected] 
Subject: Re: Profilage avec Linux Alpha ? 
 
Miguel A Sepulveda  a �crit: 
 
> Salut � tous, 
>  
> J'essaye de profiler un de mes programmes sur ma plate-forme Alpha
> Noyau 2.0.30. 
>  
> J'ai compil� les sources avec -g2 -pg, puis lanc� l'ex�cutable. Apr�s
> avoir fini, cet ex�cutable est sens� g�n�r� un gmon.out, au lieu de
> cela, le programme se plante et vide un "core". Le programme est 
> correct car sans l'option -pg il fonctionne bien.
 
J'ai du faire quelques trucs avec Redhat 4.2 pour faire marcher le
profilage.
 
Il y deux patches qui ont �t� envoy�s � cette liste et qui r�solvent
le probl�me dans gcc. Le premier (rth-gcc-2.7.2-970921.diff.gz) r�pare
un probl�me associ� aux piles de grandes dimensions. Le second
(gcc-alpha-profiling-patch-2.7.2.1-toon-971001) est suppos� r�gl�
certains probl�mes de profilage avec gcc, mais je ne suis pas convaincu
qu'il soit vraiment n�cessaire.
 
En tous cas, les voici avec un fichier Spec RPM pour construire gcc.
Il vous faut gcc-2.7.2.1-2.src.rpm, d�compactez le, remplacez le 
fichier dans in /usr/src/redhat/SPECS avec celui fournit ici, ajoutez
le patch aux r�pertoires SOURCES et recompilez gcc. Vous pouvez alors
installer gcc-2.7.2.1-2c.alpha.rpm. Je joins un fichier compact� avec
tar, gzip et uuencode (gcc-new-patches.tar.gz.uue) qui contient les
2 patches et le fichier spec.

Il vous faudra aussi patcher gprof. La m�me proc�dure s'applique, mais
cette fois � binutils-2.7.0.2-4.src.rpm.  Toutefois, le lot (package)
binutils comprend des fichiers qui entre en conflit avec des ent�tes
de libc, le meilleur compromis, consiste donc � remplacer � la main
gprof apr�s l'avoir reconstruit. Je joint aussi
binutils-new-patches.tar.gz.uue. 
 
Finalement, vous devrez patcher certaines biblioth�ques. Je crois que
c'est le point le plus important. Le patch se trouve dans les archives
de la liste de diffusion:
 
   http://www.redhat.com/support/mailing-lists/archives/axp-list/1997-March/0464.html 
 
Pour des raisons pratiques, je joins aussi ici le patch 
(pg-fixes.tar.gz.uue), ainsi qu'un extrait du message ci-dessus de
David Mosberger-Tang (en fait, presque tout le message) qui explique
comment l'appliquer:
 
   Quelques un d'entre vous ont signal� des probl�mes avec le profilage
   sous RH4.1. Voici un fichier uuencod� de trois fichiers objets
   corrig�s. Le test MD5 donne:
 
   0854f6609580506aeea2595d7729e27b gmon.po 
   e2e3cdbace223a162efe90048e0ed661 ieee_get_fp_control.po 
   8340b52dc581956131e038d3946ba81b ieee_set_fp_control.po 
 
   Apr�s avoir extrait ces fichiers, remplacez les dans libc_p.a. 
   par exemple:
 
   ar rv /usr/lib/libc_p.a gmon.po ieee_{s,g}et_fp_control.po 
 
   le profilage devrait alors de nouveau fonctionner. Remarquez que
   dans les binutils-2.7 gprof � un bogue qui cr�� parfois un SIGFPE.
   voir mes courriers pr�c�dents pour un patch qui corrige cela. 

   Finalement, il y a toujours un probl�me avec le m�lange du
   profilage et de l'�dition de lien dynamique. Par exemple, avec 
   l'�dition de lien dynamique, l'ajout de -lm cr�era un fichier
   binaire qui produit une faute de segmentation. L'ajout de l'option
   -static devrait corriger ce probl�me pour l'instant (en attendant
   une vrai solution).
 
Bonne chance,
 
--  
Harvey J. Stein 
Berger Financial Research 
[email protected] 

Les 3 patches uuencod�s.
 

Traduit par John Perr

Ce site Web est maintenu par Miguel A Sepulveda.