------- Additional Comments From dirkjan at magma-da dot com 2006-02-14 08:15 ------- running gprof on a large executable takes 10 to 20 times longer on a 64bit executable then on a 32bit executable. the 32bit is build on rh72 with gcc3.2.3 the 64bit on rhel3 with gcc3.2.3. The issue is even in gprof of 2.16 binutils.
The problem is reading the symbols. in elf.c _bfd_elf_find_nearest_line calss first _bfd_dwarf2_find_nearest_line which resolves some of them then _bfd_stabs_find_nearest_line resolves most for the 32 bit case but non for the 64bit case. As a result it goes into the elf_find_function in the end which takes a lot of time. It seems to get there ventually. I found out that adding -gstabs1 does the trick and makes it as fast for 64bit as the 32bit executable. I noticed that somehow there is always a .stab section the the 32bit executable. It seems it cannot resolve very well using dwarf2 and therefore needs stabs debug info. -- What |Removed |Added ---------------------------------------------------------------------------- GCC host triplet| |opteron linux x86_64 Summary|gprof reads executable 10x |gprof reads executable 10x |slower on opteron/x86 |slower on opteron/x86_64 http://sourceware.org/bugzilla/show_bug.cgi?id=2335 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils