aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-v850.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-v850.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-v850.c')
-rw-r--r--gas/config/tc-v850.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 1f157d7..89f4b98 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -604,8 +604,8 @@ const pseudo_typeS md_pseudo_table[] = {
{"call_table_text", v850_call_table_text, 0},
{"v850e", set_machine, bfd_mach_v850e},
{"v850ea", set_machine, bfd_mach_v850ea},
- {"file", dwarf2_directive_file },
- {"loc", dwarf2_directive_loc },
+ {"file", dwarf2_directive_file, 0},
+ {"loc", dwarf2_directive_loc, 0},
{ NULL, NULL, 0}
};
@@ -1321,7 +1321,6 @@ md_convert_frag (abfd, sec, fragP)
{
fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED + (int)fragP->fr_opcode);
- fragP->fr_var = 0;
fragP->fr_fix += 2;
}
/* Out of range conditional branch. Emit a branch around a jump. */
@@ -1345,7 +1344,6 @@ md_convert_frag (abfd, sec, fragP)
fix_new (fragP, fragP->fr_fix + 2, 4, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED +
(int) fragP->fr_opcode + 1);
- fragP->fr_var = 0;
fragP->fr_fix += 6;
}
/* Out of range unconditional branch. Emit a jump. */
@@ -1355,7 +1353,6 @@ md_convert_frag (abfd, sec, fragP)
fix_new (fragP, fragP->fr_fix, 4, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED +
(int) fragP->fr_opcode + 1);
- fragP->fr_var = 0;
fragP->fr_fix += 4;
}
else
@@ -2315,20 +2312,17 @@ tc_gen_reloc (seg, fixp)
return reloc;
}
-/* Assume everything will fit in two bytes, then expand as necessary. */
+/* Return current size of variable part of frag. */
int
md_estimate_size_before_relax (fragp, seg)
fragS *fragp;
asection *seg ATTRIBUTE_UNUSED;
{
- if (fragp->fr_subtype == 0)
- fragp->fr_var = 4;
- else if (fragp->fr_subtype == 2)
- fragp->fr_var = 2;
- else
+ if (fragp->fr_subtype >= sizeof (md_relax_table) / sizeof (md_relax_table[0]))
abort ();
- return 2;
+
+ return md_relax_table[fragp->fr_subtype].rlx_length;
}
long