[packages/crossavr-binutils] - synchronized patches with official AVR toolchain 3.4.1.830
kosmo
kosmo at pld-linux.org
Fri Jan 18 22:07:49 CET 2013
commit fbe885ec910a853fb522137a5f563b68b4c59077
Author: Piotr Ziecik <kosmo at angel.net.pl>
Date: Fri Jan 18 22:06:39 2013 +0100
- synchronized patches with official AVR toolchain 3.4.1.830
400-binutils-xmega.patch | 29 +-
407-binutils-atxmega64_128_192_256a3u.patch | 14 +-
411-binutils-attiny80.patch | 34 --
412-binutils-atxmega128a4u.patch | 2 +-
413-binutils-atxmega64d4.patch | 2 +-
414-binutils-atmega164pa_168pa_32a_64a.patch | 6 +-
415-binutils-atxmega64_128_b3.patch | 22 +-
416-binutils-atxmega64b1.patch | 18 +-
417-binutils-atmega_8a_128a_1284.patch | 4 +-
418-binutils-atxmega64a4u.patch | 18 +-
419-binutils-atxmega128d4.patch | 18 +-
420-binutils-atmxt336s.patch | 2 +-
421-binutils-atxmega16c4_32c4_128c3_256c3.patch | 22 +-
422-binutils-atxmega384d3.patch | 2 +-
423-binutils-atmega48hvf.patch | 2 +-
424-binutils-atmega26hvg.patch | 2 +-
425-binutils-atmxt224_224e.patch | 2 +-
426-binutils-atxmega192c3.patch | 16 +-
427-binutils-atmxt112sl.patch | 2 +-
428-binutils-atxmega64c3.patch | 20 +-
429-binutils-ata6285_6286.patch | 2 +-
430-binutils-attiny828.patch | 24 +-
431-binutils-ata5790_5790N_5795.patch | 2 +-
432-binutils-ata5272_5505.patch | 6 +-
433-binutils-atmxt540s.patch | 50 +++
434-binutils-ata5831.patch | 463 ++++++++++++++++++++++++
435-binutils-attiny841.patch | 34 ++
436-binutils-atxmega32_16_8e5.patch | 38 ++
500-binutils-bug13789.patch | 80 ++--
501-binutils-modify-usb-xmega-isa.patch | 10 +-
503-binutils-avrtc193-tiny.patch | 46 ++-
504-binutils-avrtc530-backported.patch | 24 ++
505-binutils-avrtc446.patch | 40 ++
crossavr-binutils.spec | 79 ++--
34 files changed, 894 insertions(+), 241 deletions(-)
---
diff --git a/crossavr-binutils.spec b/crossavr-binutils.spec
index 36fe6d7..adbe48a 100644
--- a/crossavr-binutils.spec
+++ b/crossavr-binutils.spec
@@ -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}" \
diff --git a/400-binutils-xmega.patch b/400-binutils-xmega.patch
index 8f72370..8c86b7a 100644
--- a/400-binutils-xmega.patch
+++ b/400-binutils-xmega.patch
@@ -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 \
diff --git a/407-binutils-atxmega64_128_192_256a3u.patch b/407-binutils-atxmega64_128_192_256a3u.patch
index ec062de..6937975 100644
--- a/407-binutils-atxmega64_128_192_256a3u.patch
+++ b/407-binutils-atxmega64_128_192_256a3u.patch
@@ -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
index ae80368..0000000
--- a/411-binutils-attiny80.patch
+++ /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).
diff --git a/412-binutils-atxmega128a4u.patch b/412-binutils-atxmega128a4u.patch
index 54f474e..2cc4bb7 100644
--- a/412-binutils-atxmega128a4u.patch
+++ b/412-binutils-atxmega128a4u.patch
@@ -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},
diff --git a/413-binutils-atxmega64d4.patch b/413-binutils-atxmega64d4.patch
index ea0e162..c9972a3 100644
--- a/413-binutils-atxmega64d4.patch
+++ b/413-binutils-atxmega64d4.patch
@@ -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},
diff --git a/414-binutils-atmega164pa_168pa_32a_64a.patch b/414-binutils-atmega164pa_168pa_32a_64a.patch
index f9d7ecb..f695b88 100644
--- a/414-binutils-atmega164pa_168pa_32a_64a.patch
+++ b/414-binutils-atmega164pa_168pa_32a_64a.patch
@@ -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},
diff --git a/415-binutils-atxmega64_128_b3.patch b/415-binutils-atxmega64_128_b3.patch
index 93db106..cf7ff99 100644
--- a/415-binutils-atxmega64_128_b3.patch
+++ b/415-binutils-atxmega64_128_b3.patch
@@ -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
diff --git a/416-binutils-atxmega64b1.patch b/416-binutils-atxmega64b1.patch
index 09ee9ec..251ae87 100644
--- a/416-binutils-atxmega64b1.patch
+++ b/416-binutils-atxmega64b1.patch
@@ -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
diff --git a/417-binutils-atmega_8a_128a_1284.patch b/417-binutils-atmega_8a_128a_1284.patch
index 6699131..4260b3c 100644
--- a/417-binutils-atmega_8a_128a_1284.patch
+++ b/417-binutils-atmega_8a_128a_1284.patch
@@ -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},
diff --git a/418-binutils-atxmega64a4u.patch b/418-binutils-atxmega64a4u.patch
index 8ba4a13..08dd483 100644
--- a/418-binutils-atxmega64a4u.patch
+++ b/418-binutils-atxmega64a4u.patch
@@ -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
diff --git a/419-binutils-atxmega128d4.patch b/419-binutils-atxmega128d4.patch
index 2ba7043..e4357c9 100644
--- a/419-binutils-atxmega128d4.patch
+++ b/419-binutils-atxmega128d4.patch
@@ -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
diff --git a/420-binutils-atmxt336s.patch b/420-binutils-atmxt336s.patch
index 21abb68..dfa6176 100644
--- a/420-binutils-atmxt336s.patch
+++ b/420-binutils-atmxt336s.patch
@@ -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},
diff --git a/421-binutils-atxmega16c4_32c4_128c3_256c3.patch b/421-binutils-atxmega16c4_32c4_128c3_256c3.patch
index da36513..519511b 100644
--- a/421-binutils-atxmega16c4_32c4_128c3_256c3.patch
+++ b/421-binutils-atxmega16c4_32c4_128c3_256c3.patch
@@ -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).
diff --git a/422-binutils-atxmega384d3.patch b/422-binutils-atxmega384d3.patch
index 6c0d049..94a0c4f 100644
--- a/422-binutils-atxmega384d3.patch
+++ b/422-binutils-atxmega384d3.patch
@@ -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},
diff --git a/423-binutils-atmega48hvf.patch b/423-binutils-atmega48hvf.patch
index 9328887..3352879 100644
--- a/423-binutils-atmega48hvf.patch
+++ b/423-binutils-atmega48hvf.patch
@@ -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},
diff --git a/424-binutils-atmega26hvg.patch b/424-binutils-atmega26hvg.patch
index fa61f9a..5bffc8f 100644
--- a/424-binutils-atmega26hvg.patch
+++ b/424-binutils-atmega26hvg.patch
@@ -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},
diff --git a/425-binutils-atmxt224_224e.patch b/425-binutils-atmxt224_224e.patch
index 9c74659..435a34d 100644
--- a/425-binutils-atmxt224_224e.patch
+++ b/425-binutils-atmxt224_224e.patch
@@ -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},
diff --git a/426-binutils-atxmega192c3.patch b/426-binutils-atxmega192c3.patch
index 7cca678..ed93d18 100644
--- a/426-binutils-atxmega192c3.patch
+++ b/426-binutils-atxmega192c3.patch
@@ -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,
diff --git a/427-binutils-atmxt112sl.patch b/427-binutils-atmxt112sl.patch
index ca0dfcd..44be7a0 100644
--- a/427-binutils-atmxt112sl.patch
+++ b/427-binutils-atmxt112sl.patch
@@ -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},
diff --git a/428-binutils-atxmega64c3.patch b/428-binutils-atxmega64c3.patch
index 18cd1af..83788d3 100644
--- a/428-binutils-atxmega64c3.patch
+++ b/428-binutils-atxmega64c3.patch
@@ -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
diff --git a/429-binutils-ata6285_6286.patch b/429-binutils-ata6285_6286.patch
index 1bc67ba..3235ada 100644
--- a/429-binutils-ata6285_6286.patch
+++ b/429-binutils-ata6285_6286.patch
@@ -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},
diff --git a/430-binutils-attiny828.patch b/430-binutils-attiny828.patch
index c7d443b..de8cd1d 100644
--- a/430-binutils-attiny828.patch
+++ b/430-binutils-attiny828.patch
@@ -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).
diff --git a/431-binutils-ata5790_5790N_5795.patch b/431-binutils-ata5790_5790N_5795.patch
index 794a4c8..755253e 100644
--- a/431-binutils-ata5790_5790N_5795.patch
+++ b/431-binutils-ata5790_5790N_5795.patch
@@ -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},
diff --git a/432-binutils-ata5272_5505.patch b/432-binutils-ata5272_5505.patch
index 015a830..0b42dae 100644
--- a/432-binutils-ata5272_5505.patch
+++ b/432-binutils-ata5272_5505.patch
@@ -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
index 0000000..d231b3b
--- /dev/null
+++ b/433-binutils-atmxt540s.patch
@@ -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
index 0000000..2816532
--- /dev/null
+++ b/434-binutils-ata5831.patch
@@ -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
index 0000000..93e12c7
--- /dev/null
+++ b/435-binutils-attiny841.patch
@@ -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
index 0000000..7866b58
--- /dev/null
+++ b/436-binutils-atxmega32_16_8e5.patch
@@ -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
diff --git a/500-binutils-bug13789.patch b/500-binutils-bug13789.patch
index 29a34f5..20d51a9 100644
--- a/500-binutils-bug13789.patch
+++ b/500-binutils-bug13789.patch
@@ -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}")
diff --git a/501-binutils-modify-usb-xmega-isa.patch b/501-binutils-modify-usb-xmega-isa.patch
index bd88d99..2f02310 100644
--- a/501-binutils-modify-usb-xmega-isa.patch
+++ b/501-binutils-modify-usb-xmega-isa.patch
@@ -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},
diff --git a/503-binutils-avrtc193-tiny.patch b/503-binutils-avrtc193-tiny.patch
index 7c9661a..b42cf3c 100644
--- a/503-binutils-avrtc193-tiny.patch
+++ b/503-binutils-avrtc193-tiny.patch
@@ -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
@@ -64,9 +66,10 @@
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;
@@ -103,13 +106,13 @@
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;
@@ -120,7 +123,7 @@
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 "));
@@ -140,9 +143,10 @@
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)
@@ -150,8 +154,9 @@
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[+] */
@@ -160,16 +165,16 @@
#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)
@@ -178,8 +183,9 @@
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
index 0000000..138c5a4
--- /dev/null
+++ b/504-binutils-avrtc530-backported.patch
@@ -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
index 0000000..2f74476
--- /dev/null
+++ b/505-binutils-avrtc446.patch
@@ -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,
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/crossavr-binutils.git/commitdiff/fbe885ec910a853fb522137a5f563b68b4c59077
More information about the pld-cvs-commit
mailing list