|
From: Nuno L. <nun...@sa...> - 2007-01-10 22:20:28
|
Hello again, >> For example: >> ==17024== Invalid read of size 8 >> ==17024== at 0x87839B8: (within >> /p2/var/php_gcov/PHP_HEAD/sapi/cli/php) > > So this is where the read happened. I have traced this error and it happens inside a function named movdqa4. The problem is that it hasn't any debug symbols associated and it is local. nm reports: 08807eb0 t movdqa4 08809620 t movdqa4 objdump -D: 08807eb0 <movdqa4>: 8807eb0: 83 e9 20 sub $0x20,%ecx 8807eb3: 66 0f 6f 5e 10 movdqa 0x10(%esi),%xmm3 8807eb8: 66 0f 6f 46 20 movdqa 0x20(%esi),%xmm0 <-- this is the line that cause the warning 8807ebd: 83 c6 20 add $0x20,%esi 8807ec0: 66 0f 73 d9 04 psrldq $0x4,%xmm1 (...) These movdqa* functions are introduced by the intel compiler through their libirc.a lib, so I have no control over them nor I have a way to add debug symbols to their objects files. So it seems that valgrind only uses the function names from the debug data, and doesn't use the symbol table. Would it be possible to use the symbol table? (I mean fallback to it when no debug symbols are found) Thanks in advance, Nuno Lopes |