[Bug middle-end/61577] [4.9.0 Regression] can't compile on hp-ux v3 ia64
dmalcolm at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Feb 9 21:02:00 GMT 2020
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
More information about the Gcc-bugs
mailing list