From 34e4178350592df5ab8187ef75a2318965af7b83 Mon Sep 17 00:00:00 2001 From: Bob Wilson Date: Fri, 5 Nov 2004 17:25:34 +0000 Subject: [PATCH] * config/tc-xtensa.c (total_frag_text_expansion): New. (md_estimate_size_before_relax): Use it. (find_address_of_next_align_frag): Likewise. --- gas/ChangeLog | 6 ++++++ gas/config/tc-xtensa.c | 19 ++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 9dc94d1e08d..184a5799ca5 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2004-11-05 Sterling Augustine + + * 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 * config/tc-crx.c: Rename argument types. diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c index a2eaf963213..340fb18c622 100644 --- a/gas/config/tc-xtensa.c +++ b/gas/config/tc-xtensa.c @@ -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: -- 2.30.2