* as/link/mcs51/lkihx.c (hexRecord): bugfix do not insert extended address
authorMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 17 Feb 2009 19:54:07 +0000 (19:54 +0000)
committerMaartenBrock <MaartenBrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 17 Feb 2009 19:54:07 +0000 (19:54 +0000)
  when addresses are unsorted

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5381 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
as/link/mcs51/lkihx.c

index 08a365a96413dcba28080e7c0d9f99e8f51180ec..efa12743c2743ec6d0ce6473953a23671fe4a6f7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-02-17 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/link/mcs51/lkihx.c (hexRecord): bugfix do not insert extended address
+         when addresses are unsorted
+
 2008-02-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        * device/include/mcs51/p89v66x.h: added ENBOOT thanks
@@ -26,7 +31,7 @@
 
 2008-02-10 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
-       * support/regression/tests/float_single.c: added regression 
+       * support/regression/tests/float_single.c: added regression
          test. Some testpoints for probably rarely used functions
          (acosf, sinhf, tanf, expf) disabled for some targets
 
index cce29ff4ec16de338f4a48e4181062af76b42ddf..bfe383e300f0d99ca9be668edfc97d005218c5bc 100644 (file)
@@ -143,7 +143,8 @@ hexRecord(unsigned addr, int rtvalIndex)
     if (chksum == 0)
         return;         // nothing to output
 
-    if ( (lastHexAddr > addr) && (rflag) ) {
+    /* Is this record in the same bank as previous? */
+    if ( ((lastHexAddr>>16) != (addr>>16)) && (rflag) ) {
         overrun = hexPageOverrun + 1;
         ihxExtendedLinearAddress(lastExtendedAddress + overrun);
         hexPageOverrun = overrun;