------- 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