summaryrefslogtreecommitdiff
path: root/devel/avr-gcc/files/patch-newdevices
diff options
context:
space:
mode:
Diffstat (limited to 'devel/avr-gcc/files/patch-newdevices')
-rw-r--r--devel/avr-gcc/files/patch-newdevices674
1 files changed, 556 insertions, 118 deletions
diff --git a/devel/avr-gcc/files/patch-newdevices b/devel/avr-gcc/files/patch-newdevices
index bab67dec9027..c97db661c24d 100644
--- a/devel/avr-gcc/files/patch-newdevices
+++ b/devel/avr-gcc/files/patch-newdevices
@@ -1,31 +1,59 @@
---- gcc/config/avr/avr.c.orig Sat Sep 1 17:28:30 2007
-+++ gcc/config/avr/avr.c Wed Dec 19 14:02:11 2007
-@@ -173,6 +174,7 @@
+--- ./gcc/config/avr/avr.c~ 2010-03-05 17:16:20.000000000 +0100
++++ ./gcc/config/avr/avr.c 2010-03-05 17:19:30.000000000 +0100
+@@ -193,18 +193,28 @@
+ { "at90s8535", ARCH_AVR2, "__AVR_AT90S8535__" },
/* Classic + MOVW, <= 8K. */
{ "avr25", ARCH_AVR25, NULL },
++ { "ata6289", ARCH_AVR25, "__AVR_ATA6289__" },
{ "attiny13", ARCH_AVR25, "__AVR_ATtiny13__" },
+ { "attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__" },
{ "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__" },
++ { "attiny2313a", ARCH_AVR25, "__AVR_ATtiny2313A__" },
{ "attiny24", ARCH_AVR25, "__AVR_ATtiny24__" },
++ { "attiny24a", ARCH_AVR25, "__AVR_ATtiny24A__" },
++ { "attiny4313", ARCH_AVR25, "__AVR_ATtiny4313__" },
{ "attiny44", ARCH_AVR25, "__AVR_ATtiny44__" },
-@@ -188,6 +188,7 @@
++ { "attiny44a", ARCH_AVR25, "__AVR_ATtiny44A__" },
+ { "attiny84", ARCH_AVR25, "__AVR_ATtiny84__" },
+ { "attiny25", ARCH_AVR25, "__AVR_ATtiny25__" },
+ { "attiny45", ARCH_AVR25, "__AVR_ATtiny45__" },
+ { "attiny85", ARCH_AVR25, "__AVR_ATtiny85__" },
+ { "attiny261", ARCH_AVR25, "__AVR_ATtiny261__" },
++ { "attiny261a", ARCH_AVR25, "__AVR_ATtiny261A__" },
{ "attiny461", ARCH_AVR25, "__AVR_ATtiny461__" },
++ { "attiny461a", ARCH_AVR25, "__AVR_ATtiny461A__" },
{ "attiny861", ARCH_AVR25, "__AVR_ATtiny861__" },
++ { "attiny861a", ARCH_AVR25, "__AVR_ATtiny861A__" },
{ "attiny43u", ARCH_AVR25, "__AVR_ATtiny43U__" },
+ { "attiny87", ARCH_AVR25, "__AVR_ATtiny87__" },
{ "attiny48", ARCH_AVR25, "__AVR_ATtiny48__" },
{ "attiny88", ARCH_AVR25, "__AVR_ATtiny88__" },
{ "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__" },
-@@ -224,6 +224,8 @@ static const struct mcu_type_s avr_mcu_t
+@@ -220,61 +230,104 @@
{ "avr35", ARCH_AVR35, NULL },
{ "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__" },
{ "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__" },
++ { "atmega8u2", ARCH_AVR35, "__AVR_ATmega8U2__" },
++ { "atmega16u2", ARCH_AVR35, "__AVR_ATmega16U2__" },
++ { "atmega32u2", ARCH_AVR35, "__AVR_ATmega32U2__" },
+ { "attiny167", ARCH_AVR35, "__AVR_ATtiny167__" },
-+ { "attiny327", ARCH_AVR35, "__AVR_ATtiny327__" },
/* Enhanced, <= 8K. */
{ "avr4", ARCH_AVR4, NULL },
{ "atmega8", ARCH_AVR4, "__AVR_ATmega8__" },
-@@ -221,6 +223,7 @@
+ { "atmega48", ARCH_AVR4, "__AVR_ATmega48__" },
++ { "atmega48a", ARCH_AVR4, "__AVR_ATmega48A__" },
+ { "atmega48p", ARCH_AVR4, "__AVR_ATmega48P__" },
+ { "atmega88", ARCH_AVR4, "__AVR_ATmega88__" },
++ { "atmega88a", ARCH_AVR4, "__AVR_ATmega88A__" },
+ { "atmega88p", ARCH_AVR4, "__AVR_ATmega88P__" },
++ { "atmega88pa", ARCH_AVR4, "__AVR_ATmega88PA__" },
+ { "atmega8515", ARCH_AVR4, "__AVR_ATmega8515__" },
+ { "atmega8535", ARCH_AVR4, "__AVR_ATmega8535__" },
+ { "atmega8hva", ARCH_AVR4, "__AVR_ATmega8HVA__" },
++ { "atmega4hvd", ARCH_AVR4, "__AVR_ATmega4HVD__" },
++ { "atmega8hvd", ARCH_AVR4, "__AVR_ATmega8HVD__" },
+ { "at90pwm1", ARCH_AVR4, "__AVR_AT90PWM1__" },
+ { "at90pwm2", ARCH_AVR4, "__AVR_AT90PWM2__" },
{ "at90pwm2b", ARCH_AVR4, "__AVR_AT90PWM2B__" },
{ "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__" },
{ "at90pwm3b", ARCH_AVR4, "__AVR_AT90PWM3B__" },
@@ -33,23 +61,81 @@
/* Enhanced, > 8K, <= 64K. */
{ "avr5", ARCH_AVR5, NULL },
{ "atmega16", ARCH_AVR5, "__AVR_ATmega16__" },
-@@ -278,6 +278,15 @@ static const struct mcu_type_s avr_mcu_t
- { "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__" },
- { "at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__" },
- { "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__" },
-+ { "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__" },
-+ { "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__" },
++ { "atmega16a", ARCH_AVR5, "__AVR_ATmega16A__" },
+ { "atmega161", ARCH_AVR5, "__AVR_ATmega161__" },
+ { "atmega162", ARCH_AVR5, "__AVR_ATmega162__" },
+ { "atmega163", ARCH_AVR5, "__AVR_ATmega163__" },
++ { "atmega164a", ARCH_AVR5, "__AVR_ATmega164A__" },
+ { "atmega164p", ARCH_AVR5, "__AVR_ATmega164P__" },
+ { "atmega165", ARCH_AVR5, "__AVR_ATmega165__" },
++ { "atmega165a", ARCH_AVR5, "__AVR_ATmega165A__" },
+ { "atmega165p", ARCH_AVR5, "__AVR_ATmega165P__" },
+ { "atmega168", ARCH_AVR5, "__AVR_ATmega168__" },
++ { "atmega168a", ARCH_AVR5, "__AVR_ATmega168A__" },
+ { "atmega168p", ARCH_AVR5, "__AVR_ATmega168P__" },
+ { "atmega169", ARCH_AVR5, "__AVR_ATmega169__" },
++ { "atmega169a", ARCH_AVR5, "__AVR_ATmega169A__" },
+ { "atmega169p", ARCH_AVR5, "__AVR_ATmega169P__" },
++ { "atmega169pa", ARCH_AVR5, "__AVR_ATmega169PA__" },
++ { "atmega16c1", ARCH_AVR5, "__AVR_ATmega16C1__" },
++ { "atmega16hva", ARCH_AVR5, "__AVR_ATmega16HVA__" },
++ { "atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__" },
++ { "atmega16hvb", ARCH_AVR5, "__AVR_ATmega16HVB__" },
+ { "atmega16m1", ARCH_AVR5, "__AVR_ATmega16M1__" },
-+ { "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__" },
-+ { "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__" },
+ { "atmega16u4", ARCH_AVR5, "__AVR_ATmega16U4__" },
+ { "atmega32", ARCH_AVR5, "__AVR_ATmega32__" },
+ { "atmega323", ARCH_AVR5, "__AVR_ATmega323__" },
++ { "atmega324a", ARCH_AVR5, "__AVR_ATmega324A__" },
+ { "atmega324p", ARCH_AVR5, "__AVR_ATmega324P__" },
++ { "atmega324pa", ARCH_AVR5, "__AVR_ATmega324PA__" },
+ { "atmega325", ARCH_AVR5, "__AVR_ATmega325__" },
+ { "atmega325p", ARCH_AVR5, "__AVR_ATmega325P__" },
+ { "atmega3250", ARCH_AVR5, "__AVR_ATmega3250__" },
+ { "atmega3250p", ARCH_AVR5, "__AVR_ATmega3250P__" },
++ { "atmega328", ARCH_AVR5, "__AVR_ATmega328__" },
+ { "atmega328p", ARCH_AVR5, "__AVR_ATmega328P__" },
+ { "atmega329", ARCH_AVR5, "__AVR_ATmega329__" },
+ { "atmega329p", ARCH_AVR5, "__AVR_ATmega329P__" },
++ { "atmega329pa", ARCH_AVR5, "__AVR_ATmega329PA__" },
+ { "atmega3290", ARCH_AVR5, "__AVR_ATmega3290__" },
+ { "atmega3290p", ARCH_AVR5, "__AVR_ATmega3290P__" },
++ { "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__" },
+ { "atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__" },
++ { "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__" },
+ { "atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__" },
+ { "atmega32u6", ARCH_AVR5, "__AVR_ATmega32U6__" },
+ { "atmega406", ARCH_AVR5, "__AVR_ATmega406__" },
+ { "atmega64", ARCH_AVR5, "__AVR_ATmega64__" },
+ { "atmega640", ARCH_AVR5, "__AVR_ATmega640__" },
+ { "atmega644", ARCH_AVR5, "__AVR_ATmega644__" },
++ { "atmega644a", ARCH_AVR5, "__AVR_ATmega644A__" },
+ { "atmega644p", ARCH_AVR5, "__AVR_ATmega644P__" },
++ { "atmega644pa", ARCH_AVR5, "__AVR_ATmega644PA__" },
+ { "atmega645", ARCH_AVR5, "__AVR_ATmega645__" },
++ { "atmega645a", ARCH_AVR5, "__AVR_ATmega645A__" },
++ { "atmega645p", ARCH_AVR5, "__AVR_ATmega645P__" },
+ { "atmega6450", ARCH_AVR5, "__AVR_ATmega6450__" },
++ { "atmega6450a", ARCH_AVR5, "__AVR_ATmega6450A__" },
++ { "atmega6450p", ARCH_AVR5, "__AVR_ATmega6450P__" },
+ { "atmega649", ARCH_AVR5, "__AVR_ATmega649__" },
++ { "atmega649a", ARCH_AVR5, "__AVR_ATmega649A__" },
++ { "atmega649p", ARCH_AVR5, "__AVR_ATmega649P__" },
+ { "atmega6490", ARCH_AVR5, "__AVR_ATmega6490__" },
+- { "atmega16hva", ARCH_AVR5, "__AVR_ATmega16HVA__" },
++ { "atmega6490a", ARCH_AVR5, "__AVR_ATmega6490A__" },
++ { "atmega6490p", ARCH_AVR5, "__AVR_ATmega6490P__" },
++ { "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__" },
++ { "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__" },
++ { "atmega64hve", ARCH_AVR5, "__AVR_ATmega64HVE__" },
+ { "at90can32", ARCH_AVR5, "__AVR_AT90CAN32__" },
+ { "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__" },
+ { "at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__" },
+ { "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__" },
+ { "at90scr100", ARCH_AVR5, "__AVR_AT90SCR100__" },
{ "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__" },
{ "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__" },
{ "at94k", ARCH_AVR5, "__AVR_AT94K__" },
-@@ -278,9 +283,13 @@
+@@ -284,9 +337,13 @@
{ "atmega1280", ARCH_AVR51, "__AVR_ATmega1280__" },
{ "atmega1281", ARCH_AVR51, "__AVR_ATmega1281__" },
{ "atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__" },
@@ -63,106 +149,149 @@
/* 3-Byte PC. */
{ "avr6", ARCH_AVR6, NULL },
{ "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__" },
---- gcc/config/avr/t-avr.orig Fri Apr 27 22:53:57 2007
-+++ gcc/config/avr/t-avr Wed Dec 19 14:01:08 2007
-@@ -43,6 +43,7 @@ MULTILIB_DIRNAMES = avr2 avr25 avr3 avr3
- # The many avr2 matches are not listed here - this is the default.
- MULTILIB_MATCHES = \
- mmcu?avr25=mmcu?attiny13 \
-+ mmcu?avr25=mmcu?attiny13a \
- mmcu?avr25=mmcu?attiny2313 \
- mmcu?avr25=mmcu?attiny24 \
- mmcu?avr25=mmcu?attiny44 \
-@@ -55,6 +55,7 @@
- mmcu?avr25=mmcu?attiny461 \
- mmcu?avr25=mmcu?attiny861 \
- mmcu?avr25=mmcu?attiny43u \
-+ mmcu?avr25=mmcu?attiny87 \
- mmcu?avr25=mmcu?attiny48 \
- mmcu?avr25=mmcu?attiny88 \
- mmcu?avr25=mmcu?at86rf401 \
-@@ -63,6 +63,8 @@ MULTILIB_MATCHES = \
- mmcu?avr31=mmcu?atmega103 \
- mmcu?avr35=mmcu?at90usb82 \
- mmcu?avr35=mmcu?at90usb162 \
-+ mmcu?avr35=mmcu?attiny167 \
-+ mmcu?avr35=mmcu?attiny327 \
- mmcu?avr4=mmcu?atmega48 \
- mmcu?avr4=mmcu?atmega48p \
- mmcu?avr4=mmcu?atmega8 \
-@@ -80,6 +82,7 @@
- mmcu?avr4=mmcu?at90pwm2b \
- mmcu?avr4=mmcu?at90pwm3 \
- mmcu?avr4=mmcu?at90pwm3b \
-+ mmcu?avr4=mmcu?at90pwm81 \
- mmcu?avr5=mmcu?atmega16 \
- mmcu?avr5=mmcu?atmega161 \
- mmcu?avr5=mmcu?atmega162 \
-@@ -114,6 +114,15 @@ MULTILIB_MATCHES = \
- mmcu?avr5=mmcu?at90can64 \
- mmcu?avr5=mmcu?at90pwm216 \
- mmcu?avr5=mmcu?at90pwm316 \
-+ mmcu?avr5=mmcu?atmega32c1 \
-+ mmcu?avr5=mmcu?atmega64c1 \
-+ mmcu?avr5=mmcu?atmega16m1 \
-+ mmcu?avr5=mmcu?atmega32m1 \
-+ mmcu?avr5=mmcu?atmega64m1 \
-+ mmcu?avr5=mmcu?atmega16u4 \
-+ mmcu?avr5=mmcu?atmega32u4 \
-+ mmcu?avr5=mmcu?atmega32u6 \
-+ mmcu?avr5=mmcu?at90scr100 \
- mmcu?avr5=mmcu?at90usb646 \
- mmcu?avr5=mmcu?at90usb647 \
- mmcu?avr5=mmcu?at94k \
-@@ -133,9 +138,13 @@
- mmcu?avr51=mmcu?atmega1280 \
- mmcu?avr51=mmcu?atmega1281 \
- mmcu?avr51=mmcu?atmega1284p \
-+ mmcu?avr51=mmcu?atmega128rfa1 \
- mmcu?avr51=mmcu?at90can128 \
- mmcu?avr51=mmcu?at90usb1286 \
- mmcu?avr51=mmcu?at90usb1287 \
-+ mmcu?avr51=mmcu?m3000f \
-+ mmcu?avr51=mmcu?m3000s \
-+ mmcu?avr51=mmcu?m3001b \
- mmcu?avr6=mmcu?atmega2560 \
- mmcu?avr6=mmcu?atmega2561
-
---- gcc/config/avr/avr.h.orig 2009-01-26 17:37:33.000000000 +0100
-+++ gcc/config/avr/avr.h 2009-01-26 17:47:48.000000000 +0100
-@@ -811,7 +811,7 @@
+--- ./gcc/config/avr/avr.h~ 2010-03-05 17:15:55.000000000 +0100
++++ ./gcc/config/avr/avr.h 2010-03-05 17:19:53.000000000 +0100
+@@ -803,67 +803,221 @@
mmcu=at90s8*|\
mmcu=at90c8*|\
mmcu=at86rf401|\
- mmcu=attiny13|\
++ mmcu=ata6289|\
+ mmcu=attiny13*|\
mmcu=attiny2313|\
++ mmcu=attiny2313a|\
mmcu=attiny24|\
++ mmcu=attiny24a|\
mmcu=attiny25|\
-@@ -822,14 +822,17 @@
- mmcu=at43*|\
- mmcu=at76*|\
+ mmcu=attiny261|\
+- mmcu=attiny4*|\
+- mmcu=attiny8*: -m avr2}\
++ mmcu=attiny261a|\
++ mmcu=attiny4313|\
++ mmcu=attiny43u|\
++ mmcu=attiny44|\
++ mmcu=attiny44a|\
++ mmcu=attiny45|\
++ mmcu=attiny461|\
++ mmcu=attiny461a|\
++ mmcu=attiny48|\
++ mmcu=attiny84|\
++ mmcu=attiny85|\
++ mmcu=attiny861|\
++ mmcu=attiny861a|\
++ mmcu=attiny87|\
++ mmcu=attiny88: -m avr2}\
+ %{mmcu=atmega103|\
+- mmcu=at43*|\
+- mmcu=at76*|\
++ mmcu=at43usb320|\
++ mmcu=at43usb355|\
++ mmcu=at76c711|\
mmcu=at90usb82|\
- mmcu=at90usb162: -m avr3}\
+-%{mmcu=atmega8*|\
+- mmcu=atmega48*|\
+ mmcu=at90usb162|\
-+ mmcu=attiny16*|\
-+ mmcu=attiny32*: -m avr3}\
- %{mmcu=atmega8*|\
- mmcu=atmega48*|\
++ mmcu=atmega8u2|\
++ mmcu=atmega16u2|\
++ mmcu=atmega32u2|\
++ mmcu=attiny167: -m avr3}\
++%{mmcu=atmega8|\
++ mmcu=atmega88|\
++ mmcu=atmega88a|\
++ mmcu=atmega88p|\
++ mmcu=atmega88pa|\
++ mmcu=atmega8515|\
++ mmcu=atmega8535|\
++ mmcu=atmega8hva|\
++ mmcu=atmega8hvd|\
++ mmcu=atmega48|\
++ mmcu=atmega48a|\
++ mmcu=atmega48p|\
++ mmcu=atmega4hvd|\
mmcu=at90pwm1|\
mmcu=at90pwm2|\
mmcu=at90pwm2b|\
mmcu=at90pwm3|\
- mmcu=at90pwm3b: -m avr4}\
+-%{mmcu=atmega16*|\
+- mmcu=atmega32*|\
+ mmcu=at90pwm3b|\
+ mmcu=at90pwm81: -m avr4}\
- %{mmcu=atmega16*|\
- mmcu=atmega32*|\
++%{mmcu=atmega16|\
++ mmcu=atmega16a|\
++ mmcu=atmega161|\
++ mmcu=atmega162|\
++ mmcu=atmega163|\
++ mmcu=atmega164a|\
++ mmcu=atmega164p|\
++ mmcu=atmega165|\
++ mmcu=atmega165a|\
++ mmcu=atmega165p|\
++ mmcu=atmega168|\
++ mmcu=atmega168a|\
++ mmcu=atmega168p|\
++ mmcu=atmega169|\
++ mmcu=atmega169a|\
++ mmcu=atmega169p|\
++ mmcu=atmega169pa|\
++ mmcu=atmega16c1|\
++ mmcu=atmega16hva|\
++ mmcu=atmega16hva2|\
++ mmcu=atmega16hvb|\
++ mmcu=atmega16m1|\
++ mmcu=atmega16u4|\
++ mmcu=atmega32|\
++ mmcu=atmega323|\
++ mmcu=atmega324a|\
++ mmcu=atmega324p|\
++ mmcu=atmega324pa|\
++ mmcu=atmega325|\
++ mmcu=atmega325p|\
++ mmcu=atmega3250|\
++ mmcu=atmega3250p|\
++ mmcu=atmega328|\
++ mmcu=atmega328p|\
++ mmcu=atmega329|\
++ mmcu=atmega329p|\
++ mmcu=atmega329pa|\
++ mmcu=atmega3290|\
++ mmcu=atmega3290p|\
++ mmcu=atmega32c1|\
++ mmcu=atmega32hvb|\
++ mmcu=atmega32m1|\
++ mmcu=atmega32u4|\
++ mmcu=atmega32u6|\
mmcu=atmega406|\
-@@ -838,9 +841,12 @@
+- mmcu=atmega64*|\
++ mmcu=atmega64|\
++ mmcu=atmega640|\
++ mmcu=atmega644|\
++ mmcu=atmega644a|\
++ mmcu=atmega644p|\
++ mmcu=atmega644pa|\
++ mmcu=atmega645|\
++ mmcu=atmega645a|\
++ mmcu=atmega645p|\
++ mmcu=atmega6450|\
++ mmcu=atmega6450a|\
++ mmcu=atmega6450p|\
++ mmcu=atmega649|\
++ mmcu=atmega649a|\
++ mmcu=atmega649p|\
++ mmcu=atmega6490|\
++ mmcu=atmega6490a|\
++ mmcu=atmega6490p|\
++ mmcu=atmega64c1|\
++ mmcu=atmega64m1|\
++ mmcu=atmega64hve|\
+ mmcu=atmega128*|\
mmcu=at90can*|\
mmcu=at90pwm216|\
mmcu=at90pwm316|\
++ mmcu=atmega32c1|\
++ mmcu=atmega32m1|\
++ mmcu=atmega32u4|\
+ mmcu=at90scr100|\
mmcu=at90usb64*|\
mmcu=at90usb128*|\
@@ -171,96 +300,246 @@
+ mmcu=m3000*|\
+ mmcu=m3001*: -m avr5}\
%{mmcu=atmega256*:-m avr6}\
- %{mmcu=atmega324*|\
+-%{mmcu=atmega324*|\
++%{mmcu=atmega324a|\
++ mmcu=atmega324p|\
++ mmcu=atmega324pa|\
mmcu=atmega325*|\
-@@ -865,13 +871,26 @@
- mmcu=atmega32hvb|\
++ mmcu=atmega328|\
+ mmcu=atmega328p|\
+- mmcu=atmega329*|\
++ mmcu=atmega329|\
++ mmcu=atmega329p|\
++ mmcu=atmega329pa|\
++ mmcu=atmega3290|\
++ mmcu=atmega3290p|\
+ mmcu=atmega406|\
+- mmcu=atmega48*|\
+- mmcu=atmega88*|\
++ mmcu=atmega48|\
++ mmcu=atmega48a|\
++ mmcu=atmega48p|\
++ mmcu=atmega88|\
++ mmcu=atmega88a|\
++ mmcu=atmega88p|\
++ mmcu=atmega88pa|\
+ mmcu=atmega64|\
+- mmcu=atmega644*|\
+- mmcu=atmega645*|\
+- mmcu=atmega649*|\
++ mmcu=atmega644|\
++ mmcu=atmega644a|\
++ mmcu=atmega644p|\
++ mmcu=atmega644pa|\
++ mmcu=atmega645|\
++ mmcu=atmega645p|\
++ mmcu=atmega645a|\
++ mmcu=atmega6450|\
++ mmcu=atmega6450a|\
++ mmcu=atmega6450p|\
++ mmcu=atmega649|\
++ mmcu=atmega649a|\
++ mmcu=atmega649p|\
++ mmcu=atmega6490|\
++ mmcu=atmega6490a|\
++ mmcu=atmega6490p|\
+ mmcu=atmega128|\
+ mmcu=atmega1284p|\
+ mmcu=atmega162|\
+- mmcu=atmega164*|\
+- mmcu=atmega165*|\
+- mmcu=atmega168*|\
+- mmcu=atmega169*|\
+- mmcu=atmega8hva|\
+- mmcu=atmega16hva|\
+- mmcu=atmega32hvb|\
++ mmcu=atmega164a|\
++ mmcu=atmega164p|\
++ mmcu=atmega165|\
++ mmcu=atmega165a|\
++ mmcu=atmega165p|\
++ mmcu=atmega168|\
++ mmcu=atmega168a|\
++ mmcu=atmega168p|\
++ mmcu=atmega169|\
++ mmcu=atmega169a|\
++ mmcu=atmega169p|\
++ mmcu=atmega169pa|\
++ mmcu=atmega4hv*|\
++ mmcu=atmega8hv*|\
++ mmcu=atmega16hv*|\
++ mmcu=atmega32hv*|\
mmcu=attiny48|\
mmcu=attiny88|\
+ mmcu=attiny87|\
+ mmcu=attiny167|\
-+ mmcu=attiny327|\
mmcu=at90can*|\
mmcu=at90pwm*|\
-+ mmcu=atmega32c1|\
-+ mmcu=atmega64c1|\
++ mmcu=atmega16c1|\
+ mmcu=atmega16m1|\
++ mmcu=atmega32c1|\
+ mmcu=atmega32m1|\
++ mmcu=atmega64c1|\
++ mmcu=atmega64m1|\
+ mmcu=atmega16u4|\
+ mmcu=atmega32u*|\
+ mmcu=at90scr100|\
++ mmcu=ata6289|\
++ mmcu=atmega64hve|\
++ mmcu=atmega8u2|\
++ mmcu=atmega16u2|\
++ mmcu=atmega32u2|\
mmcu=at90usb*: -Tdata 0x800100}\
%{mmcu=atmega640|\
mmcu=atmega1280|\
mmcu=atmega1281|\
- mmcu=atmega256*: -Tdata 0x800200} "
-+ mmcu=atmega256*|\
-+ mmcu=atmega128rfa1: -Tdata 0x800200}\
++ mmcu=atmega128rfa1|\
++ mmcu=atmega256*: -Tdata 0x800200}\
+%{mmcu=m3000*|\
+ mmcu=m3001*: -Tdata 0x801000}"
#define LIB_SPEC \
"%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}"
-@@ -906,6 +925,7 @@
+@@ -898,30 +1052,47 @@
%{mmcu=at90s8535:crts8535.o%s} \
%{mmcu=at86rf401:crt86401.o%s} \
%{mmcu=attiny13:crttn13.o%s} \
+%{mmcu=attiny13a:crttn13a.o%s} \
%{mmcu=attiny2313|mmcu=avr25:crttn2313.o%s} \
++%{mmcu=attiny2313a:crttn2313a.o%s} \
%{mmcu=attiny24:crttn24.o%s} \
++%{mmcu=attiny24a:crttn24a.o%s} \
++%{mmcu=attiny4313:crttn4313.o%s} \
%{mmcu=attiny44:crttn44.o%s} \
-@@ -917,14 +937,17 @@
++%{mmcu=attiny44a:crttn44a.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=attiny261a:crttn261a.o%s} \
%{mmcu=attiny461:crttn461.o%s} \
++%{mmcu=attiny461a:crttn461a.o%s} \
%{mmcu=attiny861:crttn861.o%s} \
++%{mmcu=attiny861a:crttn861a.o%s} \
%{mmcu=attiny43u:crttn43u.o%s} \
-+%{mmcu=attiny87:crttn87.o%s} \
%{mmcu=attiny48:crttn48.o%s} \
%{mmcu=attiny88:crttn88.o%s} \
--%{mmcu=at43usb320|mmcu=avr3:crt43320.o%s} \
--%{mmcu=at43usb355:crt43355.o%s} \
-+%{mmcu=at43usb355|mmcu=avr3:crt43355.o%s} \
++%{mmcu=attiny87:crttn87.o%s} \
++%{mmcu=ata6289:crta6289.o%s} \
+ %{mmcu=at43usb320|mmcu=avr3:crt43320.o%s} \
+ %{mmcu=at43usb355:crt43355.o%s} \
%{mmcu=at76c711:crt76711.o%s} \
%{mmcu=atmega103|mmcu=avr31:crtm103.o%s} \
-+%{mmcu=at43usb320:crt43320.o%s} \
%{mmcu=at90usb162|mmcu=avr35:crtusb162.o%s} \
%{mmcu=at90usb82:crtusb82.o%s} \
++%{mmcu=atmega8u2:crtm8u2.o%s} \
++%{mmcu=atmega16u2:crtm16u2.o%s} \
++%{mmcu=atmega32u2:crtm32u2.o%s} \
+%{mmcu=attiny167:crttn167.o%s} \
-+%{mmcu=attiny327:crttn327.o%s} \
%{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \
%{mmcu=atmega48:crtm48.o%s} \
++%{mmcu=atmega48a:crtm48a.o%s} \
%{mmcu=atmega48p:crtm48p.o%s} \
-@@ -937,6 +960,7 @@
+ %{mmcu=atmega88:crtm88.o%s} \
++%{mmcu=atmega88a:crtm88a.o%s} \
+ %{mmcu=atmega88p:crtm88p.o%s} \
++%{mmcu=atmega88pa:crtm88pa.o%s} \
+ %{mmcu=atmega8515:crtm8515.o%s} \
+ %{mmcu=atmega8535:crtm8535.o%s} \
+ %{mmcu=at90pwm1:crt90pwm1.o%s} \
+@@ -929,45 +1100,81 @@
%{mmcu=at90pwm2b:crt90pwm2b.o%s} \
%{mmcu=at90pwm3:crt90pwm3.o%s} \
%{mmcu=at90pwm3b:crt90pwm3b.o%s} \
+%{mmcu=at90pwm81:crt90pwm81.o%s} \
%{mmcu=atmega16:crtm16.o%s} \
++%{mmcu=atmega16a:crtm16a.o%s} \
%{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \
%{mmcu=atmega162:crtm162.o%s} \
-@@ -976,6 +1000,15 @@
+ %{mmcu=atmega163:crtm163.o%s} \
++%{mmcu=atmega164a:crtm164a.o%s} \
+ %{mmcu=atmega164p:crtm164p.o%s} \
+ %{mmcu=atmega165:crtm165.o%s} \
++%{mmcu=atmega165a:crtm165a.o%s} \
+ %{mmcu=atmega165p:crtm165p.o%s} \
+ %{mmcu=atmega168:crtm168.o%s} \
++%{mmcu=atmega168a:crtm168a.o%s} \
+ %{mmcu=atmega168p:crtm168p.o%s} \
+ %{mmcu=atmega169:crtm169.o%s} \
++%{mmcu=atmega169a:crtm169a.o%s} \
+ %{mmcu=atmega169p:crtm169p.o%s} \
++%{mmcu=atmega169pa:crtm169pa.o%s} \
+ %{mmcu=atmega32:crtm32.o%s} \
+ %{mmcu=atmega323:crtm323.o%s} \
++%{mmcu=atmega324a:crtm324a.o%s} \
+ %{mmcu=atmega324p:crtm324p.o%s} \
++%{mmcu=atmega324pa:crtm324pa.o%s} \
+ %{mmcu=atmega325:crtm325.o%s} \
+ %{mmcu=atmega325p:crtm325p.o%s} \
+ %{mmcu=atmega3250:crtm3250.o%s} \
+ %{mmcu=atmega3250p:crtm3250p.o%s} \
++%{mmcu=atmega328:crtm328.o%s} \
+ %{mmcu=atmega328p:crtm328p.o%s} \
+ %{mmcu=atmega329:crtm329.o%s} \
+ %{mmcu=atmega329p:crtm329p.o%s} \
++%{mmcu=atmega329pa:crtm329pa.o%s} \
+ %{mmcu=atmega3290:crtm3290.o%s} \
+ %{mmcu=atmega3290p:crtm3290p.o%s} \
+-%{mmcu=atmega32hvb:crtm32hvb.o%s} \
+ %{mmcu=atmega406:crtm406.o%s} \
+ %{mmcu=atmega64:crtm64.o%s} \
+ %{mmcu=atmega640:crtm640.o%s} \
+ %{mmcu=atmega644:crtm644.o%s} \
++%{mmcu=atmega644a:crtm644a.o%s} \
+ %{mmcu=atmega644p:crtm644p.o%s} \
++%{mmcu=atmega644pa:crtm644pa.o%s} \
+ %{mmcu=atmega645:crtm645.o%s} \
++%{mmcu=atmega645a:crtm645a.o%s} \
++%{mmcu=atmega645p:crtm645p.o%s} \
+ %{mmcu=atmega6450:crtm6450.o%s} \
++%{mmcu=atmega6450a:crtm6450a.o%s} \
++%{mmcu=atmega6450p:crtm6450p.o%s} \
+ %{mmcu=atmega649:crtm649.o%s} \
++%{mmcu=atmega649a:crtm649a.o%s} \
++%{mmcu=atmega649p:crtm649p.o%s} \
+ %{mmcu=atmega6490:crtm6490.o%s} \
++%{mmcu=atmega6490a:crtm6490a.o%s} \
++%{mmcu=atmega6490p:crtm6490p.o%s} \
++%{mmcu=atmega64hve:crtm64hve.o%s} \
+ %{mmcu=atmega8hva:crtm8hva.o%s} \
+ %{mmcu=atmega16hva:crtm16hva.o%s} \
++%{mmcu=atmega16hva2:crtm16hva2.o%s} \
++%{mmcu=atmega16hvb:crtm16hvb.o%s} \
++%{mmcu=atmega32hvb:crtm32hvb.o%s} \
++%{mmcu=atmega4hvd:crtm4hvd.o%s} \
++%{mmcu=atmega8hvd:crtm8hvd.o%s} \
+ %{mmcu=at90can32:crtcan32.o%s} \
%{mmcu=at90can64:crtcan64.o%s} \
%{mmcu=at90pwm216:crt90pwm216.o%s} \
%{mmcu=at90pwm316:crt90pwm316.o%s} \
-+%{mmcu=atmega32c1:crtm32c1.o%s} \
-+%{mmcu=atmega64c1:crtm64c1.o%s} \
++%{mmcu=atmega16c1:crtm16c1.o%s} \
+%{mmcu=atmega16m1:crtm16m1.o%s} \
-+%{mmcu=atmega32m1:crtm32m1.o%s} \
-+%{mmcu=atmega64m1:crtm64m1.o%s} \
+%{mmcu=atmega16u4:crtm16u4.o%s} \
++%{mmcu=atmega32c1:crtm32c1.o%s} \
++%{mmcu=atmega32m1:crtm32m1.o%s} \
+%{mmcu=atmega32u4:crtm32u4.o%s} \
+%{mmcu=atmega32u6:crtm32u6.o%s} \
++%{mmcu=atmega64c1:crtm64c1.o%s} \
++%{mmcu=atmega64m1:crtm64m1.o%s} \
+%{mmcu=at90scr100:crt90scr100.o%s} \
%{mmcu=at90usb646:crtusb646.o%s} \
%{mmcu=at90usb647:crtusb647.o%s} \
%{mmcu=at94k:crtat94k.o%s} \
-@@ -983,11 +1016,15 @@
+@@ -975,11 +1182,15 @@
%{mmcu=atmega1280:crtm1280.o%s} \
%{mmcu=atmega1281:crtm1281.o%s} \
%{mmcu=atmega1284p:crtm1284p.o%s} \
-%{mmcu=atmega2560:crtm2560.o%s} \
-%{mmcu=atmega2561:crtm2561.o%s} \
- %{mmcu=at90can128:crtcan128.o%s} \
+%{mmcu=atmega128rfa1:crtm128rfa1.o%s} \
+ %{mmcu=at90can128:crtcan128.o%s} \
%{mmcu=at90usb1286:crtusb1286.o%s} \
-%{mmcu=at90usb1287:crtusb1287.o%s}"
+%{mmcu=at90usb1287:crtusb1287.o%s} \
@@ -272,3 +551,162 @@
#define EXTRA_SPECS {"crt_binutils", CRT_BINUTILS_SPECS},
+--- ./gcc/config/avr/t-avr~ 2010-03-05 17:15:38.000000000 +0100
++++ ./gcc/config/avr/t-avr 2010-03-05 17:20:12.000000000 +0100
+@@ -42,19 +42,29 @@
+
+ # The many avr2 matches are not listed here - this is the default.
+ MULTILIB_MATCHES = \
++ mmcu?avr25=mmcu?ata6289 \
+ mmcu?avr25=mmcu?attiny13 \
++ mmcu?avr25=mmcu?attiny13a \
+ mmcu?avr25=mmcu?attiny2313 \
++ mmcu?avr25=mmcu?attiny2313a \
+ mmcu?avr25=mmcu?attiny24 \
+- mmcu?avr25=mmcu?attiny44 \
+- mmcu?avr25=mmcu?attiny84 \
++ mmcu?avr25=mmcu?attiny24a \
+ mmcu?avr25=mmcu?attiny25 \
+- mmcu?avr25=mmcu?attiny45 \
+- mmcu?avr25=mmcu?attiny85 \
+ mmcu?avr25=mmcu?attiny261 \
+- mmcu?avr25=mmcu?attiny461 \
+- mmcu?avr25=mmcu?attiny861 \
++ mmcu?avr25=mmcu?attiny261a \
++ mmcu?avr25=mmcu?attiny4313 \
+ mmcu?avr25=mmcu?attiny43u \
++ mmcu?avr25=mmcu?attiny44 \
++ mmcu?avr25=mmcu?attiny44a \
++ mmcu?avr25=mmcu?attiny45 \
++ mmcu?avr25=mmcu?attiny461 \
++ mmcu?avr25=mmcu?attiny461a \
+ mmcu?avr25=mmcu?attiny48 \
++ mmcu?avr25=mmcu?attiny84 \
++ mmcu?avr25=mmcu?attiny85 \
++ mmcu?avr25=mmcu?attiny861 \
++ mmcu?avr25=mmcu?attiny861a \
++ mmcu?avr25=mmcu?attiny87 \
+ mmcu?avr25=mmcu?attiny88 \
+ mmcu?avr25=mmcu?at86rf401 \
+ mmcu?avr3=mmcu?at43usb320 \
+@@ -63,57 +73,100 @@
+ mmcu?avr31=mmcu?atmega103 \
+ mmcu?avr35=mmcu?at90usb82 \
+ mmcu?avr35=mmcu?at90usb162 \
++ mmcu?avr35=mmcu?atmega8u2 \
++ mmcu?avr35=mmcu?atmega16u2 \
++ mmcu?avr35=mmcu?atmega32u2 \
++ mmcu?avr35=mmcu?attiny167 \
+ mmcu?avr4=mmcu?atmega48 \
++ mmcu?avr4=mmcu?atmega48a \
+ mmcu?avr4=mmcu?atmega48p \
+ mmcu?avr4=mmcu?atmega8 \
+ mmcu?avr4=mmcu?atmega8515 \
+ mmcu?avr4=mmcu?atmega8535 \
+ mmcu?avr4=mmcu?atmega88 \
++ mmcu?avr4=mmcu?atmega88a \
+ mmcu?avr4=mmcu?atmega88p \
++ mmcu?avr4=mmcu?atmega88pa \
+ mmcu?avr4=mmcu?atmega8hva \
++ mmcu?avr4=mmcu?atmega4hvd \
++ mmcu?avr4=mmcu?atmega8hvd \
+ mmcu?avr4=mmcu?at90pwm1 \
+ mmcu?avr4=mmcu?at90pwm2 \
+ mmcu?avr4=mmcu?at90pwm2b \
+ mmcu?avr4=mmcu?at90pwm3 \
+ mmcu?avr4=mmcu?at90pwm3b \
++ mmcu?avr4=mmcu?at90pwm81 \
+ mmcu?avr5=mmcu?atmega16 \
++ mmcu?avr5=mmcu?atmega16a \
+ mmcu?avr5=mmcu?atmega161 \
+ mmcu?avr5=mmcu?atmega162 \
+ mmcu?avr5=mmcu?atmega163 \
++ mmcu?avr5=mmcu?atmega164a \
+ mmcu?avr5=mmcu?atmega164p \
+ mmcu?avr5=mmcu?atmega165 \
++ mmcu?avr5=mmcu?atmega165a \
+ mmcu?avr5=mmcu?atmega165p \
+ mmcu?avr5=mmcu?atmega168 \
++ mmcu?avr5=mmcu?atmega168a \
+ mmcu?avr5=mmcu?atmega168p \
+ mmcu?avr5=mmcu?atmega169 \
++ mmcu?avr5=mmcu?atmega169a \
+ mmcu?avr5=mmcu?atmega169p \
++ mmcu?avr5=mmcu?atmega169pa \
+ mmcu?avr5=mmcu?atmega32 \
+ mmcu?avr5=mmcu?atmega323 \
++ mmcu?avr5=mmcu?atmega324a \
+ mmcu?avr5=mmcu?atmega324p \
++ mmcu?avr5=mmcu?atmega324pa \
+ mmcu?avr5=mmcu?atmega325 \
+ mmcu?avr5=mmcu?atmega325p \
+ mmcu?avr5=mmcu?atmega3250 \
+ mmcu?avr5=mmcu?atmega3250p \
++ mmcu?avr5=mmcu?atmega328 \
+ mmcu?avr5=mmcu?atmega328p \
+ mmcu?avr5=mmcu?atmega329 \
+ mmcu?avr5=mmcu?atmega329p \
++ mmcu?avr5=mmcu?atmega329pa \
+ mmcu?avr5=mmcu?atmega3290 \
+ mmcu?avr5=mmcu?atmega3290p \
+- mmcu?avr5=mmcu?atmega32hvb \
+ mmcu?avr5=mmcu?atmega406 \
+ mmcu?avr5=mmcu?atmega64 \
+ mmcu?avr5=mmcu?atmega640 \
+ mmcu?avr5=mmcu?atmega644 \
++ mmcu?avr5=mmcu?atmega644a \
+ mmcu?avr5=mmcu?atmega644p \
++ mmcu?avr5=mmcu?atmega644pa \
+ mmcu?avr5=mmcu?atmega645 \
++ mmcu?avr5=mmcu?atmega645a \
++ mmcu?avr5=mmcu?atmega645p \
+ mmcu?avr5=mmcu?atmega6450 \
++ mmcu?avr5=mmcu?atmega6450a \
++ mmcu?avr5=mmcu?atmega6450p \
+ mmcu?avr5=mmcu?atmega649 \
++ mmcu?avr5=mmcu?atmega649a \
++ mmcu?avr5=mmcu?atmega649p \
+ mmcu?avr5=mmcu?atmega6490 \
++ mmcu?avr5=mmcu?atmega6490a \
++ mmcu?avr5=mmcu?atmega6490p \
+ mmcu?avr5=mmcu?atmega16hva \
++ mmcu?avr5=mmcu?atmega16hva2 \
++ mmcu?avr5=mmcu?atmega16hvb \
++ mmcu?avr5=mmcu?atmega32hvb \
+ mmcu?avr5=mmcu?at90can32 \
+ mmcu?avr5=mmcu?at90can64 \
+ mmcu?avr5=mmcu?at90pwm216 \
+ mmcu?avr5=mmcu?at90pwm316 \
++ mmcu?avr5=mmcu?atmega16c1 \
++ mmcu?avr5=mmcu?atmega16m1 \
++ mmcu?avr5=mmcu?atmega16u4 \
++ mmcu?avr5=mmcu?atmega32c1 \
++ mmcu?avr5=mmcu?atmega32m1 \
++ mmcu?avr5=mmcu?atmega32u4 \
++ mmcu?avr5=mmcu?atmega32u6 \
++ mmcu?avr5=mmcu?atmega64c1 \
++ mmcu?avr5=mmcu?atmega64m1 \
++ mmcu?avr5=mmcu?atmega64hve \
++ mmcu?avr5=mmcu?at90scr100 \
+ mmcu?avr5=mmcu?at90usb646 \
+ mmcu?avr5=mmcu?at90usb647 \
+ mmcu?avr5=mmcu?at94k \
+@@ -121,12 +174,15 @@
+ mmcu?avr51=mmcu?atmega1280 \
+ mmcu?avr51=mmcu?atmega1281 \
+ mmcu?avr51=mmcu?atmega1284p \
++ mmcu?avr51=mmcu?atmega128rfa1 \
+ mmcu?avr51=mmcu?at90can128 \
+ mmcu?avr51=mmcu?at90usb1286 \
+ mmcu?avr51=mmcu?at90usb1287 \
+- mmcu?avr6=mmcu?atmega2560 \
+- mmcu?avr6=mmcu?atmega2561
+-
++ mmcu?avr51=mmcu?m3000f \
++ mmcu?avr51=mmcu?m3000s \
++ mmcu?avr51=mmcu?m3001b \
++ mmcu?avr6=mmcu?atmega2560 \
++ mmcu?avr6=mmcu?atmega2561
+ MULTILIB_EXCEPTIONS =
+
+ LIBGCC = stmp-multilib