]> git.pld-linux.org Git - packages/crossavr-gcc.git/blob - 404-gcc-atxmega_16_32_a4u.patch
- undos sources before patching.
[packages/crossavr-gcc.git] / 404-gcc-atxmega_16_32_a4u.patch
1 diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c
2 --- gcc/config/avr/avr-devices.c        2011-06-24 10:37:25.000000000 +0530
3 +++ gcc/config/avr/avr-devices.c        2011-06-24 10:36:43.000000000 +0530
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  
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,7 +241,8 @@ 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, "m2560" },
79    { "atmega2561",           ARCH_AVR6, "__AVR_ATmega2561__",        0, 0x0200, "m2561" },
80 @@ -248,8 +251,10 @@ const struct mcu_type_s avr_mcu_types[] 
81      /* Xmega, > 8K, <= 64K FLASH, <= 64K RAM.  */
82    { "avrxmega2",    ARCH_AVRXMEGA2, NULL,                           0, 0x2000, "x32a4" },
83    { "atxmega16a4",  ARCH_AVRXMEGA2, "__AVR_ATxmega16A4__",          0, 0x2000, "x16a4" },
84 +  { "atxmega16a4u",  ARCH_AVRXMEGA2, "__AVR_ATxmega16A4U__",        0, 0x2000, "x16a4u" },
85    { "atxmega16d4",  ARCH_AVRXMEGA2, "__AVR_ATxmega16D4__",          0, 0x2000, "x16d4" },
86    { "atxmega32a4",  ARCH_AVRXMEGA2, "__AVR_ATxmega32A4__",          0, 0x2000, "x32a4" },
87 +  { "atxmega32a4u",  ARCH_AVRXMEGA2, "__AVR_ATxmega32A4U__",        0, 0x2000, "x32a4u" },
88    { "atxmega32d4",  ARCH_AVRXMEGA2, "__AVR_ATxmega32D4__",          0, 0x2000, "x32d4" },
89    { "atxmega32x1",  ARCH_AVRXMEGA2, "__AVR_ATxmega32X1__",          0, 0x2000, "x32x1" },
90      /* Xmega, > 8K, <= 64K FLASH, > 64K RAM.  */
91 @@ -273,7 +278,7 @@ const struct mcu_type_s avr_mcu_types[] 
92    { "atxmega256a3b",ARCH_AVRXMEGA6, "__AVR_ATxmega256A3B__",        0, 0x2000, "x256a3b" },
93    { "atxmega256a3bu", ARCH_AVRXMEGA6, "__AVR_ATxmega256A3BU__",     0, 0x2000, "x256a3bu" },
94    { "atxmega256d3", ARCH_AVRXMEGA6, "__AVR_ATxmega256D3__",         0, 0x2000, "x256d3" },
95 -    /* Xmega, > 128K, <= 256K FLASH, > 64K RAM.  */
96 +    /* Xmega, >= 128K, <= 256K FLASH, > 64K RAM.  */
97    { "avrxmega7",    ARCH_AVRXMEGA7, NULL,                           0, 0x2000, "x128a1" },
98    { "atxmega128a1", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1__",         0, 0x2000, "x128a1" },
99    { "atxmega128a1u", ARCH_AVRXMEGA7, "__AVR_ATxmega128A1U__",       0, 0x2000, "x128a1u" },
100 diff -Naurp gcc/config/avr/t-avr gcc/config/avr/t-avr
101 --- gcc/config/avr/t-avr        2011-06-24 10:37:25.000000000 +0530
102 +++ gcc/config/avr/t-avr        2011-06-24 10:36:43.000000000 +0530
103 @@ -265,9 +265,11 @@ MULTILIB_MATCHES = \
104         mmcu?avr6=mmcu?atmega2560 \
105         mmcu?avr6=mmcu?atmega2561 \
106         mmcu?avrxmega2=mmcu?atxmega16a4 \
107 +       mmcu?avrxmega2=mmcu?atxmega16a4u \
108         mmcu?avrxmega2=mmcu?atxmega16d4 \
109         mmcu?avrxmega2=mmcu?atxmega32d4 \
110         mmcu?avrxmega2=mmcu?atxmega32a4 \
111 +       mmcu?avrxmega2=mmcu?atxmega32a4u \
112         mmcu?avrxmega2=mmcu?atxmega32x1 \
113         mmcu?avrxmega4=mmcu?atxmega64a3 \
114         mmcu?avrxmega4=mmcu?atxmega64d3 \
This page took 0.055495 seconds and 3 git commands to generate.