https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71080
Bug ID: 71080 Summary: Segfault in ix86_in_large_data_p with -fpic -mcmodel={medium, large} Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com CC: ro at gcc dot gnu.org Target Milestone: --- Target: x86_64 Recent commit introduced massive testsuite failures in the x86 testsuite with -fpic -mcmodel=medium or -mcmodel=large, e.g.: FAIL: gcc.dg/tm/20100519.c (internal compiler error) FAIL: gcc.dg/tm/20100519.c (internal compiler error) FAIL: gcc.dg/tm/20100519.c (test for excess errors) FAIL: gcc.dg/tm/20100519.c (test for excess errors) gdb --args ./cc1 -fgnu-tm -O -fpic -mcmodel=medium -quiet 20100519.c Program received signal SIGSEGV, Segmentation fault. 0x0000000001177f70 in ix86_in_large_data_p (exp=0x0) at ../../git/gcc/gcc/config/i386/i386.c:6827 6827 if (TREE_CODE (exp) == FUNCTION_DECL) (gdb) p exp $1 = (tree) 0x0 (gdb) bt #0 0x0000000001177f70 in ix86_in_large_data_p (exp=0x0) at ../../git/gcc/gcc/config/i386/i386.c:6827 #1 0x000000000117d42f in x86_64_elf_section_type_flags (decl=0x0, name=0x1aaeec8 ".tm_clone_table", reloc=3) at ../../git/gcc/gcc/config/i386/i386.c:6935 #2 0x0000000001136750 in get_named_section (decl=0x0, name=0x1aaeec8 ".tm_clone_table", reloc=3) at ../../git/gcc/gcc/varasm.c:422 #3 0x00000000011369b4 in default_clone_table_section () at ../../git/gcc/gcc/varasm.c:5888 #4 0x00000000011385dc in dump_tm_clone_pairs (tm_alias_pairs=...) at ../../git/gcc/gcc/varasm.c:5871 #5 0x0000000001138969 in finish_tm_clone_pairs () at ../../git/gcc/gcc/varasm.c:5930 #6 0x0000000000daa88b in compile_file () at ../../git/gcc/gcc/toplev.c:524 #7 0x0000000000dac6c1 in do_compile () at ../../git/gcc/gcc/toplev.c:1987 #8 0x0000000000dac828 in toplev::main (this=0x7fffffffd450, argc=6, argv=0x7fffffffd558) at ../../git/gcc/gcc/toplev.c:2095 #9 0x00000000018f0d6b in main (argc=6, argv=0x7fffffffd558) at ../../git/gcc/gcc/main.c:39 Regression tracker [1] points to r235445 vs r235428, where: 10:10 r235435 - in /trunk/gcc: ChangeLog config/i386/... ro 10:06 r235434 - in /trunk/gcc: ChangeLog config/i386/... ro [1] https://gcc.gnu.org/ml/gcc-regression/2016-04/msg04692.html