avr.c (avr_mcu_types): Add support for attiny261...
authorJoerg Wunsch <j.gnu@uriah.heep.sax.de>
Mon, 22 May 2006 15:51:36 +0000 (19:51 +0400)
committerDenis Chertykov <denisc@gcc.gnu.org>
Mon, 22 May 2006 15:51:36 +0000 (19:51 +0400)
* config/avr/avr.c (avr_mcu_types): Add support for attiny261,
attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
atmega164p, atmega324p, atmega644p, atmega644, atmega329,
atmega3290, atmega649, atmega6490, atmega406, atmega640,
atmega1280, atmega1281, at90can32, at90can64, at90usb646,
at90usb647, at90usb1286 and at90usb1287 devices.
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).

From-SVN: r113982

gcc/ChangeLog
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/t-avr

index d696e7738eabd5375e31c124543e251133b6ca20..44e45256b363afcfcac0f2da7467c726430e206e 100644 (file)
@@ -1,3 +1,16 @@
+2006-18-05  Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+            Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
+       attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
+       attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, 
+       atmega164p, atmega324p, atmega644p, atmega644, atmega329, 
+       atmega3290, atmega649, atmega6490, atmega406, atmega640, 
+       atmega1280, atmega1281, at90can32, at90can64, at90usb646, 
+       at90usb647, at90usb1286 and at90usb1287 devices.  
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+       * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
 2006-05-22  Richard Sandiford  <richard@codesourcery.com>
 
        * mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
