2004-11-24 Theodore A. Roth * gcc/config/avr/avr.c (avr_mcu_types): Add entries for atmega48, atmega88, atmega168, attiny13, attiny2313, at90can128, atmega165, atmega325, atmega3250, atmega645 and atmega6450. * gcc/config/avr/avr.h (LINK_SPEC): Ditto. (LIB_SPEC): Ditto. (LIBGCC_SPEC): Ditto. (CRT_BINUTILS_SPECS): Ditto. * gcc/config/avr/t-avr (MULTILIB_MATCHES): Ditto. Index: gcc/config/avr/avr.c =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/config/avr/avr.c,v retrieving revision 1.122 diff -u -p -p -r1.122 avr.c --- gcc/config/avr/avr.c 9 Nov 2004 10:12:56 -0000 1.122 +++ gcc/config/avr/avr.c 24 Nov 2004 17:08:37 -0000 @@ -186,19 +186,29 @@ static const struct mcu_type_s avr_mcu_t /* Enhanced, <= 8K. */ { "avr4", 4, NULL }, { "atmega8", 4, "__AVR_ATmega8__" }, + { "atmega48", 4, "__AVR_ATmega48__" }, + { "atmega88", 4, "__AVR_ATmega88__" }, { "atmega8515", 4, "__AVR_ATmega8515__" }, { "atmega8535", 4, "__AVR_ATmega8535__" }, + { "attiny13", 4, "__AVR_ATtiny13__" }, + { "attiny2313", 4, "__AVR_ATtiny2313__" }, /* Enhanced, > 8K. */ { "avr5", 5, NULL }, { "atmega16", 5, "__AVR_ATmega16__" }, { "atmega161", 5, "__AVR_ATmega161__" }, { "atmega162", 5, "__AVR_ATmega162__" }, { "atmega163", 5, "__AVR_ATmega163__" }, + { "atmega165", 5, "__AVR_ATmega165__" }, + { "atmega168", 5, "__AVR_ATmega168__" }, { "atmega169", 5, "__AVR_ATmega169__" }, { "atmega32", 5, "__AVR_ATmega32__" }, - { "atmega323", 5, "__AVR_ATmega323__" }, + { "atmega325", 5, "__AVR_ATmega325__" }, + { "atmega3250", 5, "__AVR_ATmega3250__" }, { "atmega64", 5, "__AVR_ATmega64__" }, + { "atmega645", 5, "__AVR_ATmega645__" }, + { "atmega6450", 5, "__AVR_ATmega6450__" }, { "atmega128", 5, "__AVR_ATmega128__" }, + { "at90can128", 5, "__AVR_AT90CAN128__" }, { "at94k", 5, "__AVR_AT94K__" }, /* Assembler only. */ { "avr1", 1, NULL }, Index: gcc/config/avr/avr.h =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/config/avr/avr.h,v retrieving revision 1.108 diff -u -p -p -r1.108 avr.h --- gcc/config/avr/avr.h 23 Nov 2004 19:55:22 -0000 1.108 +++ gcc/config/avr/avr.h 24 Nov 2004 17:08:38 -0000 @@ -811,21 +811,21 @@ extern int avr_case_values_threshold; #define ASM_SPEC "%{mmcu=*:-mmcu=%*}" #define LINK_SPEC " %{!mmcu*:-m avr2}\ -%{mmcu=at90s1200|mmcu=attiny1*|mmcu=attiny28:-m avr1} \ +%{mmcu=at90s1200|mmcu=attiny11|mmcu=attiny12|mmcu=attiny15|mmcu=attiny28:-m avr1} \ %{mmcu=attiny22|mmcu=attiny26|mmcu=at90s2*|mmcu=at90s4*|mmcu=at90s8*|mmcu=at90c8*|mmcu=at86rf401:-m avr2}\ %{mmcu=atmega103|mmcu=atmega603|mmcu=at43*|mmcu=at76*:-m avr3}\ -%{mmcu=atmega8*:-m avr4}\ -%{mmcu=atmega16*|mmcu=atmega32*|mmcu=atmega64|mmcu=atmega128|mmcu=at94k:-m avr5}\ -%{mmcu=atmega64|mmcu=atmega128|mmcu=atmega162|mmcu=atmega169: -Tdata 0x800100} " +%{mmcu=atmega8*|mmcu=atmega48|mmcu=attiny13|mmcu=attiny2313:-m avr4}\ +%{mmcu=atmega16*|mmcu=atmega32*|mmcu=atmega64*|mmcu=atmega128|mmcu=at90can128|mmcu=at94k:-m avr5}\ +%{mmcu=atmega325|mmcu=atmega3250|mmcu=atmega48|mmcu=atmega88|mmcu=atmega64|mmcu=atmega645|mmcu=atmega6450|mmcu=atmega128|mmcu=at90can128|mmcu=at90can128|mmcu=atmega162|mmcu=atmega165|mmcu=atmega168|mmcu=atmega169: -Tdata 0x800100} " #define LIB_SPEC \ - "%{!mmcu=at90s1*:%{!mmcu=attiny1*:%{!mmcu=attiny28: -lc }}}" + "%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}" #define LIBSTDCXX "-lgcc" /* No libstdc++ for now. Empty string doesn't work. */ #define LIBGCC_SPEC \ - "%{!mmcu=at90s1*:%{!mmcu=attiny1*:%{!mmcu=attiny28: -lgcc }}}" + "%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lgcc }}}}}" #define STARTFILE_SPEC "%(crt_binutils)" @@ -856,17 +856,28 @@ extern int avr_case_values_threshold; %{mmcu=at43usb355:crt43355.o%s} \ %{mmcu=at76c711:crt76711.o%s} \ %{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \ +%{mmcu=atmega48:crtm48.o%s} \ +%{mmcu=atmega88:crtm88.o%s} \ %{mmcu=atmega8515:crtm8515.o%s} \ %{mmcu=atmega8535:crtm8535.o%s} \ +%{mmcu=attiny13:crttn13.o%s} \ +%{mmcu=attiny2313:crttn2313.o%s} \ %{mmcu=atmega16:crtm16.o%s} \ %{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \ %{mmcu=atmega162:crtm162.o%s} \ %{mmcu=atmega163:crtm163.o%s} \ +%{mmcu=atmega165:crtm165.o%s} \ +%{mmcu=atmega168:crtm168.o%s} \ %{mmcu=atmega169:crtm169.o%s} \ %{mmcu=atmega32:crtm32.o%s} \ %{mmcu=atmega323:crtm323.o%s} \ +%{mmcu=atmega325:crtm325.o%s} \ +%{mmcu=atmega3250:crtm3250.o%s} \ %{mmcu=atmega64:crtm64.o%s} \ +%{mmcu=atmega645:crtm6450.o%s} \ +%{mmcu=atmega6450:crtm6450.o%s} \ %{mmcu=atmega128:crtm128.o%s} \ +%{mmcu=at90can128:crtcan128.o%s} \ %{mmcu=at94k:crtat94k.o%s}" #define EXTRA_SPECS {"crt_binutils", CRT_BINUTILS_SPECS}, @@ -904,4 +915,5 @@ extern int avr_case_values_threshold; /* zero register r1 */ #define ZERO_REGNO 1 +#define DWARF2_DEBUGGING_INFO 1 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG Index: gcc/config/avr/t-avr =================================================================== RCS file: /cvsroot/gcc/gcc/gcc/config/avr/t-avr,v retrieving revision 1.12 diff -u -p -p -r1.12 t-avr --- gcc/config/avr/t-avr 27 Feb 2003 21:45:33 -0000 1.12 +++ gcc/config/avr/t-avr 24 Nov 2004 17:08:38 -0000 @@ -50,13 +50,18 @@ MULTILIB_MATCHES = \ mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at43usb355 \ mmcu?avr3=mmcu?at76c711 \ mmcu?avr4=mmcu?atmega8515 mmcu?avr4=mmcu?atmega8535 \ - mmcu?avr4=mmcu?atmega8 \ + mmcu?avr4=mmcu?attiny13 mmcu?avr4=mmcu?attiny2313 \ + mmcu?avr4=mmcu?atmega8 mmcu?avr4=mmcu?atmega48 \ + mmcu?avr4=mmcu?atmega88 \ mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega162 \ mmcu?avr5=mmcu?atmega163 mmcu?avr5=mmcu?atmega169 \ - mmcu?avr5=mmcu?atmega16 \ + mmcu?avr5=mmcu?atmega16 mmcu?avr5=mmcu?atmega168 \ + mmcu?avr5=mmcu?atmega165 \ mmcu?avr5=mmcu?atmega323 mmcu?avr5=mmcu?atmega32 \ + mmcu?avr5=mmcu?atmega325 mmcu?avr5=mmcu?atmega3250 \ mmcu?avr5=mmcu?atmega64 mmcu?avr5=mmcu?atmega128 \ - mmcu?avr5=mmcu?at94k + mmcu?avr5=mmcu?atmega645 mmcu?avr5=mmcu?atmega6450 \ + mmcu?avr5=mmcu?at94k mmcu?avr5=mmcu?at90can128 MULTILIB_EXCEPTIONS =