* config/tc-mn10300.c (md_convert_frag): Correct fixup size.
authorAlan Modra <amodra@gmail.com>
Thu, 22 Feb 2007 22:34:16 +0000 (22:34 +0000)
committerAlan Modra <amodra@gmail.com>
Thu, 22 Feb 2007 22:34:16 +0000 (22:34 +0000)
(md_assemble): Likewise.

gas/ChangeLog
gas/config/tc-mn10300.c

index d41a094..108e8d9 100644 (file)
@@ -1,3 +1,8 @@
+2007-02-23  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/tc-mn10300.c (md_convert_frag): Correct fixup size.
+       (md_assemble): Likewise.
+
 2007-02-22  Alan Modra  <amodra@bigpond.net.au>
 
        * write.c (size_seg): Always clear SEC_RELOC here.
index fb7dc58..306e90c 100644 (file)
@@ -1019,7 +1019,7 @@ md_convert_frag (abfd, sec, fragP)
       int offset = fragP->fr_fix;
       fragP->fr_literal[offset] = 0xcc;
 
-      fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol,
+      fix_new (fragP, fragP->fr_fix + 1, 2, fragP->fr_symbol,
               fragP->fr_offset + 1, 1, BFD_RELOC_16_PCREL);
       fragP->fr_var = 0;
       fragP->fr_fix += 3;
@@ -2280,17 +2280,8 @@ keep_going:
                    abort ();
                }
 
-             /* Convert the size of the reloc into what fix_new_exp wants.  */
-             reloc_size = reloc_size / 8;
-             if (reloc_size == 8)
-               reloc_size = 0;
-             else if (reloc_size == 16)
-               reloc_size = 1;
-             else if (reloc_size == 32)
-               reloc_size = 2;
-
              fixP = fix_new_exp (frag_now, f - frag_now->fr_literal + offset,
-                                 reloc_size, &fixups[i].exp, pcrel,
+                                 reloc_size / 8, &fixups[i].exp, pcrel,
                                  ((bfd_reloc_code_real_type) reloc));
 
              if (pcrel)