index 0712a10d1647bf997eafe32365e67f1025fd65fc..2f981dd9738cb1bed77db0683b0e45012675bf08 100644 (file)
@@ -172,10 +172,19 @@ static const struct mcu_type_s avr_mcu_types[] = {
   { "at90s8515", 2, "__AVR_AT90S8515__" },
   { "at90c8534", 2, "__AVR_AT90C8534__" },
   { "at90s8535", 2, "__AVR_AT90S8535__" },
-  { "at86rf401", 2, "__AVR_AT86RF401__" },
     /* Classic + MOVW, <= 8K.  */
   { "attiny13",   2, "__AVR_ATtiny13__" },
   { "attiny2313", 2, "__AVR_ATtiny2313__" },
+  { "attiny24", 2, "__AVR_ATtiny24__" },
+  { "attiny44", 2, "__AVR_ATtiny44__" },
+  { "attiny84", 2, "__AVR_ATtiny84__" },
+  { "attiny25", 2, "__AVR_ATtiny25__" },
+  { "attiny45", 2, "__AVR_ATtiny45__" },
+  { "attiny85", 2, "__AVR_ATtiny85__" },
+  { "attiny261", 2, "__AVR_ATtiny261__" },
+  { "attiny461", 2, "__AVR_ATtiny461__" },
+  { "attiny861", 2, "__AVR_ATtiny861__" },
+  { "at86rf401", 2, "__AVR_AT86RF401__" },
     /* Classic, > 8K.  */
   { "avr3",      3, NULL },
   { "atmega103", 3, "__AVR_ATmega103__" },
@@ -190,24 +199,46 @@ static const struct mcu_type_s avr_mcu_types[] = {
   { "atmega88",   4, "__AVR_ATmega88__" },
   { "atmega8515", 4, "__AVR_ATmega8515__" },
   { "atmega8535", 4, "__AVR_ATmega8535__" },
+  { "at90pwm2",  4, "__AVR_AT90PWM2__" },
+  { "at90pwm3",  4, "__AVR_AT90PWM3__" },
     /* Enhanced, > 8K.  */
   { "avr5",      5, NULL },
   { "atmega16",  5, "__AVR_ATmega16__" },
   { "atmega161", 5, "__AVR_ATmega161__" },
   { "atmega162", 5, "__AVR_ATmega162__" },
   { "atmega163", 5, "__AVR_ATmega163__" },
+  { "atmega164p",5, "__AVR_ATmega164P__" },
   { "atmega165", 5, "__AVR_ATmega165__" },
+  { "atmega165p",5, "__AVR_ATmega165P__" },
   { "atmega168", 5, "__AVR_ATmega168__" },
   { "atmega169", 5, "__AVR_ATmega169__" },
+  { "atmega169p",5, "__AVR_ATmega169P__" },
   { "atmega32",  5, "__AVR_ATmega32__" },
   { "atmega323", 5, "__AVR_ATmega323__" },
+  { "atmega324p",5, "__AVR_ATmega324P__" },
   { "atmega325", 5, "__AVR_ATmega325__" },
   { "atmega3250", 5, "__AVR_ATmega3250__" },
+  { "atmega329", 5, "__AVR_ATmega329__" },
+  { "atmega3290", 5, "__AVR_ATmega3290__" },
+  { "atmega406", 5, "__AVR_ATmega406__" },
   { "atmega64",  5, "__AVR_ATmega64__" },
+  { "atmega640", 5, "__AVR_ATmega640__" },
+  { "atmega644", 5, "__AVR_ATmega644__" },
+  { "atmega644p",5, "__AVR_ATmega644P__" },
   { "atmega645", 5, "__AVR_ATmega645__" },
   { "atmega6450", 5, "__AVR_ATmega6450__" },
+  { "atmega649", 5, "__AVR_ATmega649__" },
+  { "atmega6490", 5, "__AVR_ATmega6490__" },
   { "atmega128", 5, "__AVR_ATmega128__" },
+  { "atmega1280",5, "__AVR_ATmega1280__" },
+  { "atmega1281",5, "__AVR_ATmega1281__" },
+  { "at90can32", 5, "__AVR_AT90CAN32__" },
+  { "at90can64", 5, "__AVR_AT90CAN64__" },
   { "at90can128", 5, "__AVR_AT90CAN128__" },
+  { "at90usb646", 5, "__AVR_AT90USB646__" },
+  { "at90usb647", 5, "__AVR_AT90USB647__" },
+  { "at90usb1286", 5, "__AVR_AT90USB1286__" },
+  { "at90usb1287", 5, "__AVR_AT90USB1287__" },
   { "at94k",     5, "__AVR_AT94K__" },
     /* Assembler only.  */
   { "avr1",      1, NULL },
index 404b3d1c13d448d275021bbacf5676e082384500..186cfc6834e4f22194e2719c8e775fce3a2f81d0 100644 (file)
@@ -719,12 +719,67 @@ extern int avr_case_values_threshold;
 #define ASM_SPEC "%{mmcu=*:-mmcu=%*}"
 
 #define LINK_SPEC " %{!mmcu*:-m avr2}\
-%{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|mmcu=attiny13|mmcu=attiny2313:-m avr2}\
-%{mmcu=atmega103|mmcu=atmega603|mmcu=at43*|mmcu=at76*:-m avr3}\
-%{mmcu=atmega8*|mmcu=atmega48:-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} "
+%{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|\
+  mmcu=attiny13|\
+  mmcu=attiny2313|\
+  mmcu=attiny24|\
+  mmcu=attiny25|\
+  mmcu=attiny261|\
+  mmcu=attiny4*|\
+  mmcu=attiny8*:-m avr2}\
+%{mmcu=atmega103|\
+  mmcu=atmega603|\
+  mmcu=at43*|\
+  mmcu=at76*:-m avr3}\
+%{mmcu=atmega8*|\
+  mmcu=atmega48|\
+  mmcu=at90pwm2|\
+  mmcu=at90pwm3:-m avr4}\
+%{mmcu=atmega16*|\
+  mmcu=atmega32*|\
+  mmcu=atmega406|\
+  mmcu=atmega64*|\
+  mmcu=atmega128*|\
+  mmcu=at90can*|\
+  mmcu=at90usb*|\
+  mmcu=at94k:-m avr5}\
+%{mmcu=atmega324*|\
+  mmcu=atmega325|\
+  mmcu=atmega3250|\
+  mmcu=atmega329|\
+  mmcu=atmega3290|\
+  mmcu=atmega406|\
+  mmcu=atmega48|\
+  mmcu=atmega88|\
+  mmcu=atmega64|\
+  mmcu=atmega644*|\
+  mmcu=atmega645|\
+  mmcu=atmega6450|\
+  mmcu=atmega649|\
+  mmcu=atmega6490|\
+  mmcu=atmega128|\
+  mmcu=atmega162|\
+  mmcu=atmega164*|\
+  mmcu=atmega165*|\
+  mmcu=atmega168|\
+  mmcu=atmega169*|\
+  mmcu=at90can*|\
+  mmcu=at90pwm*|\
+  mmcu=at90usb*: -Tdata 0x800100}\
+%{mmcu=atmega640|\
+  mmcu=atmega1280|\
+  mmcu=atmega1281: -Tdata 0x800200} "
 
 #define LIB_SPEC \
   "%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}"
@@ -760,6 +815,15 @@ extern int avr_case_values_threshold;
 %{mmcu=at86rf401:crt86401.o%s} \
 %{mmcu=attiny13:crttn13.o%s} \
 %{mmcu=attiny2313:crttn2313.o%s} \
+%{mmcu=attiny24:crttn24.o%s} \
+%{mmcu=attiny44:crttn44.o%s} \
+%{mmcu=attiny84:crttn84.o%s} \
+%{mmcu=attiny25:crttn25.o%s} \
+%{mmcu=attiny45:crttn45.o%s} \
+%{mmcu=attiny85:crttn85.o%s} \
+%{mmcu=attiny261:crttn261.o%s} \
+%{mmcu=attiny461:crttn461.o%s} \
+%{mmcu=attiny861:crttn861.o%s} \
 %{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \
 %{mmcu=atmega603:crtm603.o%s} \
 %{mmcu=at43usb320:crt43320.o%s} \
@@ -770,22 +834,44 @@ extern int avr_case_values_threshold;
 %{mmcu=atmega88:crtm88.o%s} \
 %{mmcu=atmega8515:crtm8515.o%s} \
 %{mmcu=atmega8535:crtm8535.o%s} \
+%{mmcu=at90pwm2:crt90pwm2.o%s} \
+%{mmcu=at90pwm3:crt90pwm3.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=atmega164p:crtm164p.o%s} \
 %{mmcu=atmega165:crtm165.o%s} \
+%{mmcu=atmega165p:crtm165p.o%s} \
 %{mmcu=atmega168:crtm168.o%s} \
 %{mmcu=atmega169:crtm169.o%s} \
+%{mmcu=atmega169p:crtm169p.o%s} \
 %{mmcu=atmega32:crtm32.o%s} \
 %{mmcu=atmega323:crtm323.o%s} \
+%{mmcu=atmega324p:crtm324p.o%s} \
 %{mmcu=atmega325:crtm325.o%s} \
 %{mmcu=atmega3250:crtm3250.o%s} \
+%{mmcu=atmega329:crtm329.o%s} \
+%{mmcu=atmega3290:crtm3290.o%s} \
+%{mmcu=atmega406:crtm406.o%s} \
 %{mmcu=atmega64:crtm64.o%s} \
+%{mmcu=atmega640:crtm640.o%s} \
+%{mmcu=atmega644:crtm644.o%s} \
+%{mmcu=atmega644p:crtm644p.o%s} \
 %{mmcu=atmega645:crtm645.o%s} \
 %{mmcu=atmega6450:crtm6450.o%s} \
+%{mmcu=atmega649:crtm649.o%s} \
+%{mmcu=atmega6490:crtm6490.o%s} \
 %{mmcu=atmega128:crtm128.o%s} \
+%{mmcu=atmega1280:crtm1280.o%s} \
+%{mmcu=atmega1281:crtm1281.o%s} \
+%{mmcu=at90can32:crtcan32.o%s} \
+%{mmcu=at90can64:crtcan64.o%s} \
 %{mmcu=at90can128:crtcan128.o%s} \
+%{mmcu=at90usb646:crtusb646.o%s} \
+%{mmcu=at90usb647:crtusb647.o%s} \
+%{mmcu=at90usb1286:crtusb1286.o%s} \
+%{mmcu=at90usb1287:crtusb1287.o%s} \
 %{mmcu=at94k:crtat94k.o%s}"
 
 #define EXTRA_SPECS {"crt_binutils", CRT_BINUTILS_SPECS},
index 0627b9b04688d1d79d0c2f28a12762d76e18eedf..a8fb8e9c4165c3b2be1ffc6d60683f1c097698dd 100644 (file)
@@ -42,21 +42,55 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5
 
 # The many avr2 matches are not listed here - this is the default.
 MULTILIB_MATCHES = \
-       mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \
-       mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at43usb355 \
+       mmcu?avr3=mmcu?atmega103 \
+       mmcu?avr3=mmcu?atmega603 \
+       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?atmega48 \
+       mmcu?avr4=mmcu?atmega48 \
+       mmcu?avr4=mmcu?atmega8 \
+       mmcu?avr4=mmcu?atmega8515 \
+       mmcu?avr4=mmcu?atmega8535 \
        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?atmega168 \
+       mmcu?avr4=mmcu?at90pwm2 \
+       mmcu?avr4=mmcu?at90pwm3 \
+       mmcu?avr5=mmcu?atmega16 \
+       mmcu?avr5=mmcu?atmega161 \
+       mmcu?avr5=mmcu?atmega162 \
+       mmcu?avr5=mmcu?atmega163 \
+       mmcu?avr5=mmcu?atmega164p \
        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?atmega645 mmcu?avr5=mmcu?atmega6450 \
-       mmcu?avr5=mmcu?at94k mmcu?avr5=mmcu?at90can128
+       mmcu?avr5=mmcu?atmega165p \
+       mmcu?avr5=mmcu?atmega168 \
+       mmcu?avr5=mmcu?atmega169 \
+       mmcu?avr5=mmcu?atmega169p \
+       mmcu?avr5=mmcu?atmega32 \
+       mmcu?avr5=mmcu?atmega323 \
+       mmcu?avr5=mmcu?atmega324p \
+       mmcu?avr5=mmcu?atmega325 \
+       mmcu?avr5=mmcu?atmega3250 \
+       mmcu?avr5=mmcu?atmega329 \
+       mmcu?avr5=mmcu?atmega3290 \
+       mmcu?avr5=mmcu?atmega406 \
+       mmcu?avr5=mmcu?atmega64  \
+       mmcu?avr5=mmcu?atmega640 \
+       mmcu?avr5=mmcu?atmega644 \
+       mmcu?avr5=mmcu?atmega644p \
+       mmcu?avr5=mmcu?atmega645 \
+       mmcu?avr5=mmcu?atmega6450 \
+       mmcu?avr5=mmcu?atmega649 \
+       mmcu?avr5=mmcu?atmega6490 \
+       mmcu?avr5=mmcu?atmega128 \
+       mmcu?avr5=mmcu?atmega1280 \
+       mmcu?avr5=mmcu?atmega1281 \
+       mmcu?avr5=mmcu?at90can32 \
+       mmcu?avr5=mmcu?at90can64 \
+       mmcu?avr5=mmcu?at90can128 \
+       mmcu?avr5=mmcu?at90usb646 \
+       mmcu?avr5=mmcu?at90usb647 \
+       mmcu?avr5=mmcu?at90usb1286 \
+       mmcu?avr5=mmcu?at90usb1287 \
+       mmcu?avr5=mmcu?at94k
 
 MULTILIB_EXCEPTIONS =