From: Maynard J. <may...@us...> - 2012-01-06 23:51:39
|
Aside from the debuginfo processing issues that have recently been discussed on the list, I've found a new one (arghhh!!). For certain libraries (notably, libc), some distros (recent Fedora and RHEL, for example) put only the debug info sections into *.debug files; the basic symbol info (.symtab/.strtab) is retained in these partially stripped libraries. This technique allows tools to do address-to-symbol resolution since the basic symbol info is available in the runtime library. However, to get detailed debug info (source file/line#), further steps must be taken. Unfortunately, oprofile is not handling this situation correctly. In processing a debuginfo file in bfd_support.cpp:get_symbols(), the call to bfd_get_symtab_upper_bound returns 0 for nr_syms since there is no symbol info in the debuginfo file (only debug info). And since nr_syms is less than '1', we simply return. I've not yet started to look at how to handle this problem, but if anyone wants to volunteer, that would be great. I've already opened a bug report for this: https://sourceforge.net/tracker/?func=detail&aid=3470511&group_id=16191&atid=116191 -Maynard |