]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
avr.h (LINK_SPEC, [...]): Move AT90USB82 and AT90USB162 devices from 'avr5' to 'avr35...
authorAnatoly Sokolov <aesok@post.ru>
Sun, 6 Jan 2008 22:28:41 +0000 (01:28 +0300)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Sun, 6 Jan 2008 22:28:41 +0000 (01:28 +0300)
* config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82
and AT90USB162 devices from 'avr5' to 'avr35' architecture.
(ASM_SPEC): Add 'avr35' architecture.
* config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162
devices from 'avr5' to 'avr35' architecture.
(avr_arch_types): Add "avr23" entries.
(avr_arch): Add 'ARCH_AVR35'.
* config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
(MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
to 'avr35' architecture.

From-SVN: r131365

gcc/ChangeLog
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/t-avr

index 7fa4d9ef9d426fd54d15efa97ad2ce83b01257b8..964d936139d97a0ee7f6ef3e39986ba811803310 100644 (file)
@@ -1,3 +1,16 @@
+2008-01-06  Anatoly Sokolov <aesok@post.ru>
+
+       * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): Move AT90USB82 
+       and AT90USB162 devices from 'avr5' to 'avr35' architecture.
+       (ASM_SPEC): Add 'avr35' architecture.
+       * config/avr/avr.c (avr_mcu_types): Move AT90USB82 and AT90USB162 
+       devices from 'avr5' to 'avr35' architecture.
+       (avr_arch_types): Add "avr23" entries.
+       (avr_arch): Add 'ARCH_AVR35'.
+       * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Add 'avr35'.
+       (MULTILIB_MATCHES): Move AT90USB82 and AT90USB162 devices from 'avr5'
+       to 'avr35' architecture.
+
 2007-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR driver/33772
index 9be1d0ac3628adeb646d40238600992745ce79a6..02acb22c5aa3bb0109fc89b42e0716c9e2719fee 100644 (file)
@@ -143,6 +143,7 @@ static const struct base_arch_s avr_arch_types[] = {
   { 0, 0, 0, 0, "__AVR_ARCH__=2" },
   { 0, 0, 0, 1, "__AVR_ARCH__=25"},
   { 0, 0, 1, 0, "__AVR_ARCH__=3" },
+  { 0, 0, 1, 1, "__AVR_ARCH__=35"},
   { 0, 1, 0, 1, "__AVR_ARCH__=4" },
   { 0, 1, 1, 1, "__AVR_ARCH__=5" }
 };
@@ -157,6 +158,7 @@ enum avr_arch
   ARCH_AVR2,
   ARCH_AVR25,
   ARCH_AVR3,
+  ARCH_AVR35,
   ARCH_AVR4,
   ARCH_AVR5
 };
@@ -212,6 +214,10 @@ static const struct mcu_type_s avr_mcu_types[] = {
   { "at43usb320",   ARCH_AVR3, "__AVR_AT43USB320__" },
   { "at43usb355",   ARCH_AVR3, "__AVR_AT43USB355__" },
   { "at76c711",     ARCH_AVR3, "__AVR_AT76C711__" },
+    /* Classic + MOVW + JMP/CALL.  */
+  { "avr35",        ARCH_AVR35, NULL },
+  { "at90usb82",    ARCH_AVR35, "__AVR_AT90USB82__" },
+  { "at90usb162",   ARCH_AVR35, "__AVR_AT90USB162__" },
     /* Enhanced, <= 8K.  */
   { "avr4",         ARCH_AVR4, NULL },
   { "atmega8",      ARCH_AVR4, "__AVR_ATmega8__" },
@@ -262,8 +268,6 @@ static const struct mcu_type_s avr_mcu_types[] = {
   { "at90can32",    ARCH_AVR5, "__AVR_AT90CAN32__" },
   { "at90can64",    ARCH_AVR5, "__AVR_AT90CAN64__" },
   { "at90can128",   ARCH_AVR5, "__AVR_AT90CAN128__" },
-  { "at90usb82",    ARCH_AVR5, "__AVR_AT90USB82__" },
-  { "at90usb162",   ARCH_AVR5, "__AVR_AT90USB162__" },
   { "at90usb646",   ARCH_AVR5, "__AVR_AT90USB646__" },
   { "at90usb647",   ARCH_AVR5, "__AVR_AT90USB647__" },
   { "at90usb1286",  ARCH_AVR5, "__AVR_AT90USB1286__" },
index df5bf3e7d82b8235094ebb2be3c189758c788aee..04b12963931d78687ae0f80edf5cd71b7b3990c6 100644 (file)
@@ -733,7 +733,7 @@ extern int avr_case_values_threshold;
 /* A C string constant that tells the GCC drvier program options to
    pass to `cc1plus'.  */
 
-#define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;\
+#define ASM_SPEC "%{mmcu=avr25:-mmcu=avr2;mmcu=avr35:-mmcu=avr3;\
 mmcu=*:-mmcu=%*}"
 
 #define LINK_SPEC " %{!mmcu*:-m avr2}\
@@ -759,7 +759,9 @@ mmcu=*:-mmcu=%*}"
 %{mmcu=atmega103|\
   mmcu=atmega603|\
   mmcu=at43*|\
-  mmcu=at76*:-m avr3}\
+  mmcu=at76*|\
+  mmcu=at90usb82|\
+  mmcu=at90usb162:-m avr3}\
 %{mmcu=atmega8*|\
   mmcu=atmega48|\
   mmcu=at90pwm*:-m avr4}\
