diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c --- gcc/config/avr/avr-devices.c 2012-03-27 20:49:18.000000000 +0530 +++ gcc/config/avr/avr-devices.c 2012-03-30 13:49:00.000000000 +0530 @@ -72,6 +72,7 @@ const struct mcu_type_s avr_mcu_types[] /* Classic, <= 8K + 2-byte PC + { MOVW/LPMX }. */ { "avr25", ARCH_AVR25, NULL, 0, 0x0060, "tn85" }, { "ata6289", ARCH_AVR25, "__AVR_ATA6289__", 0, 0x0100, "a6289" }, + { "ata5272", ARCH_AVR25, "__AVR_ATA5272__", 0, 0x0100, "a5272" }, { "attiny13", ARCH_AVR25, "__AVR_ATtiny13__", 1, 0x0060, "tn13" }, { "attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__", 1, 0x0060, "tn13a" }, { "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__", 1, 0x0060, "tn2313" }, @@ -109,6 +110,7 @@ const struct mcu_type_s avr_mcu_types[] { "at43usb320", ARCH_AVR31, "__AVR_AT43USB320__", 0, 0x0060, "43320" }, /* Classic, >=16K, <=64K + 2-byte PC + { MOVW/LPMX + JMP/CALL }. */ { "avr35", ARCH_AVR35, NULL, 0, 0x0100, "usb162" }, + { "ata5505", ARCH_AVR35, "__AVR_ATA5505__", 0, 0x0100, "a5505" }, { "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__", 0, 0x0100, "usb82" }, { "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__", 0, 0x0100, "usb162" }, { "atmega8u2", ARCH_AVR35, "__AVR_ATmega8U2__", 0, 0x0100, "m8u2" }, diff -Naurp gcc/config/avr/t-avr gcc/config/avr/t-avr --- gcc/config/avr/t-avr 2012-03-27 20:49:18.000000000 +0530 +++ gcc/config/avr/t-avr 2012-03-30 13:56:27.000000000 +0530 @@ -112,6 +112,7 @@ MULTILIB_DIRNAMES = avr2 avr25 avr3 avr3 # The many avr2 matches are not listed here - this is the default. MULTILIB_MATCHES = \ + mmcu?avr25=mmcu?ata5272 \ mmcu?avr25=mmcu?ata6289 \ mmcu?avr25=mmcu?attiny13 \ mmcu?avr25=mmcu?attiny13a \ @@ -147,6 +148,7 @@ MULTILIB_MATCHES = \ mmcu?avr31=mmcu?at43usb320 \ mmcu?avr35=mmcu?at90usb82 \ mmcu?avr35=mmcu?at90usb162 \ + mmcu?avr35=mmcu?ata5505 \ mmcu?avr35=mmcu?atmega8u2 \ mmcu?avr35=mmcu?atmega16u2 \ mmcu?avr35=mmcu?atmega32u2 \