|
From: Josef W. <Jos...@gm...> - 2007-06-06 09:29:34
|
On Wednesday 06 June 2007, Roel Meeuws wrote: > Dear reader, >=20 > For a paper we need to publish relatively soon we need to profile several= =20 > applications on the powerpc core avaliable on the Xilinx Virtex-II pro FP= GA=20 > board. These are powerpc 405 models. We managed to compile valgrind and t= ools=20 > for this platform and we also were able to generate results. However the= =20 > results do not seem to make any sense. In MPEG-2 for example, the functio= n=20 > fprintf is reported to call motion_estimation. Which of course is not rea= lly=20 > sensible. >=20 > Do you guys know what is going on? Is the powerpc 405 not supported? Are = we=20 > doing something wrong? If you would like to see the source and profiles, = let=20 > me know where to send it In short: Call graph tracing is experimental on PPC. Despite being quite robust, call graph tracing is far from giving reliable call graphs. The problem is that I am totally incompetent about the PPC ISA/ABI, and the PPC ISA has no explicit call/return instructions, so there have to be heuristics about what e.g. branch in a binary was meant to be a call. [I recently added this fact to the callgrind manual in SVN; but it probably would be better to put it into the FAQ list] I am quite sure that ABI knowledge and debug info can help a lot here. I am really very interested in any patch/discussion which makes this work in a better way. A good start already would be to analyze why the above bogus call "fprintf =3D=3D> motion_estimation" was found, and try to make this work. Cheers, Josef >=20 > greetings, >=20 > Kamana Sigdel and Roel Meeuws >=20 > P.S. the command we ran was:=20 > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0valgrind --tool=3Dcallgri= nd ../mpeg2encode test.par test.m2v |