Yet another fix for -falign-loops problems.
* config/tc-ia64.c (ia64_flush_insns): In addition to prologue, body, and endp, allow unwind records which do not have a "t" (time/instruction) field.
This commit is contained in:
parent
42d9e3b9a7
commit
9c59842f2a
@ -1,3 +1,9 @@
|
||||
2004-02-18 David Mosberger <davidm@hpl.hp.com>
|
||||
|
||||
* config/tc-ia64.c (ia64_flush_insns): In addition to prologue,
|
||||
body, and endp, allow unwind records which do not have a "t"
|
||||
(time/instruction) field.
|
||||
|
||||
2004-02-17 Petko Manolov <petkan@nucleusys.com>
|
||||
|
||||
* config/tc-arm.c (do_mav_dspsc_1): Correct offset of CRn.
|
||||
|
@ -1092,14 +1092,36 @@ ia64_flush_insns ()
|
||||
here. Give an error for others. */
|
||||
for (ptr = unwind.current_entry; ptr; ptr = ptr->next)
|
||||
{
|
||||
if (ptr->r.type == prologue || ptr->r.type == prologue_gr
|
||||
|| ptr->r.type == body || ptr->r.type == endp)
|
||||
switch (ptr->r.type)
|
||||
{
|
||||
case prologue:
|
||||
case prologue_gr:
|
||||
case body:
|
||||
case endp:
|
||||
ptr->slot_number = (unsigned long) frag_more (0);
|
||||
ptr->slot_frag = frag_now;
|
||||
break;
|
||||
|
||||
/* Allow any record which doesn't have a "t" field (i.e.,
|
||||
doesn't relate to a particular instruction). */
|
||||
case unwabi:
|
||||
case br_gr:
|
||||
case copy_state:
|
||||
case fr_mem:
|
||||
case frgr_mem:
|
||||
case gr_gr:
|
||||
case gr_mem:
|
||||
case label_state:
|
||||
case rp_br:
|
||||
case spill_base:
|
||||
case spill_mask:
|
||||
/* nothing */
|
||||
break;
|
||||
|
||||
default:
|
||||
as_bad (_("Unwind directive not followed by an instruction."));
|
||||
break;
|
||||
}
|
||||
else
|
||||
as_bad (_("Unwind directive not followed by an instruction."));
|
||||
}
|
||||
unwind.current_entry = NULL;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user