Problem description =================== Function names are mangled in gprof output. Such name mangling in gprof output only occurs when compiling with g++ under 64 bit modes
Compiler output =============== The name HelloWorld is mangled. Flat profile: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 7 0.00 0.00 ._Z10HelloWorldv 0.00 0.00 0.00 1 0.00 0.00 .__gmon_start__ ^L Call graph granularity: each sample hit covers 4 byte(s) no time propagated index % time self children called name 0.00 0.00 7/7 .main [9] [1] 0.0 0.00 0.00 7 ._Z10HelloWorldv [1] ----------------------------------------------- 1 .__gmon_start__ [2] 0.00 0.00 1/1 .atexit [8] [2] 0.0 0.00 0.00 1+1 .__gmon_start__ [2] 1 .__gmon_start__ [2] ----------------------------------------------- ^L Index by function name [1] ._Z10HelloWorldv [2] .__gmon_start__Expected output =============== Flat profile: Each sample counts as 0.01 seconds. no time accumulated % cumulative self self total time seconds seconds calls Ts/call Ts/call name 0.00 0.00 0.00 7 0.00 0.00 HelloWorld() 0.00 0.00 0.00 1 0.00 0.00 global constructors keyed to _Z10HelloWorldv 0.00 0.00 0.00 1 0.00 0.00 __static_initialization_and_destruction_0(int, int) ^L Call graph granularity: each sample hit covers 4 byte(s) no time propagated index % time self children called name 0.00 0.00 7/7 main [10] [11] 0.0 0.00 0.00 7 HelloWorld() [11] ----------------------------------------------- 0.00 0.00 1/1 __do_global_ctors_aux [14] [12] 0.0 0.00 0.00 1 global constructors keyed to _Z10HelloWorldv [12] 0.00 0.00 1/1 __static_initialization_and_destruction_0(int, int) [13] ----------------------------------------------- 0.00 0.00 1/1 global constructors keyed to _Z10HelloWorldv [12] [13] 0.0 0.00 0.00 1 __static_initialization_and_destruction_0(int, int) [13] ----------------------------------------------- ^L Index by function name [12] global constructors keyed to _Z10HelloWorldv [11] HelloWorld() [13] __static_initialization_and_destruction_0(int, int) Steps to reproduce the problem ============================== # /usr/bin/g++ -m64 -pg -o hello hello.C >STEP1.out 2>&1 # ./hello >hello.out 2>STEP2.out # /usr/bin/gprof -b hello gmon.out >gprof.out 2>STEP6.out /* Listing of hello.C */ #include <stream.h> void HelloWorld() { cout << "Hello, World\n"; } int main() { for(int i=0; i<7; i++) HelloWorld(); return(0); } -- Summary: gprof names are mangled under 64 bit compilation Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: gcov-profile AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: vkywong at ca dot ibm dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31624