https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61577
--- Comment #151 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to Peter Bisroev from comment #139) [...] > I am not sure how these selftests work yet but will take a look into them to > see if we can reproduce a reliable minimal test case. FWIW, I added the selftest framework to gcc, in the hopes that failing early in a minimal reproducer is better than having lots of DejaGnu failures later on. "make selftest-gdb" is a precanned way to debug things, though I don't know how well it will work for your configuration. However this is what I > see in GDB for now: > ---------------------------------------- > (gdb) r > Starting program: /home/pbisroev/src/build/./gcc/cc1 -quiet -nostdinc > -iprefix /home/pbisroev/src/build/gcc/../lib/gcc/ia64-hp-hpux11.31/8.3.0/ > -isystem /home/pbisroev/src/build/./gcc/include -isystem > /home/pbisroev/src/build/./gcc/include-fixed /dev/null -quiet -dumpbase null > -auxbase-strip /dev/null -version > -fself-test=/home/pbisroev/src/gcc-8.3.0/gcc/testsuite/selftests > GNU C17 (GCC) version 8.3.0 (ia64-hp-hpux11.31) > compiled by GNU C version 4.7.4, GMP version 6.1.0, MPFR version > 3.1.4, MPC version 1.0.3, isl version none > GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 > GNU C17 (GCC) version 8.3.0 (ia64-hp-hpux11.31) > compiled by GNU C version 4.7.4, GMP version 6.1.0, MPFR version > 3.1.4, MPC version 1.0.3, isl version none > GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 > Compiler executable checksum: 6adcccc5ed57899a8ef4c993d4479438 > > Program received signal SIGSEGV, Segmentation fault > si_code: 1 - SEGV_MAPERR - Address not mapped to object. > 0x79e7a40 in <unknown_procedure> () > (gdb) bt > #0 0x79e7a40 in <unknown_procedure> () > warning: Attempting to unwind past bad PC 0x79e7a40 > #1 0x6c81c20 in > vector_builder<tree_node*,tree_vector_builder>::try_npatterns(unsigned > int)+0x2a0 () > #2 0x6c821d0 in vector_builder<tree_node*,tree_vector_builder>::finalize() > +0x390 () > #3 0x59e9b70:0 in tree_vector_builder::build()+0x30 () > #4 0x5a69240:0 in <unknown_procedure> () > #5 0x5a8b6b0:0 in selftest::tree_c_tests()+0x7b0 () > #6 0x642a510:0 in selftest::run_tests()+0x190 () > #7 0x52e68e0:0 in toplev::run_self_tests()+0x60 () > #8 0x52e8760:0 in toplev::main(int,char**)+0x1be0 () > #9 0x64d4eb0:0 in main+0x70 () > (gdb) Probably frame 4 is "test_vector_cst_patterns", judging by frames 1 and 2; frame 1 is an instantiation of a template. If a particular selftest is failing, there's always the option of disabling it with #if 0 (or putting a "return;" at the top of it). Though obviously that may be merely postponing dealing with a bug until a later point. Hope this is helpful
