From: Bob Wilson Date: Fri, 5 Nov 2004 17:25:34 +0000 (+0000) Subject: * config/tc-xtensa.c (total_frag_text_expansion): New. X-Git-Url: http://git.efficios.com/?a=commitdiff_plain;h=34e4178350592df5ab8187ef75a2318965af7b83;p=deliverable%2Fbinutils-gdb.git * config/tc-xtensa.c (total_frag_text_expansion): New. (md_estimate_size_before_relax): Use it. (find_address_of_next_align_frag): Likewise. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 9dc94d1e08..184a5799ca 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 a2eaf96321..340fb18c62 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: