* as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
[fw/sdcc] / as / mcs51 / aslink.h
index 6d8500e0a745e779571052871187fd63b73b65ed..ace467effb2f572fca31eff6420d1445d6feeb14 100644 (file)
@@ -244,6 +244,7 @@ struct      area
        struct  areax   *a_axp; /* Area extension link */
        Addr_T  a_addr;         /* Beginning address of area */
        Addr_T  a_size;         /* Total size of the area */
+       Addr_T  a_unaloc;       /* Total number of unalocated bytes, for error reporting */
        char    a_type;         /* Area subtype */
        char    a_flag;         /* Flag byte */
        char    a_id[NCPS];     /* Name */
@@ -433,6 +434,7 @@ struct lbfile {
        char            *libspc;
        char            *relfil;
        char            *filspc;
+       long            offset; /*>=0 if rel file is embedded in a lib file at this offset*/
 };
 
 /*
@@ -458,6 +460,10 @@ extern     unsigned char   ctype[];        /*      array of character types, one per
                                 *      ASCII character
                                 */
 
+extern char sdccopt[NINPUT];
+extern char sdccopt_module[NINPUT];
+extern char curr_module[NINPUT];
+
 /*
  *     Character Type Definitions
  */
@@ -572,6 +578,10 @@ extern     int     mflag;          /*      Map output flag
                                 */
 extern int     sflag;          /*      JCF: Memory usage output flag
                                 */
+extern int     packflag;       /*      Pack data memory flag
+                                */
+extern int     stacksize;      /*      Pack data memory flag
+                                */
 extern int     jflag;          /*      NoICE output flag
                                 */
 extern int     xflag;          /*      Map file radix type flag
@@ -622,6 +632,10 @@ extern     struct lbfile *lbfhead; /*      pointer to the first
                                 */
 extern Addr_T iram_size;       /*      internal ram size
                                 */
+extern long xram_size; /*      external ram size
+                                */
+extern long code_size; /*      code size
+                                */
 
 
 /* C Library function definitions */
@@ -646,6 +660,8 @@ extern      FILE *          afile();
 extern VOID            bassav();
 extern VOID            gblsav();
 extern VOID            iramsav();
+extern VOID            xramsav();
+extern VOID            codesav();
 extern VOID            iramcheck();
 extern VOID            link_main();
 extern VOID            lkexit();
@@ -674,6 +690,7 @@ extern      VOID            chop_crlf();
 /* lkarea.c */
 extern VOID            lkparea();
 extern VOID            lnkarea();
+extern VOID            lnkarea2();
 extern VOID            lnksect();
 extern VOID            newarea();
 
@@ -734,7 +751,7 @@ extern      VOID            prntval();
 extern  int            lastExtendedAddress;
 
 /* lklibr.c */
-extern VOID            addfile();
+extern int             addfile();
 extern VOID            addlib();
 extern VOID            addpath();
 extern int             fndsym();
@@ -748,6 +765,8 @@ extern      VOID            s19();
 /* lkihx.c */
 extern VOID            ihx();
 extern VOID            ihxEntendedLinearAddress(Addr_T);
+extern VOID            newArea();
+
 /* lkstore.c */
 extern char            *StoreString( char *str );
 
@@ -756,12 +775,8 @@ extern void             DefineNoICE( char *name, Addr_T value, int page );
 
 /* JCF: lkmem.c */
 extern int summary(struct area * xp);
+extern int summary2(struct area * xp);
 
 /* JCF: lkaomf51.c */
 extern void SaveLinkedFilePath(char * filepath);
 extern void CreateAOMF51(void);
-
-/* SD added this to change
-       strcmpi --> strcmp (strcmpi NOT ANSI) */
-#define strcmpi strcmp
-