* config/tc-xtensa.c (total_frag_text_expansion): New.

(md_estimate_size_before_relax): Use it.
	(find_address_of_next_align_frag): Likewise.
This commit is contained in:
Bob Wilson 2004-11-05 17:25:34 +00:00
parent 1eefd49334
commit 34e4178350
2 changed files with 22 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2004-11-05 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (total_frag_text_expansion): New.
(md_estimate_size_before_relax): Use it.
(find_address_of_next_align_frag): Likewise.
2004-11-05 Tomer Levi <Tomer.Levi@nsc.com>
* config/tc-crx.c: Rename argument types.

View file

@ -442,6 +442,7 @@ static void set_literal_pool_location (segT, fragS *);
static void xtensa_set_frag_assembly_state (fragS *);
static void finish_vinsn (vliw_insn *);
static bfd_boolean emit_single_op (TInsn *);
static int total_frag_text_expansion (fragS *);
/* Alignment Functions. */
@ -5706,7 +5707,7 @@ md_atof (int type, char *litP, int *sizeP)
int
md_estimate_size_before_relax (fragS *fragP, segT seg ATTRIBUTE_UNUSED)
{
return fragP->tc_frag_data.text_expansion[0];
return total_frag_text_expansion (fragP);
}
@ -6762,6 +6763,19 @@ emit_single_op (TInsn *orig_insn)
}
static int
total_frag_text_expansion (fragS *fragP)
{
int slot;
int total_expansion = 0;
for (slot = 0; slot < MAX_SLOTS; slot++)
total_expansion += fragP->tc_frag_data.text_expansion[slot];
return total_expansion;
}
/* Emit a vliw instruction to the current fragment. */
static void
@ -8641,8 +8655,7 @@ find_address_of_next_align_frag (fragS **fragPP,
(*widens)++;
break;
}
/* FIXME: shouldn't this add the expansion of all slots? */
address += fragP->tc_frag_data.text_expansion[0];
address += total_frag_text_expansion (fragP);;
break;
case RELAX_IMMED: