aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoerg Wunsch <j.gnu@uriah.heep.sax.de>2006-05-22 19:51:36 +0400
committerDenis Chertykov <denisc@gcc.gnu.org>2006-05-22 19:51:36 +0400
commit8c21550d5b849e6b38a88d8b1c3668a169dec5fd (patch)
tree0c1e36961ab25caf37b6141ac7df2de5e6db85c1 /gcc
parent350f18df1c9171e298f57314f78d005ddf3d8fc3 (diff)
downloadgcc-8c21550d5b849e6b38a88d8b1c3668a169dec5fd.zip
gcc-8c21550d5b849e6b38a88d8b1c3668a169dec5fd.tar.gz
gcc-8c21550d5b849e6b38a88d8b1c3668a169dec5fd.tar.bz2
avr.c (avr_mcu_types): Add support for attiny261...
* config/avr/avr.c (avr_mcu_types): Add support for attiny261, attiny461, attiny861, attiny25, attiny45, attiny85, attiny24, attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p, atmega164p, atmega324p, atmega644p, atmega644, atmega329, atmega3290, atmega649, atmega6490, atmega406, atmega640, atmega1280, atmega1281, at90can32, at90can64, at90usb646, at90usb647, at90usb1286 and at90usb1287 devices. * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). From-SVN: r113982
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/config/avr/avr.c33
-rw-r--r--gcc/config/avr/avr.h98
-rw-r--r--gcc/config/avr/t-avr58
4 files changed, 183 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d696e77..44e4525 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2006-18-05 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
+ Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (avr_mcu_types): Add support for attiny261,
+ attiny461, attiny861, attiny25, attiny45, attiny85, attiny24,
+ attiny44, attiny84, at90pwm2, at90pwm3, atmega165p, atmega169p,
+ atmega164p, atmega324p, atmega644p, atmega644, atmega329,
+ atmega3290, atmega649, atmega6490, atmega406, atmega640,
+ atmega1280, atmega1281, at90can32, at90can64, at90usb646,
+ at90usb647, at90usb1286 and at90usb1287 devices.
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+ * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
2006-05-22 Richard Sandiford <richard@codesourcery.com>
* mklibgcc.in (lib2funcs): Remove _floatdidf from initial assignment.
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 0712a10..2f981dd 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -172,10 +172,19 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "at90s8515", 2, "__AVR_AT90S8515__" },
{ "at90c8534", 2, "__AVR_AT90C8534__" },
{ "at90s8535", 2, "__AVR_AT90S8535__" },
- { "at86rf401", 2, "__AVR_AT86RF401__" },
/* Classic + MOVW, <= 8K. */
{ "attiny13", 2, "__AVR_ATtiny13__" },
{ "attiny2313", 2, "__AVR_ATtiny2313__" },
+ { "attiny24", 2, "__AVR_ATtiny24__" },
+ { "attiny44", 2, "__AVR_ATtiny44__" },
+ { "attiny84", 2, "__AVR_ATtiny84__" },
+ { "attiny25", 2, "__AVR_ATtiny25__" },
+ { "attiny45", 2, "__AVR_ATtiny45__" },
+ { "attiny85", 2, "__AVR_ATtiny85__" },
+ { "attiny261", 2, "__AVR_ATtiny261__" },
+ { "attiny461", 2, "__AVR_ATtiny461__" },
+ { "attiny861", 2, "__AVR_ATtiny861__" },
+ { "at86rf401", 2, "__AVR_AT86RF401__" },
/* Classic, > 8K. */
{ "avr3", 3, NULL },
{ "atmega103", 3, "__AVR_ATmega103__" },
@@ -190,24 +199,46 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "atmega88", 4, "__AVR_ATmega88__" },
{ "atmega8515", 4, "__AVR_ATmega8515__" },
{ "atmega8535", 4, "__AVR_ATmega8535__" },
+ { "at90pwm2", 4, "__AVR_AT90PWM2__" },
+ { "at90pwm3", 4, "__AVR_AT90PWM3__" },
/* Enhanced, > 8K. */
{ "avr5", 5, NULL },
{ "atmega16", 5, "__AVR_ATmega16__" },
{ "atmega161", 5, "__AVR_ATmega161__" },
{ "atmega162", 5, "__AVR_ATmega162__" },
{ "atmega163", 5, "__AVR_ATmega163__" },
+ { "atmega164p",5, "__AVR_ATmega164P__" },
{ "atmega165", 5, "__AVR_ATmega165__" },
+ { "atmega165p",5, "__AVR_ATmega165P__" },
{ "atmega168", 5, "__AVR_ATmega168__" },
{ "atmega169", 5, "__AVR_ATmega169__" },
+ { "atmega169p",5, "__AVR_ATmega169P__" },
{ "atmega32", 5, "__AVR_ATmega32__" },
{ "atmega323", 5, "__AVR_ATmega323__" },
+ { "atmega324p",5, "__AVR_ATmega324P__" },
{ "atmega325", 5, "__AVR_ATmega325__" },
{ "atmega3250", 5, "__AVR_ATmega3250__" },
+ { "atmega329", 5, "__AVR_ATmega329__" },
+ { "atmega3290", 5, "__AVR_ATmega3290__" },
+ { "atmega406", 5, "__AVR_ATmega406__" },
{ "atmega64", 5, "__AVR_ATmega64__" },
+ { "atmega640", 5, "__AVR_ATmega640__" },
+ { "atmega644", 5, "__AVR_ATmega644__" },
+ { "atmega644p",5, "__AVR_ATmega644P__" },
{ "atmega645", 5, "__AVR_ATmega645__" },
{ "atmega6450", 5, "__AVR_ATmega6450__" },
+ { "atmega649", 5, "__AVR_ATmega649__" },
+ { "atmega6490", 5, "__AVR_ATmega6490__" },
{ "atmega128", 5, "__AVR_ATmega128__" },
+ { "atmega1280",5, "__AVR_ATmega1280__" },
+ { "atmega1281",5, "__AVR_ATmega1281__" },
+ { "at90can32", 5, "__AVR_AT90CAN32__" },
+ { "at90can64", 5, "__AVR_AT90CAN64__" },
{ "at90can128", 5, "__AVR_AT90CAN128__" },
+ { "at90usb646", 5, "__AVR_AT90USB646__" },
+ { "at90usb647", 5, "__AVR_AT90USB647__" },
+ { "at90usb1286", 5, "__AVR_AT90USB1286__" },
+ { "at90usb1287", 5, "__AVR_AT90USB1287__" },
{ "at94k", 5, "__AVR_AT94K__" },
/* Assembler only. */
{ "avr1", 1, NULL },
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 404b3d1..186cfc6 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -719,12 +719,67 @@ extern int avr_case_values_threshold;
#define ASM_SPEC "%{mmcu=*:-mmcu=%*}"
#define LINK_SPEC " %{!mmcu*:-m avr2}\
-%{mmcu=at90s1200|mmcu=attiny11|mmcu=attiny12|mmcu=attiny15|mmcu=attiny28:-m avr1} \
-%{mmcu=attiny22|mmcu=attiny26|mmcu=at90s2*|mmcu=at90s4*|mmcu=at90s8*|mmcu=at90c8*|mmcu=at86rf401|mmcu=attiny13|mmcu=attiny2313:-m avr2}\
-%{mmcu=atmega103|mmcu=atmega603|mmcu=at43*|mmcu=at76*:-m avr3}\
-%{mmcu=atmega8*|mmcu=atmega48:-m avr4}\
-%{mmcu=atmega16*|mmcu=atmega32*|mmcu=atmega64*|mmcu=atmega128|mmcu=at90can128|mmcu=at94k:-m avr5}\
-%{mmcu=atmega325|mmcu=atmega3250|mmcu=atmega48|mmcu=atmega88|mmcu=atmega64|mmcu=atmega645|mmcu=atmega6450|mmcu=atmega128|mmcu=at90can128|mmcu=at90can128|mmcu=atmega162|mmcu=atmega165|mmcu=atmega168|mmcu=atmega169: -Tdata 0x800100} "
+%{mmcu=at90s1200|\
+ mmcu=attiny11|\
+ mmcu=attiny12|\
+ mmcu=attiny15|\
+ mmcu=attiny28:-m avr1}\
+%{mmcu=attiny22|\
+ mmcu=attiny26|\
+ mmcu=at90s2*|\
+ mmcu=at90s4*|\
+ mmcu=at90s8*|\
+ mmcu=at90c8*|\
+ mmcu=at86rf401|\
+ mmcu=attiny13|\
+ mmcu=attiny2313|\
+ mmcu=attiny24|\
+ mmcu=attiny25|\
+ mmcu=attiny261|\
+ mmcu=attiny4*|\
+ mmcu=attiny8*:-m avr2}\
+%{mmcu=atmega103|\
+ mmcu=atmega603|\
+ mmcu=at43*|\
+ mmcu=at76*:-m avr3}\
+%{mmcu=atmega8*|\
+ mmcu=atmega48|\
+ mmcu=at90pwm2|\
+ mmcu=at90pwm3:-m avr4}\
+%{mmcu=atmega16*|\
+ mmcu=atmega32*|\
+ mmcu=atmega406|\
+ mmcu=atmega64*|\
+ mmcu=atmega128*|\
+ mmcu=at90can*|\
+ mmcu=at90usb*|\
+ mmcu=at94k:-m avr5}\
+%{mmcu=atmega324*|\
+ mmcu=atmega325|\
+ mmcu=atmega3250|\
+ mmcu=atmega329|\
+ mmcu=atmega3290|\
+ mmcu=atmega406|\
+ mmcu=atmega48|\
+ mmcu=atmega88|\
+ mmcu=atmega64|\
+ mmcu=atmega644*|\
+ mmcu=atmega645|\
+ mmcu=atmega6450|\
+ mmcu=atmega649|\
+ mmcu=atmega6490|\
+ mmcu=atmega128|\
+ mmcu=atmega162|\
+ mmcu=atmega164*|\
+ mmcu=atmega165*|\
+ mmcu=atmega168|\
+ mmcu=atmega169*|\
+ mmcu=at90can*|\
+ mmcu=at90pwm*|\
+ mmcu=at90usb*: -Tdata 0x800100}\
+%{mmcu=atmega640|\
+ mmcu=atmega1280|\
+ mmcu=atmega1281: -Tdata 0x800200} "
#define LIB_SPEC \
"%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}"
@@ -760,6 +815,15 @@ extern int avr_case_values_threshold;
%{mmcu=at86rf401:crt86401.o%s} \
%{mmcu=attiny13:crttn13.o%s} \
%{mmcu=attiny2313:crttn2313.o%s} \
+%{mmcu=attiny24:crttn24.o%s} \
+%{mmcu=attiny44:crttn44.o%s} \
+%{mmcu=attiny84:crttn84.o%s} \
+%{mmcu=attiny25:crttn25.o%s} \
+%{mmcu=attiny45:crttn45.o%s} \
+%{mmcu=attiny85:crttn85.o%s} \
+%{mmcu=attiny261:crttn261.o%s} \
+%{mmcu=attiny461:crttn461.o%s} \
+%{mmcu=attiny861:crttn861.o%s} \
%{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \
%{mmcu=atmega603:crtm603.o%s} \
%{mmcu=at43usb320:crt43320.o%s} \
@@ -770,22 +834,44 @@ extern int avr_case_values_threshold;
%{mmcu=atmega88:crtm88.o%s} \
%{mmcu=atmega8515:crtm8515.o%s} \
%{mmcu=atmega8535:crtm8535.o%s} \
+%{mmcu=at90pwm2:crt90pwm2.o%s} \
+%{mmcu=at90pwm3:crt90pwm3.o%s} \
%{mmcu=atmega16:crtm16.o%s} \
%{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \
%{mmcu=atmega162:crtm162.o%s} \
%{mmcu=atmega163:crtm163.o%s} \
+%{mmcu=atmega164p:crtm164p.o%s} \
%{mmcu=atmega165:crtm165.o%s} \
+%{mmcu=atmega165p:crtm165p.o%s} \
%{mmcu=atmega168:crtm168.o%s} \
%{mmcu=atmega169:crtm169.o%s} \
+%{mmcu=atmega169p:crtm169p.o%s} \
%{mmcu=atmega32:crtm32.o%s} \
%{mmcu=atmega323:crtm323.o%s} \
+%{mmcu=atmega324p:crtm324p.o%s} \
%{mmcu=atmega325:crtm325.o%s} \
%{mmcu=atmega3250:crtm3250.o%s} \
+%{mmcu=atmega329:crtm329.o%s} \
+%{mmcu=atmega3290:crtm3290.o%s} \
+%{mmcu=atmega406:crtm406.o%s} \
%{mmcu=atmega64:crtm64.o%s} \
+%{mmcu=atmega640:crtm640.o%s} \
+%{mmcu=atmega644:crtm644.o%s} \
+%{mmcu=atmega644p:crtm644p.o%s} \
%{mmcu=atmega645:crtm645.o%s} \
%{mmcu=atmega6450:crtm6450.o%s} \
+%{mmcu=atmega649:crtm649.o%s} \
+%{mmcu=atmega6490:crtm6490.o%s} \
%{mmcu=atmega128:crtm128.o%s} \
+%{mmcu=atmega1280:crtm1280.o%s} \
+%{mmcu=atmega1281:crtm1281.o%s} \
+%{mmcu=at90can32:crtcan32.o%s} \
+%{mmcu=at90can64:crtcan64.o%s} \
%{mmcu=at90can128:crtcan128.o%s} \
+%{mmcu=at90usb646:crtusb646.o%s} \
+%{mmcu=at90usb647:crtusb647.o%s} \
+%{mmcu=at90usb1286:crtusb1286.o%s} \
+%{mmcu=at90usb1287:crtusb1287.o%s} \
%{mmcu=at94k:crtat94k.o%s}"
#define EXTRA_SPECS {"crt_binutils", CRT_BINUTILS_SPECS},
diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr
index 0627b9b..a8fb8e9 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -42,21 +42,55 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5
# The many avr2 matches are not listed here - this is the default.
MULTILIB_MATCHES = \
- mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \
- mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at43usb355 \
+ mmcu?avr3=mmcu?atmega103 \
+ mmcu?avr3=mmcu?atmega603 \
+ mmcu?avr3=mmcu?at43usb320 \
+ mmcu?avr3=mmcu?at43usb355 \
mmcu?avr3=mmcu?at76c711 \
- mmcu?avr4=mmcu?atmega8515 mmcu?avr4=mmcu?atmega8535 \
- mmcu?avr4=mmcu?atmega8 mmcu?avr4=mmcu?atmega48 \
+ mmcu?avr4=mmcu?atmega48 \
+ mmcu?avr4=mmcu?atmega8 \
+ mmcu?avr4=mmcu?atmega8515 \
+ mmcu?avr4=mmcu?atmega8535 \
mmcu?avr4=mmcu?atmega88 \
- mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega162 \
- mmcu?avr5=mmcu?atmega163 mmcu?avr5=mmcu?atmega169 \
- mmcu?avr5=mmcu?atmega16 mmcu?avr5=mmcu?atmega168 \
+ mmcu?avr4=mmcu?at90pwm2 \
+ mmcu?avr4=mmcu?at90pwm3 \
+ mmcu?avr5=mmcu?atmega16 \
+ mmcu?avr5=mmcu?atmega161 \
+ mmcu?avr5=mmcu?atmega162 \
+ mmcu?avr5=mmcu?atmega163 \
+ mmcu?avr5=mmcu?atmega164p \
mmcu?avr5=mmcu?atmega165 \
- mmcu?avr5=mmcu?atmega323 mmcu?avr5=mmcu?atmega32 \
- mmcu?avr5=mmcu?atmega325 mmcu?avr5=mmcu?atmega3250 \
- mmcu?avr5=mmcu?atmega64 mmcu?avr5=mmcu?atmega128 \
- mmcu?avr5=mmcu?atmega645 mmcu?avr5=mmcu?atmega6450 \
- mmcu?avr5=mmcu?at94k mmcu?avr5=mmcu?at90can128
+ mmcu?avr5=mmcu?atmega165p \
+ mmcu?avr5=mmcu?atmega168 \
+ mmcu?avr5=mmcu?atmega169 \
+ mmcu?avr5=mmcu?atmega169p \
+ mmcu?avr5=mmcu?atmega32 \
+ mmcu?avr5=mmcu?atmega323 \
+ mmcu?avr5=mmcu?atmega324p \
+ mmcu?avr5=mmcu?atmega325 \
+ mmcu?avr5=mmcu?atmega3250 \
+ mmcu?avr5=mmcu?atmega329 \
+ mmcu?avr5=mmcu?atmega3290 \
+ mmcu?avr5=mmcu?atmega406 \
+ mmcu?avr5=mmcu?atmega64 \
+ mmcu?avr5=mmcu?atmega640 \
+ mmcu?avr5=mmcu?atmega644 \
+ mmcu?avr5=mmcu?atmega644p \
+ mmcu?avr5=mmcu?atmega645 \
+ mmcu?avr5=mmcu?atmega6450 \
+ mmcu?avr5=mmcu?atmega649 \
+ mmcu?avr5=mmcu?atmega6490 \
+ mmcu?avr5=mmcu?atmega128 \
+ mmcu?avr5=mmcu?atmega1280 \
+ mmcu?avr5=mmcu?atmega1281 \
+ mmcu?avr5=mmcu?at90can32 \
+ mmcu?avr5=mmcu?at90can64 \
+ mmcu?avr5=mmcu?at90can128 \
+ mmcu?avr5=mmcu?at90usb646 \
+ mmcu?avr5=mmcu?at90usb647 \
+ mmcu?avr5=mmcu?at90usb1286 \
+ mmcu?avr5=mmcu?at90usb1287 \
+ mmcu?avr5=mmcu?at94k
MULTILIB_EXCEPTIONS =