[Bug middle-end/52027] New: [4.7 Regression] ICE: SIGSEGV in set_cur_line_info_table (dwarf2out.c:20428) with -O -freorder-blocks-and-partition -fno-reorder-functions -fprofile-use

zsojka at seznam dot cz gcc-bugzilla@gcc.gnu.org
Sat Jan 28 10:00:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52027

             Bug #: 52027
           Summary: [4.7 Regression] ICE: SIGSEGV in
                    set_cur_line_info_table (dwarf2out.c:20428) with -O
                    -freorder-blocks-and-partition -fno-reorder-functions
                    -fprofile-use
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu


Created attachment 26488
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26488
reduced testcase (from gcc.dg/tree-prof/val-prof-7.c)

Compiler output:
$ rm *.gcda
$ gcc -O -freorder-blocks-and-partition -fno-reorder-functions testcase.c
-fprofile-generate
$ ./a.out
$ gcc -O -freorder-blocks-and-partition -fno-reorder-functions testcase.c
-fprofile-use
==22173== Invalid write of size 1
==22173==    at 0x6FE04F: set_cur_line_info_table(section*) (dwarf2out.c:20428)
==22173==    by 0x78A28D: final_scan_insn(rtx_def*, _IO_FILE*, int, int, int*)
(final.c:1925)
==22173==    by 0x78B5DA: final(rtx_def*, _IO_FILE*, int) (final.c:1786)
==22173==    by 0x78BEEE: rest_of_handle_final() (final.c:4319)
==22173==    by 0x8FB8E4: execute_one_pass(opt_pass*) (passes.c:2081)
==22173==    by 0x8FBCA4: execute_pass_list(opt_pass*) (passes.c:2136)
==22173==    by 0x8FBCB6: execute_pass_list(opt_pass*) (passes.c:2137)
==22173==    by 0x8FBCB6: execute_pass_list(opt_pass*) (passes.c:2137)
==22173==    by 0xA5DFFD: tree_rest_of_compilation(tree_node*)
(tree-optimize.c:420)
==22173==    by 0x6AFE39: cgraph_expand_function(cgraph_node*)
(cgraphunit.c:1819)
==22173==    by 0x6B1D0B: cgraph_optimize() (cgraphunit.c:1886)
==22173==    by 0x6B2369: cgraph_finalize_compilation_unit()
(cgraphunit.c:1328)
==22173==    by 0x58EC1F: c_write_global_declarations() (c-decl.c:10030)
==22173==    by 0x9F081B: toplev_main(int, char**) (toplev.c:573)
==22173==    by 0x66E009C: (below main) (in /lib64/libc-2.13.so)
==22173==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
==22173== 
testcase.c: In function 'foo':
testcase.c:6:1: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

Tested revisions:
r183652 - crash
r183495 - crash
r182547 - crash
r180540 - OK
4.6 r180325 - OK



More information about the Gcc-bugs mailing list