------- Comment #1 from ghazi at gcc dot gnu dot org 2007-06-12 20:37 -------
This worked as of June 9th, so it's recent.
The SEGV happens because "df" (used in the macro DF_REG_DEF_COUNT) is nil:
signal SEGV (no mapping at the fault address) in sparc_check_64 at line 7677 in
file "sparc.c"
7677 && DF_REG_DEF_COUNT (REGNO (y)) == 1)
(dbx) where
=>[1] sparc_check_64(x = 0xff168620, insn = 0xff123810), line 7677 in "sparc.c"
[2] output_v8plus_shift(operands = 0x1f07484, insn = 0xff123810, opcode =
0x1e8e364 "srax"), line 7741 in "sparc.c"
[3] output_363(operands = 0x1f07484, insn = 0xff123810), line 6499 in
"sparc.md"
[4] get_insn_template(code = 363, insn = 0xff123810), line 1584 in "final.c"
[5] final_scan_insn(insn = 0xff123810, file = 0x1f013c8, optimize = 2,
nopeepholes = 0, seen = 0xffbff22c), line 2460 in "final.c"
[6] final(first = 0xff123658, file = 0x1f013c8, optimize = 2), line 1569 in
"final.c"
[7] rest_of_handle_final(), line 3973 in "final.c"
[8] execute_one_pass(pass = 0x1ec37ec), line 1124 in "passes.c"
[9] execute_pass_list(pass = 0x1ec37ec), line 1177 in "passes.c"
[10] execute_pass_list(pass = 0x1ec3d94), line 1178 in "passes.c"
[11] execute_pass_list(pass = 0x1ec3d60), line 1178 in "passes.c"
[12] tree_rest_of_compilation(fndecl = 0xff154d20), line 406 in
"tree-optimize.c"
[13] c_expand_body(fndecl = 0xff154d20), line 4331 in "c-common.c"
[14] cgraph_expand_function(node = 0xff15fb30), line 1073 in "cgraphunit.c"
[15] cgraph_expand_all_functions(), line 1142 in "cgraphunit.c"
[16] cgraph_optimize(), line 1349 in "cgraphunit.c"
[17] c_write_global_declarations(), line 7911 in "c-decl.c"
[18] compile_file(), line 1064 in "toplev.c"
[19] do_compile(), line 2150 in "toplev.c"
[20] toplev_main(argc = 25U, argv = 0xffbff92c), line 2182 in "toplev.c"
[21] main(argc = 25, argv = 0xffbff92c), line 35 in "main.c"
(dbx) list
7677 && DF_REG_DEF_COUNT (REGNO (y)) == 1)
7678 set_once = 1;
7679
7680 if (insn == 0)
7681 {
7682 if (set_once)
7683 insn = get_last_insn_anywhere ();
7684 else
7685 return 0;
7686 }
(dbx) print df
df = (nil)
(dbx)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32312