re PR debug/49831 (arm-linux-gnueabi bootstrap failures due to ICE in dwarf2cfi.c connect_traces)
PR debug/49831 * dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip them entirely. Constant pools are emitted in such a way as to be indistinguishable from regular instructions, and these constant pools are, naturally, not reachable as code. From-SVN: r176730
This commit is contained in:
parent
981dc73548
commit
149e741d2c
2 changed files with 19 additions and 3 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-07-24 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR debug/49831
|
||||
* dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip
|
||||
them entirely.
|
||||
|
||||
2011-07-24 Richard Henderson <rth@redhat.com>
|
||||
|
||||
PR debug/49825
|
||||
|
|
|
@ -2641,14 +2641,22 @@ connect_traces (void)
|
|||
|
||||
prev_ti = VEC_index (dw_trace_info, trace_info, 0);
|
||||
|
||||
for (i = 1; i < n; ++i, prev_ti = ti)
|
||||
for (i = 1; i < n; ++i)
|
||||
{
|
||||
dw_cfi_row *old_row;
|
||||
|
||||
ti = VEC_index (dw_trace_info, trace_info, i);
|
||||
|
||||
/* We must have both queued and processed every trace. */
|
||||
gcc_assert (ti->beg_row && ti->end_row);
|
||||
/* ??? Ideally, we should have both queued and processed. However
|
||||
the current representation of constant pools on various targets
|
||||
is indistinguishable from unreachable code. Assume for the
|
||||
moment that we can simply skip over such traces. */
|
||||
/* ??? Consider creating a DATA_INSN rtx code to indicate that
|
||||
these are not "real" instructions, and should not be considered.
|
||||
This could be generically useful for tablejump data as well. */
|
||||
if (ti->beg_row == NULL)
|
||||
continue;
|
||||
gcc_assert (ti->end_row != NULL);
|
||||
|
||||
/* In dwarf2out_switch_text_section, we'll begin a new FDE
|
||||
for the portion of the function in the alternate text
|
||||
|
@ -2677,6 +2685,8 @@ connect_traces (void)
|
|||
}
|
||||
while (note != add_cfi_insn);
|
||||
}
|
||||
|
||||
prev_ti = ti;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue