* src/mcs51/gen.c (genMinus): fixed bug 696436
[fw/sdcc] / src / mcs51 / main.c
index bad1b313e3fc7bebe21fa477999751ea6c4cc1ef..aeac05d2a19463acbb8f356cf213cb0a3176ccb4 100644 (file)
@@ -105,6 +105,10 @@ _mcs51_parseOptions (int *pargc, char **argv, int *i)
 static void
 _mcs51_finaliseOptions (void)
 {
+  if (options.noXinitOpt) {
+    port->genXINIT=0;
+  }
+
   if (options.model == MODEL_LARGE) {
       port->mem.default_local_map = xdata;
       port->mem.default_globl_map = xdata;
@@ -212,7 +216,7 @@ static bool cseCostEstimation (iCode *ic, iCode *pdic)
 */
 static const char *_linkCmd[] =
 {
-  "{bindir}{sep}aslink", "-nf", "$1", NULL
+  "aslink", "-nf", "$1", NULL
 };
 
 /* $3 is replaced by assembler.debug_opts resp. port->assembler.plain_opts */
@@ -227,6 +231,7 @@ PORT mcs51_port =
   TARGET_ID_MCS51,
   "mcs51",
   "MCU 8051",                  /* Target name */
+  NULL,                                /* Processor name */
   {
     TRUE,                      /* Emit glue around main */
     MODEL_SMALL | MODEL_LARGE,
@@ -274,7 +279,7 @@ PORT mcs51_port =
     1
   },
   {
-    +1, 1, 4, 1, 1, 0
+    +1, 0, 4, 1, 1, 0
   },
     /* mcs51 has an 8 bit mul */
   {
@@ -283,6 +288,7 @@ PORT mcs51_port =
   "_",
   _mcs51_init,
   _mcs51_parseOptions,
+  NULL,
   _mcs51_finaliseOptions,
   _mcs51_setDefaultOptions,
   mcs51_assignRegisters,