[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug binutils/2335] gprof reads executable 10x slower on opteron/x86_64

From: dirkjan at magma-da dot com
Subject: [Bug binutils/2335] gprof reads executable 10x slower on opteron/x86_64
Date: 14 Feb 2006 08:15:16 -0000

------- 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
_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


------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]