--- gcc/config/avr/avr.c.orig	Sat Sep  1 17:28:30 2007
+++ gcc/config/avr/avr.c	Sun Oct 28 00:00:51 2007
@@ -204,6 +204,8 @@
   { "attiny261",    ARCH_AVR25, "__AVR_ATtiny261__" },
   { "attiny461",    ARCH_AVR25, "__AVR_ATtiny461__" },
   { "attiny861",    ARCH_AVR25, "__AVR_ATtiny861__" },
+  { "attiny43u",    ARCH_AVR25, "__AVR_ATtiny43U__" },
+  { "attiny48",     ARCH_AVR25, "__AVR_ATtiny48__" },
   { "at86rf401",    ARCH_AVR25, "__AVR_AT86RF401__" },
     /* Classic, > 8K.  */
   { "avr3",         ARCH_AVR3, NULL },
@@ -216,13 +218,17 @@
   { "avr4",         ARCH_AVR4, NULL },
   { "atmega8",      ARCH_AVR4, "__AVR_ATmega8__" },
   { "atmega48",     ARCH_AVR4, "__AVR_ATmega48__" },
+  { "atmega48p",    ARCH_AVR4, "__AVR_ATmega48P__" },
   { "atmega88",     ARCH_AVR4, "__AVR_ATmega88__" },
+  { "atmega88p",    ARCH_AVR4, "__AVR_ATmega88P__" },
   { "atmega8515",   ARCH_AVR4, "__AVR_ATmega8515__" },
   { "atmega8535",   ARCH_AVR4, "__AVR_ATmega8535__" },
   { "atmega8hva",   ARCH_AVR4, "__AVR_ATmega8HVA__" },
   { "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__" },
     /* Enhanced, > 8K.  */
   { "avr5",         ARCH_AVR5, NULL },
   { "atmega16",     ARCH_AVR5, "__AVR_ATmega16__" },
@@ -233,6 +239,7 @@
   { "atmega165",    ARCH_AVR5, "__AVR_ATmega165__" },
   { "atmega165p",   ARCH_AVR5, "__AVR_ATmega165P__" },
   { "atmega168",    ARCH_AVR5, "__AVR_ATmega168__" },
+  { "atmega168p",   ARCH_AVR5, "__AVR_ATmega168P__" },
   { "atmega169",    ARCH_AVR5, "__AVR_ATmega169__" },
   { "atmega169p",   ARCH_AVR5, "__AVR_ATmega169P__" },
   { "atmega32",     ARCH_AVR5, "__AVR_ATmega32__" },
@@ -242,6 +249,7 @@
   { "atmega325p",   ARCH_AVR5, "__AVR_ATmega325P__" },
   { "atmega3250",   ARCH_AVR5, "__AVR_ATmega3250__" },
   { "atmega3250p",  ARCH_AVR5, "__AVR_ATmega3250P__" },
+  { "atmega328p",   ARCH_AVR5, "__AVR_ATmega328P__" },
   { "atmega329",    ARCH_AVR5, "__AVR_ATmega329__" },
   { "atmega329p",   ARCH_AVR5, "__AVR_ATmega329P__" },
   { "atmega3290",   ARCH_AVR5, "__AVR_ATmega3290__" },
@@ -262,6 +270,8 @@
   { "at90can32",    ARCH_AVR5, "__AVR_AT90CAN32__" },
   { "at90can64",    ARCH_AVR5, "__AVR_AT90CAN64__" },
   { "at90can128",   ARCH_AVR5, "__AVR_AT90CAN128__" },
+  { "at90pwm216",   ARCH_AVR5, "__AVR_AT90PWM216__" },
+  { "at90pwm316",   ARCH_AVR5, "__AVR_AT90PWM316__" },
   { "at90usb82",    ARCH_AVR5, "__AVR_AT90USB82__" },
   { "at90usb162",   ARCH_AVR5, "__AVR_AT90USB162__" },
   { "at90usb646",   ARCH_AVR5, "__AVR_AT90USB646__" },
