]> git.pld-linux.org Git - packages/crossavr-binutils.git/commitdiff
- synchronized patches with official AVR toolchain 3.4.1.830
authorPiotr Ziecik <kosmo@angel.net.pl>
Fri, 18 Jan 2013 21:06:39 +0000 (22:06 +0100)
committerPiotr Ziecik <kosmo@angel.net.pl>
Fri, 18 Jan 2013 21:06:39 +0000 (22:06 +0100)
34 files changed:
400-binutils-xmega.patch
407-binutils-atxmega64_128_192_256a3u.patch
411-binutils-attiny80.patch [deleted file]
412-binutils-atxmega128a4u.patch
413-binutils-atxmega64d4.patch
414-binutils-atmega164pa_168pa_32a_64a.patch
415-binutils-atxmega64_128_b3.patch
416-binutils-atxmega64b1.patch
417-binutils-atmega_8a_128a_1284.patch
418-binutils-atxmega64a4u.patch
419-binutils-atxmega128d4.patch
420-binutils-atmxt336s.patch
421-binutils-atxmega16c4_32c4_128c3_256c3.patch
422-binutils-atxmega384d3.patch
423-binutils-atmega48hvf.patch
424-binutils-atmega26hvg.patch
425-binutils-atmxt224_224e.patch
426-binutils-atxmega192c3.patch
427-binutils-atmxt112sl.patch
428-binutils-atxmega64c3.patch
429-binutils-ata6285_6286.patch
430-binutils-attiny828.patch
431-binutils-ata5790_5790N_5795.patch
432-binutils-ata5272_5505.patch
433-binutils-atmxt540s.patch [new file with mode: 0644]
434-binutils-ata5831.patch [new file with mode: 0644]
435-binutils-attiny841.patch [new file with mode: 0644]
436-binutils-atxmega32_16_8e5.patch [new file with mode: 0644]
500-binutils-bug13789.patch
501-binutils-modify-usb-xmega-isa.patch
503-binutils-avrtc193-tiny.patch
504-binutils-avrtc530-backported.patch [new file with mode: 0644]
505-binutils-avrtc446.patch [new file with mode: 0644]
crossavr-binutils.spec

