The following patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55048
LRA tried to take BB from non-NOTE_INSN_BASIC_BLOCK note and got NULL which resulted in SIGSEGV.
The patch was successfully bootstrapped with java on x86/x86-64. Committed as rev. 192770. 2012-10-24 Vladimir Makarov <vmaka...@redhat.com> PR bootstrap/55048 * lra-constraints.c (update_ebb_live_info): Skip non-NOTE_INSN_BASIC_BLOCK notes.
Index: lra-constraints.c =================================================================== --- lra-constraints.c (revision 192743) +++ lra-constraints.c (working copy) @@ -4300,6 +4300,10 @@ update_ebb_live_info (rtx head, rtx tail curr_insn = prev_insn) { prev_insn = PREV_INSN (curr_insn); + /* We need to process empty blocks too. They contain + NOTE_INSN_BASIC_BLOCK referring for the basic block. */ + if (NOTE_P (curr_insn) && NOTE_KIND (curr_insn) != NOTE_INSN_BASIC_BLOCK) + continue; curr_bb = BLOCK_FOR_INSN (curr_insn); if (curr_bb != prev_bb) {