* coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
authorIan Lance Taylor <ian@airs.com>
Mon, 3 Feb 1997 16:54:36 +0000 (16:54 +0000)
committerIan Lance Taylor <ian@airs.com>
Mon, 3 Feb 1997 16:54:36 +0000 (16:54 +0000)
error in overflow check for R_RELBYTE.
PR 11591.

bfd/ChangeLog
bfd/coff-h8300.c

index 5adfad33f65054b0554cd8616ca1daa34da24572..3b87aab9449f466c6501d98d0bdf9d331e95840d 100644 (file)
@@ -1,3 +1,8 @@
+Mon Feb  3 11:54:06 1997  Ian Lance Taylor  <ian@cygnus.com>
+
+       * coff-h8300.c (h8300_reloc16_extra_cases): Correct off by one
+       error in overflow check for R_RELBYTE.
+
 Fri Jan 31 14:07:27 1997  Ian Lance Taylor  <ian@cygnus.com>
 
        * ieee.c (ieee_slurp_section_data): Pick up the start address.
index dc467f93177dc19980ad26e64a7baf650458fe6a..6e7ba387f45a4304d1deb58ace910f449088fdf2 100644 (file)
@@ -733,7 +733,7 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
       value = bfd_coff_reloc16_get_value (reloc, link_info, input_section);
 
       /* Sanity check.  */
-      if (value < 0xff 
+      if (value <= 0xff
          || (value >= 0x0000ff00 && value <= 0x0000ffff)
          || (value >= 0x00ffff00 && value <= 0x00ffffff)
          || (value >= 0xffffff00 && value <= 0xffffffff))
@@ -741,7 +741,7 @@ h8300_reloc16_extra_cases (abfd, link_info, link_order, reloc, data, src_ptr,
          /* Everything looks OK.  Apply the relocation and update the
             src/dst address appropriately.  */
 
-         bfd_put_8 (abfd, gap, data + dst_address);
+         bfd_put_8 (abfd, value & 0xff, data + dst_address);
          dst_address += 1;
          src_address += 1;
        }