--- gcc/config/avr/avr.c.old 2008-03-19 14:34:52.963111900 -0600 +++ gcc/config/avr/avr.c 2008-03-22 07:53:54.900218600 -0600 @@ -281,6 +281,7 @@ static const struct mcu_type_s avr_mcu_t { "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__" }, { "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__" }, { "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__" }, + { "atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__" }, { "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__" }, { "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__" }, { "at94k", ARCH_AVR5, "__AVR_AT94K__" }, --- gcc/config/avr/avr.h.old 2008-03-19 14:34:52.963111900 -0600 +++ gcc/config/avr/avr.h 2008-03-22 07:56:04.463675600 -0600 @@ -871,6 +871,7 @@ mmcu=*:-mmcu=%*}" mmcu=at90pwm316|\ mmcu=atmega32c1|\ mmcu=atmega32m1|\ + mmcu=atmega32u4|\ mmcu=at90usb64*|\ mmcu=at90usb128*|\ mmcu=at94k: -m avr5}\ @@ -904,6 +905,7 @@ mmcu=*:-mmcu=%*}" mmcu=at90pwm*|\ mmcu=atmega32c1|\ mmcu=atmega32m1|\ + mmcu=atmega32u4|\ mmcu=at90usb*: -Tdata 0x800100}\ %{mmcu=atmega640|\ mmcu=atmega1280|\ @@ -1015,6 +1017,7 @@ mmcu=*:-mmcu=%*}" %{mmcu=at90pwm316:crt90pwm316.o%s} \ %{mmcu=atmega32c1:crtm32c1.o%s} \ %{mmcu=atmega32m1:crtm32m1.o%s} \ +%{mmcu=atmega32u4:crtm32u4.o%s} \ %{mmcu=at90usb646:crtusb646.o%s} \ %{mmcu=at90usb647:crtusb647.o%s} \ %{mmcu=at94k:crtat94k.o%s} \ --- gcc/config/avr/t-avr.old 2008-03-19 14:34:52.963111900 -0600 +++ gcc/config/avr/t-avr 2008-03-22 08:02:03.137164200 -0600 @@ -116,6 +116,7 @@ MULTILIB_MATCHES = \ mmcu?avr5=mmcu?at90pwm316 \ mmcu?avr5=mmcu?atmega32c1 \ mmcu?avr5=mmcu?atmega32m1 \ + mmcu?avr5=mmcu?atmega32u4 \ mmcu?avr5=mmcu?at90usb646 \ mmcu?avr5=mmcu?at90usb647 \ mmcu?avr5=mmcu?at94k \