aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2008-12-17 00:05:59 +0300
committerAnatoly Sokolov <aesok@gcc.gnu.org>2008-12-17 00:05:59 +0300
commitf15a9aa2e42e41f3313a1686addcf56ac7c70fce (patch)
tree8d93c3fa5693300efb01351be899ebb8d2f4a8b3 /gcc
parent91102877a1d93719a3ead475b4b9e9f0ab04cfc0 (diff)
downloadgcc-f15a9aa2e42e41f3313a1686addcf56ac7c70fce.zip
gcc-f15a9aa2e42e41f3313a1686addcf56ac7c70fce.tar.gz
gcc-f15a9aa2e42e41f3313a1686addcf56ac7c70fce.tar.bz2
avr.c (avr_mcu_t): Add attiny87...
* config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81, atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b devices. * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.). * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.). From-SVN: r142783
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/avr/avr.c9
-rw-r--r--gcc/config/avr/avr.h37
-rw-r--r--gcc/config/avr/t-avr9
4 files changed, 55 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 53561dd..27fd45a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2008-12-12 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (avr_mcu_t): Add attiny87, attiny327, at90pwm81,
+ atmega16m1, at90scr100, atmega128rfa1, m3000f, m3000s and m3001b
+ devices.
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+ * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
+
2008-12-16 Hariharan Sandanagobalane <hariharan@picochip.com>
PR target/38842
diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c
index 16eff6b..8ec6e2c 100644
--- a/gcc/config/avr/avr.c
+++ b/gcc/config/avr/avr.c
@@ -188,6 +188,7 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "attiny461", ARCH_AVR25, "__AVR_ATtiny461__" },
{ "attiny861", ARCH_AVR25, "__AVR_ATtiny861__" },
{ "attiny43u", ARCH_AVR25, "__AVR_ATtiny43U__" },
+ { "attiny87", ARCH_AVR25, "__AVR_ATtiny87__" },
{ "attiny48", ARCH_AVR25, "__AVR_ATtiny48__" },
{ "attiny88", ARCH_AVR25, "__AVR_ATtiny88__" },
{ "at86rf401", ARCH_AVR25, "__AVR_AT86RF401__" },
@@ -204,6 +205,7 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "at90usb82", ARCH_AVR35, "__AVR_AT90USB82__" },
{ "at90usb162", ARCH_AVR35, "__AVR_AT90USB162__" },
{ "attiny167", ARCH_AVR35, "__AVR_ATtiny167__" },
+ { "attiny327", ARCH_AVR35, "__AVR_ATtiny327__" },
/* Enhanced, <= 8K. */
{ "avr4", ARCH_AVR4, NULL },
{ "atmega8", ARCH_AVR4, "__AVR_ATmega8__" },
@@ -221,6 +223,7 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "at90pwm2b", ARCH_AVR4, "__AVR_AT90PWM2B__" },
{ "at90pwm3", ARCH_AVR4, "__AVR_AT90PWM3__" },
{ "at90pwm3b", ARCH_AVR4, "__AVR_AT90PWM3B__" },
+ { "at90pwm81", ARCH_AVR4, "__AVR_AT90PWM81__" },
/* Enhanced, > 8K, <= 64K. */
{ "avr5", ARCH_AVR5, NULL },
{ "atmega16", ARCH_AVR5, "__AVR_ATmega16__" },
@@ -264,11 +267,13 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "at90pwm316", ARCH_AVR5, "__AVR_AT90PWM316__" },
{ "atmega32c1", ARCH_AVR5, "__AVR_ATmega32C1__" },
{ "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__" },
+ { "atmega16m1", ARCH_AVR5, "__AVR_ATmega16M1__" },
{ "atmega32m1", ARCH_AVR5, "__AVR_ATmega32M1__" },
{ "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__" },
{ "atmega16u4", ARCH_AVR5, "__AVR_ATmega16U4__" },
{ "atmega32u4", ARCH_AVR5, "__AVR_ATmega32U4__" },
{ "atmega32u6", ARCH_AVR5, "__AVR_ATmega32U6__" },
+ { "at90scr100", ARCH_AVR5, "__AVR_AT90SCR100__" },
{ "at90usb646", ARCH_AVR5, "__AVR_AT90USB646__" },
{ "at90usb647", ARCH_AVR5, "__AVR_AT90USB647__" },
{ "at94k", ARCH_AVR5, "__AVR_AT94K__" },
@@ -278,9 +283,13 @@ static const struct mcu_type_s avr_mcu_types[] = {
{ "atmega1280", ARCH_AVR51, "__AVR_ATmega1280__" },
{ "atmega1281", ARCH_AVR51, "__AVR_ATmega1281__" },
{ "atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__" },
+ { "atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__" },
{ "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__" },
{ "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__" },
{ "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__" },
+ { "m3000f", ARCH_AVR51, "__AVR_M3000F__" },
+ { "m3000s", ARCH_AVR51, "__AVR_M3000S__" },
+ { "m3001b", ARCH_AVR51, "__AVR_M3001B__" },
/* 3-Byte PC. */
{ "avr6", ARCH_AVR6, NULL },
{ "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__" },
diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h
index 308d9a4..d54870c 100644
--- a/gcc/config/avr/avr.h
+++ b/gcc/config/avr/avr.h
@@ -838,14 +838,16 @@ mmcu=*:-mmcu=%*}"
mmcu=at76*|\
mmcu=at90usb82|\
mmcu=at90usb162|\
- mmcu=attiny167: -m avr3}\
+ mmcu=attiny16*|\
+ mmcu=attiny32*: -m avr3}\
%{mmcu=atmega8*|\
mmcu=atmega4*|\
mmcu=at90pwm1|\
mmcu=at90pwm2|\
mmcu=at90pwm2b|\
mmcu=at90pwm3|\
- mmcu=at90pwm3b: -m avr4}\
+ mmcu=at90pwm3b|\
+ mmcu=at90pwm81: -m avr4}\
%{mmcu=atmega16*|\
mmcu=atmega32*|\
mmcu=atmega406|\
@@ -854,9 +856,12 @@ mmcu=*:-mmcu=%*}"
mmcu=at90can*|\
mmcu=at90pwm216|\
mmcu=at90pwm316|\
+ mmcu=at90scr100|\
mmcu=at90usb64*|\
mmcu=at90usb128*|\
- mmcu=at94k: -m avr5}\
+ mmcu=at94k|\
+ mmcu=m3000*|\
+ mmcu=m3001*: -m avr5}\
%{mmcu=atmega256*:-m avr6}\
%{mmcu=atmega324*|\
mmcu=atmega325*|\
@@ -882,20 +887,27 @@ mmcu=*:-mmcu=%*}"
mmcu=atmega32hv*|\
mmcu=attiny48|\
mmcu=attiny88|\
+ mmcu=attiny87|\
mmcu=attiny167|\
+ mmcu=attiny327|\
mmcu=at90can*|\
mmcu=at90pwm*|\
mmcu=atmega32c1|\
mmcu=atmega64c1|\
+ mmcu=atmega16m1|\
mmcu=atmega32m1|\
mmcu=atmega64m1|\
mmcu=atmega16u4|\
mmcu=atmega32u*|\
+ mmcu=at90scr100|\
mmcu=at90usb*: -Tdata 0x800100}\
%{mmcu=atmega640|\
mmcu=atmega1280|\
mmcu=atmega1281|\
- mmcu=atmega256*: -Tdata 0x800200} "
+ mmcu=atmega256*|\
+ mmcu=atmega128rfa1: -Tdata 0x800200}\
+%{mmcu=m3000*|\
+ mmcu=m3001*: -Tdata 0x801000}"
#define LIB_SPEC \
"%{!mmcu=at90s1*:%{!mmcu=attiny11:%{!mmcu=attiny12:%{!mmcu=attiny15:%{!mmcu=attiny28: -lc }}}}}"
@@ -942,15 +954,17 @@ mmcu=*:-mmcu=%*}"
%{mmcu=attiny461:crttn461.o%s} \
%{mmcu=attiny861:crttn861.o%s} \
%{mmcu=attiny43u:crttn43u.o%s} \
+%{mmcu=attiny87:crttn87.o%s} \
%{mmcu=attiny48:crttn48.o%s} \
%{mmcu=attiny88:crttn88.o%s} \
-%{mmcu=attiny167:crttn167.o%s} \
%{mmcu=at43usb355|mmcu=avr3:crt43355.o%s} \
%{mmcu=at76c711:crt76711.o%s} \
%{mmcu=atmega103|mmcu=avr31:crtm103.o%s} \
%{mmcu=at43usb320:crt43320.o%s} \
%{mmcu=at90usb162|mmcu=avr35:crtusb162.o%s} \
%{mmcu=at90usb82:crtusb82.o%s} \
+%{mmcu=attiny167:crttn167.o%s} \
+%{mmcu=attiny327:crttn327.o%s} \
%{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \
%{mmcu=atmega48:crtm48.o%s} \
%{mmcu=atmega48p:crtm48p.o%s} \
@@ -963,6 +977,7 @@ mmcu=*:-mmcu=%*}"
%{mmcu=at90pwm2b:crt90pwm2b.o%s} \
%{mmcu=at90pwm3:crt90pwm3.o%s} \
%{mmcu=at90pwm3b:crt90pwm3b.o%s} \
+%{mmcu=at90pwm81:crt90pwm81.o%s} \
%{mmcu=atmega16:crtm16.o%s} \
%{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \
%{mmcu=atmega162:crtm162.o%s} \
@@ -1007,11 +1022,13 @@ mmcu=*:-mmcu=%*}"
%{mmcu=at90pwm316:crt90pwm316.o%s} \
%{mmcu=atmega32c1:crtm32c1.o%s} \
%{mmcu=atmega64c1:crtm64c1.o%s} \
+%{mmcu=atmega16m1:crtm16m1.o%s} \
%{mmcu=atmega32m1:crtm32m1.o%s} \
%{mmcu=atmega64m1:crtm64m1.o%s} \
%{mmcu=atmega16u4:crtm16u4.o%s} \
%{mmcu=atmega32u4:crtm32u4.o%s} \
%{mmcu=atmega32u6:crtm32u6.o%s} \
+%{mmcu=at90scr100:crt90scr100.o%s} \
%{mmcu=at90usb646:crtusb646.o%s} \
%{mmcu=at90usb647:crtusb647.o%s} \
%{mmcu=at94k:crtat94k.o%s} \
@@ -1019,11 +1036,15 @@ mmcu=*:-mmcu=%*}"
%{mmcu=atmega1280:crtm1280.o%s} \
%{mmcu=atmega1281:crtm1281.o%s} \
%{mmcu=atmega1284p:crtm1284p.o%s} \
-%{mmcu=atmega2560:crtm2560.o%s} \
-%{mmcu=atmega2561:crtm2561.o%s} \
%{mmcu=at90can128:crtcan128.o%s} \
+%{mmcu=atmega128rfa1:crtm128rfa1.o%s} \
%{mmcu=at90usb1286:crtusb1286.o%s} \
-%{mmcu=at90usb1287:crtusb1287.o%s}"
+%{mmcu=at90usb1287:crtusb1287.o%s} \
+%{mmcu=m3000f:crtm3000f.o%s} \
+%{mmcu=m3000s:crtm3000s.o%s} \
+%{mmcu=m3001b:crtm3001b.o%s} \
+%{mmcu=atmega2560|mmcu=avr6:crtm2560.o%s} \
+%{mmcu=atmega2561:crtm2561.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 0106a40..410a705 100644
--- a/gcc/config/avr/t-avr
+++ b/gcc/config/avr/t-avr
@@ -55,6 +55,7 @@ MULTILIB_MATCHES = \
mmcu?avr25=mmcu?attiny461 \
mmcu?avr25=mmcu?attiny861 \
mmcu?avr25=mmcu?attiny43u \
+ mmcu?avr25=mmcu?attiny87 \
mmcu?avr25=mmcu?attiny48 \
mmcu?avr25=mmcu?attiny88 \
mmcu?avr25=mmcu?at86rf401 \
@@ -65,6 +66,7 @@ MULTILIB_MATCHES = \
mmcu?avr35=mmcu?at90usb82 \
mmcu?avr35=mmcu?at90usb162 \
mmcu?avr35=mmcu?attiny167 \
+ mmcu?avr35=mmcu?attiny327 \
mmcu?avr4=mmcu?atmega48 \
mmcu?avr4=mmcu?atmega48p \
mmcu?avr4=mmcu?atmega8 \
@@ -80,6 +82,7 @@ MULTILIB_MATCHES = \
mmcu?avr4=mmcu?at90pwm2b \
mmcu?avr4=mmcu?at90pwm3 \
mmcu?avr4=mmcu?at90pwm3b \
+ mmcu?avr4=mmcu?at90pwm81 \
mmcu?avr5=mmcu?atmega16 \
mmcu?avr5=mmcu?atmega161 \
mmcu?avr5=mmcu?atmega162 \
@@ -121,11 +124,13 @@ MULTILIB_MATCHES = \
mmcu?avr5=mmcu?at90pwm316 \
mmcu?avr5=mmcu?atmega32c1 \
mmcu?avr5=mmcu?atmega64c1 \
+ mmcu?avr5=mmcu?atmega16m1 \
mmcu?avr5=mmcu?atmega32m1 \
mmcu?avr5=mmcu?atmega64m1 \
mmcu?avr5=mmcu?atmega16u4 \
mmcu?avr5=mmcu?atmega32u4 \
mmcu?avr5=mmcu?atmega32u6 \
+ mmcu?avr5=mmcu?at90scr100 \
mmcu?avr5=mmcu?at90usb646 \
mmcu?avr5=mmcu?at90usb647 \
mmcu?avr5=mmcu?at94k \
@@ -133,9 +138,13 @@ MULTILIB_MATCHES = \
mmcu?avr51=mmcu?atmega1280 \
mmcu?avr51=mmcu?atmega1281 \
mmcu?avr51=mmcu?atmega1284p \
+ mmcu?avr51=mmcu?atmega128rfa1 \
mmcu?avr51=mmcu?at90can128 \
mmcu?avr51=mmcu?at90usb1286 \
mmcu?avr51=mmcu?at90usb1287 \
+ mmcu?avr51=mmcu?m3000f \
+ mmcu?avr51=mmcu?m3000s \
+ mmcu?avr51=mmcu?m3001b \
mmcu?avr6=mmcu?atmega2560 \
mmcu?avr6=mmcu?atmega2561