This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/71080] New: Segfault in ix86_in_large_data_p with -fpic -mcmodel={medium, large}


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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]