diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c
---- gcc/config/avr/avr-devices.c 2011-06-22 10:26:14.000000000 +0530
-+++ gcc/config/avr/avr-devices.c 2011-06-22 10:48:05.000000000 +0530
-@@ -37,14 +37,14 @@ const struct base_arch_s avr_arch_types[
- { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0x0060, "__AVR_ARCH__=5", "avr5" },
+--- gcc/config/avr/avr-devices.c 2012-03-27 16:11:43.000000000 +0530
++++ gcc/config/avr/avr-devices.c 2012-03-28 11:36:52.000000000 +0530
+@@ -38,14 +38,14 @@ const struct base_arch_s avr_arch_types[
{ 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0x0060, "__AVR_ARCH__=51", "avr51" },
{ 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0x0060, "__AVR_ARCH__=6", "avr6" },
-+ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0x0040, "__AVR_ARCH__=100", "avrtiny10" },
+ { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0x0200, "__AVR_ARCH__=7", "avr7" },
++ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0x0040, "__AVR_ARCH__=100", "avrtiny10" },
{ 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0x2000, "__AVR_ARCH__=101", "avrxmega1" },
{ 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0x2000, "__AVR_ARCH__=102", "avrxmega2" },
{ 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0x2000, "__AVR_ARCH__=103", "avrxmega3" },
/* List of all known AVR MCU types - if updated, it has to be kept
diff -Naurp gcc/config/avr/avr.h gcc/config/avr/avr.h
---- gcc/config/avr/avr.h 2011-06-22 10:36:29.000000000 +0530
-+++ gcc/config/avr/avr.h 2011-06-22 10:48:05.000000000 +0530
-@@ -79,14 +79,14 @@ enum avr_arch
- ARCH_AVR5,
+--- gcc/config/avr/avr.h 2012-03-27 16:44:27.000000000 +0530
++++ gcc/config/avr/avr.h 2012-03-28 11:38:15.000000000 +0530
+@@ -80,14 +80,14 @@ enum avr_arch
ARCH_AVR51,
ARCH_AVR6,
+ ARCH_AVR7,
+ ARCH_AVRTINY10,
ARCH_AVRXMEGA1,
ARCH_AVRXMEGA2,