diff options
author | Alan Modra <amodra@gmail.com> | 2001-05-10 11:32:52 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2001-05-10 11:32:52 +0000 |
commit | 606ab118baddd89493a504f6622c944562cc6bc5 (patch) | |
tree | b2b4ea0ee8f6cdf520d6f71864772d313250a5cf /gas/config/tc-v850.c | |
parent | dab11f21ed899714eaec586add22deacb8f3ade6 (diff) | |
download | gdb-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.c | 18 |
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 |