https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64123
--- Comment #9 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Looking at the backtrace, all functions are 0x00007ffff07 until the __gcov_merge_add which is 0x00007ffff7fe so apparently coming from a different DSO. This seems to be because the pointer come from gcov_info desciptor that bids to different hidden instance. How this is supposed to work? #2 0x00007ffff7fe1d1e in __gcov_read_counter () at ../../../libgcc/../gcc/gcov-io.c:555 #3 0x00007ffff7fe144d in gcov_get_counter () at ../../../libgcc/libgcov.h:316 #4 __gcov_merge_add (counters=0x7ffff7fe66f8 <__gcov0._Z30mozalloc_set_oom_abort_handlerPFvmE>, n_counters=<optimized out>) at ../../../libgcc/libgcov-merge.c:56 #5 0x00007ffff0758f28 in merge_one_data (crc32=3347144653, eof_pos_p=<synthetic pointer>, summary_pos_p=<synthetic pointer>, this_prg=0x7fffffff8d60, prg_p=0x7fffffffa530, gi_ptr=0x7ffff7fe6340, filename=0x7ffff6f41920 "/aux/hubicka/firefox6-50-lto-fdo3/memory/mozalloc/Unified_cpp_memory_mozalloc0.gcda") at ../../../libgcc/libgcov-driver.c:472 #6 dump_one_gcov (all_prg=<synthetic pointer>, this_prg=0x7fffffff8d60, crc32=3347144653, run_counted=0, gf=<synthetic pointer>, gi_ptr=0x7ffff7fe6340) at ../../../libgcc/libgcov-driver.c:787 #7 gcov_do_dump (list=<optimized out>, run_counted=0) at ../../../libgcc/libgcov-driver.c:846 #8 0x00007ffff0759242 in __gcov_dump_one (root=root@entry=0x7ffff7fe7760 <__gcov_root>) at ../../../libgcc/libgcov-driver.c:858 #9 0x00007ffff0714fe8 in __gcov_dump_int () at ../../../libgcc/libgcov-interface.c:164 #