diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 5adfad33f6..3b87aab944 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 3 11:54:06 1997 Ian Lance Taylor + + * 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 * ieee.c (ieee_slurp_section_data): Pick up the start address. diff --git a/bfd/coff-h8300.c b/bfd/coff-h8300.c index dc467f9317..6e7ba387f4 100644 --- a/bfd/coff-h8300.c +++ b/bfd/coff-h8300.c @@ -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; }