@@ -769,7 +771,8 @@ mmcu=*:-mmcu=%*}"
   mmcu=atmega64*|\
   mmcu=atmega128*|\
   mmcu=at90can*|\
-  mmcu=at90usb*|\
+  mmcu=at90usb64*|\
+  mmcu=at90usb128*|\
   mmcu=at94k:-m avr5}\
 %{mmcu=atmega324*|\
   mmcu=atmega325*|\
@@ -844,6 +847,8 @@ mmcu=*:-mmcu=%*}"
 %{mmcu=at43usb320:crt43320.o%s} \
 %{mmcu=at43usb355:crt43355.o%s} \
 %{mmcu=at76c711:crt76711.o%s} \
+%{mmcu=at90usb162|mmcu=avr35:crtusb162.o%s} \
+%{mmcu=at90usb82:crtusb82.o%s} \
 %{mmcu=atmega8|mmcu=avr4:crtm8.o%s} \
 %{mmcu=atmega48:crtm48.o%s} \
 %{mmcu=atmega88:crtm88.o%s} \
@@ -890,8 +895,6 @@ mmcu=*:-mmcu=%*}"
 %{mmcu=at90can32:crtcan32.o%s} \
 %{mmcu=at90can64:crtcan64.o%s} \
 %{mmcu=at90can128:crtcan128.o%s} \
-%{mmcu=at90usb82:crtusb82.o%s} \
-%{mmcu=at90usb162:crtusb162.o%s} \
 %{mmcu=at90usb646:crtusb646.o%s} \
 %{mmcu=at90usb647:crtusb647.o%s} \
 %{mmcu=at90usb1286:crtusb1286.o%s} \
index e582b6cf7d62fbe3d86f8212b21aec60ead0b11d..3ceed822ff5b235e2aa0c9a37e22a8c44bcde609 100644 (file)
@@ -37,8 +37,8 @@ fp-bit.c: $(srcdir)/config/fp-bit.c $(srcdir)/config/avr/t-avr
 
 FPBIT = fp-bit.c
 
-MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr4/mmcu=avr5
-MULTILIB_DIRNAMES = avr2 avr25 avr3 avr4 avr5
+MULTILIB_OPTIONS = mmcu=avr2/mmcu=avr25/mmcu=avr3/mmcu=avr35/mmcu=avr4/mmcu=avr5
+MULTILIB_DIRNAMES = avr2 avr25 avr3 avr35 avr4 avr5
 
 # The many avr2 matches are not listed here - this is the default.
 MULTILIB_MATCHES = \
@@ -59,6 +59,8 @@ MULTILIB_MATCHES = \
        mmcu?avr3=mmcu?at43usb320 \
        mmcu?avr3=mmcu?at43usb355 \
        mmcu?avr3=mmcu?at76c711 \
+       mmcu?avr35=mmcu?at90usb82 \
+       mmcu?avr35=mmcu?at90usb162 \
        mmcu?avr4=mmcu?atmega48 \
        mmcu?avr4=mmcu?atmega8 \
        mmcu?avr4=mmcu?atmega8515 \
@@ -105,8 +107,6 @@ MULTILIB_MATCHES = \
        mmcu?avr5=mmcu?at90can32 \
        mmcu?avr5=mmcu?at90can64 \
        mmcu?avr5=mmcu?at90can128 \
-       mmcu?avr5=mmcu?at90usb82 \
-       mmcu?avr5=mmcu?at90usb162 \
        mmcu?avr5=mmcu?at90usb646 \
        mmcu?avr5=mmcu?at90usb647 \
        mmcu?avr5=mmcu?at90usb1286 \