--- gcc/config/avr/t-avr.orig	Fri Apr 27 22:53:57 2007
+++ gcc/config/avr/t-avr	Sun Oct 28 00:00:47 2007
@@ -53,6 +53,8 @@
 	mmcu?avr25=mmcu?attiny261 \
 	mmcu?avr25=mmcu?attiny461 \
 	mmcu?avr25=mmcu?attiny861 \
+	mmcu?avr25=mmcu?attiny43u \
+	mmcu?avr25=mmcu?attiny48 \
 	mmcu?avr25=mmcu?at86rf401 \
 	mmcu?avr3=mmcu?atmega103 \
 	mmcu?avr3=mmcu?atmega603 \
@@ -60,14 +62,18 @@
 	mmcu?avr3=mmcu?at43usb355 \
 	mmcu?avr3=mmcu?at76c711 \
 	mmcu?avr4=mmcu?atmega48 \
+	mmcu?avr4=mmcu?atmega48p \
 	mmcu?avr4=mmcu?atmega8 \
 	mmcu?avr4=mmcu?atmega8515 \
 	mmcu?avr4=mmcu?atmega8535 \
 	mmcu?avr4=mmcu?atmega88 \
+	mmcu?avr4=mmcu?atmega88p \
 	mmcu?avr4=mmcu?atmega8hva \
 	mmcu?avr4=mmcu?at90pwm1 \
 	mmcu?avr4=mmcu?at90pwm2 \
+	mmcu?avr4=mmcu?at90pwm2b \
 	mmcu?avr4=mmcu?at90pwm3 \
+	mmcu?avr4=mmcu?at90pwm3b \
 	mmcu?avr5=mmcu?atmega16 \
 	mmcu?avr5=mmcu?atmega161 \
 	mmcu?avr5=mmcu?atmega162 \
@@ -76,6 +82,7 @@
 	mmcu?avr5=mmcu?atmega165 \
 	mmcu?avr5=mmcu?atmega165p \
 	mmcu?avr5=mmcu?atmega168 \
+	mmcu?avr5=mmcu?atmega168p \
 	mmcu?avr5=mmcu?atmega169 \
 	mmcu?avr5=mmcu?atmega169p \
 	mmcu?avr5=mmcu?atmega32 \
@@ -85,6 +92,7 @@
 	mmcu?avr5=mmcu?atmega325p \
 	mmcu?avr5=mmcu?atmega3250 \
 	mmcu?avr5=mmcu?atmega3250p \
+	mmcu?avr5=mmcu?atmega328p \
 	mmcu?avr5=mmcu?atmega329 \
 	mmcu?avr5=mmcu?atmega329p \
 	mmcu?avr5=mmcu?atmega3290 \
@@ -105,6 +113,8 @@
 	mmcu?avr5=mmcu?at90can32 \
 	mmcu?avr5=mmcu?at90can64 \
 	mmcu?avr5=mmcu?at90can128 \
+	mmcu?avr5=mmcu?at90pwm216 \
+	mmcu?avr5=mmcu?at90pwm316 \
 	mmcu?avr5=mmcu?at90usb82 \
 	mmcu?avr5=mmcu?at90usb162 \
 	mmcu?avr5=mmcu?at90usb646 \
