1) glue.c added jump to __sdcc_program_start after gsinit.
[fw/sdcc] / src / SDCCmem.c
index cd8df6a4f4359567bcce660ad4014eec67aa7225..d2d9ed37b6ec7db171a00d3f7c1c0339cedfd2e7 100644 (file)
@@ -89,7 +89,7 @@ void initMem ()
                   DEBUG-NAME     -   'A'
                   POINTER-TYPE   -   FPOINTER
        */
-       xstack    = allocMap (0, 1, 1, 0, 0, 0, options.xstack_loc, XSTACK_NAME,'A',FPOINTER);
+       xstack    = allocMap (0, 1, 1, 0, 0, 0, options.xstack_loc, XSTACK_NAME,'A',PPOINTER);
 
        /* internal stack segment ;   
                   SFRSPACE       -   NO
@@ -595,6 +595,12 @@ void allocLocal ( symbol *sym  )
        return  ;
     }
 
+    if ( SPEC_SCLS(sym->etype) == S_DATA  )    {
+       SPEC_OCLS(sym->etype) = (options.noOverlay ? data : overlay );
+       allocIntoSeg(sym)  ;
+       return ;
+    }
+    
     /* again note that we have put it into the overlay segment
        will remove and put into the 'data' segment if required after 
        overlay  analysis has been done */