index 8f723702ec2d8f42c564fc605171bb29a3de8f93..8c86b7afe0d512ea8a50eb1d6d2b84cdd3b79f18 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-16 12:43:06.000000000 +0530
-+++ binutils/size.c    2011-12-16 12:43:50.000000000 +0530
+--- binutils/size.c    2012-05-24 11:34:25.000000000 +0530
++++ binutils/size.c    2012-05-24 11:34:53.000000000 +0530
 @@ -121,6 +121,7 @@ avr_device_t avr[] =
  {
        {"atxmega256a3",  AVR264K, AVR16K, AVR4K},
@@ -18,8 +18,17 @@ diff -Naurp binutils/size.c binutils/size.c
  
        {"at43usb320",    AVR128K, 608UL,  0UL},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-16 12:43:06.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-16 12:43:50.000000000 +0530
+--- gas/config/tc-avr.c        2012-05-24 11:34:25.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 11:39:23.000000000 +0530
+@@ -265,7 +265,7 @@ static struct mcu_type_s mcu_types[] =
+   {"atxmega64a1", AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
+   {"atxmega64a1u",AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
+   {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+-  {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
++  {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+   {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 @@ -453,6 +453,7 @@ md_show_usage (FILE *stream)
        "                   avr5  - enhanced AVR core with up to 64K program memory\n"
        "                   avr51 - enhanced AVR core with up to 128K program memory\n"
@@ -29,8 +38,8 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
        "                   avrxmega4 - XMEGA, > 64K, <= 128K FLASH, <= 64K RAM\n"
        "                   avrxmega5 - XMEGA, > 64K, <= 128K FLASH, > 64K RAM\n"
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-03-24 22:33:03.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-16 12:43:50.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 11:12:14.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 11:34:53.000000000 +0530
 @@ -103,7 +103,7 @@ atxmega64a1u).
  Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program
  memory space and less than 64K data space (MCU types: atxmega128a3,
@@ -41,8 +50,8 @@ diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
  Instruction set avrxmega7 is for the XMEGA AVR core with up to 256K program
  memory space and greater than 64K data space (MCU types: atxmega128a1,
 diff -Naurp ld/Makefile.am ld/Makefile.am
---- ld/Makefile.am     2011-07-23 01:52:37.000000000 +0530
-+++ ld/Makefile.am     2011-12-16 12:43:50.000000000 +0530
+--- ld/Makefile.am     2012-05-24 11:12:14.000000000 +0530
++++ ld/Makefile.am     2012-05-24 11:34:53.000000000 +0530
 @@ -163,13 +163,13 @@ ALL_EMULATION_SOURCES = \
        eavr5.c \
        eavr51.c \
@@ -65,8 +74,8 @@ diff -Naurp ld/Makefile.am ld/Makefile.am
        ecoff_sparc.c \
        ecrisaout.c \
 diff -Naurp ld/Makefile.in ld/Makefile.in
---- ld/Makefile.in     2011-07-23 01:52:37.000000000 +0530
-+++ ld/Makefile.in     2011-12-16 12:43:50.000000000 +0530
+--- ld/Makefile.in     2012-05-24 11:12:14.000000000 +0530
++++ ld/Makefile.in     2012-05-24 11:34:53.000000000 +0530
 @@ -469,13 +469,13 @@ ALL_EMULATION_SOURCES = \
        eavr5.c \
        eavr51.c \
index ec062de8706f0dcbb1772ecbd7a7da0bc498f47f..693797532a20884ce3241ee54715b857f782c895 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:10:12.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:10:24.000000000 +0530
+--- binutils/size.c    2012-05-24 11:59:06.000000000 +0530
++++ binutils/size.c    2012-05-24 11:58:37.000000000 +0530
 @@ -120,6 +120,7 @@ typedef struct
  avr_device_t avr[] =
  {
@@ -32,8 +32,8 @@ diff -Naurp binutils/size.c binutils/size.c
  
        {"at90can64",     AVR64K,  AVR4K,  AVR2K},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:10:12.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:11:34.000000000 +0530
+--- gas/config/tc-avr.c        2012-05-24 11:59:06.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 12:22:35.000000000 +0530
 @@ -267,15 +267,19 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega32d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
@@ -44,7 +44,7 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atxmega64a1u",AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
    {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 +  {"atxmega128a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
-   {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 +  {"atxmega192a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
@@ -55,8 +55,8 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atxmega256a3bu",AVR_ISA_XMEGA,bfd_mach_avrxmega6},
    {"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:10:12.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:10:24.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 11:59:06.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 11:58:37.000000000 +0530
 @@ -94,16 +94,16 @@ Instruction set avrxmega3 is for the XME
  memory space and greater than 64K data space (MCU types: none).
  
diff --git a/411-binutils-attiny80.patch b/411-binutils-attiny80.patch
deleted file mode 100644 (file)
index ae80368..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-16 15:29:27.000000000 +0530
-+++ binutils/size.c    2011-12-16 15:32:13.000000000 +0530
-@@ -317,6 +317,7 @@ avr_device_t avr[] =
-       {"attiny461",     AVR4K,   AVR256, AVR256},
-       {"attiny461a",    AVR4K,   AVR256, AVR256},
-       {"attiny48",      AVR4K,   AVR256, AVR64},
-+      {"attiny80",      AVR8K,   AVR512, AVR256},
-       {"at86rf401",     AVR2K,   224UL,  AVR128},
-       {"at90s2313",     AVR2K,   AVR128, AVR128},
-diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-16 15:29:27.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-16 15:32:13.000000000 +0530
-@@ -132,6 +132,7 @@ static struct mcu_type_s mcu_types[] =
-   {"attiny43u",  AVR_ISA_AVR25,   bfd_mach_avr25},
-   {"attiny48",   AVR_ISA_AVR25,   bfd_mach_avr25},
-   {"attiny88",   AVR_ISA_AVR25,   bfd_mach_avr25},
-+  {"attiny80",   AVR_ISA_AVR25,   bfd_mach_avr25}, 
-   {"at86rf401",  AVR_ISA_RF401,   bfd_mach_avr25},
-   {"ata6289",    AVR_ISA_AVR25,   bfd_mach_avr25},
-   {"at43usb355", AVR_ISA_AVR3,    bfd_mach_avr3},
-diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-16 15:29:27.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-16 15:32:13.000000000 +0530
-@@ -46,7 +46,7 @@ space plus the MOVW instruction (MCU typ
- attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
- attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
- attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
--at86rf401, ata6289).
-+attiny80, at86rf401, ata6289).
- Instruction set avr3 is for the classic AVR core with up to 128K program
- memory space (MCU types: at43usb355, at76c711).
index 54f474ecf51230798b748addbfbbaa15f134eda3..2cc4bb77e8759b087486663bebbfc85fd3c8e0b9 100644 (file)
@@ -12,7 +12,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-22 12:22:14.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-22 12:23:13.000000000 +0530
-@@ -294,6 +294,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -293,6 +293,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega384c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
    {"atxmega128a1u", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
index ea0e1624a6d7abe07fe9559192a92ca855f6a27e..c9972a3d3acfa9aa5fdf7f17a78692625e5736ba 100644 (file)
@@ -14,7 +14,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-22 12:27:41.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-22 12:28:09.000000000 +0530
-@@ -277,6 +277,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -276,6 +276,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a3u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
index f9d7ecb41e3917ec281721659d3767899c899bdf..f695b886e49600febb44870788ea03dc000ccf2d 100644 (file)
@@ -36,7 +36,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-16 15:36:12.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-16 15:38:01.000000000 +0530
-@@ -172,6 +172,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -171,6 +171,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega163",  AVR_ISA_M161,    bfd_mach_avr5},
    {"atmega164a", AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega164p", AVR_ISA_AVR5,    bfd_mach_avr5},
@@ -44,7 +44,7 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atmega165",  AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega165a", AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega165p", AVR_ISA_AVR5,    bfd_mach_avr5},
-@@ -179,11 +180,13 @@ static struct mcu_type_s mcu_types[] =
+@@ -178,11 +179,13 @@ static struct mcu_type_s mcu_types[] =
    {"atmega168",  AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega168a", AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega168p", AVR_ISA_AVR5,    bfd_mach_avr5},
@@ -58,7 +58,7 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atmega323",  AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega324a", AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega324p", AVR_ISA_AVR5,    bfd_mach_avr5},
-@@ -210,6 +213,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -209,6 +212,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega64rfa2", AVR_ISA_AVR5,  bfd_mach_avr5},
    {"atmega64rfr2", AVR_ISA_AVR5,  bfd_mach_avr5},
    {"atmega64",   AVR_ISA_AVR5,    bfd_mach_avr5},
index 93db106d89167cef4e423ee3c5a86a11580bf238..cf7ff995a5a6faa9da78562c4d6b8333f38ef444 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:30:35.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:30:49.000000000 +0530
+--- binutils/size.c    2012-05-24 12:35:24.000000000 +0530
++++ binutils/size.c    2012-05-24 12:34:25.000000000 +0530
 @@ -147,6 +147,7 @@ avr_device_t avr[] =
        {"atxmega128a3",  AVR136K, AVR8K,  AVR2K},
        {"atxmega128a3u", AVR136K, AVR8K,  AVR2K},
@@ -18,27 +18,27 @@ diff -Naurp binutils/size.c binutils/size.c
        {"atxmega64d4",   AVR68K,  AVR4K,  AVR2K},
  
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:30:35.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:31:58.000000000 +0530
-@@ -280,6 +280,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 12:35:24.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 13:33:13.000000000 +0530
+@@ -279,6 +279,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a3u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
-+  {"atxmega64b3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
++  {"atxmega64b3", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a1", AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
-@@ -287,6 +288,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -286,6 +287,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega128a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
-   {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
-+  {"atxmega128b3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
++  {"atxmega128b3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:30:35.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:30:49.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 12:35:24.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 12:34:25.000000000 +0530
 @@ -95,7 +95,7 @@ memory space and greater than 64K data s
  
  Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
index 09ee9ecd7f3e008925b1d2d0305d3e8a6412095e..251ae87a3b510ded81e9135953cdfe2a3b6a060f 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:33:22.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:33:37.000000000 +0530
+--- binutils/size.c    2012-05-24 13:36:19.000000000 +0530
++++ binutils/size.c    2012-05-24 13:36:30.000000000 +0530
 @@ -165,6 +165,7 @@ avr_device_t avr[] =
        {"atxmega64a1u",  AVR68K,  AVR4K,  AVR2K},
        {"atxmega64a3",   AVR68K,  AVR4K,  AVR2K},
@@ -10,19 +10,19 @@ diff -Naurp binutils/size.c binutils/size.c
        {"atxmega64d3",   AVR68K,  AVR4K,  AVR2K},
        {"atxmega64d4",   AVR68K,  AVR4K,  AVR2K},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:33:22.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:34:22.000000000 +0530
-@@ -280,6 +280,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 13:36:19.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 13:37:46.000000000 +0530
+@@ -279,6 +279,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a3u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
-+  {"atxmega64b1", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
-   {"atxmega64b3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
++  {"atxmega64b1", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
+   {"atxmega64b3", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:33:22.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:33:37.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 13:36:19.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 13:36:30.000000000 +0530
 @@ -95,7 +95,7 @@ memory space and greater than 64K data s
  
  Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
index 6699131b4f6c4f951b202438efdec07579346e9f..4260b3c169e26c0330963d72d660fa7453dd9925 100644 (file)
@@ -23,7 +23,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-16 15:50:12.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-16 15:51:32.000000000 +0530
-@@ -147,6 +147,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -146,6 +146,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega32u2", AVR_ISA_AVR35,   bfd_mach_avr35},
    {"attiny1634", AVR_ISA_AVR35,   bfd_mach_avr35},
    {"atmega8",    AVR_ISA_M8,      bfd_mach_avr4},
@@ -31,7 +31,7 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atmega48",   AVR_ISA_AVR4,    bfd_mach_avr4},
    {"atmega48a",  AVR_ISA_AVR4,    bfd_mach_avr4},
    {"atmega48pa", AVR_ISA_AVR4,    bfd_mach_avr4},
-@@ -257,8 +258,10 @@ static struct mcu_type_s mcu_types[] =
+@@ -256,8 +257,10 @@ static struct mcu_type_s mcu_types[] =
    {"at94k",      AVR_ISA_94K,     bfd_mach_avr5},
    {"m3000",      AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega128",  AVR_ISA_AVR51,   bfd_mach_avr51},
index 8ba4a13df561372abcbe295768b78db611c241d5..08dd483ea0bab62c2deaf054abe54329f5a59461 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:36:03.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:36:08.000000000 +0530
+--- binutils/size.c    2012-05-24 13:45:31.000000000 +0530
++++ binutils/size.c    2012-05-24 13:39:53.000000000 +0530
 @@ -167,6 +167,7 @@ avr_device_t avr[] =
        {"atxmega64a1u",  AVR68K,  AVR4K,  AVR2K},
        {"atxmega64a3",   AVR68K,  AVR4K,  AVR2K},
@@ -10,19 +10,19 @@ diff -Naurp binutils/size.c binutils/size.c
        {"atxmega64b3",   AVR68K,  AVR4K,  AVR2K},
        {"atxmega64d3",   AVR68K,  AVR4K,  AVR2K},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:36:03.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:36:51.000000000 +0530
-@@ -283,6 +283,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 13:45:31.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 13:42:34.000000000 +0530
+@@ -282,6 +282,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a3u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
 +  {"atxmega64a4u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
-   {"atxmega64b1", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
-   {"atxmega64b3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
+   {"atxmega64b1", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
+   {"atxmega64b3", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:36:03.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:36:08.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 13:45:31.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 13:39:53.000000000 +0530
 @@ -95,7 +95,7 @@ memory space and greater than 64K data s
  
  Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
index 2ba7043d055c1f99026857fe93e9f5b72eb79d30..e4357c972bc4823bf61030f5b16e21536d8f5c82 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:38:05.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:38:14.000000000 +0530
+--- binutils/size.c    2012-05-24 13:56:07.000000000 +0530
++++ binutils/size.c    2012-05-24 13:55:34.000000000 +0530
 @@ -149,6 +149,7 @@ avr_device_t avr[] =
        {"atxmega128b1",  AVR136K, AVR8K,  AVR2K},
        {"atxmega128b3",  AVR136K, AVR8K,  AVR2K},
@@ -10,19 +10,19 @@ diff -Naurp binutils/size.c binutils/size.c
        {"at43usb320",    AVR128K, 608UL,  0UL},
        {"at90can128",    AVR128K, AVR4K,  AVR4K},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:38:05.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:38:14.000000000 +0530
-@@ -295,6 +295,7 @@ static struct mcu_type_s mcu_types[] =
-   {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
-   {"atxmega128b3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+--- gas/config/tc-avr.c        2012-05-24 13:56:07.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 13:55:34.000000000 +0530
+@@ -294,6 +294,7 @@ static struct mcu_type_s mcu_types[] =
+   {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+   {"atxmega128b3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 +  {"atxmega128d4", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:38:05.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:38:14.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 13:56:07.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 13:55:34.000000000 +0530
 @@ -103,7 +103,7 @@ atxmega64a1u).
  
  Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program
index 21abb68c17667f6396498c2bdb7ef8c302be6acf..dfa61767f470409abebd1fcf485b60750b6e97a4 100644 (file)
@@ -28,7 +28,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-22 12:39:06.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-22 12:39:15.000000000 +0530
-@@ -273,6 +273,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -272,6 +272,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega2561", AVR_ISA_AVR6,    bfd_mach_avr6},
    {"atmega256rfa2", AVR_ISA_AVR6, bfd_mach_avr6},
    {"atmega256rfr2", AVR_ISA_AVR6, bfd_mach_avr6},
index da36513191d4c4b890b8c603799aa19ff13a4f00..519511b9c9ac517b6e5412632d727af5f0f09324 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2011-12-22 12:40:00.000000000 +0530
-+++ binutils/size.c    2011-12-22 12:40:10.000000000 +0530
+--- binutils/size.c    2012-05-24 13:51:13.000000000 +0530
++++ binutils/size.c    2012-05-24 13:48:23.000000000 +0530
 @@ -131,6 +131,7 @@ avr_device_t avr[] =
        {"atxmega256a3u", AVR264K, AVR16K, AVR4K},
        {"atxmega256a3b", AVR264K, AVR16K, AVR4K},
@@ -34,9 +34,9 @@ diff -Naurp binutils/size.c binutils/size.c
  
        {"at76c711",      AVR16K,  AVR2K,  0UL},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2011-12-22 12:40:00.000000000 +0530
-+++ gas/config/tc-avr.c        2011-12-22 12:44:21.000000000 +0530
-@@ -276,10 +276,12 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 13:51:13.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 13:49:35.000000000 +0530
+@@ -275,10 +275,12 @@ static struct mcu_type_s mcu_types[] =
    {"atmxt336s",   AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega16a4", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega16a4u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega2},
@@ -49,15 +49,15 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atxmega32d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
    {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
-@@ -295,6 +297,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -294,6 +296,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega128a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
-   {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
-   {"atxmega128b3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+   {"atxmega128b3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
 +  {"atxmega128c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega128d4", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
-@@ -304,6 +307,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -303,6 +306,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega256a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega256a3bu",AVR_ISA_XMEGA,bfd_mach_avrxmega6},
@@ -66,8 +66,8 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"atxmega384c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2011-12-22 12:40:00.000000000 +0530
-+++ gas/doc/c-avr.texi 2011-12-22 12:40:10.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 13:51:13.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 13:48:23.000000000 +0530
 @@ -87,8 +87,9 @@ Instruction set avr6 is for the enhanced
  atmega2560, atmega2561, atmega256rfa2, atmega256rfr2).
  
index 6c0d0490cd6089eadb6a66509c84b935bf2f5ece..94a0c4f795625a53bfda18fcc5adf4d71b3c35b0 100644 (file)
@@ -21,7 +21,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-22 12:45:34.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-22 12:46:09.000000000 +0530
-@@ -310,6 +310,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -309,6 +309,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega256c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega384c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
index 93288878fb6eb985095c10cd07db643340aa2048..335287942123d07d11b4b5fb12ab696eceb1e8f0 100644 (file)
@@ -20,7 +20,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-16 16:16:32.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-16 16:22:02.000000000 +0530
-@@ -238,6 +238,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -237,6 +237,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega16hvbrevb",AVR_ISA_AVR5,bfd_mach_avr5},
    {"atmega32hvb",AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega32hvbrevb",AVR_ISA_AVR5,bfd_mach_avr5},
index fa61f9a809c6452e59e7e807256203a08a04850d..5bffc8f4022012c7b04ba47f8bf7d82d91f4cdf0 100644 (file)
@@ -21,7 +21,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2011-12-22 12:53:39.000000000 +0530
 +++ gas/config/tc-avr.c        2011-12-22 12:53:45.000000000 +0530
-@@ -236,6 +236,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -235,6 +235,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega16hva2",AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega16hvb",AVR_ISA_AVR5,    bfd_mach_avr5},
    {"atmega16hvbrevb",AVR_ISA_AVR5,bfd_mach_avr5},
index 9c74659791408f0e4084c3309047b4794f59d36d..435a34d457fc2ced49000cf7a97acaa039b083e1 100644 (file)
@@ -21,7 +21,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2012-02-10 20:48:10.000000000 +0530
 +++ gas/config/tc-avr.c        2012-02-10 20:49:19.000000000 +0530
-@@ -275,6 +275,8 @@ static struct mcu_type_s mcu_types[] =
+@@ -274,6 +274,8 @@ static struct mcu_type_s mcu_types[] =
    {"atmega2561", AVR_ISA_AVR6,    bfd_mach_avr6},
    {"atmega256rfa2", AVR_ISA_AVR6, bfd_mach_avr6},
    {"atmega256rfr2", AVR_ISA_AVR6, bfd_mach_avr6},
index 7cca67884ae4d5be94193cf290d8198f31da70f0..ed93d184391d52f312849f4c546dbf983682459e 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2012-02-10 20:56:48.000000000 +0530
-+++ binutils/size.c    2012-02-10 20:57:23.000000000 +0530
+--- binutils/size.c    2012-05-24 13:59:33.000000000 +0530
++++ binutils/size.c    2012-05-24 13:59:02.000000000 +0530
 @@ -145,6 +145,7 @@ avr_device_t avr[] =
  
        {"atxmega192a3",  AVR200K, AVR16K, AVR2K},
@@ -10,19 +10,19 @@ diff -Naurp binutils/size.c binutils/size.c
  
        {"atmega128rfa2", AVR128K, AVR16K, AVR4K},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2012-02-10 20:56:48.000000000 +0530
-+++ gas/config/tc-avr.c        2012-02-10 21:01:00.000000000 +0530
-@@ -306,6 +306,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 13:59:33.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 14:00:01.000000000 +0530
+@@ -305,6 +305,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega128d4", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega192a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
-+  {"atxmega192c3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
++  {"atxmega192c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega256a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega256a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2012-02-10 20:56:48.000000000 +0530
-+++ gas/doc/c-avr.texi 2012-02-10 20:59:05.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 13:59:33.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 13:59:02.000000000 +0530
 @@ -105,7 +105,7 @@ atxmega64a1u).
  Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program
  memory space and less than 64K data space (MCU types: atxmega128a3, atxmega128a3u,
index ca0dfcda1f7ac90a7e0bee45a023788c56a422b8..44be7a043bc4e4eb601e43bc5581aa206bb1a2df 100644 (file)
@@ -13,7 +13,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2012-02-10 21:04:14.000000000 +0530
 +++ gas/config/tc-avr.c        2012-02-10 21:04:48.000000000 +0530
-@@ -275,6 +275,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -274,6 +274,7 @@ static struct mcu_type_s mcu_types[] =
    {"atmega2561", AVR_ISA_AVR6,    bfd_mach_avr6},
    {"atmega256rfa2", AVR_ISA_AVR6, bfd_mach_avr6},
    {"atmega256rfr2", AVR_ISA_AVR6, bfd_mach_avr6},
index 18cd1af4432ece34517c1e9247789c9763d51755..83788d3de5a88ef0c724d0c3b353be65f63bdefb 100644 (file)
@@ -1,6 +1,6 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2012-02-10 21:10:36.000000000 +0530
-+++ binutils/size.c    2012-02-10 21:11:04.000000000 +0530
+--- binutils/size.c    2012-05-24 14:09:02.000000000 +0530
++++ binutils/size.c    2012-05-24 14:06:13.000000000 +0530
 @@ -182,6 +182,7 @@ avr_device_t avr[] =
        {"atxmega64a4u",  AVR68K,  AVR4K,  AVR2K},
        {"atxmega64b1",   AVR68K,  AVR4K,  AVR2K},
@@ -10,19 +10,19 @@ diff -Naurp binutils/size.c binutils/size.c
        {"atxmega64d4",   AVR68K,  AVR4K,  AVR2K},
  
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2012-02-10 21:10:36.000000000 +0530
-+++ gas/config/tc-avr.c        2012-02-10 21:11:04.000000000 +0530
-@@ -294,6 +294,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-24 14:09:02.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-24 14:07:22.000000000 +0530
+@@ -293,6 +293,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega64a4u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
-   {"atxmega64b1", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
-   {"atxmega64b3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
-+  {"atxmega64c3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
+   {"atxmega64b1", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
+   {"atxmega64b3", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
++  {"atxmega64c3", AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a1", AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2012-02-10 21:10:36.000000000 +0530
-+++ gas/doc/c-avr.texi 2012-02-10 21:11:04.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-24 14:09:02.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-24 14:06:13.000000000 +0530
 @@ -96,7 +96,7 @@ memory space and greater than 64K data s
  
  Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
index 1bc67ba2d8c03ac0bb884b342d85454cfaf253b0..3235ada11d3bf2dc6b87bf4cf7f1084458f07fa9 100644 (file)
@@ -13,7 +13,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2012-02-15 13:57:09.000000000 +0530
 +++ gas/config/tc-avr.c        2012-02-17 11:06:57.000000000 +0530
-@@ -148,6 +148,8 @@ static struct mcu_type_s mcu_types[] =
+@@ -147,6 +147,8 @@ static struct mcu_type_s mcu_types[] =
    {"attiny1634", AVR_ISA_AVR35,   bfd_mach_avr35},
    {"atmega8",    AVR_ISA_M8,      bfd_mach_avr4},
    {"atmega8a",   AVR_ISA_M8,      bfd_mach_avr4},
index c7d443bdf9a7f0df3d35fef5cb9ddf0471aa2000..de8cd1d47d6f69915df7b83e831d6aa6b472c841 100644 (file)
@@ -1,34 +1,34 @@
 diff -Naurp binutils/size.c binutils/size.c
---- binutils/size.c    2012-02-23 15:24:08.000000000 +0530
-+++ binutils/size.c    2012-02-23 15:27:09.000000000 +0530
-@@ -357,6 +357,7 @@ avr_device_t avr[] =
+--- binutils/size.c    2012-05-30 18:16:01.000000000 +0530
++++ binutils/size.c    2012-05-30 18:16:01.000000000 +0530
+@@ -356,6 +356,7 @@ avr_device_t avr[] =
+       {"attiny461",     AVR4K,   AVR256, AVR256},
        {"attiny461a",    AVR4K,   AVR256, AVR256},
        {"attiny48",      AVR4K,   AVR256, AVR64},
-       {"attiny80",      AVR8K,   AVR512, AVR256},
 +      {"attiny828",     AVR8K,   AVR512, AVR256},
  
        {"at86rf401",     AVR2K,   224UL,  AVR128},
        {"at90s2313",     AVR2K,   AVR128, AVR128},
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2012-02-23 15:24:08.000000000 +0530
-+++ gas/config/tc-avr.c        2012-02-23 15:26:16.000000000 +0530
-@@ -133,6 +133,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-05-30 18:16:01.000000000 +0530
++++ gas/config/tc-avr.c        2012-05-30 18:16:01.000000000 +0530
+@@ -132,6 +132,7 @@ static struct mcu_type_s mcu_types[] =
+   {"attiny43u",  AVR_ISA_AVR25,   bfd_mach_avr25},
    {"attiny48",   AVR_ISA_AVR25,   bfd_mach_avr25},
    {"attiny88",   AVR_ISA_AVR25,   bfd_mach_avr25},
-   {"attiny80",   AVR_ISA_AVR25,   bfd_mach_avr25}, 
 +  {"attiny828",  AVR_ISA_AVR25,   bfd_mach_avr25}, 
    {"at86rf401",  AVR_ISA_RF401,   bfd_mach_avr25},
    {"ata6289",    AVR_ISA_AVR25,   bfd_mach_avr25},
    {"at43usb355", AVR_ISA_AVR3,    bfd_mach_avr3},
 diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
---- gas/doc/c-avr.texi 2012-02-23 15:24:08.000000000 +0530
-+++ gas/doc/c-avr.texi 2012-02-23 15:27:30.000000000 +0530
+--- gas/doc/c-avr.texi 2012-05-30 18:16:01.000000000 +0530
++++ gas/doc/c-avr.texi 2012-05-30 18:16:01.000000000 +0530
 @@ -46,7 +46,7 @@ space plus the MOVW instruction (MCU typ
  attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
  attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
  attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
--attiny80, at86rf401, ata6289).
-+attiny80, attiny828, at86rf401, ata6289).
+-at86rf401, ata6289).
++attiny828, at86rf401, ata6289).
  
  Instruction set avr3 is for the classic AVR core with up to 128K program
  memory space (MCU types: at43usb355, at76c711).
index 794a4c852507b37aec38e13bd2c43263cb4ed21d..755253eccf879faac403cbc7e1ae9dc56a961fb8 100644 (file)
@@ -22,7 +22,7 @@ diff -Naurp binutils/size.c binutils/size.c
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 --- gas/config/tc-avr.c        2012-02-27 11:45:17.000000000 +0530
 +++ gas/config/tc-avr.c        2012-02-27 11:46:30.000000000 +0530
-@@ -169,6 +169,9 @@ static struct mcu_type_s mcu_types[] =
+@@ -168,6 +168,9 @@ static struct mcu_type_s mcu_types[] =
    {"at90pwm3b",  AVR_ISA_AVR4,    bfd_mach_avr4},
    {"at90pwm81",  AVR_ISA_AVR4,    bfd_mach_avr4},
    {"at90pwm161", AVR_ISA_AVR5,    bfd_mach_avr5},
index 015a83031c31168c7a91109321118e65c6471dd8..0b42daeb85659864fa6661492a7613a795116cd1 100644 (file)
@@ -24,7 +24,7 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
    {"attiny13",   AVR_ISA_AVR25,   bfd_mach_avr25},
    {"attiny13a",  AVR_ISA_AVR25,   bfd_mach_avr25},
    {"attiny2313", AVR_ISA_AVR25,   bfd_mach_avr25},
-@@ -143,6 +144,7 @@ static struct mcu_type_s mcu_types[] =
+@@ -142,6 +143,7 @@ static struct mcu_type_s mcu_types[] =
    {"attiny167",  AVR_ISA_AVR35,   bfd_mach_avr35},
    {"at90usb82",  AVR_ISA_AVR35,   bfd_mach_avr35},
    {"at90usb162", AVR_ISA_AVR35,   bfd_mach_avr35},
@@ -39,8 +39,8 @@ diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
  attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
  attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
  attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
--attiny80, attiny828, at86rf401, ata6289).
-+attiny80, attiny828, at86rf401, ata6289, ata5272).
+-attiny828, at86rf401, ata6289).
++attiny828, at86rf401, ata6289, ata5272).
  
  Instruction set avr3 is for the classic AVR core with up to 128K program
  memory space (MCU types: at43usb355, at76c711).
diff --git a/433-binutils-atmxt540s.patch b/433-binutils-atmxt540s.patch
new file mode 100644 (file)
index 0000000..d231b3b
--- /dev/null
@@ -0,0 +1,50 @@
+diff -Naurp binutils/size.c binutils/size.c
+--- binutils/size.c    2012-06-28 16:09:08.000000000 +0530
++++ binutils/size.c    2012-06-28 16:13:56.000000000 +0530
+@@ -97,6 +97,7 @@ static int return_code = 0;
+ #define AVR4K 4096UL
+ #define AVR8K 8192UL
+ #define AVR9K 9216UL
++#define AVR10K 10240UL
+ #define AVR14K 14336UL
+ #define AVR16K 16384UL
+ #define AVR20K 20480UL
+@@ -152,6 +153,9 @@ avr_device_t avr[] =
+       {"atmega128rfa2", AVR128K, AVR16K, AVR4K},
+       {"atmega128rfr2", AVR128K, AVR16K, AVR4K},
++      {"atmxt540s",     AVR136K, AVR10K, 0UL},
++      {"atmxt540sreva",AVR136K, AVR10K, 0UL},
++
+       {"atxmega128a1",  AVR136K, AVR8K,  AVR2K},
+       {"atxmega128a1u", AVR136K, AVR8K,  AVR2K},
+       {"atxmega128a4u", AVR136K, AVR8K,  AVR2K},
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-06-28 16:09:08.000000000 +0530
++++ gas/config/tc-avr.c        2012-06-28 16:15:11.000000000 +0530
+@@ -313,6 +313,8 @@ static struct mcu_type_s mcu_types[] =
+   {"atxmega128c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+   {"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega128d4", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
++  {"atmxt540s",    AVR_ISA_XMEGA, bfd_mach_avrxmega6},
++  {"atmxt540sreva", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
+   {"atxmega192a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+   {"atxmega192c3", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
+--- gas/doc/c-avr.texi 2012-06-28 16:09:08.000000000 +0530
++++ gas/doc/c-avr.texi 2012-06-28 16:16:53.000000000 +0530
+@@ -105,9 +105,10 @@ atxmega64a1u).
+ Instruction set avrxmega6 is for the XMEGA AVR core with up to 256K program
+ memory space and less than 64K data space (MCU types: atxmega128a3, atxmega128a3u,
+-atxmega128c3, atxmega128d3, atxmega128d4, atxmega192a3, atxmega192a3u, atxmega128b1,
+-atxmega128b3, atxmega192c3, atxmega192d3, atxmega256a3, atxmega256a3u, atxmega256a3b, atxmega256a3bu,
+-atxmega256c3, atxmega256d3, atxmega384c3, atxmega384d3).
++atxmega128c3, atxmega128d3, atxmega128d4, atmxt540s, atmxt540sreva, atxmega192a3,
++atxmega192a3u, atxmega128b1, atxmega128b3, atxmega192c3, atxmega192d3, atxmega256a3,
++atxmega256a3u, atxmega256a3b, atxmega256a3bu, atxmega256c3, atxmega256d3, atxmega384c3,
++atxmega384d3).
+ Instruction set avrxmega7 is for the XMEGA AVR core with greater than 64K program
+ memory space and greater than 64K data space (MCU types: atxmega128a1,
diff --git a/434-binutils-ata5831.patch b/434-binutils-ata5831.patch
new file mode 100644 (file)
index 0000000..2816532
--- /dev/null
@@ -0,0 +1,463 @@
+diff -Naurp bfd/archures.c bfd/archures.c
+--- bfd/archures.c     2012-07-03 11:35:37.000000000 +0530
++++ bfd/archures.c     2012-07-03 11:38:04.000000000 +0530
+@@ -381,6 +381,7 @@ DESCRIPTION
+ .#define bfd_mach_avr5                5
+ .#define bfd_mach_avr51               51
+ .#define bfd_mach_avr6                6
++.#define bfd_mach_avr7                7
+ .#define bfd_mach_avrxmega1 101
+ .#define bfd_mach_avrxmega2 102
+ .#define bfd_mach_avrxmega3 103
+diff -Naurp bfd/cpu-avr.c bfd/cpu-avr.c
+--- bfd/cpu-avr.c      2012-07-03 11:35:37.000000000 +0530
++++ bfd/cpu-avr.c      2012-07-03 11:38:04.000000000 +0530
+@@ -134,27 +134,30 @@ static const bfd_arch_info_type arch_inf
+   /* 3-Byte PC.  */
+   N (22, bfd_mach_avr6, "avr:6", FALSE, & arch_info_struct[10]),
++
++  /* 20K flash. starts at 0x8000 */
++  N (16, bfd_mach_avr7, "avr:7", FALSE, & arch_info_struct[11]),
+   
+   /* Xmega 1 */
+-  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[11]),
++  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[12]),
+   /* Xmega 2 */
+-  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[12]),
++  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[13]),
+   
+   /* Xmega 3 */
+-  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[13]),
++  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[14]),
+   
+   /* Xmega 4 */
+-  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[14]),
++  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[15]),
+   
+   /* Xmega 5 */
+-  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[15]),
++  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[16]),
+   
+   /* Xmega 6 */
+-  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[16]),
++  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[17]),
+   
+   /* Xmega 7 */
+-  N (24, bfd_mach_avrxmega7, "avr:107", FALSE, & arch_info_struct[17]),
++  N (24, bfd_mach_avrxmega7, "avr:107", FALSE, & arch_info_struct[18]),
+   
+   /* attiny 10 */
+   N (16, bfd_mach_avrtiny10, "avr:201", FALSE, NULL)
+diff -Naurp bfd/elf32-avr.c bfd/elf32-avr.c
+--- bfd/elf32-avr.c    2012-07-03 11:35:37.000000000 +0530
++++ bfd/elf32-avr.c    2012-07-03 11:38:04.000000000 +0530
+@@ -1299,6 +1299,10 @@ bfd_elf_avr_final_write_processing (bfd 
+       val = E_AVR_MACH_AVR6;
+       break;
++    case bfd_mach_avr7:
++      val = E_AVR_MACH_AVR7;
++      break;
++
+     case bfd_mach_avrxmega1:
+       val = E_AVR_MACH_XMEGA1;
+       break;
+@@ -1393,6 +1397,10 @@ elf32_avr_object_p (bfd *abfd)
+         e_set = bfd_mach_avr6;
+         break;
++      case E_AVR_MACH_AVR7:
++        e_set = bfd_mach_avr7;
++        break;
++
+       case E_AVR_MACH_XMEGA1:
+         e_set = bfd_mach_avrxmega1;
+         break;
+diff -Naurp binutils/size.c binutils/size.c
+--- binutils/size.c    2012-07-03 11:36:50.000000000 +0530
++++ binutils/size.c    2012-07-03 11:38:04.000000000 +0530
+@@ -283,6 +283,8 @@ avr_device_t avr[] =
+       {"atxmega16c4",   AVR20K,  AVR2K,  AVR1K},
+       {"atxmega16d4",   AVR20K,  AVR2K,  AVR1K},
++      {"ata5831",       AVR20K,  AVR1K,  AVR1K},
++
+       {"at76c711",      AVR16K,  AVR2K,  0UL},
+       {"at90pwm161",    AVR16K,  AVR1K,  AVR512},
+       {"at90pwm216",    AVR16K,  AVR1K,  AVR512},
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-07-03 11:36:50.000000000 +0530
++++ gas/config/tc-avr.c        2012-07-03 11:38:04.000000000 +0530
+@@ -83,6 +83,7 @@ static struct mcu_type_s mcu_types[] =
+   {"avr5",       AVR_ISA_AVR51,   bfd_mach_avr5},
+   {"avr51",      AVR_ISA_AVR51,   bfd_mach_avr51},
+   {"avr6",       AVR_ISA_AVR6,    bfd_mach_avr6},
++  {"avr7",       AVR_ISA_AVR7,    bfd_mach_avr7},
+   {"avrxmega1",  AVR_ISA_XMEGA,   bfd_mach_avrxmega1},
+   {"avrxmega2",  AVR_ISA_XMEGA,   bfd_mach_avrxmega2},
+   {"avrxmega3",  AVR_ISA_XMEGA,   bfd_mach_avrxmega3},
+@@ -282,6 +283,7 @@ static struct mcu_type_s mcu_types[] =
+   {"atmega2561", AVR_ISA_AVR6,    bfd_mach_avr6},
+   {"atmega256rfa2", AVR_ISA_AVR6, bfd_mach_avr6},
+   {"atmega256rfr2", AVR_ISA_AVR6, bfd_mach_avr6},
++  {"ata5831",    AVR_ISA_AVR7, bfd_mach_avr7},
+   {"atmxt112sl",  AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
+   {"atmxt224",    AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
+   {"atmxt224e",   AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
+@@ -514,6 +516,8 @@ md_show_usage (FILE *stream)
+       "                   avr5  - enhanced AVR core with up to 64K program memory\n"
+       "                   avr51 - enhanced AVR core with up to 128K program memory\n"
+       "                   avr6  - enhanced AVR core with up to 256K program memory\n"
++      "                   avr7  - enhanced AVR core with up to 20K program memory\n"
++      "                           flash starting address is not zero\n"
+       "                   avrxmega2 - XMEGA, > 8K, < 64K FLASH, < 64K RAM\n"
+       "                   avrxmega3 - XMEGA, > 8K, <= 64K FLASH, > 64K RAM\n"
+       "                   avrxmega4 - XMEGA, > 64K, <= 128K FLASH, <= 64K RAM\n"
+diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
+--- gas/doc/c-avr.texi 2012-07-03 11:36:50.000000000 +0530
++++ gas/doc/c-avr.texi 2012-07-03 11:38:04.000000000 +0530
+@@ -87,6 +87,9 @@ atmega128rfa1, atmega128rfa2, atmega128r
+ Instruction set avr6 is for the enhanced AVR core with a 3-byte PC (MCU types:
+ atmega2560, atmega2561, atmega256rfa2, atmega256rfr2).
++Instruction set avr7 is for the enhanced AVR core with 20K flash which starts
++from 0x8000 (MCU types: ata5831)
++
+ Instruction set avrxmega2 is for the XMEGA AVR core with 8K to 64K program
+ memory space and less than 64K data space (MCU types: atxmega16a4, atxmega16a4u, atxmega16c4,
+ atxmega16d4, atxmega16x1, atxmega32a4, atxmega32a4u, ,atxmega32c4, atxmega32d4,
+diff -Naurp include/elf/avr.h include/elf/avr.h
+--- include/elf/avr.h  2012-07-03 11:35:37.000000000 +0530
++++ include/elf/avr.h  2012-07-03 11:38:04.000000000 +0530
+@@ -40,6 +40,7 @@
+ #define E_AVR_MACH_AVR5 5
+ #define E_AVR_MACH_AVR51 51
+ #define E_AVR_MACH_AVR6 6 
++#define E_AVR_MACH_AVR7 7 
+ #define E_AVR_MACH_XMEGA1 101
+ #define E_AVR_MACH_XMEGA2 102
+ #define E_AVR_MACH_XMEGA3 103
+diff -Naurp include/opcode/avr.h include/opcode/avr.h
+--- include/opcode/avr.h       2012-07-03 11:35:37.000000000 +0530
++++ include/opcode/avr.h       2012-07-03 11:38:04.000000000 +0530
+@@ -72,6 +72,8 @@
+                         AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
+                         AVR_ISA_BRK | AVR_ISA_EIND | AVR_ISA_MOVW)
++#define AVR_ISA_AVR7   (AVR_ISA_M8 | AVR_ISA_MEGA | AVR_ISA_BRK )
++
+ #define AVR_ISA_AVRTINY10 (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM)
+ #define REGISTER_P(x) ((x) == 'r'             \
+diff -Naurp ld/configure.tgt ld/configure.tgt
+--- ld/configure.tgt   2012-07-03 11:35:37.000000000 +0530
++++ ld/configure.tgt   2012-07-03 11:38:04.000000000 +0530
+@@ -98,7 +98,7 @@ arm*-*-uclinux*)     targ_emul=armelf_linux
+ arm-*-vxworks)                targ_emul=armelf_vxworks ;;
+ arm*-*-conix*)                targ_emul=armelf ;;
+ avr-*-*)              targ_emul=avr2
+-                      targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny10"
++                      targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avr7 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny10"
+                       ;;
+ bfin-*-elf)           targ_emul=elf32bfin;
+                       targ_extra_emuls="elf32bfinfd"
+diff -Naurp ld/emulparams/avr7.sh ld/emulparams/avr7.sh
+--- ld/emulparams/avr7.sh      1970-01-01 05:30:00.000000000 +0530
++++ ld/emulparams/avr7.sh      2012-07-03 11:38:04.000000000 +0530
+@@ -0,0 +1,13 @@
++ARCH=avr:7
++MACHINE=
++SCRIPT_NAME=avr7
++OUTPUT_FORMAT="elf32-avr"
++MAXPAGESIZE=1
++EMBEDDED=yes
++TEMPLATE_NAME=elf32
++
++TEXT_ORIGIN=0x8000
++TEXT_LENGTH=20K
++DATA_ORIGIN=0x800200
++DATA_LENGTH=0x400
++EXTRA_EM_FILE=avrelf
+diff -Naurp ld/Makefile.am ld/Makefile.am
+--- ld/Makefile.am     2012-07-03 11:35:37.000000000 +0530
++++ ld/Makefile.am     2012-07-03 11:38:04.000000000 +0530
+@@ -163,6 +163,7 @@ ALL_EMULATION_SOURCES = \
+       eavr5.c \
+       eavr51.c \
+       eavr6.c \
++      eavr7.c \
+       eavrxmega1.c \
+       eavrxmega2.c \
+       eavrxmega3.c \
+@@ -791,6 +792,10 @@ eavr6.c: $(srcdir)/emulparams/avr6.sh $(
+   $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+   ${GEN_DEPENDS}
+       ${GENSCRIPTS} avr6 "$(tdir_avr2)"
++eavr7.c: $(srcdir)/emulparams/avr7.sh $(srcdir)/emultempl/avrelf.em \
++  $(ELF_DEPS) $(srcdir)/scripttempl/avr7.sc \
++  ${GEN_DEPENDS}
++      ${GENSCRIPTS} avr7 "$(tdir_avr2)"
+ eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
+   $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
+   ${GEN_DEPENDS}
+diff -Naurp ld/scripttempl/avr7.sc ld/scripttempl/avr7.sc
+--- ld/scripttempl/avr7.sc     1970-01-01 05:30:00.000000000 +0530
++++ ld/scripttempl/avr7.sc     2012-07-03 11:38:04.000000000 +0530
+@@ -0,0 +1,255 @@
++cat <<EOF
++OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
++OUTPUT_ARCH(${ARCH})
++
++MEMORY
++{
++  text   (rx)   : ORIGIN = $TEXT_ORIGIN, LENGTH = $TEXT_LENGTH
++  data   (rw!x) : ORIGIN = $DATA_ORIGIN, LENGTH = $DATA_LENGTH
++  eeprom (rw!x) : ORIGIN = 0x810000, LENGTH = 1K
++  fuse      (rw!x) : ORIGIN = 0x820000, LENGTH = 1K
++  lock      (rw!x) : ORIGIN = 0x830000, LENGTH = 1K
++  signature (rw!x) : ORIGIN = 0x840000, LENGTH = 1K
++}
++
++SECTIONS
++{
++  /* Read-only sections, merged into text segment: */
++  ${TEXT_DYNAMIC+${DYNAMIC}}
++  .hash        ${RELOCATING-0} : { *(.hash)           }
++  .dynsym      ${RELOCATING-0} : { *(.dynsym)         }
++  .dynstr      ${RELOCATING-0} : { *(.dynstr)         }
++  .gnu.version ${RELOCATING-0} : { *(.gnu.version)    }
++  .gnu.version_d ${RELOCATING-0} : { *(.gnu.version_d)        }
++  .gnu.version_r ${RELOCATING-0} : { *(.gnu.version_r)        }
++
++  .rel.init    ${RELOCATING-0} : { *(.rel.init)               }
++  .rela.init   ${RELOCATING-0} : { *(.rela.init)      }
++  .rel.text    ${RELOCATING-0} :
++    {
++      *(.rel.text)
++      ${RELOCATING+*(.rel.text.*)}
++      ${RELOCATING+*(.rel.gnu.linkonce.t*)}
++    }
++  .rela.text   ${RELOCATING-0} :
++    {
++      *(.rela.text)
++      ${RELOCATING+*(.rela.text.*)}
++      ${RELOCATING+*(.rela.gnu.linkonce.t*)}
++    }
++  .rel.fini    ${RELOCATING-0} : { *(.rel.fini)               }
++  .rela.fini   ${RELOCATING-0} : { *(.rela.fini)      }
++  .rel.rodata  ${RELOCATING-0} :
++    {
++      *(.rel.rodata)
++      ${RELOCATING+*(.rel.rodata.*)}
++      ${RELOCATING+*(.rel.gnu.linkonce.r*)}
++    }
++  .rela.rodata ${RELOCATING-0} :
++    {
++      *(.rela.rodata)
++      ${RELOCATING+*(.rela.rodata.*)}
++      ${RELOCATING+*(.rela.gnu.linkonce.r*)}
++    }
++  .rel.data    ${RELOCATING-0} :
++    {
++      *(.rel.data)
++      ${RELOCATING+*(.rel.data.*)}
++      ${RELOCATING+*(.rel.gnu.linkonce.d*)}
++    }
++  .rela.data   ${RELOCATING-0} :
++    {
++      *(.rela.data)
++      ${RELOCATING+*(.rela.data.*)}
++      ${RELOCATING+*(.rela.gnu.linkonce.d*)}
++    }
++  .rel.ctors   ${RELOCATING-0} : { *(.rel.ctors)      }
++  .rela.ctors  ${RELOCATING-0} : { *(.rela.ctors)     }
++  .rel.dtors   ${RELOCATING-0} : { *(.rel.dtors)      }
++  .rela.dtors  ${RELOCATING-0} : { *(.rela.dtors)     }
++  .rel.got     ${RELOCATING-0} : { *(.rel.got)                }
++  .rela.got    ${RELOCATING-0} : { *(.rela.got)               }
++  .rel.bss     ${RELOCATING-0} : { *(.rel.bss)                }
++  .rela.bss    ${RELOCATING-0} : { *(.rela.bss)               }
++  .rel.plt     ${RELOCATING-0} : { *(.rel.plt)                }
++  .rela.plt    ${RELOCATING-0} : { *(.rela.plt)               }
++
++  /* Internal text space or external memory.  */
++  .text ${RELOCATING-0} :
++  {
++    *(.vectors)
++    KEEP(*(.vectors))
++
++    /* For data that needs to reside in the lower 64k of progmem.  */
++    *(.progmem.gcc*)
++    *(.progmem*)
++    ${RELOCATING+. = ALIGN(2);}
++
++    ${CONSTRUCTING+ __trampolines_start = . ; }
++    /* The jump trampolines for the 16-bit limited relocs will reside here.  */
++    *(.trampolines)
++    *(.trampolines*)
++    ${CONSTRUCTING+ __trampolines_end = . ; }
++
++    /* For future tablejump instruction arrays for 3 byte pc devices.
++       We don't relax jump/call instructions within these sections.  */
++    *(.jumptables) 
++    *(.jumptables*) 
++
++    /* For code that needs to reside in the lower 128k progmem.  */
++    *(.lowtext)
++    *(.lowtext*)
++
++    ${CONSTRUCTING+ __ctors_start = . ; }
++    ${CONSTRUCTING+ *(.ctors) }
++    ${CONSTRUCTING+ __ctors_end = . ; }
++    ${CONSTRUCTING+ __dtors_start = . ; }
++    ${CONSTRUCTING+ *(.dtors) }
++    ${CONSTRUCTING+ __dtors_end = . ; }
++    KEEP(SORT(*)(.ctors))
++    KEEP(SORT(*)(.dtors))
++
++    /* From this point on, we don't bother about wether the insns are
++       below or above the 16 bits boundary.  */
++    *(.init0)  /* Start here after reset.  */
++    KEEP (*(.init0))
++    *(.init1)
++    KEEP (*(.init1))
++    *(.init2)  /* Clear __zero_reg__, set up stack pointer.  */
++    KEEP (*(.init2))
++    *(.init3)
++    KEEP (*(.init3))
++    *(.init4)  /* Initialize data and BSS.  */
++    KEEP (*(.init4))
++    *(.init5)
++    KEEP (*(.init5))
++    *(.init6)  /* C++ constructors.  */
++    KEEP (*(.init6))
++    *(.init7)
++    KEEP (*(.init7))
++    *(.init8)
++    KEEP (*(.init8))
++    *(.init9)  /* Call main().  */
++    KEEP (*(.init9))
++    *(.text)
++    ${RELOCATING+. = ALIGN(2);}
++    *(.text.*)
++    ${RELOCATING+. = ALIGN(2);}
++    *(.fini9)  /* _exit() starts here.  */
++    KEEP (*(.fini9))
++    *(.fini8)
++    KEEP (*(.fini8))
++    *(.fini7)
++    KEEP (*(.fini7))
++    *(.fini6)  /* C++ destructors.  */
++    KEEP (*(.fini6))
++    *(.fini5)
++    KEEP (*(.fini5))
++    *(.fini4)
++    KEEP (*(.fini4))
++    *(.fini3)
++    KEEP (*(.fini3))
++    *(.fini2)
++    KEEP (*(.fini2))
++    *(.fini1)
++    KEEP (*(.fini1))
++    *(.fini0)  /* Infinite loop after program termination.  */
++    KEEP (*(.fini0))
++    ${RELOCATING+ _etext = . ; }
++  } ${RELOCATING+ > text}
++
++  .data       ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
++  {
++    ${RELOCATING+ PROVIDE (__data_start = .) ; }
++    *(.data)
++    *(.data*)
++    *(.rodata)  /* We need to include .rodata here if gcc is used */
++    *(.rodata*) /* with -fdata-sections.  */
++    *(.gnu.linkonce.d*)
++    ${RELOCATING+. = ALIGN(2);}
++    ${RELOCATING+ _edata = . ; }
++    ${RELOCATING+ PROVIDE (__data_end = .) ; }
++  } ${RELOCATING+ > data}
++
++  .bss ${RELOCATING-0} :${RELOCATING+ AT (ADDR (.bss))}
++  {
++    ${RELOCATING+ PROVIDE (__bss_start = .) ; }
++    *(.bss)
++    *(.bss*)
++    *(COMMON)
++    ${RELOCATING+ PROVIDE (__bss_end = .) ; }
++  } ${RELOCATING+ > data}
++
++  ${RELOCATING+ __data_load_start = LOADADDR(.data); }
++  ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); }
++
++  /* Global data not cleared after reset.  */
++  .noinit ${RELOCATING-0}:
++  {
++    ${RELOCATING+ PROVIDE (__noinit_start = .) ; }
++    *(.noinit*)
++    ${RELOCATING+ PROVIDE (__noinit_end = .) ; }
++    ${RELOCATING+ _end = . ;  }
++    ${RELOCATING+ PROVIDE (__heap_start = .) ; }
++  } ${RELOCATING+ > data}
++
++  .eeprom ${RELOCATING-0}:
++  {
++    *(.eeprom*)
++    ${RELOCATING+ __eeprom_end = . ; }
++  } ${RELOCATING+ > eeprom}
++
++  .fuse ${RELOCATING-0}:
++  {
++    KEEP(*(.fuse))
++    KEEP(*(.lfuse))
++    KEEP(*(.hfuse))
++    KEEP(*(.efuse))
++  } ${RELOCATING+ > fuse}
++
++  .lock ${RELOCATING-0}:
++  {
++    KEEP(*(.lock*))
++  } ${RELOCATING+ > lock}
++
++  .signature ${RELOCATING-0}:
++  {
++    KEEP(*(.signature*))
++  } ${RELOCATING+ > signature}
++
++  /* Stabs debugging sections.  */
++  .stab 0 : { *(.stab) }
++  .stabstr 0 : { *(.stabstr) }
++  .stab.excl 0 : { *(.stab.excl) }
++  .stab.exclstr 0 : { *(.stab.exclstr) }
++  .stab.index 0 : { *(.stab.index) }
++  .stab.indexstr 0 : { *(.stab.indexstr) }
++  .comment 0 : { *(.comment) }
++ 
++  /* DWARF debug sections.
++     Symbols in the DWARF debugging sections are relative to the beginning
++     of the section so we begin them at 0.  */
++
++  /* DWARF 1 */
++  .debug          0 : { *(.debug) }
++  .line           0 : { *(.line) }
++
++  /* GNU DWARF 1 extensions */
++  .debug_srcinfo  0 : { *(.debug_srcinfo) }
++  .debug_sfnames  0 : { *(.debug_sfnames) }
++
++  /* DWARF 1.1 and DWARF 2 */
++  .debug_aranges  0 : { *(.debug_aranges) }
++  .debug_pubnames 0 : { *(.debug_pubnames) }
++
++  /* DWARF 2 */
++  .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
++  .debug_abbrev   0 : { *(.debug_abbrev) }
++  .debug_line     0 : { *(.debug_line) }
++  .debug_frame    0 : { *(.debug_frame) }
++  .debug_str      0 : { *(.debug_str) }
++  .debug_loc      0 : { *(.debug_loc) }
++  .debug_macinfo  0 : { *(.debug_macinfo) }
++}
++EOF
++
diff --git a/435-binutils-attiny841.patch b/435-binutils-attiny841.patch
new file mode 100644 (file)
index 0000000..93e12c7
--- /dev/null
@@ -0,0 +1,34 @@
+diff -Naurp binutils/size.c binutils/size.c
+--- binutils/size.c    2012-07-16 17:08:19.000000000 +0530
++++ binutils/size.c    2012-07-16 17:07:34.000000000 +0530
+@@ -346,6 +346,7 @@ avr_device_t avr[] =
+       {"atmega8u2",     AVR8K,   AVR512, AVR512},
+       {"attiny84",      AVR8K,   AVR512, AVR512},
+       {"attiny84a",     AVR8K,   AVR512, AVR512},
++      {"attiny841",     AVR8K,   AVR512, AVR512},     
+       {"attiny85",      AVR8K,   AVR512, AVR512},
+       {"attiny861",     AVR8K,   AVR512, AVR512},
+       {"attiny861a",    AVR8K,   AVR512, AVR512},
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-07-16 17:08:19.000000000 +0530
++++ gas/config/tc-avr.c        2012-07-16 17:07:34.000000000 +0530
+@@ -124,6 +124,7 @@ static struct mcu_type_s mcu_types[] =
+   {"attiny25",   AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny45",   AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny85",   AVR_ISA_AVR25,   bfd_mach_avr25},
++  {"attiny841",  AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny261",  AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny261a", AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny461",  AVR_ISA_AVR25,   bfd_mach_avr25},
+diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
+--- gas/doc/c-avr.texi 2012-07-16 17:08:19.000000000 +0530
++++ gas/doc/c-avr.texi 2012-07-16 17:07:34.000000000 +0530
+@@ -46,7 +46,7 @@ space plus the MOVW instruction (MCU typ
+ attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
+ attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
+ attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
+-attiny828, at86rf401, ata6289, ata5272).
++attiny828, attiny841, at86rf401, ata6289, ata5272).
+ Instruction set avr3 is for the classic AVR core with up to 128K program
+ memory space (MCU types: at43usb355, at76c711).
diff --git a/436-binutils-atxmega32_16_8e5.patch b/436-binutils-atxmega32_16_8e5.patch
new file mode 100644 (file)
index 0000000..7866b58
--- /dev/null
@@ -0,0 +1,38 @@
+diff -Naurp binutils/size.c binutils/size.c
+--- binutils/size.c    2012-10-16 17:02:14.000000000 +0530
++++ binutils/size.c    2012-10-16 17:01:47.000000000 +0530
+@@ -239,6 +239,9 @@ avr_device_t avr[] =
+       {"atxmega32a4u",  AVR36K,  AVR4K,  AVR1K},
+       {"atxmega32c4",   AVR36K,  AVR4K,  AVR1K},
+       {"atxmega32d4",   AVR36K,  AVR4K,  AVR1K},
++      {"atxmega32e5",   AVR36K,  AVR4K,  AVR1K},
++      {"atxmega16e5",   AVR20K,  AVR2K,  AVR512},
++      {"atxmega8e5",    AVR10K,  AVR1K,  AVR512},
+       {"at90can32",     AVR32K,  AVR2K,  AVR1K},
+       {"at94k",         AVR32K,  AVR4K,  0UL},
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-10-16 17:02:14.000000000 +0530
++++ gas/config/tc-avr.c        2012-10-16 17:01:47.000000000 +0530
+@@ -298,6 +298,9 @@ static struct mcu_type_s mcu_types[] =
+   {"atxmega32a4u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega2},
+   {"atxmega32c4", AVR_ISA_XMEGAU,  bfd_mach_avrxmega2},
+   {"atxmega32d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
++  {"atxmega32e5", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
++  {"atxmega16e5", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
++  {"atxmega8e5",  AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
+   {"atxmega32x1", AVR_ISA_XMEGA,  bfd_mach_avrxmega2},
+   {"atxmega64a3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
+   {"atxmega64a3u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega4},
+diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
+--- gas/doc/c-avr.texi 2012-10-16 17:02:14.000000000 +0530
++++ gas/doc/c-avr.texi 2012-10-16 17:01:47.000000000 +0530
+@@ -92,7 +92,7 @@ from 0x8000 (MCU types: ata5831)
+ Instruction set avrxmega2 is for the XMEGA AVR core with 8K to 64K program
+ memory space and less than 64K data space (MCU types: atxmega16a4, atxmega16a4u, atxmega16c4,
+-atxmega16d4, atxmega16x1, atxmega32a4, atxmega32a4u, ,atxmega32c4, atxmega32d4,
++atxmega16d4, atxmega16x1, atxmega32a4, atxmega32a4u, atxmega32c4, atxmega32d4, atxmega32e5, atxmega16e5, atxmega8e5,
+ atxmega32x1, atmxt224, atmxt224e, atmxt336s, atmxt112sl).
+ Instruction set avrxmega3 is for the XMEGA AVR core with 8K to 64K program
index 29a34f5547474435c607fa90789cc18536307892..20d51a930ed9c280a45e1d5a95508e14a980a8b8 100644 (file)
@@ -1,15 +1,15 @@
 diff -Naurp bfd/archures.c bfd/archures.c
---- bfd/archures.c     2011-11-29 15:45:57.000000000 +0530
-+++ bfd/archures.c     2011-11-29 17:31:00.000000000 +0530
-@@ -381,6 +381,7 @@ DESCRIPTION
- .#define bfd_mach_avr5                5
+--- bfd/archures.c     2012-07-16 17:08:19.000000000 +0530
++++ bfd/archures.c     2012-07-16 17:12:57.000000000 +0530
+@@ -382,6 +382,7 @@ DESCRIPTION
  .#define bfd_mach_avr51               51
  .#define bfd_mach_avr6                6
-+.#define bfd_mach_avrtiny10 100 
+ .#define bfd_mach_avr7                7
++.#define bfd_mach_avrtiny10 100
  .#define bfd_mach_avrxmega1 101
  .#define bfd_mach_avrxmega2 102
  .#define bfd_mach_avrxmega3 103
-@@ -388,7 +389,6 @@ DESCRIPTION
+@@ -389,7 +390,6 @@ DESCRIPTION
  .#define bfd_mach_avrxmega5 105
  .#define bfd_mach_avrxmega6 106
  .#define bfd_mach_avrxmega7 107
@@ -18,8 +18,8 @@ diff -Naurp bfd/archures.c bfd/archures.c
  .#define bfd_mach_bfin          1
  .  bfd_arch_cr16,       {* National Semiconductor CompactRISC (ie CR16). *}
 diff -Naurp bfd/bfd-in2.h bfd/bfd-in2.h
---- bfd/bfd-in2.h      2011-11-29 15:45:57.000000000 +0530
-+++ bfd/bfd-in2.h      2011-11-29 17:31:00.000000000 +0530
+--- bfd/bfd-in2.h      2012-07-16 17:08:19.000000000 +0530
++++ bfd/bfd-in2.h      2012-07-16 17:12:57.000000000 +0530
 @@ -2088,6 +2088,7 @@ enum bfd_architecture
  #define bfd_mach_avr5          5
  #define bfd_mach_avr51         51
@@ -37,41 +37,41 @@ diff -Naurp bfd/bfd-in2.h bfd/bfd-in2.h
  #define bfd_mach_bfin          1
    bfd_arch_cr16,       /* National Semiconductor CompactRISC (ie CR16). */
 diff -Naurp bfd/cpu-avr.c bfd/cpu-avr.c
---- bfd/cpu-avr.c      2011-11-29 15:45:57.000000000 +0530
-+++ bfd/cpu-avr.c      2011-11-29 17:31:00.000000000 +0530
-@@ -135,29 +135,29 @@ static const bfd_arch_info_type arch_inf
-   /* 3-Byte PC.  */
-   N (22, bfd_mach_avr6, "avr:6", FALSE, & arch_info_struct[10]),
+--- bfd/cpu-avr.c      2012-07-16 17:08:19.000000000 +0530
++++ bfd/cpu-avr.c      2012-07-16 17:12:57.000000000 +0530
+@@ -138,29 +138,29 @@ static const bfd_arch_info_type arch_inf
+   /* 20K flash. starts at 0x8000 */
+   N (16, bfd_mach_avr7, "avr:7", FALSE, & arch_info_struct[11]),
    
 +  /* attiny 10 */
-+  N (16, bfd_mach_avrtiny10, "avr:100", FALSE, & arch_info_struct[11]),
-+  
++  N (16, bfd_mach_avrtiny10, "avr:100", FALSE, & arch_info_struct[12]),
++
    /* Xmega 1 */
--  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[11]),
-+  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[12]),
+-  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[12]),
++  N (24, bfd_mach_avrxmega1, "avr:101", FALSE, & arch_info_struct[13]),
  
    /* Xmega 2 */
--  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[12]),
-+  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[13]),
+-  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[13]),
++  N (24, bfd_mach_avrxmega2, "avr:102", FALSE, & arch_info_struct[14]),
    
    /* Xmega 3 */
--  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[13]),
-+  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[14]),
+-  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[14]),
++  N (24, bfd_mach_avrxmega3, "avr:103", FALSE, & arch_info_struct[15]),
    
    /* Xmega 4 */
--  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[14]),
-+  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[15]),
+-  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[15]),
++  N (24, bfd_mach_avrxmega4, "avr:104", FALSE, & arch_info_struct[16]),
    
    /* Xmega 5 */
--  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[15]),
-+  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[16]),
+-  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[16]),
++  N (24, bfd_mach_avrxmega5, "avr:105", FALSE, & arch_info_struct[17]),
    
    /* Xmega 6 */
--  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[16]),
-+  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[17]),
+-  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[17]),
++  N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[18]),
    
    /* Xmega 7 */
--  N (24, bfd_mach_avrxmega7, "avr:107", FALSE, & arch_info_struct[17]),
+-  N (24, bfd_mach_avrxmega7, "avr:107", FALSE, & arch_info_struct[18]),
 -  
 -  /* attiny 10 */
 -  N (16, bfd_mach_avrtiny10, "avr:201", FALSE, NULL)
@@ -80,17 +80,19 @@ diff -Naurp bfd/cpu-avr.c bfd/cpu-avr.c
  };
  
 diff -Naurp include/elf/avr.h include/elf/avr.h
---- include/elf/avr.h  2011-11-29 15:45:58.000000000 +0530
-+++ include/elf/avr.h  2011-11-29 17:31:00.000000000 +0530
-@@ -40,6 +40,7 @@
+--- include/elf/avr.h  2012-07-16 17:08:19.000000000 +0530
++++ include/elf/avr.h  2012-07-16 17:12:57.000000000 +0530
+@@ -40,7 +40,8 @@
  #define E_AVR_MACH_AVR5 5
  #define E_AVR_MACH_AVR51 51
  #define E_AVR_MACH_AVR6 6 
-+#define E_AVR_MACH_AVRTINY10 100
+-#define E_AVR_MACH_AVR7 7 
++#define E_AVR_MACH_AVR7 7
++#define E_AVR_MACH_AVRTINY10 100 
  #define E_AVR_MACH_XMEGA1 101
  #define E_AVR_MACH_XMEGA2 102
  #define E_AVR_MACH_XMEGA3 103
-@@ -47,7 +48,6 @@
+@@ -48,7 +49,6 @@
  #define E_AVR_MACH_XMEGA5 105
  #define E_AVR_MACH_XMEGA6 106
  #define E_AVR_MACH_XMEGA7 107
@@ -99,8 +101,8 @@ diff -Naurp include/elf/avr.h include/elf/avr.h
  /* Relocations.  */
  START_RELOC_NUMBERS (elf_avr_reloc_type)
 diff -Naurp ld/emulparams/avrtiny10.sh ld/emulparams/avrtiny10.sh
---- ld/emulparams/avrtiny10.sh 2011-11-29 15:45:58.000000000 +0530
-+++ ld/emulparams/avrtiny10.sh 2011-11-29 17:31:00.000000000 +0530
+--- ld/emulparams/avrtiny10.sh 2012-07-16 17:08:19.000000000 +0530
++++ ld/emulparams/avrtiny10.sh 2012-07-16 17:12:57.000000000 +0530
 @@ -1,12 +1,13 @@
 -ARCH=avr:201
 +ARCH=avr:100
@@ -120,9 +122,9 @@ diff -Naurp ld/emulparams/avrtiny10.sh ld/emulparams/avrtiny10.sh
 +DATA_LENGTH=0x100
  EXTRA_EM_FILE=avrelf
 diff -Naurp ld/Makefile.am ld/Makefile.am
---- ld/Makefile.am     2011-11-29 15:45:58.000000000 +0530
-+++ ld/Makefile.am     2011-11-29 17:31:00.000000000 +0530
-@@ -820,7 +820,7 @@ eavrxmega7.c: $(srcdir)/emulparams/avrxm
+--- ld/Makefile.am     2012-07-16 17:08:19.000000000 +0530
++++ ld/Makefile.am     2012-07-16 17:12:57.000000000 +0530
+@@ -825,7 +825,7 @@ eavrxmega7.c: $(srcdir)/emulparams/avrxm
    ${GEN_DEPENDS}
        ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
  eavrtiny10.c: $(srcdir)/emulparams/avrtiny10.sh \
@@ -133,7 +135,7 @@ diff -Naurp ld/Makefile.am ld/Makefile.am
  ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
 diff -Naurp ld/scripttempl/avrtiny10.sc ld/scripttempl/avrtiny10.sc
 --- ld/scripttempl/avrtiny10.sc        1970-01-01 05:30:00.000000000 +0530
-+++ ld/scripttempl/avrtiny10.sc        2011-11-29 17:31:00.000000000 +0530
++++ ld/scripttempl/avrtiny10.sc        2012-07-16 17:12:57.000000000 +0530
 @@ -0,0 +1,240 @@
 +cat <<EOF
 +OUTPUT_FORMAT("${OUTPUT_FORMAT}","${OUTPUT_FORMAT}","${OUTPUT_FORMAT}")
index bd88d99b488b627c6ef3b707199e32e2917d7cc2..2f02310d44cf86ce630a8ed13a982898c9f9a917 100644 (file)
@@ -1,7 +1,7 @@
 diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
---- gas/config/tc-avr.c        2012-03-30 19:35:59.000000000 +0530
-+++ gas/config/tc-avr.c        2012-03-30 19:36:31.000000000 +0530
-@@ -306,7 +306,7 @@ static struct mcu_type_s mcu_types[] =
+--- gas/config/tc-avr.c        2012-07-16 17:11:12.000000000 +0530
++++ gas/config/tc-avr.c        2012-07-16 17:29:16.000000000 +0530
+@@ -311,7 +311,7 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega64d3", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64d4", AVR_ISA_XMEGA,  bfd_mach_avrxmega4},
    {"atxmega64a1", AVR_ISA_XMEGA,  bfd_mach_avrxmega5},
@@ -9,8 +9,8 @@ diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
 +  {"atxmega64a1u",AVR_ISA_XMEGAU,  bfd_mach_avrxmega5},
    {"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega128a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
-   {"atxmega128b1", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
-@@ -321,13 +321,13 @@ static struct mcu_type_s mcu_types[] =
+   {"atxmega128b1", AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
+@@ -328,13 +328,13 @@ static struct mcu_type_s mcu_types[] =
    {"atxmega256a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
    {"atxmega256a3u",AVR_ISA_XMEGAU, bfd_mach_avrxmega6},
    {"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
index 7c9661ab571097fb67fbf8e703cf1db77f467e7a..b42cf3c86b9dc58c2b649e62b79b315879f5115f 100644 (file)
@@ -1,5 +1,6 @@
---- bfd/elf32-avr.c    2012-04-19 14:45:03.000000000 +0530
-+++ bfd/elf32-avr.c    2012-04-19 12:04:04.000000000 +0530
+diff -Naurp bfd/elf32-avr.c bfd/elf32-avr.c
+--- bfd/elf32-avr.c    2012-07-20 18:32:17.000000000 +0530
++++ bfd/elf32-avr.c    2012-07-20 18:31:38.000000000 +0530
 @@ -516,6 +516,21 @@ static reloc_howto_type elf_avr_howto_ta
         0x000000ff,            /* src_mask */
         0x000000ff,            /* dst_mask */
@@ -50,8 +51,9 @@
      case R_AVR_16_PM:
        use_stubs = (!htab->no_stubs);
        contents += rel->r_offset;
+diff -Naurp bfd/reloc.c bfd/reloc.c
 --- bfd/reloc.c        2011-07-24 19:50:06.000000000 +0530
-+++ bfd/reloc.c        2012-04-19 14:40:17.000000000 +0530
++++ bfd/reloc.c        2012-07-20 18:31:38.000000000 +0530
 @@ -4314,6 +4314,11 @@ ENUM
  ENUMDOC
    This is a 6 bit reloc for the AVR that stores offset for adiw/sbiw
  
  ENUM
    BFD_RELOC_RX_NEG8
---- gas/config/tc-avr.c        2012-04-19 14:45:03.000000000 +0530
-+++ gas/config/tc-avr.c        2012-04-19 12:04:04.000000000 +0530
-@@ -870,17 +870,12 @@ avr_operand (struct avr_opcodes_s *opcod
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-07-20 18:33:14.000000000 +0530
++++ gas/config/tc-avr.c        2012-07-20 18:31:38.000000000 +0530
+@@ -879,17 +879,12 @@ avr_operand (struct avr_opcodes_s *opcod
          op_mask = avr_get_constant (str, 31);
          str = input_line_pointer;
        }
@@ -90,7 +93,7 @@
  
        if (op_mask <= 31)
        {
-@@ -1020,6 +1015,12 @@ avr_operand (struct avr_opcodes_s *opcod
+@@ -1029,6 +1024,12 @@ avr_operand (struct avr_opcodes_s *opcod
                   &op_expr, FALSE, BFD_RELOC_16);
        break;
  
      case 'M':
        {
        bfd_reloc_code_real_type r_type;
-@@ -1328,6 +1329,16 @@ md_apply_fix (fixS *fixP, valueT * valP,
+@@ -1337,6 +1338,16 @@ md_apply_fix (fixS *fixP, valueT * valP,
          bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value), where);
          break;
  
 +        case BFD_RELOC_AVR_7_LDS16:
 +          if ((value < 0x40) || (value > 0xBF))
-+            as_bad_where (fixP->fx_file, fixP->fx_line,
++            as_warn_where (fixP->fx_file, fixP->fx_line,
 +                          _("operand out of range: 0x%lx"), (unsigned long)value);   
 +          insn |= value & 0xF;
 +          insn |= (value & 0x30) << 5;
        case BFD_RELOC_AVR_6:
          if ((value > 63) || (value < 0))
            as_bad_where (fixP->fx_file, fixP->fx_line,
-@@ -1513,7 +1524,18 @@ md_assemble (char *str)
+@@ -1522,7 +1533,18 @@ md_assemble (char *str)
    if (!op[0])
      as_bad (_("can't find opcode "));
  
  
    if (opcode == NULL)
      {
---- include/elf/avr.h  2012-04-19 14:45:03.000000000 +0530
-+++ include/elf/avr.h  2012-04-19 12:04:04.000000000 +0530
-@@ -78,6 +78,7 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
+diff -Naurp include/elf/avr.h include/elf/avr.h
+--- include/elf/avr.h  2012-07-20 18:33:00.000000000 +0530
++++ include/elf/avr.h  2012-07-20 18:31:38.000000000 +0530
+@@ -79,6 +79,7 @@ START_RELOC_NUMBERS (elf_avr_reloc_type)
       RELOC_NUMBER (R_AVR_LO8_LDI_GS,         24)
       RELOC_NUMBER (R_AVR_HI8_LDI_GS,         25)
       RELOC_NUMBER (R_AVR_8,                  26)
  END_RELOC_NUMBERS (R_AVR_max)
  
  #endif /* _ELF_AVR_H */
---- include/opcode/avr.h       2012-04-19 14:45:03.000000000 +0530
-+++ include/opcode/avr.h       2012-04-19 12:04:04.000000000 +0530
+diff -Naurp include/opcode/avr.h include/opcode/avr.h
+--- include/opcode/avr.h       2012-07-20 18:32:17.000000000 +0530
++++ include/opcode/avr.h       2012-07-20 18:31:38.000000000 +0530
 @@ -22,6 +22,7 @@
  #define AVR_ISA_LPM   0x0002 /* device has LPM */
  #define AVR_ISA_LPMX  0x0004 /* device has LPM Rd,Z[+] */
  #define AVR_ISA_MEGA  0x0020 /* device has >8K program memory (JMP and CALL
                                supported, no 8K wrap on RJMP and RCALL) */
  #define AVR_ISA_MUL   0x0040 /* device has new core (MUL, FMUL, ...) */
-@@ -72,7 +73,7 @@
-                         AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
                        AVR_ISA_BRK | AVR_ISA_EIND | AVR_ISA_MOVW)
+@@ -74,7 +75,7 @@
#define AVR_ISA_AVR7   (AVR_ISA_M8 | AVR_ISA_MEGA | AVR_ISA_BRK )
  
 -#define AVR_ISA_AVRTINY10 (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM)
 +#define AVR_ISA_AVRTINY10 (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM | AVR_ISA_TINY)
  
  #define REGISTER_P(x) ((x) == 'r'             \
                       || (x) == 'd'            \
-@@ -279,6 +280,8 @@ AVR_INSN (fmulsu,"a,a","000000111ddd1rrr
+@@ -281,6 +282,8 @@ AVR_INSN (fmulsu,"a,a","000000111ddd1rrr
  
  AVR_INSN (sts,  "i,r", "1001001ddddd0000", 2, AVR_ISA_SRAM, 0x9200)
  AVR_INSN (lds,  "r,i", "1001000ddddd0000", 2, AVR_ISA_SRAM, 0x9000)
  
  AVR_INSN (xch,  "z,r", "1001001rrrrr0100", 1, AVR_ISA_XMEGAU, 0x9204)
  AVR_INSN (las,  "z,r", "1001001rrrrr0101", 1, AVR_ISA_XMEGAU, 0x9205)
+diff -Naurp opcodes/avr-dis.c opcodes/avr-dis.c
 --- opcodes/avr-dis.c  2011-07-01 21:41:27.000000000 +0530
-+++ opcodes/avr-dis.c  2012-04-19 12:04:04.000000000 +0530
++++ opcodes/avr-dis.c  2012-07-20 18:31:38.000000000 +0530
 @@ -187,7 +187,15 @@ avr_operand (unsigned int insn, unsigned
      case 'i':
        sprintf (buf, "0x%04X", insn2);
diff --git a/504-binutils-avrtc530-backported.patch b/504-binutils-avrtc530-backported.patch
new file mode 100644 (file)
index 0000000..138c5a4
--- /dev/null
@@ -0,0 +1,24 @@
+diff -Naurp ld/scripttempl/avr.sc ld/scripttempl/avr.sc
+--- ld/scripttempl/avr.sc      2011-03-22 01:37:42.000000000 +0530
++++ ld/scripttempl/avr.sc      2012-07-24 12:13:29.000000000 +0530
+@@ -161,7 +161,10 @@ SECTIONS
+   .data       ${RELOCATING-0} : ${RELOCATING+AT (ADDR (.text) + SIZEOF (.text))}
+   {
+     ${RELOCATING+ PROVIDE (__data_start = .) ; }
+-    *(.data)
++    /* --gc-sections will delete empty .data. This leads to wrong start
++       addresses for subsequent sections because -Tdata= from the command
++       line will have no effect, see PR13697.  Thus, keep .data  */
++    KEEP (*(.data))
+     *(.data*)
+     *(.rodata)  /* We need to include .rodata here if gcc is used */
+     *(.rodata*) /* with -fdata-sections.  */
+@@ -195,7 +198,7 @@ SECTIONS
+   .eeprom ${RELOCATING-0}:
+   {
+-    *(.eeprom*)
++    KEEP(*(.eeprom*))
+     ${RELOCATING+ __eeprom_end = . ; }
+   } ${RELOCATING+ > eeprom}
diff --git a/505-binutils-avrtc446.patch b/505-binutils-avrtc446.patch
new file mode 100644 (file)
index 0000000..2f74476
--- /dev/null
@@ -0,0 +1,40 @@
+diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
+--- gas/config/tc-avr.c        2012-10-25 12:02:42.000000000 +0530
++++ gas/config/tc-avr.c        2012-10-25 12:41:44.000000000 +0530
+@@ -137,7 +137,6 @@ static struct mcu_type_s mcu_types[] =
+   {"attiny88",   AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"attiny828",  AVR_ISA_AVR25,   bfd_mach_avr25}, 
+   {"at86rf401",  AVR_ISA_RF401,   bfd_mach_avr25},
+-  {"ata6289",    AVR_ISA_AVR25,   bfd_mach_avr25},
+   {"at43usb355", AVR_ISA_AVR3,    bfd_mach_avr3},
+   {"at76c711",   AVR_ISA_AVR3,    bfd_mach_avr3},
+   {"atmega103",  AVR_ISA_AVR31,   bfd_mach_avr31},
+@@ -154,6 +153,7 @@ static struct mcu_type_s mcu_types[] =
+   {"atmega8a",   AVR_ISA_M8,      bfd_mach_avr4},
+   {"ata6285",    AVR_ISA_AVR4,    bfd_mach_avr4},
+   {"ata6286",    AVR_ISA_AVR4,    bfd_mach_avr4},
++  {"ata6289",    AVR_ISA_AVR4,    bfd_mach_avr4},
+   {"atmega48",   AVR_ISA_AVR4,    bfd_mach_avr4},
+   {"atmega48a",  AVR_ISA_AVR4,    bfd_mach_avr4},
+   {"atmega48pa", AVR_ISA_AVR4,    bfd_mach_avr4},
+diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
+--- gas/doc/c-avr.texi 2012-10-25 12:02:42.000000000 +0530
++++ gas/doc/c-avr.texi 2012-10-25 13:04:59.000000000 +0530
+@@ -46,7 +46,7 @@ space plus the MOVW instruction (MCU typ
+ attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
+ attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
+ attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
+-attiny828, attiny841, at86rf401, ata6289, ata5272).
++attiny828, attiny841, at86rf401, ata5272).
+ Instruction set avr3 is for the classic AVR core with up to 128K program
+ memory space (MCU types: at43usb355, at76c711).
+@@ -61,7 +61,7 @@ atmega8u2, atmega16u2, atmega32u2, ata55
+ Instruction set avr4 is for the enhanced AVR core with up to 8K program
+ memory space (MCU types: atmega48, atmega48a, atmega48pa, atmega48p, atmega8, atmega8a
+ atmega88, atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva,
+-at90pwm1, at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81, ata6285, ata6286).
++at90pwm1, at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81, ata6285, ata6286, ata6289).
+ Instruction set avr5 is for the enhanced AVR core with up to 128K program
+ memory space (MCU types: at90pwm161, atmega16, atmega16a, atmega161, atmega162,
index 36fe6d757304ca48e1574820c6376fdeae68143f..adbe48a5a359eeab77ccdbef31f0043267317167 100644 (file)
@@ -6,9 +6,9 @@ Summary(pt_BR.UTF-8):   Utilitários para desenvolvimento de binários da GNU - AV
 Summary(tr.UTF-8):     GNU geliştirme araçları - AVR binutils
 Name:          crossavr-binutils
 Version:       2.22
-Release:       1
+Release:       2
 Epoch:         1
-# Patches 1xx are taken form Atmel official AVR8-GNU toolchain version 3.4.0.633
+# Patches 1xx are taken form Atmel official AVR8-GNU toolchain version 3.4.1.830
 Patch100:      300-binutils-avr-size.patch
 Patch101:      301-binutils-avr-coff.patch
 Patch102:      302-binutils-as-dwarf.patch
@@ -28,32 +28,37 @@ Patch115:   407-binutils-atxmega64_128_192_256a3u.patch
 Patch116:      408-binutils-atmegarfr2_a2.patch
 Patch117:      409-binutils-atmega165pa.patch
 Patch118:      410-binutils-atxmega384c3.patch
-Patch119:      411-binutils-attiny80.patch
-Patch120:      412-binutils-atxmega128a4u.patch
-Patch121:      413-binutils-atxmega64d4.patch
-Patch122:      414-binutils-atmega164pa_168pa_32a_64a.patch
-Patch123:      415-binutils-atxmega64_128_b3.patch
-Patch124:      416-binutils-atxmega64b1.patch
-Patch125:      417-binutils-atmega_8a_128a_1284.patch
-Patch126:      418-binutils-atxmega64a4u.patch
-Patch127:      419-binutils-atxmega128d4.patch
-Patch128:      420-binutils-atmxt336s.patch
-Patch129:      421-binutils-atxmega16c4_32c4_128c3_256c3.patch
-Patch130:      422-binutils-atxmega384d3.patch
-Patch131:      423-binutils-atmega48hvf.patch
-Patch132:      424-binutils-atmega26hvg.patch
-Patch133:      425-binutils-atmxt224_224e.patch
-Patch134:      426-binutils-atxmega192c3.patch
-Patch135:      427-binutils-atmxt112sl.patch
-Patch136:      428-binutils-atxmega64c3.patch
-Patch137:      429-binutils-ata6285_6286.patch
-Patch138:      430-binutils-attiny828.patch
-Patch139:      431-binutils-ata5790_5790N_5795.patch
-Patch140:      432-binutils-ata5272_5505.patch
-Patch141:      500-binutils-bug13789.patch
-Patch142:      501-binutils-modify-usb-xmega-isa.patch
-Patch143:      502-binutils-add-config-section-tiny.patch
-Patch144:      503-binutils-avrtc193-tiny.patch
+Patch119:      412-binutils-atxmega128a4u.patch
+Patch120:      413-binutils-atxmega64d4.patch
+Patch121:      414-binutils-atmega164pa_168pa_32a_64a.patch
+Patch122:      415-binutils-atxmega64_128_b3.patch
+Patch123:      416-binutils-atxmega64b1.patch
+Patch124:      417-binutils-atmega_8a_128a_1284.patch
+Patch125:      418-binutils-atxmega64a4u.patch
+Patch126:      419-binutils-atxmega128d4.patch
+Patch127:      420-binutils-atmxt336s.patch
+Patch128:      421-binutils-atxmega16c4_32c4_128c3_256c3.patch
+Patch129:      422-binutils-atxmega384d3.patch
+Patch130:      423-binutils-atmega48hvf.patch
+Patch131:      424-binutils-atmega26hvg.patch
+Patch132:      425-binutils-atmxt224_224e.patch
+Patch133:      426-binutils-atxmega192c3.patch
+Patch134:      427-binutils-atmxt112sl.patch
+Patch135:      428-binutils-atxmega64c3.patch
+Patch136:      429-binutils-ata6285_6286.patch
+Patch137:      430-binutils-attiny828.patch
+Patch138:      431-binutils-ata5790_5790N_5795.patch
+Patch139:      432-binutils-ata5272_5505.patch
+Patch140:      433-binutils-atmxt540s.patch
+Patch141:      434-binutils-ata5831.patch
+Patch142:      435-binutils-attiny841.patch
+Patch143:      436-binutils-atxmega32_16_8e5.patch
+Patch144:      500-binutils-bug13789.patch
+Patch145:      501-binutils-modify-usb-xmega-isa.patch
+Patch146:      502-binutils-add-config-section-tiny.patch
+Patch147:      503-binutils-avrtc193-tiny.patch
+Patch148:      504-binutils-avrtc530-backported.patch
+Patch149:      505-binutils-avrtc446.patch
 License:       GPL
 Group:         Development/Tools
 Source0:       ftp://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2
@@ -146,9 +151,25 @@ Ten pakiet zawiera wersję skrośną generującą kod dla Atmel AVR.
 %patch142 -p0
 %patch143 -p0
 %patch144 -p0
+%patch145 -p0
+%patch146 -p0
+%patch147 -p0
+%patch148 -p0
+%patch149 -p0
+
+# Remove hacks for specific autoconf version.
+echo > config/override.m4
 
 %build
-cp /usr/share/automake/config.sub .
+%{__aclocal}
+%{__autoconf}
+for subdir in bfd binutils ld; do
+       cd $subdir
+       %{__aclocal} -I.. -I../bfd -I../config
+       %{__automake}
+       %{__autoconf}
+       cd -
+done
 
 # ldscripts won't be generated properly if SHELL is not bash...
 CFLAGS="%{rpmcflags}" \
This page took 0.19521 seconds and 4 git commands to generate.