--- gcc/config/avr/avr.h.orig	Sat Oct 27 23:39:36 2007
+++ gcc/config/avr/avr.h	Sun Oct 28 00:00:34 2007
@@ -763,22 +763,29 @@
   mmcu=at43*|\
   mmcu=at76*:-m avr3}\
 %{mmcu=atmega8*|\
-  mmcu=atmega48|\
-  mmcu=at90pwm*:-m avr4}\
+  mmcu=atmega48*|\
+  mmcu=at90pwm1|\
+  mmcu=at90pwm2|\
+  mmcu=at90pwm2b|\
+  mmcu=at90pwm3|\
+  mmcu=at90pwm3b:-m avr4}\
 %{mmcu=atmega16*|\
   mmcu=atmega32*|\
   mmcu=atmega406|\
   mmcu=atmega64*|\
   mmcu=atmega128*|\
   mmcu=at90can*|\
+  mmcu=at90pwm216|\
+  mmcu=at90pwm316|\
   mmcu=at90usb*|\
   mmcu=at94k:-m avr5}\
 %{mmcu=atmega324*|\
   mmcu=atmega325*|\
+  mmcu=atmega328p|\
   mmcu=atmega329*|\
   mmcu=atmega406|\
-  mmcu=atmega48|\
-  mmcu=atmega88|\
+  mmcu=atmega48*|\
+  mmcu=atmega88*|\
   mmcu=atmega64|\
   mmcu=atmega644*|\
   mmcu=atmega645*|\
@@ -787,10 +794,11 @@
   mmcu=atmega162|\
   mmcu=atmega164*|\
   mmcu=atmega165*|\
-  mmcu=atmega168|\
+  mmcu=atmega168*|\
   mmcu=atmega169*|\
   mmcu=atmega8hva|\
   mmcu=atmega16hva|\
+  mmcu=attiny48|\
   mmcu=at90can*|\
   mmcu=at90pwm*|\
   mmcu=at90usb*: -Tdata 0x800100}\
@@ -841,6 +849,8 @@
 %{mmcu=attiny261:crttn261.o%s} \
 %{mmcu=attiny461:crttn461.o%s} \
 %{mmcu=attiny861:crttn861.o%s} \
+%{mmcu=attiny43u:crttn43u.o%s} \
+%{mmcu=attiny48:crttn48.o%s} \
 %{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \
 %{mmcu=atmega603:crtm603.o%s} \
 %{mmcu=at43usb320:crt43320.o%s} \
@@ -848,12 +858,16 @@
 %{mmcu=at76c711:crt76711.o%s} \
 %{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \
 %{mmcu=atmega48:crtm48.o%s} \
+%{mmcu=atmega48p:crtm48p.o%s} \
 %{mmcu=atmega88:crtm88.o%s} \
+%{mmcu=atmega88p:crtm88p.o%s} \
 %{mmcu=atmega8515:crtm8515.o%s} \
 %{mmcu=atmega8535:crtm8535.o%s} \
 %{mmcu=at90pwm1:crt90pwm1.o%s} \
 %{mmcu=at90pwm2:crt90pwm2.o%s} \
+%{mmcu=at90pwm2b:crt90pwm2b.o%s} \
 %{mmcu=at90pwm3:crt90pwm3.o%s} \
+%{mmcu=at90pwm3b:crt90pwm3b.o%s} \
 %{mmcu=atmega16:crtm16.o%s} \
 %{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \
 %{mmcu=atmega162:crtm162.o%s} \
@@ -862,6 +876,7 @@
 %{mmcu=atmega165:crtm165.o%s} \
 %{mmcu=atmega165p:crtm165p.o%s} \
 %{mmcu=atmega168:crtm168.o%s} \
+%{mmcu=atmega168p:crtm168p.o%s} \
 %{mmcu=atmega169:crtm169.o%s} \
 %{mmcu=atmega169p:crtm169p.o%s} \
 %{mmcu=atmega32:crtm32.o%s} \
@@ -871,6 +886,7 @@
 %{mmcu=atmega325p:crtm325p.o%s} \
 %{mmcu=atmega3250:crtm3250.o%s} \
 %{mmcu=atmega3250p:crtm3250p.o%s} \
+%{mmcu=atmega328p:crtm328p.o%s} \
 %{mmcu=atmega329:crtm329.o%s} \
 %{mmcu=atmega329p:crtm329p.o%s} \
 %{mmcu=atmega3290:crtm3290.o%s} \
@@ -892,6 +908,8 @@
 %{mmcu=at90can32:crtcan32.o%s} \
 %{mmcu=at90can64:crtcan64.o%s} \
 %{mmcu=at90can128:crtcan128.o%s} \
+%{mmcu=at90pwm216:crt90pwm216.o%s} \
+%{mmcu=at90pwm316:crt90pwm316.o%s} \
 %{mmcu=at90usb82:crtusb82.o%s} \
 %{mmcu=at90usb162:crtusb162.o%s} \
 %{mmcu=at90usb646:crtusb646.o%s} \
