]> git.pld-linux.org Git - packages/crossavr-gcc.git/blame - 404-gcc-4.5.1-atxmega_16_32_a4u.patch
- synchronized patches with Atmel official AVR8-GNU toolchain.
[packages/crossavr-gcc.git] / 404-gcc-4.5.1-atxmega_16_32_a4u.patch
CommitLineData
dbe7ab63 1diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c
2--- gcc/config/avr/avr-devices.c 2011-09-02 12:01:05.000000000 +0300
3+++ gcc/config/avr/avr-devices.c 2011-09-02 12:10:44.000000000 +0300
4@@ -55,7 +55,7 @@ const struct base_arch_s avr_arch_types[
5 - avr-libc. */
6
7 const struct mcu_type_s avr_mcu_types[] = {
8- /* Classic, <= 8K. */
9+ /* Classic, <= 8K, 2-byte PC. */
10 { "avr2", ARCH_AVR2, NULL, 0, 0x0060, "s8515" },
11 { "at90s2313", ARCH_AVR2, "__AVR_AT90S2313__", 1, 0x0060, "s2313" },
12 { "at90s2323", ARCH_AVR2, "__AVR_AT90S2323__", 1, 0x0060, "s2323" },
13@@ -69,7 +69,7 @@ const struct mcu_type_s avr_mcu_types[]
14 { "at90s8515", ARCH_AVR2, "__AVR_AT90S8515__", 0, 0x0060, "s8515" },
15 { "at90c8534", ARCH_AVR2, "__AVR_AT90C8534__", 0, 0x0060, "c8534" },
16 { "at90s8535", ARCH_AVR2, "__AVR_AT90S8535__", 0, 0x0060, "s8535" },
17- /* Classic + MOVW, <= 8K. */
18+ /* Classic, <= 8K + 2-byte PC + { MOVW/LPMX }. */
19 { "avr25", ARCH_AVR25, NULL, 0, 0x0060, "tn85" },
20 { "ata6289", ARCH_AVR25, "__AVR_ATA6289__", 0, 0x0100, "a6289" },
21 { "attiny13", ARCH_AVR25, "__AVR_ATtiny13__", 1, 0x0060, "tn13" },
22@@ -97,15 +97,15 @@ const struct mcu_type_s avr_mcu_types[]
23 { "attiny48", ARCH_AVR25, "__AVR_ATtiny48__", 0, 0x0100, "tn48" },
24 { "attiny88", ARCH_AVR25, "__AVR_ATtiny88__", 0, 0x0100, "tn88" },
25 { "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__", 1, 0x0060, "86401" },
26- /* Classic, > 8K, <= 64K. */
27+ /* Classic, > 8K, <= 64K +2-byte PC + { JMP/CALL }. */
28 { "avr3", ARCH_AVR3, NULL, 0, 0x0060, "43355" },
29 { "at43usb355", ARCH_AVR3, "__AVR_AT43USB355__", 0, 0x0060, "43355" },
30 { "at76c711", ARCH_AVR3, "__AVR_AT76C711__", 0, 0x0060, "76711" },
31- /* Classic, == 128K. */
32+ /* Classic, == 128K + 2-byte PC + { JMP/CALL, ELPM }. */
33 { "avr31", ARCH_AVR31, NULL, 0, 0x0060, "m103" },
34 { "atmega103", ARCH_AVR31, "__AVR_ATmega103__", 0, 0x0060, "m103" },
35 { "at43usb320", ARCH_AVR31, "__AVR_AT43USB320__", 0, 0x0060, "43320" },
36- /* Classic + MOVW + JMP/CALL. */
37+ /* Classic, >=16K, <=64K + 2-byte PC + { MOVW/LPMX + JMP/CALL }. */
38 { "avr35", ARCH_AVR35, NULL, 0, 0x0100, "usb162" },
39 { "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__", 0, 0x0100, "usb82" },
40 { "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__", 0, 0x0100, "usb162" },
41@@ -114,7 +114,7 @@ const struct mcu_type_s avr_mcu_types[]
42 { "atmega32u2", ARCH_AVR35, "__AVR_ATmega32U2__", 0, 0x0100, "m32u2" },
43 { "attiny167", ARCH_AVR35, "__AVR_ATtiny167__", 0, 0x0100, "tn167" },
44 { "attiny1634", ARCH_AVR35, "__AVR_ATtiny1634__", 0, 0x0100, "tn1634" },
45- /* Enhanced, <= 8K. */
46+ /* Enhanced, <= 8K + 2-byte PC + { MOVW/LPMX, MUL }. */
47 { "avr4", ARCH_AVR4, NULL, 0, 0x0060, "m8" },
48 { "atmega8", ARCH_AVR4, "__AVR_ATmega8__", 0, 0x0060, "m8" },
49 { "atmega48", ARCH_AVR4, "__AVR_ATmega48__", 0, 0x0100, "m48" },
50@@ -134,7 +134,8 @@ const struct mcu_type_s avr_mcu_types[]
51 { "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__", 0, 0x0100, "90pwm3" },
52 { "at90pwm3b", ARCH_AVR4, "__AVR_AT90PWM3B__", 0, 0x0100, "90pwm3b" },
53 { "at90pwm81", ARCH_AVR4, "__AVR_AT90PWM81__", 0, 0x0100, "90pwm81" },
54- /* Enhanced, > 8K, <= 64K. */
55+ /* Enhanced, > 8K, <= 64K + 2-byte PC +
56+ { MOVW/LPMX, JMP/CALL, MUL }. */
57 { "avr5", ARCH_AVR5, NULL, 0, 0x0060, "m16" },
58 { "at90pwm161", ARCH_AVR5, "__AVR_AT90PWM161__", 1, 0x0100, "90pwm161" },
59 { "atmega16", ARCH_AVR5, "__AVR_ATmega16__", 0, 0x0060, "m16" },
60@@ -229,7 +230,8 @@ const struct mcu_type_s avr_mcu_types[]
61 { "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__", 0, 0x0100, "usb647" },
62 { "at94k", ARCH_AVR5, "__AVR_AT94K__", 0, 0x0060, "at94k" },
63 { "m3000", ARCH_AVR5, "__AVR_M3000__", 0, 0x1000, "m3000" },
64- /* Enhanced, == 128K. */
65+ /* Enhanced, == 128K + 2-byte PC +
66+ { MOVW/LPMX, JMP/CALL, MUL, ELPM, ELPMX }. */
67 { "avr51", ARCH_AVR51, NULL, 0, 0x0100, "m128" },
68 { "atmega128", ARCH_AVR51, "__AVR_ATmega128__", 0, 0x0100, "m128" },
69 { "atmega1280", ARCH_AVR51, "__AVR_ATmega1280__", 0, 0x0200, "m1280" },
70@@ -239,30 +241,33 @@ const struct mcu_type_s avr_mcu_types[]
71 { "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__", 0, 0x0100, "can128" },
72 { "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__", 0, 0x0100, "usb1286" },
73 { "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__", 0, 0x0100, "usb1286" },
74- /* 3-Byte PC. */
75+ /* Enhanced, ==256K + 3-Byte PC +
76+ { MOVW/LPMX, JMP/CALL, MUL, ELPM, ELPMX }. */
77 { "avr6", ARCH_AVR6, NULL, 0, 0x0200, "m2561" },
78 { "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__", 0, 0x0200, "m2561" },
79 { "atmega2561", ARCH_AVR6, "__AVR_ATmega2561__", 0, 0x0200, "m2561" },
80 /* Enhanced, == 256K. */
81 /* Xmega, <= 8K FLASH. */
82- /* Xmega, > 8K, <= 64K FLASH, <= 64K RAM. */
83+ /* Xmega, > 8K, < 64K FLASH, <= 64K RAM. */
84 { "avrxmega2", ARCH_AVRXMEGA2, NULL, 0, 0x2000, "x32a4" },
85 { "atxmega16a4", ARCH_AVRXMEGA2, "__AVR_ATxmega16A4__", 0, 0x2000, "x16a4" },
86+ { "atxmega16a4u", ARCH_AVRXMEGA2, "__AVR_ATxmega16A4U__", 0, 0x2000, "x16a4u" },
87 { "atxmega16d4", ARCH_AVRXMEGA2, "__AVR_ATxmega16D4__", 0, 0x2000, "x16d4" },
88 { "atxmega16x1", ARCH_AVRXMEGA2, "__AVR_ATxmega16X1__", 0, 0x2000, "x16x1" },
89 { "atxmega32a4", ARCH_AVRXMEGA2, "__AVR_ATxmega32A4__", 0, 0x2000, "x32a4" },
90+ { "atxmega32a4u", ARCH_AVRXMEGA2, "__AVR_ATxmega32A4U__", 0, 0x2000, "x32a4u" },
91 { "atxmega32d4", ARCH_AVRXMEGA2, "__AVR_ATxmega32D4__", 0, 0x2000, "x32d4" },
92 /* Xmega, > 8K, <= 64K FLASH, > 64K RAM. */
93 /* { "avrxmega3", ARCH_AVRXMEGA3, NULL }, */
94- /* Xmega, > 64K, <= 128K FLASH, <= 64K RAM. */
95+ /* Xmega, >= 64K, < 128K FLASH, <= 64K RAM. */
96 { "avrxmega4", ARCH_AVRXMEGA4, NULL, 0, 0x2000, "x64d3" },
97 { "atxmega64a3", ARCH_AVRXMEGA4, "__AVR_ATxmega64A3__", 0, 0x2000, "x64a3" },
98 { "atxmega64d3", ARCH_AVRXMEGA4, "__AVR_ATxmega64D3__", 0, 0x2000, "x64d3" },
99- /* Xmega, > 64K, <= 128K FLASH, > 64K RAM. */
100+ /* Xmega, >= 64K, < 128K FLASH, > 64K RAM. */
101 { "avrxmega5", ARCH_AVRXMEGA5, NULL, 0, 0x2000, "x64a1" },
102 { "atxmega64a1", ARCH_AVRXMEGA5, "__AVR_ATxmega64A1__", 0, 0x2000, "x64a1" },
103 { "atxmega64a1u", ARCH_AVRXMEGA5, "__AVR_ATxmega64A1U__", 0, 0x2000, "x64a1u" },
104- /* Xmega, > 128K, <= 256K FLASH, <= 64K RAM. */
105+ /* Xmega, >= 128K, <= 256K FLASH, <= 64K RAM. */
106 { "avrxmega6", ARCH_AVRXMEGA6, NULL, 0, 0x2000, "x128a3" },
107 { "atxmega128a3", ARCH_AVRXMEGA6, "__AVR_ATxmega128A3__", 0, 0x2000, "x128a3" },
108 { "atxmega128b1", ARCH_AVRXMEGA6, "__AVR_ATxmega128B1__", 0, 0x2000, "x128b1" },
109@@ -273,7 +278,7 @@ const struct mcu_type_s avr_mcu_types[]
110 { "atxmega256a3b",ARCH_AVRXMEGA6, "__AVR_ATxmega256A3B__", 0, 0x2000, "x256a3b" },
111 { "atxmega256a3bu", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3BU__", 0, 0x2000, "x256a3bu" },
112 { "atxmega256d3", ARCH_AVRXMEGA6, "__AVR_ATxmega256D3__", 0, 0x2000, "x256d3" },
113- /* Xmega, > 128K, <= 256K FLASH, > 64K RAM. */
114+ /* Xmega, >= 128K, <= 256K FLASH, > 64K RAM. */
115 { "avrxmega7", ARCH_AVRXMEGA7, NULL, 0, 0x2000, "x128a1" },
116 { "atxmega128a1", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1__", 0, 0x2000, "x128a1" },
117 { "atxmega128a1u", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1U__", 0, 0x2000, "x128a1u" },
118diff -Naurp gcc/config/avr/t-avr gcc/config/avr/t-avr
119--- gcc/config/avr/t-avr 2011-09-02 12:01:05.000000000 +0300
120+++ gcc/config/avr/t-avr 2011-09-02 12:12:37.000000000 +0300
121@@ -266,10 +266,12 @@ MULTILIB_MATCHES = \
122 mmcu?avr6=mmcu?atmega2560 \
123 mmcu?avr6=mmcu?atmega2561 \
124 mmcu?avrxmega2=mmcu?atxmega16a4 \
125+ mmcu?avrxmega2=mmcu?atxmega16a4u \
126 mmcu?avrxmega2=mmcu?atxmega16d4 \
127 mmcu?avrxmega2=mmcu?atxmega16x1 \
128 mmcu?avrxmega2=mmcu?atxmega32d4 \
129 mmcu?avrxmega2=mmcu?atxmega32a4 \
130+ mmcu?avrxmega2=mmcu?atxmega32a4u \
131 mmcu?avrxmega4=mmcu?atxmega64a3 \
132 mmcu?avrxmega4=mmcu?atxmega64d3 \
133 mmcu?avrxmega5=mmcu?atxmega64a1 \
This page took 0.039148 seconds and 4 git commands to generate.