* as/mcs51/asdata.c: changed ctype['['] to BINOP
[fw/sdcc] / as / hc08 / lkrloc.c
index cf761024fd7b888e4376ef54b4da72b435e502b4..954b9c639ce9596d6e9e64848016c54235296a4f 100644 (file)
@@ -238,6 +238,7 @@ relt()
  *             Addr_T  adb_lo()        lkrloc.c
  *             Addr_T  adb_hi()        lkrloc.c
  *             Addr_T  adw_w()         lkrloc.c
+ *             VOID    elf()           lkelf.c
  *             Addr_T  evword()        lkrloc.c
  *             int     eval()          lkeval.c
  *             int     fprintf()       c_library
@@ -288,6 +289,7 @@ relr()
                lkerr++;
                return;
        }
+        ap = a[aindex]->a_bap;
 
        /*
         * Base values
@@ -512,10 +514,9 @@ relr()
                lkulist(1);
        }
 
-
        /* JLH: output only if data (beyond two byte address) */
        if ((oflag == 1) && (rtcnt > 2)) {
-               int extendedAddress = (a[aindex]->a_addr >> 16) & 0xffff;
+               // int extendedAddress = (a[aindex]->a_addr >> 16) & 0xffff;
                
                /* Boy, is this a hack: for ABS sections, the
                 * base address is stored as zero, and the T records
@@ -541,8 +542,7 @@ relr()
                        lastAreaIndex = aindex;
                        newArea();
                }
-               
-#if 0
+#if 0          
                if (extendedAddress != lastExtendedAddress)
                {
                
@@ -571,6 +571,9 @@ relr()
        } else
        if ((oflag == 2) && (rtcnt > 2)) {
                s19(1);
+       } else
+       if ((oflag == 3) && (rtcnt > 2)) {
+               elf(1);
        }
 }
 
@@ -727,6 +730,7 @@ relp()
  *             int     uflag           relocation listing flag
  *
  *     called functions:
+ *             VOID    elf()           lkelf.c
  *             VOID    ihx()           lkihx.c
  *             VOID    lkulist()       lklist.c
  *             VOID    s19()           lks19.c
@@ -747,6 +751,9 @@ rele()
        } else
        if (oflag == 2) {
                s19(0);
+       } else
+       if (oflag == 3) {
+               elf(0);
        }
 }