|
From: Emilio C. <er...@gm...> - 2011-08-25 17:48:05
|
Hi Josef, > Hmm... strlen shouldn't need to call calloc, so your output seems to be > sane. > Ok. In the next days I try to trace function entry/exit with a tool based on PIN on the same program, I hope I can understand more about differences between my code and callgrind. It's not easy to catch errors if you don't know the function flow :( > What distribution is this? > Ubuntu 10.04 32bit. > Can you locate the relevant output of "valgrind --tool=callgrind > --ct-verbose=2 ..."? > Here: http://www.ercoppa.org/include/files/log-call2tar.bz2 The original (stupid) program is this: http://pastebin.com/M1AaTMWN > And can you show the relevant disassembly of ld-2.13.so at offset 0x16c20 > ? > Obtained with objdump -d /lib/i386-linux-gnu/ld-2.13.so--start-address=0x16c20 Here: http://pastebin.com/ugf3HzRJ > > > Valgrind does not know where we are: 0x40007E4 > > When do you print out this? It's printed by the helper function (called at the beginning of a BB) when Valgrind doesn't give me debug info [VG_(get_fnname)], > Of course it does. But it could be that there is not debug info available, > and thus, Valgrind can not tell whether this is the beginning of a function > or not. Ok, thanks. In the next days I modify my code based on your observations. We'll see what I get :) Emilio. |