https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66805
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-07-08 Component|c++ |gcov-profile Ever confirmed|0 |1 Known to fail| |4.3.4, 4.8.5, 5.2.0 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed with GCC 5 and 4.8 and 4.3. Program received signal SIGSEGV, Segmentation fault. compute_summary (max_length=<synthetic pointer>, this_prg=0x7fffffff9530, list=0x7ffff7ddb180) at /space/rguenther/src/svn/gcc-5-branch/libgcc/libgcov-driver.c:307 307 gfi_ptr = gi_ptr->functions[f_ix]; Missing separate debuginfos, use: zypper install libgcc_s1-gcc5-debuginfo-5.1.1+r225500-40.1.x86_64 libstdc++6-gcc5-debuginfo-5.1.1+r225500-40.1.x86_64 (gdb) bt #0 compute_summary (max_length=<synthetic pointer>, this_prg=0x7fffffff9530, list=0x7ffff7ddb180) at /space/rguenther/src/svn/gcc-5-branch/libgcc/libgcov-driver.c:307 #1 gcov_do_dump (list=0x7ffff7ddb180, run_counted=0) at /space/rguenther/src/svn/gcc-5-branch/libgcc/libgcov-driver.c:837 #2 0x00007ffff7bda0b2 in __gcov_dump_one (root=0x7ffff7ddc280 <__gcov_root>) at /space/rguenther/src/svn/gcc-5-branch/libgcc/libgcov-driver.c:858 #3 gcov_exit () at /space/rguenther/src/svn/gcc-5-branch/libgcc/libgcov-driver.c:874 #4 0x00007ffff6fc53df in __cxa_finalize () from /lib64/libc.so.6 #5 0x00007ffff7bd8113 in __do_global_dtors_aux () from ./pack.so #6 0x00007fffffffddf0 in ?? () #7 0x00007ffff7debe6a in _dl_fini () from /lib64/ld-linux-x86-64.so.2 (gdb) p gi_ptr->n_functions $2 = 32767 somehow this can't be true. I suppose somehow #pragma pack () affects building of the __gcov_info struct. Indeed: (gdb) p debug_tree (type) <record_type 0x7ffff6a4c7e0 BLK size <integer_cst 0x7ffff6a46df8 type <integer_type 0x7ffff68d0150 bitsizetype> constant 928> unit size <integer_cst 0x7ffff6a46e88 type <integer_type 0x7ffff68d00a8 sizetype> constant 116> align 8 symtab 0 alias set -1 canonical type 0x7ffff6a4c7e0 fields <field_decl 0x7ffff6a3ab48 D.2347 type <integer_type 0x7ffff68d0738 unsigned int public unsigned SI size <integer_cst 0x7ffff68ee0a8 constant 32> unit size <integer_cst 0x7ffff68ee0c0 constant 4> align 32 symtab 0 alias set -1 canonical type 0x7ffff68d0738 precision 32 min <integer_cst 0x7ffff68ee0d8 0> max <integer_cst 0x7ffff68ee090 4294967295> pointer_to_this <pointer_type 0x7ffff68f7c78>> unsigned SI file <built-in> line 0 col 0 size <integer_cst 0x7ffff68ee0a8 32> unit size <integer_cst 0x7ffff68ee0c0 4> align 8 offset_align 128 ...