aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-m32r.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2001-05-10 11:32:52 +0000
committerAlan Modra <amodra@gmail.com>2001-05-10 11:32:52 +0000
commit606ab118baddd89493a504f6622c944562cc6bc5 (patch)
treeb2b4ea0ee8f6cdf520d6f71864772d313250a5cf /gas/config/tc-m32r.c
parentdab11f21ed899714eaec586add22deacb8f3ade6 (diff)
downloadgdb-606ab118baddd89493a504f6622c944562cc6bc5.zip
gdb-606ab118baddd89493a504f6622c944562cc6bc5.tar.gz
gdb-606ab118baddd89493a504f6622c944562cc6bc5.tar.bz2
Fix more fallout from multi-pass relaxation patch.
Diffstat (limited to 'gas/config/tc-m32r.c')
-rw-r--r--gas/config/tc-m32r.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gas/config/tc-m32r.c b/gas/config/tc-m32r.c
index 51ef9fe..47378d4 100644
--- a/gas/config/tc-m32r.c
+++ b/gas/config/tc-m32r.c
@@ -1441,8 +1441,6 @@ md_estimate_size_before_relax (fragP, segment)
fragS *fragP;
segT segment;
{
- int old_fr_fix = fragP->fr_fix;
-
/* The only thing we have to handle here are symbols outside of the
current segment. They may be undefined or in a different segment in
which case linker scripts may place them anywhere.
@@ -1451,6 +1449,8 @@ md_estimate_size_before_relax (fragP, segment)
if (S_GET_SEGMENT (fragP->fr_symbol) != segment)
{
+ int old_fr_fix = fragP->fr_fix;
+
/* The symbol is undefined in this segment.
Change the relaxation subtype to the max allowable and leave
all further handling to md_convert_frag. */
@@ -1474,6 +1474,7 @@ md_estimate_size_before_relax (fragP, segment)
/* Mark this fragment as finished. */
frag_wane (fragP);
+ return fragP->fr_fix - old_fr_fix;
#else
{
const CGEN_INSN *insn;
@@ -1500,7 +1501,7 @@ md_estimate_size_before_relax (fragP, segment)
#endif
}
- return (fragP->fr_var + fragP->fr_fix - old_fr_fix);
+ return md_relax_table[fragP->fr_subtype].rlx_length;
}
/* *FRAGP has been relaxed to its final size, and now needs to have