Summary: | Missing functions and call counts | ||
---|---|---|---|
Product: | binutils | Reporter: | Vincent Rivière <vincent.riviere> |
Component: | gprof | Assignee: | Alan Modra <amodra> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amodra |
Priority: | P2 | ||
Version: | 2.22 | ||
Target Milestone: | --- | ||
Host: | Target: | m68k-aout | |
Build: | Last reconfirmed: |
Description
Vincent Rivière
2011-02-05 14:53:50 UTC
This bug comes from gprof/corefile.c, in the function core_create_function_syms(). Old code was: symtab.limit->is_func = TRUE; But the new code is: symtab.limit->is_func = (core_syms[i]->flags & BSF_FUNCTION) != 0; If I'm not wrong, the BSF_FUNCTION flag is not available on a.out targets, so the symbols are never considered as functions. It works fine when I revert to TRUE unconditionally. Ideally, the BSF_FUNCTION flag should be tested only if it is available on the target. CVSROOT: /cvs/src Module name: src Changes by: amodra@sourceware.org 2011-02-06 23:38:38 Modified files: gprof : ChangeLog corefile.c Log message: PR gprof/12468 * corefile.c (core_create_function_syms): Set is_func for targets that have no BSF_FUNCTION syms. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gprof/ChangeLog.diff?cvsroot=src&r1=1.296&r2=1.297 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gprof/corefile.c.diff?cvsroot=src&r1=1.40&r2=1.41 CVSROOT: /cvs/src Module name: src Branch: binutils-2_21-branch Changes by: amodra@sourceware.org 2011-02-06 23:39:54 Modified files: gprof : ChangeLog corefile.c Log message: PR gprof/12468 * corefile.c (core_create_function_syms): Set is_func for targets that have no BSF_FUNCTION syms. Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/src/gprof/ChangeLog.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.290.2.4&r2=1.290.2.5 http://sourceware.org/cgi-bin/cvsweb.cgi/src/gprof/corefile.c.diff?cvsroot=src&only_with_tag=binutils-2_21-branch&r1=1.40&r2=1.40.2.1 fixed Thanks, it works :-) |