X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Favr%2Fmain.c;h=9ce3cd8ab26424614859d38fd92aebb0b25a2c51;hb=f0d3e26f7b91a687dbf34c7e3f56be5f371e1a1e;hp=5ddc571edb913f02886b5e2474415998c047fe6a;hpb=fc4727437bf580144b7373bc377ad7734509929d;p=fw%2Fsdcc diff --git a/src/avr/main.c b/src/avr/main.c index 5ddc571e..9ce3cd8a 100644 --- a/src/avr/main.c +++ b/src/avr/main.c @@ -38,7 +38,7 @@ static int regParmFlg = 0; /* determine if we can register a parameter */ static void _avr_init (void) { - asm_addTree (&asm_gas_mapping); + asm_addTree (&asm_asxxxx_mapping); } static void @@ -138,11 +138,12 @@ _avr_genIVT (FILE * of, symbol ** interrupts, int maxInterrupts) MUST be terminated with a NULL. */ static const char *_linkCmd[] = { - "avr-ld", "", "$1", NULL + "linkavr", "", "$1", NULL }; +/* $3 is replaced by assembler.debug_opts resp. port->assembler.plain_opts */ static const char *_asmCmd[] = { - "avr-as", "-mmcu=avr3" , "$1.s", NULL + "asavr", "$l" , "$3", "$1.s", NULL }; /* Globals */ @@ -150,18 +151,23 @@ PORT avr_port = { TARGET_ID_AVR, "avr", "ATMEL AVR", /* Target name */ + NULL, /* processor */ { TRUE, /* Emit glue around main */ MODEL_LARGE | MODEL_SMALL, MODEL_SMALL}, { _asmCmd, - "-plosgffc", /* Options with debug */ + NULL, + "-plosgff", /* Options with debug */ "-plosgff", /* Options without debug */ 0, - ".s"}, + ".s", + NULL, /* no do_assemble */ + }, { _linkCmd, + NULL, NULL, ".rel"}, { @@ -182,6 +188,8 @@ PORT avr_port = { "OSEG", "GSFINAL", "HOME", + NULL, // initialized xdata + NULL, // a code copy of xiseg NULL, NULL, 0, @@ -190,21 +198,26 @@ PORT avr_port = { -1, 1, 4, 1, 1, 0}, /* avr has an 8 bit mul */ { - 1, 0}, + 1, -1 + }, "_", _avr_init, _avr_parseOptions, + NULL, _avr_finaliseOptions, _avr_setDefaultOptions, avr_assignRegisters, _avr_getRegName, _avr_keywords, _avr_genAssemblerPreamble, + NULL, /* no genAssemblerEnd */ _avr_genIVT, + NULL, // _avr_genXINIT _avr_reset_regparm, _avr_regparm, NULL, NULL, + NULL, FALSE, 0, /* leave lt */ 1, /* transform gt ==> not le */ @@ -212,5 +225,11 @@ 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 */ + GPOINTER, /* treat unqualified pointers as "generic" pointers */ + 1, /* reset labelKey to 1 */ + 1, /* globals & local static allowed */ PORT_MAGIC };