1 diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c
2 --- gcc/config/avr/avr-devices.c 2012-04-20 18:52:19.000000000 +0530
3 +++ gcc/config/avr/avr-devices.c 2012-04-20 18:52:59.000000000 +0530
4 @@ -37,6 +37,7 @@ const struct base_arch_s avr_arch_types[
5 { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0x0060, "__AVR_ARCH__=5", "avr5" },
6 { 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0x0060, "__AVR_ARCH__=51", "avr51" },
7 { 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0x0060, "__AVR_ARCH__=6", "avr6" },
8 + { 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0x0200, "__AVR_ARCH__=7", "avr7" },
9 { 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0x2000, "__AVR_ARCH__=101", "avrxmega1" },
10 { 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0x2000, "__AVR_ARCH__=102", "avrxmega2" },
11 { 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0x2000, "__AVR_ARCH__=103", "avrxmega3" },
12 @@ -270,6 +271,9 @@ const struct mcu_type_s avr_mcu_types[]
13 { "atmega2561", ARCH_AVR6, "__AVR_ATmega2561__", 0, 0x0200, "m2561" },
14 { "atmega256rfa2", ARCH_AVR6, "__AVR_ATmega256RFA2__", 0, 0x0200, "m256rfa2" },
15 { "atmega256rfr2", ARCH_AVR6, "__AVR_ATmega256RFR2__", 0, 0x0200, "m256rfr2" },
16 + /* Enhanced, == 20K starts at 0x8000 */
17 + { "avr7", ARCH_AVR7, NULL, 0, 0x0200, "a5831" },
18 + { "ata5831", ARCH_AVR7, "__AVR_ATA5831__", 0, 0x0200, "a5831" },
19 /* Enhanced, == 256K. */
20 /* Xmega, <= 8K FLASH. */
21 /* Xmega, > 8K, <= 64K FLASH, <= 64K RAM. */
22 diff -Naurp gcc/config/avr/avr.h gcc-4.6.2-src/gcc/config/avr/avr.h
23 --- gcc/config/avr/avr.h 2012-04-20 18:52:19.000000000 +0530
24 +++ gcc/config/avr/avr.h 2012-04-20 18:52:59.000000000 +0530
25 @@ -79,6 +79,7 @@ enum avr_arch
33 diff -Naurp gcc-4.6.2-base/gcc/config/avr/t-avr gcc-4.6.2-src/gcc/config/avr/t-avr
34 --- gcc/config/avr/t-avr 2012-04-20 18:52:19.000000000 +0530
35 +++ gcc/config/avr/t-avr 2012-04-20 18:52:59.000000000 +0530
36 @@ -107,8 +107,8 @@ fp-bit.c: $(srcdir)/config/fp-bit.c $(sr
40 -MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr31/mmcu=avr35/mmcu=avr4/mmcu=avr5/mmcu=avr51/mmcu=avr6/mmcu=avrxmega2/mmcu=avrxmega4/mmcu=avrxmega5/mmcu=avrxmega6/mmcu=avrxmega7/mmcu=avrtiny10
41 -MULTILIB_DIRNAMES = avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny10
42 +MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr31/mmcu=avr35/mmcu=avr4/mmcu=avr5/mmcu=avr51/mmcu=avr6/mmcu=avr7/mmcu=avrxmega2/mmcu=avrxmega4/mmcu=avrxmega5/mmcu=avrxmega6/mmcu=avrxmega7/mmcu=avrtiny10
43 +MULTILIB_DIRNAMES = avr2 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avr7 avrxmega2 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny10
45 # The many avr2 matches are not listed here - this is the default.
47 @@ -288,6 +288,7 @@ MULTILIB_MATCHES = \
48 mmcu?avr6=mmcu?atmega256rfr2 \
49 mmcu?avr6=mmcu?atmega2560 \
50 mmcu?avr6=mmcu?atmega2561 \
51 + mmcu?avr7=mmcu?ata5831 \
52 mmcu?avrxmega2=mmcu?atmxt112sl \
53 mmcu?avrxmega2=mmcu?atmxt224 \
54 mmcu?avrxmega2=mmcu?atmxt224e \