--- gcc/config/avr/avr.c.orig Sat Sep 1 17:28:30 2007 +++ gcc/config/avr/avr.c Wed Dec 19 14:02:11 2007 @@ -173,6 +174,7 @@ /* Classic + MOVW, <= 8K. */ { "avr25", ARCH_AVR25, NULL }, { "attiny13", ARCH_AVR25, "__AVR_ATtiny13__" }, + { "attiny13a", ARCH_AVR25, "__AVR_ATtiny13A__" }, { "attiny2313", ARCH_AVR25, "__AVR_ATtiny2313__" }, { "attiny24", ARCH_AVR25, "__AVR_ATtiny24__" }, { "attiny44", ARCH_AVR25, "__AVR_ATtiny44__" }, @@ -188,6 +188,7 @@ { "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__" }, @@ -224,6 +224,8 @@ static const struct mcu_type_s avr_mcu_t { "avr35", ARCH_AVR35, NULL }, { "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 @@ { "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__" }, @@ -278,6 +278,15 @@ static const struct mcu_type_s avr_mcu_t { "at90can64", ARCH_AVR5, "__AVR_AT90CAN64__" }, { "at90pwm216", ARCH_AVR5, "__AVR_AT90PWM216__" }, { "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 @@ { "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__" }, --- gcc/config/avr/t-avr.orig Fri Apr 27 22:53:57 2007 +++ gcc/config/avr/t-avr Wed Dec 19 14:01:08 2007 @@ -43,6 +43,7 @@ MULTILIB_DIRNAMES = avr2 avr25 avr3 avr3 # The many avr2 matches are not listed here - this is the default. MULTILIB_MATCHES = \ mmcu?avr25=mmcu?attiny13 \ + mmcu?avr25=mmcu?attiny13a \ mmcu?avr25=mmcu?attiny2313 \ mmcu?avr25=mmcu?attiny24 \ mmcu?avr25=mmcu?attiny44 \ @@ -55,6 +55,7 @@ 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 \ @@ -63,6 +63,8 @@ MULTILIB_MATCHES = \ mmcu?avr31=mmcu?atmega103 \ 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 @@ 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 \ @@ -114,6 +114,15 @@ MULTILIB_MATCHES = \ mmcu?avr5=mmcu?at90can64 \ mmcu?avr5=mmcu?at90pwm216 \ 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 @@ 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 --- gcc/config/avr/avr.h.orig 2009-01-26 17:37:33.000000000 +0100 +++ gcc/config/avr/avr.h 2009-01-26 17:47:48.000000000 +0100 @@ -811,7 +811,7 @@ mmcu=at90s8*|\ mmcu=at90c8*|\ mmcu=at86rf401|\ - mmcu=attiny13|\ + mmcu=attiny13*|\ mmcu=attiny2313|\ mmcu=attiny24|\ mmcu=attiny25|\ @@ -822,14 +822,17 @@ mmcu=at43*|\ mmcu=at76*|\ mmcu=at90usb82|\ - mmcu=at90usb162: -m avr3}\ + mmcu=at90usb162|\ + mmcu=attiny16*|\ + mmcu=attiny32*: -m avr3}\ %{mmcu=atmega8*|\ mmcu=atmega48*|\ mmcu=at90pwm1|\ mmcu=at90pwm2|\ mmcu=at90pwm2b|\ mmcu=at90pwm3|\ - mmcu=at90pwm3b: -m avr4}\ + mmcu=at90pwm3b|\ + mmcu=at90pwm81: -m avr4}\ %{mmcu=atmega16*|\ mmcu=atmega32*|\ mmcu=atmega406|\ @@ -838,9 +841,12 @@ 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*|\ @@ -865,13 +871,26 @@ mmcu=atmega32hvb|\ mmcu=attiny48|\ mmcu=attiny88|\ + mmcu=attiny87|\ + mmcu=attiny167|\ + mmcu=attiny327|\ mmcu=at90can*|\ mmcu=at90pwm*|\ + mmcu=atmega32c1|\ + mmcu=atmega64c1|\ + mmcu=atmega16m1|\ + mmcu=atmega32m1|\ + 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 }}}}}" @@ -906,6 +925,7 @@ %{mmcu=at90s8535:crts8535.o%s} \ %{mmcu=at86rf401:crt86401.o%s} \ %{mmcu=attiny13:crttn13.o%s} \ +%{mmcu=attiny13a:crttn13a.o%s} \ %{mmcu=attiny2313|mmcu=avr25:crttn2313.o%s} \ %{mmcu=attiny24:crttn24.o%s} \ %{mmcu=attiny44:crttn44.o%s} \ @@ -917,14 +937,17 @@ %{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=at43usb320|mmcu=avr3:crt43320.o%s} \ -%{mmcu=at43usb355:crt43355.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} \ @@ -937,6 +960,7 @@ %{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} \ @@ -976,6 +1000,15 @@ %{mmcu=at90can64:crtcan64.o%s} \ %{mmcu=at90pwm216:crt90pwm216.o%s} \ %{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} \ @@ -983,11 +1016,15 @@ %{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},