* config/tc-v850.c (md_apply_fix3): Do simple byte, short and
authorJeff Law <law@redhat.com>
Sat, 31 Aug 1996 18:36:19 +0000 (18:36 +0000)
committerJeff Law <law@redhat.com>
Sat, 31 Aug 1996 18:36:19 +0000 (18:36 +0000)
        word fixups too.
Fixes "difference between forward references".

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

index 0ba20b8e56682cb3d9012012f715cc30fd2a7585..b7d4159235d524f3ab5f441e03d67b5147d98bf4 100644 (file)
@@ -1,6 +1,9 @@
 start-sanitize-v850
 Fri Aug 30 23:50:08 1996  Jeffrey A Law  (law@cygnus.com)
 
+       * config/tc-v850.c (md_apply_fix3): Do simple byte, short and
+       word fixups too.
+
        * config/tc-v850.c (md_apply_fix3): Use little endian get/put
        routines to fetch/store the updated instruction from/to memory.
        (v850_insert_operand): If the operand has a specialized insert
index 80249937509f970d6c258a94f9756bf6ae88bbcd..1471f3c7e9c2e9f97d8535eb084f3bdaa338ab53 100644 (file)
@@ -915,6 +915,17 @@ md_apply_fix3 (fixp, valuep, seg)
          return 1;
        }
     }
+  else if (fixp->fx_done)
+    {
+      /* We still have to insert the value into memory!  */
+      where = fixp->fx_frag->fr_literal + fixp->fx_where;
+      if (fixp->fx_size == 1)
+       *where = value & 0xff;
+      if (fixp->fx_size == 2)
+       bfd_putl16(value & 0xffff, (unsigned char *) where);
+      if (fixp->fx_size == 4)
+       bfd_putl32(value, (unsigned char *) where);
+    }
 
   fixp->fx_addnumber = value;
   return 1;