https://sourceware.org/bugzilla/show_bug.cgi?id=21189
Nick Clifton <nickc at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nickc at redhat dot com --- Comment #1 from Nick Clifton <nickc at redhat dot com> --- Hi Matthias, > Since --enabled-default-pie was enabled in Debian for GCC 6, gprof no longer > works. I think that this might be a glibc bug. Specifically in their implementation of mcount() for PIE environments. Running "gprof -d infloop | grep main" shows that main starts at address 0x860: [get_src_info] 0x860 -> infloop.c:1 (main) [core_create_function_syms] 15 main 0x860 And that it covers 0x2f bytes: [symtab_finalize] 0x860-0x88f main But, the data in the gmon.out file us using much higher addresses: [hist_read_rec] n_lowpc 0x4004e0 n_highpc 0x400718 ncnt 144 [assign_samples] bin_low_pc=0x40063a, bin_high_pc=0x40063e, bin_count=18 [assign_samples] bin_low_pc=0x40063e, bin_high_pc=0x400642, bin_count=38 [assign_samples] bin_low_pc=0x400646, bin_high_pc=0x40064a, bin_count=82 [assign_samples] total_time 138.000000 Of course I may be wrong - I am not an expert on gprof - but it does look to me like the contents of the gmon.out file are wrong. Alternatively maybe gprof needs a way compute a starting address bias for PIE executables. Cheers Nick -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils