added seperate segments for initialized data
[fw/sdcc] / src / avr / main.c
index 84a1468139b62cfbf759f66d65d2c8b727f8544a..010957530b5e4008bdd015a0ae5e0218abb5375a 100644 (file)
@@ -141,8 +141,9 @@ static const char *_linkCmd[] = {
        "linkavr", "", "$1", NULL
 };
 
+/* $3 is replaced by assembler.debug_opts resp. port->assembler.plain_opts */
 static const char *_asmCmd[] = {
-       "asavr", "$l" , "-plosgff", "$1.s", NULL
+       "asavr", "$l" , "$3", "$1.s", NULL
 };
 
 /* Globals */
@@ -156,12 +157,14 @@ PORT avr_port = {
         MODEL_SMALL},
        {
         _asmCmd,
+         NULL,
         "-plosgff",            /* Options with debug */
         "-plosgff",            /* Options without debug */
         0,
        ".s"},
        {
         _linkCmd,
+         NULL,
         NULL,
         ".rel"},
        {
@@ -182,6 +185,8 @@ PORT avr_port = {
         "OSEG",
         "GSFINAL",
         "HOME",
+        NULL, // initialized xdata
+        NULL, // a code copy of xiseg
         NULL,
         NULL,
         0,
@@ -202,10 +207,12 @@ PORT avr_port = {
        _avr_keywords,
        _avr_genAssemblerPreamble,
        _avr_genIVT,
+       NULL, // _avr_genXINIT
        _avr_reset_regparm,
        _avr_regparm,
         NULL,
        NULL,
+        NULL,
        FALSE,
        0,                      /* leave lt */
        1,                      /* transform gt ==> not le */
@@ -213,5 +220,8 @@ PORT avr_port = {
        0,                      /* leave ge */
        0,                      /* leave !=  */
        0,                      /* leave == */
+       FALSE,                  /* No array initializer support. */
+       0,                      /* no CSE cost estimation yet */
+       NULL,                   /* no builtin functions */
        PORT_MAGIC
 };