https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99485
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> --- > The result shows that function "free" was executed 5 times. Yes, the last 4 calls happen from libgcov run-time where memory is released: (gdb) bt #0 free (ptr=0x4076f0) at pr99485.c:3 #1 0x00007ffff7e426f3 in fclose@@GLIBC_2.2.5 () from /lib64/libc.so.6 #2 0x0000000000401592 in __gcov_close () at /home/marxin/Programming/gcc/libgcc/../gcc/gcov-io.c:212 #3 0x0000000000401d10 in dump_one_gcov (run_max=1, run_counted=0, gf=<synthetic pointer>, gi_ptr=0x405160) at /home/marxin/Programming/gcc/libgcc/libgcov-driver.c:555 #4 gcov_do_dump (list=<optimized out>, run_counted=0) at /home/marxin/Programming/gcc/libgcc/libgcov-driver.c:594 #5 0x0000000000402c34 in __gcov_dump_one (root=0x4052e0 <__gcov_root>) at /home/marxin/Programming/gcc/libgcc/libgcov-driver.c:617 #6 __gcov_dump_one (root=0x4052e0 <__gcov_root>) at /home/marxin/Programming/gcc/libgcc/libgcov-driver.c:612 #7 __gcov_exit () at /home/marxin/Programming/gcc/libgcc/libgcov-driver.c:642 #8 0x000000000040103d in _sub_D_00100_1 () at pr99485.c:15 #9 0x00007ffff7fdc823 in _dl_fini () from /lib64/ld-linux-x86-64.so.2 #10 0x00007ffff7e0ccf7 in __run_exit_handlers () from /lib64/libc.so.6 #11 0x00007ffff7e0cea0 in exit () from /lib64/libc.so.6 #12 0x00007ffff7df4b2c in __libc_start_main () from /lib64/libc.so.6 #13 0x0000000000400ebe in _start () at ../sysdeps/x86_64/start.S:120 Then you see the function being executed twice. Later calls are not counted as counters are already streamed into GCDA file. Well, I tend to close it as invalid.