Do not allow records to cross a 64K boundary - wrap if necessary.
[deliverable/binutils-gdb.git] / bfd / ihex.c
index 0b02e6dee33ef78598e275f438820457e5c2a4d8..613eaf3b189fdd75aacbb049699f11178884e353 100644 (file)
@@ -873,6 +873,11 @@ ihex_write_object_contents (abfd)
            }
 
          rec_addr = where - (extbase + segbase);
+
+          /* Output records shouldn't cross 64K boundaries.  */
+          if (rec_addr + now > 0xfffff)
+            now = 0xffff - rec_addr;
+
          if (! ihex_write_record (abfd, now, rec_addr, 0, p))
            return false;
 
This page took 0.025466 seconds and 4 git commands to generate.