Upgrade to binutils 2.20.1.
Completely reorganize the patches for this port. Patches for new devices are now synchronized with the Atmel AVR tools. The main difference is the naming scheme, as FreeBSD patches start with "patch-", while the Atmel AVR Tools patches end up in ".patch".
This commit is contained in:
parent
d5b5f0adea
commit
148819d89b
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=287512
24 changed files with 1479 additions and 362 deletions
|
@ -6,8 +6,7 @@
|
|||
#
|
||||
|
||||
PORTNAME= binutils
|
||||
PORTVERSION= 2.20
|
||||
PORTREVISION= 2
|
||||
PORTVERSION= 2.20.1
|
||||
CATEGORIES= devel
|
||||
MASTER_SITES= ${MASTER_SITE_SOURCEWARE}
|
||||
MASTER_SITE_SUBDIR= binutils/releases
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
SHA256 (binutils-2.20.tar.bz2) = e1df09f0aa3b50154ef93bfefe86d65d01c22cfb44d73299ad95e772133a75b0
|
||||
SIZE (binutils-2.20.tar.bz2) = 17506655
|
||||
SHA256 (binutils-2.20.1.tar.bz2) = 228b84722d87e88e7fdd36869e590e649ab523a0800a7d53df906498afe6f6f8
|
||||
SIZE (binutils-2.20.1.tar.bz2) = 17501436
|
||||
|
|
|
@ -47,7 +47,7 @@ AVR specific only
|
|||
static int show_version = 0;
|
||||
static int show_help = 0;
|
||||
static int show_totals = 0;
|
||||
@@ -64,6 +84,238 @@ static bfd_size_type total_textsize;
|
||||
@@ -64,6 +84,246 @@ static bfd_size_type total_textsize;
|
||||
/* Program exit status. */
|
||||
static int return_code = 0;
|
||||
|
||||
|
@ -97,6 +97,7 @@ AVR specific only
|
|||
+ {"atxmega192d3", AVR200K, AVR16K, AVR2K},
|
||||
+
|
||||
+ {"atxmega128a1", AVR136K, AVR8K, AVR2K},
|
||||
+ {"atxmega128a1u", AVR136K, AVR8K, AVR2K},
|
||||
+ {"atxmega128a3", AVR136K, AVR8K, AVR2K},
|
||||
+ {"atxmega128d3", AVR136K, AVR8K, AVR2K},
|
||||
+
|
||||
|
@ -112,6 +113,7 @@ AVR specific only
|
|||
+ {"atmega103", AVR128K, 4000UL, AVR4K},
|
||||
+
|
||||
+ {"atxmega64a1", AVR68K, AVR4K, AVR2K},
|
||||
+ {"atxmega64a1u", AVR68K, AVR4K, AVR2K},
|
||||
+ {"atxmega64a3", AVR68K, AVR4K, AVR2K},
|
||||
+ {"atxmega64d3", AVR68K, AVR4K, AVR2K},
|
||||
+
|
||||
|
@ -140,6 +142,7 @@ AVR specific only
|
|||
+ {"atmega64c1", AVR64K, AVR4K, AVR2K},
|
||||
+ {"atmega64hve", AVR64K, AVR4K, AVR1K},
|
||||
+ {"atmega64m1", AVR64K, AVR4K, AVR2K},
|
||||
+ {"m3000", AVR64K, AVR4K, 0UL},
|
||||
+
|
||||
+ {"atmega406", AVR40K, AVR2K, AVR512},
|
||||
+
|
||||
|
@ -154,15 +157,19 @@ AVR specific only
|
|||
+ {"atmega324p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega324pa", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega325", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega325a", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega325p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3250", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3250a", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3250p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega328", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega328p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega329", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega329a", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega329p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega329pa", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3290", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3290a", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3290p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega32hvb", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega32c1", AVR32K, AVR2K, AVR1K},
|
||||
|
@ -228,6 +235,7 @@ AVR specific only
|
|||
+ {"atmega8hva", AVR8K, 768UL, AVR256},
|
||||
+ {"atmega8u2", AVR8K, AVR512, AVR512},
|
||||
+ {"attiny84", AVR8K, AVR512, AVR512},
|
||||
+ {"attiny84a", AVR8K, AVR512, AVR512},
|
||||
+ {"attiny85", AVR8K, AVR512, AVR512},
|
||||
+ {"attiny861", AVR8K, AVR512, AVR512},
|
||||
+ {"attiny861a", AVR8K, AVR512, AVR512},
|
||||
|
@ -286,7 +294,7 @@ AVR specific only
|
|||
static char *target = NULL;
|
||||
|
||||
/* Forward declarations. */
|
||||
@@ -79,7 +329,8 @@ usage (FILE *stream, int status)
|
||||
@@ -79,7 +337,8 @@ usage (FILE *stream, int status)
|
||||
fprintf (stream, _(" Displays the sizes of sections inside binary files\n"));
|
||||
fprintf (stream, _(" If no input file(s) are specified, a.out is assumed\n"));
|
||||
fprintf (stream, _(" The options are:\n\
|
||||
|
@ -296,7 +304,7 @@ AVR specific only
|
|||
-o|-d|-x --radix={8|10|16} Display numbers in octal, decimal or hex\n\
|
||||
-t --totals Display the total sizes (Berkeley only)\n\
|
||||
--common Display total size for *COM* syms\n\
|
||||
@@ -88,11 +329,7 @@ usage (FILE *stream, int status)
|
||||
@@ -88,11 +337,7 @@ usage (FILE *stream, int status)
|
||||
-h --help Display this information\n\
|
||||
-v --version Display the program's version\n\
|
||||
\n"),
|
||||
|
@ -309,7 +317,7 @@ AVR specific only
|
|||
);
|
||||
list_supported_targets (program_name, stream);
|
||||
if (REPORT_BUGS_TO[0] && status == 0)
|
||||
@@ -103,6 +351,7 @@ usage (FILE *stream, int status)
|
||||
@@ -103,6 +359,7 @@ usage (FILE *stream, int status)
|
||||
#define OPTION_FORMAT (200)
|
||||
#define OPTION_RADIX (OPTION_FORMAT + 1)
|
||||
#define OPTION_TARGET (OPTION_RADIX + 1)
|
||||
|
@ -317,7 +325,7 @@ AVR specific only
|
|||
|
||||
static struct option long_options[] =
|
||||
{
|
||||
@@ -110,6 +360,7 @@ static struct option long_options[] =
|
||||
@@ -110,6 +368,7 @@ static struct option long_options[] =
|
||||
{"format", required_argument, 0, OPTION_FORMAT},
|
||||
{"radix", required_argument, 0, OPTION_RADIX},
|
||||
{"target", required_argument, 0, OPTION_TARGET},
|
||||
|
@ -325,7 +333,7 @@ AVR specific only
|
|||
{"totals", no_argument, &show_totals, 1},
|
||||
{"version", no_argument, &show_version, 1},
|
||||
{"help", no_argument, &show_help, 1},
|
||||
@@ -141,7 +391,7 @@ main (int argc, char **argv)
|
||||
@@ -141,7 +399,7 @@ main (int argc, char **argv)
|
||||
bfd_init ();
|
||||
set_default_bfd_target ();
|
||||
|
||||
|
@ -334,7 +342,7 @@ AVR specific only
|
|||
(int *) 0)) != EOF)
|
||||
switch (c)
|
||||
{
|
||||
@@ -150,11 +401,15 @@ main (int argc, char **argv)
|
||||
@@ -150,11 +409,15 @@ main (int argc, char **argv)
|
||||
{
|
||||
case 'B':
|
||||
case 'b':
|
||||
|
@ -352,7 +360,7 @@ AVR specific only
|
|||
break;
|
||||
default:
|
||||
non_fatal (_("invalid argument to --format: %s"), optarg);
|
||||
@@ -162,6 +416,10 @@ main (int argc, char **argv)
|
||||
@@ -162,6 +424,10 @@ main (int argc, char **argv)
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -363,7 +371,7 @@ AVR specific only
|
|||
case OPTION_TARGET:
|
||||
target = optarg;
|
||||
break;
|
||||
@@ -190,11 +449,14 @@ main (int argc, char **argv)
|
||||
@@ -190,11 +457,14 @@ main (int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'A':
|
||||
|
@ -380,7 +388,7 @@ AVR specific only
|
|||
case 'v':
|
||||
case 'V':
|
||||
show_version = 1;
|
||||
@@ -240,7 +501,7 @@ main (int argc, char **argv)
|
||||
@@ -240,7 +509,7 @@ main (int argc, char **argv)
|
||||
for (; optind < argc;)
|
||||
display_file (argv[optind++]);
|
||||
|
||||
|
@ -389,7 +397,7 @@ AVR specific only
|
|||
{
|
||||
bfd_size_type total = total_textsize + total_datasize + total_bsssize;
|
||||
|
||||
@@ -599,13 +861,117 @@ print_sysv_format (bfd *file)
|
||||
@@ -599,13 +869,117 @@ print_sysv_format (bfd *file)
|
||||
printf ("\n\n");
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
diff -Nruw bfd/Makefile.am bfd/Makefile.am
|
||||
diff -ruwN bfd/Makefile.am bfd/Makefile.am
|
||||
--- bfd/Makefile.am 2009-10-16 17:17:44.000000000 +0530
|
||||
+++ bfd/Makefile.am 2010-02-11 10:59:11.320193800 +0530
|
||||
+++ bfd/Makefile.am 2010-03-11 12:13:23.069283600 +0530
|
||||
@@ -228,6 +228,8 @@
|
||||
coff-apollo.lo \
|
||||
coff-arm.lo \
|
||||
|
@ -19,9 +19,9 @@ diff -Nruw bfd/Makefile.am bfd/Makefile.am
|
|||
coff-go32.c \
|
||||
coff-h8300.c \
|
||||
coff-h8500.c \
|
||||
diff -Nruw bfd/Makefile.in bfd/Makefile.in
|
||||
diff -ruwN bfd/Makefile.in bfd/Makefile.in
|
||||
--- bfd/Makefile.in 2009-10-16 17:17:48.000000000 +0530
|
||||
+++ bfd/Makefile.in 2010-02-11 11:13:52.698455300 +0530
|
||||
+++ bfd/Makefile.in 2010-03-11 12:13:23.084906900 +0530
|
||||
@@ -524,6 +524,8 @@
|
||||
coff-apollo.lo \
|
||||
coff-arm.lo \
|
||||
|
@ -40,9 +40,9 @@ diff -Nruw bfd/Makefile.in bfd/Makefile.in
|
|||
coff-go32.c \
|
||||
coff-h8300.c \
|
||||
coff-h8500.c \
|
||||
diff -Nruw bfd/coff-avr.c bfd/coff-avr.c
|
||||
diff -ruwN bfd/coff-avr.c bfd/coff-avr.c
|
||||
--- bfd/coff-avr.c 1970-01-01 05:30:00.000000000 +0530
|
||||
+++ bfd/coff-avr.c 2010-02-10 17:35:58.222099600 +0530
|
||||
+++ bfd/coff-avr.c 2010-03-11 12:13:23.100530200 +0530
|
||||
@@ -0,0 +1,613 @@
|
||||
+/* BFD back-end for Atmel AVR COFF files.
|
||||
+ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2003
|
||||
|
@ -657,9 +657,9 @@ diff -Nruw bfd/coff-avr.c bfd/coff-avr.c
|
|||
+
|
||||
+ COFF_SWAP_TABLE
|
||||
+};
|
||||
diff -Nruw bfd/coff-ext-avr.c bfd/coff-ext-avr.c
|
||||
diff -ruwN bfd/coff-ext-avr.c bfd/coff-ext-avr.c
|
||||
--- bfd/coff-ext-avr.c 1970-01-01 05:30:00.000000000 +0530
|
||||
+++ bfd/coff-ext-avr.c 2010-02-10 17:35:58.222099600 +0530
|
||||
+++ bfd/coff-ext-avr.c 2010-03-11 12:13:23.131776800 +0530
|
||||
@@ -0,0 +1,428 @@
|
||||
+/* BFD back-end for Atmel AVR "extended" COFF files.
|
||||
+ Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1999, 2000, 2001, 2003
|
||||
|
@ -1089,9 +1089,9 @@ diff -Nruw bfd/coff-ext-avr.c bfd/coff-ext-avr.c
|
|||
+
|
||||
+ COFF_SWAP_TABLE
|
||||
+};
|
||||
diff -Nruw bfd/coffcode.h bfd/coffcode.h
|
||||
diff -ruwN bfd/coffcode.h bfd/coffcode.h
|
||||
--- bfd/coffcode.h 2009-09-10 17:17:12.000000000 +0530
|
||||
+++ bfd/coffcode.h 2010-02-10 17:35:58.253349600 +0530
|
||||
+++ bfd/coffcode.h 2010-03-11 12:13:23.147400100 +0530
|
||||
@@ -1,3 +1,4 @@
|
||||
+
|
||||
/* Support for the generic parts of most COFF variants, for BFD.
|
||||
|
@ -1227,9 +1227,9 @@ diff -Nruw bfd/coffcode.h bfd/coffcode.h
|
|||
case C_ULABEL: /* Undefined label. */
|
||||
case C_USTATIC: /* Undefined static. */
|
||||
#ifndef COFF_WITH_PE
|
||||
diff -Nruw bfd/coffgen.c bfd/coffgen.c
|
||||
diff -ruwN bfd/coffgen.c bfd/coffgen.c
|
||||
--- bfd/coffgen.c 2009-09-10 17:17:12.000000000 +0530
|
||||
+++ bfd/coffgen.c 2010-02-11 11:20:28.795092600 +0530
|
||||
+++ bfd/coffgen.c 2010-03-11 12:13:23.163023400 +0530
|
||||
@@ -699,6 +699,20 @@
|
||||
if (last_file != NULL)
|
||||
last_file->n_value = native_index;
|
||||
|
@ -1330,9 +1330,9 @@ diff -Nruw bfd/coffgen.c bfd/coffgen.c
|
|||
new_symbol->native = (combined_entry_type *) bfd_zalloc (abfd, amt);
|
||||
if (!new_symbol->native)
|
||||
return NULL;
|
||||
diff -Nruw bfd/coffswap.h bfd/coffswap.h
|
||||
diff -ruwN bfd/coffswap.h bfd/coffswap.h
|
||||
--- bfd/coffswap.h 2009-09-07 13:45:15.000000000 +0530
|
||||
+++ bfd/coffswap.h 2010-02-11 11:24:25.908936000 +0530
|
||||
+++ bfd/coffswap.h 2010-03-11 12:13:23.178646700 +0530
|
||||
@@ -383,7 +383,11 @@
|
||||
void * ext1,
|
||||
int type,
|
||||
|
@ -1360,9 +1360,9 @@ diff -Nruw bfd/coffswap.h bfd/coffswap.h
|
|||
}
|
||||
else
|
||||
memcpy (in->x_file.x_fname, ext->x_file.x_fname, FILNMLEN);
|
||||
diff -Nruw bfd/config.bfd bfd/config.bfd
|
||||
diff -ruwN bfd/config.bfd bfd/config.bfd
|
||||
--- bfd/config.bfd 2009-08-06 23:08:00.000000000 +0530
|
||||
+++ bfd/config.bfd 2010-02-10 17:35:58.300224600 +0530
|
||||
+++ bfd/config.bfd 2010-03-11 12:13:23.178646700 +0530
|
||||
@@ -339,6 +339,7 @@
|
||||
|
||||
avr-*-*)
|
||||
|
@ -1371,9 +1371,9 @@ diff -Nruw bfd/config.bfd bfd/config.bfd
|
|||
;;
|
||||
|
||||
bfin-*-*)
|
||||
diff -Nruw bfd/configure bfd/configure
|
||||
diff -ruwN bfd/configure bfd/configure
|
||||
--- bfd/configure 2009-10-16 17:17:47.000000000 +0530
|
||||
+++ bfd/configure 2010-02-10 17:35:58.331474600 +0530
|
||||
+++ bfd/configure 2010-03-11 12:13:23.209893300 +0530
|
||||
@@ -14782,6 +14782,8 @@
|
||||
armpe_little_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
|
||||
armpei_big_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
|
@ -1383,9 +1383,9 @@ diff -Nruw bfd/configure bfd/configure
|
|||
b_out_vec_big_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
b_out_vec_little_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
bfd_pei_ia64_vec) tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
|
||||
diff -Nruw bfd/configure.in bfd/configure.in
|
||||
diff -ruwN bfd/configure.in bfd/configure.in
|
||||
--- bfd/configure.in 2009-10-16 17:17:44.000000000 +0530
|
||||
+++ bfd/configure.in 2010-02-10 17:35:58.331474600 +0530
|
||||
+++ bfd/configure.in 2010-03-11 12:13:23.209893300 +0530
|
||||
@@ -670,6 +670,8 @@
|
||||
armpe_little_vec) tb="$tb pe-arm.lo peigen.lo cofflink.lo " ;;
|
||||
armpei_big_vec) tb="$tb pei-arm.lo peigen.lo cofflink.lo " ;;
|
||||
|
@ -1395,9 +1395,9 @@ diff -Nruw bfd/configure.in bfd/configure.in
|
|||
b_out_vec_big_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
b_out_vec_little_host) tb="$tb bout.lo aout32.lo" ;;
|
||||
bfd_pei_ia64_vec) tb="$tb pei-ia64.lo pepigen.lo cofflink.lo"; target_size=64 ;;
|
||||
diff -Nruw bfd/targets.c bfd/targets.c
|
||||
diff -ruwN bfd/targets.c bfd/targets.c
|
||||
--- bfd/targets.c 2009-09-10 17:17:13.000000000 +0530
|
||||
+++ bfd/targets.c 2010-02-10 17:35:58.347099600 +0530
|
||||
+++ bfd/targets.c 2010-03-11 12:13:23.225516600 +0530
|
||||
@@ -564,6 +564,8 @@
|
||||
extern const bfd_target armpe_little_vec;
|
||||
extern const bfd_target armpei_big_vec;
|
||||
|
@ -1416,9 +1416,9 @@ diff -Nruw bfd/targets.c bfd/targets.c
|
|||
&b_out_vec_big_host,
|
||||
&b_out_vec_little_host,
|
||||
#ifdef BFD64
|
||||
diff -Nruw binutils/Makefile.am binutils/Makefile.am
|
||||
diff -ruwN binutils/Makefile.am binutils/Makefile.am
|
||||
--- binutils/Makefile.am 2009-09-09 13:43:23.000000000 +0530
|
||||
+++ binutils/Makefile.am 2010-02-10 17:35:57.972099600 +0530
|
||||
+++ binutils/Makefile.am 2010-03-11 12:13:23.241139900 +0530
|
||||
@@ -101,7 +101,7 @@
|
||||
resbin.c rescoff.c resrc.c resres.c \
|
||||
size.c srconv.c stabs.c strings.c sysdump.c \
|
||||
|
@ -1437,9 +1437,9 @@ diff -Nruw binutils/Makefile.am binutils/Makefile.am
|
|||
|
||||
# Code shared by all the binutils.
|
||||
BULIBS = bucomm.c version.c filemode.c
|
||||
diff -Nruw binutils/Makefile.in binutils/Makefile.in
|
||||
diff -ruwN binutils/Makefile.in binutils/Makefile.in
|
||||
--- binutils/Makefile.in 2009-09-09 13:43:23.000000000 +0530
|
||||
+++ binutils/Makefile.in 2010-02-10 17:35:57.987724600 +0530
|
||||
+++ binutils/Makefile.in 2010-03-11 12:13:23.241139900 +0530
|
||||
@@ -126,7 +126,7 @@
|
||||
nm_new_OBJECTS = $(am_nm_new_OBJECTS)
|
||||
nm_new_LDADD = $(LDADD)
|
||||
|
@ -1467,9 +1467,9 @@ diff -Nruw binutils/Makefile.in binutils/Makefile.in
|
|||
|
||||
# Code shared by all the binutils.
|
||||
BULIBS = bucomm.c version.c filemode.c
|
||||
diff -Nruw binutils/bucomm.c binutils/bucomm.c
|
||||
diff -ruwN binutils/bucomm.c binutils/bucomm.c
|
||||
--- binutils/bucomm.c 2009-09-14 17:13:26.000000000 +0530
|
||||
+++ binutils/bucomm.c 2010-02-10 17:35:58.034599600 +0530
|
||||
+++ binutils/bucomm.c 2010-03-11 12:13:23.256763200 +0530
|
||||
@@ -550,6 +550,32 @@
|
||||
return ret;
|
||||
}
|
||||
|
@ -1503,9 +1503,9 @@ diff -Nruw binutils/bucomm.c binutils/bucomm.c
|
|||
/* Returns the size of the named file. If the file does not
|
||||
exist, or if it is not a real file, then a suitable non-fatal
|
||||
error message is printed and zero is returned. */
|
||||
diff -Nruw binutils/bucomm.h binutils/bucomm.h
|
||||
diff -ruwN binutils/bucomm.h binutils/bucomm.h
|
||||
--- binutils/bucomm.h 2009-09-02 12:52:31.000000000 +0530
|
||||
+++ binutils/bucomm.h 2010-02-10 17:35:58.050224600 +0530
|
||||
+++ binutils/bucomm.h 2010-03-11 12:13:23.272386500 +0530
|
||||
@@ -58,6 +58,8 @@
|
||||
|
||||
off_t get_file_size (const char *);
|
||||
|
@ -1515,9 +1515,9 @@ diff -Nruw binutils/bucomm.h binutils/bucomm.h
|
|||
extern char *program_name;
|
||||
|
||||
/* filemode.c */
|
||||
diff -Nruw binutils/budbg.h binutils/budbg.h
|
||||
diff -ruwN binutils/budbg.h binutils/budbg.h
|
||||
--- binutils/budbg.h 2009-09-02 12:52:31.000000000 +0530
|
||||
+++ binutils/budbg.h 2010-02-10 17:35:58.050224600 +0530
|
||||
+++ binutils/budbg.h 2010-03-11 12:13:23.272386500 +0530
|
||||
@@ -52,8 +52,11 @@
|
||||
|
||||
extern bfd_boolean write_ieee_debugging_info (bfd *, void *);
|
||||
|
@ -1531,9 +1531,9 @@ diff -Nruw binutils/budbg.h binutils/budbg.h
|
|||
+ (bfd *abfd, void *, long *symcountp, asymbol ***);
|
||||
+
|
||||
#endif
|
||||
diff -Nruw binutils/debug.c binutils/debug.c
|
||||
diff -ruwN binutils/debug.c binutils/debug.c
|
||||
--- binutils/debug.c 2009-09-14 17:13:26.000000000 +0530
|
||||
+++ binutils/debug.c 2010-02-11 10:50:38.043866600 +0530
|
||||
+++ binutils/debug.c 2010-03-11 12:13:23.288009800 +0530
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <assert.h>
|
||||
#include "bfd.h"
|
||||
|
@ -1662,9 +1662,9 @@ diff -Nruw binutils/debug.c binutils/debug.c
|
|||
+ /* Not found, pass the original name on. */
|
||||
+ return oname;
|
||||
+}
|
||||
diff -Nruw binutils/debug.h binutils/debug.h
|
||||
diff -ruwN binutils/debug.h binutils/debug.h
|
||||
--- binutils/debug.h 2009-09-14 17:13:26.000000000 +0530
|
||||
+++ binutils/debug.h 2010-02-10 17:35:58.097099600 +0530
|
||||
+++ binutils/debug.h 2010-03-11 12:13:23.288009800 +0530
|
||||
@@ -440,6 +440,12 @@
|
||||
|
||||
extern bfd_boolean debug_start_source (void *, const char *);
|
||||
|
@ -1678,9 +1678,9 @@ diff -Nruw binutils/debug.h binutils/debug.h
|
|||
/* Record a function definition. This implicitly starts a function
|
||||
block. The debug_type argument is the type of the return value.
|
||||
The bfd_boolean indicates whether the function is globally visible.
|
||||
diff -Nruw binutils/doc/objcopy.1 binutils/doc/objcopy.1
|
||||
diff -ruwN binutils/doc/objcopy.1 binutils/doc/objcopy.1
|
||||
--- binutils/doc/objcopy.1 2009-10-16 17:22:19.000000000 +0530
|
||||
+++ binutils/doc/objcopy.1 2010-02-11 10:22:09.312500000 +0530
|
||||
+++ binutils/doc/objcopy.1 2010-03-11 12:13:23.303633100 +0530
|
||||
@@ -202,6 +202,8 @@
|
||||
[\fB\-\-readonly\-text\fR]
|
||||
[\fB\-\-pure\fR]
|
||||
|
@ -1714,9 +1714,9 @@ diff -Nruw binutils/doc/objcopy.1 binutils/doc/objcopy.1
|
|||
.IP "\fB\-V\fR" 4
|
||||
.IX Item "-V"
|
||||
.PD 0
|
||||
diff -Nruw binutils/objcopy.c binutils/objcopy.c
|
||||
diff -ruwN binutils/objcopy.c binutils/objcopy.c
|
||||
--- binutils/objcopy.c 2009-09-14 17:13:26.000000000 +0530
|
||||
+++ binutils/objcopy.c 2010-02-11 10:56:56.890302300 +0530
|
||||
+++ binutils/objcopy.c 2010-03-11 12:13:23.319256400 +0530
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "elf-bfd.h"
|
||||
#include <sys/stat.h>
|
||||
|
@ -1817,9 +1817,9 @@ diff -Nruw binutils/objcopy.c binutils/objcopy.c
|
|||
case OPTION_READONLY_TEXT:
|
||||
bfd_flags_to_set |= WP_TEXT;
|
||||
bfd_flags_to_clear &= ~WP_TEXT;
|
||||
diff -Nruw binutils/rdcoff.c binutils/rdcoff.c
|
||||
diff -ruwN binutils/rdcoff.c binutils/rdcoff.c
|
||||
--- binutils/rdcoff.c 2009-09-02 12:52:32.000000000 +0530
|
||||
+++ binutils/rdcoff.c 2010-02-10 17:35:58.128349600 +0530
|
||||
+++ binutils/rdcoff.c 2010-03-11 12:13:23.334879700 +0530
|
||||
@@ -82,6 +82,9 @@
|
||||
struct coff_slots *slots;
|
||||
/* Basic types. */
|
||||
|
@ -1963,9 +1963,9 @@ diff -Nruw binutils/rdcoff.c binutils/rdcoff.c
|
|||
if (ISFCN (syment.n_type))
|
||||
{
|
||||
fnname = name;
|
||||
diff -Nruw binutils/wrcoff.c binutils/wrcoff.c
|
||||
diff -ruwN binutils/wrcoff.c binutils/wrcoff.c
|
||||
--- binutils/wrcoff.c 1970-01-01 05:30:00.000000000 +0530
|
||||
+++ binutils/wrcoff.c 2010-02-10 17:35:58.159599600 +0530
|
||||
+++ binutils/wrcoff.c 2010-03-11 12:13:23.366126300 +0530
|
||||
@@ -0,0 +1,3410 @@
|
||||
+/* wrcoff.c -- Generate (AVR) COFF debugging information
|
||||
+ Copyright 2003 Free Software Foundation, Inc.
|
||||
|
@ -5377,9 +5377,9 @@ diff -Nruw binutils/wrcoff.c binutils/wrcoff.c
|
|||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
diff -Nruw include/coff/avr.h include/coff/avr.h
|
||||
diff -ruwN include/coff/avr.h include/coff/avr.h
|
||||
--- include/coff/avr.h 1970-01-01 05:30:00.000000000 +0530
|
||||
+++ include/coff/avr.h 2010-02-10 17:35:58.362724600 +0530
|
||||
+++ include/coff/avr.h 2010-03-11 12:13:23.381749600 +0530
|
||||
@@ -0,0 +1,110 @@
|
||||
+/* coff information for Atmel AVR.
|
||||
+
|
||||
|
@ -5491,9 +5491,9 @@ diff -Nruw include/coff/avr.h include/coff/avr.h
|
|||
+
|
||||
+#define RELOC struct external_reloc
|
||||
+#define RELSZ 10
|
||||
diff -Nruw include/coff/internal.h include/coff/internal.h
|
||||
diff -ruwN include/coff/internal.h include/coff/internal.h
|
||||
--- include/coff/internal.h 2009-09-02 12:51:39.000000000 +0530
|
||||
+++ include/coff/internal.h 2010-02-10 17:35:58.378349600 +0530
|
||||
+++ include/coff/internal.h 2010-03-11 12:13:23.381749600 +0530
|
||||
@@ -646,6 +646,8 @@
|
||||
|
||||
};
|
|
@ -1,6 +1,6 @@
|
|||
diff -ruw ld/scripttempl/avr.sc ld/scripttempl/avr.sc
|
||||
diff -ruwN ld/scripttempl/avr.sc ld/scripttempl/avr.sc
|
||||
--- ld/scripttempl/avr.sc 2009-10-09 18:42:35.000000000 +0530
|
||||
+++ ld/scripttempl/avr.sc 2010-02-12 20:09:24.070812400 +0530
|
||||
+++ ld/scripttempl/avr.sc 2010-03-11 12:26:00.563046000 +0530
|
||||
@@ -7,6 +7,9 @@
|
||||
text (rx) : ORIGIN = 0, LENGTH = $TEXT_LENGTH
|
||||
data (rw!x) : ORIGIN = $DATA_ORIGIN, LENGTH = $DATA_LENGTH
|
29
devel/avr-binutils/files/patch-303-binutils-2.20.1-as-dwarf
Normal file
29
devel/avr-binutils/files/patch-303-binutils-2.20.1-as-dwarf
Normal file
|
@ -0,0 +1,29 @@
|
|||
diff -ruwN gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2010-03-11 14:56:16.484109300 +0530
|
||||
+++ gas/config/tc-avr.c 2010-03-11 14:58:59.248690500 +0530
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "as.h"
|
||||
#include "safe-ctype.h"
|
||||
#include "subsegs.h"
|
||||
+#include "dwarf2dbg.h"
|
||||
|
||||
struct avr_opcodes_s
|
||||
{
|
||||
@@ -1368,6 +1369,7 @@
|
||||
|
||||
dwarf2_emit_insn (0);
|
||||
|
||||
+ dwarf2_emit_insn (0);
|
||||
/* We used to set input_line_pointer to the result of get_operands,
|
||||
but that is wrong. Our caller assumes we don't change it. */
|
||||
{
|
||||
diff -ruwN gas/config/tc-avr.h gas/config/tc-avr.h
|
||||
--- gas/config/tc-avr.h 2010-03-11 14:56:16.484109300 +0530
|
||||
+++ gas/config/tc-avr.h 2010-03-11 14:58:59.264313900 +0530
|
||||
@@ -147,3 +147,6 @@
|
||||
|
||||
/* This target is buggy, and sets fix size too large. */
|
||||
#define TC_FX_SIZE_SLACK(FIX) 2
|
||||
+
|
||||
+/* keep DWARF2_ADDR_SIZE in consistency with C compiler produced information */
|
||||
+#define DWARF2_ADDR_SIZE(bfd) 4
|
|
@ -1,5 +1,6 @@
|
|||
--- gas/dwarf2dbg.c.orig 2009-09-14 13:43:26.000000000 +0200
|
||||
+++ gas/dwarf2dbg.c 2010-03-04 11:13:52.000000000 +0100
|
||||
diff -ruwN gas/dwarf2dbg.c gas/dwarf2dbg.c
|
||||
--- gas/dwarf2dbg.c 2010-03-11 15:06:25.773290700 +0530
|
||||
+++ gas/dwarf2dbg.c 2010-03-11 15:08:20.410311300 +0530
|
||||
@@ -112,8 +112,11 @@
|
||||
Note: If you want to change this, you'll have to update the
|
||||
"standard_opcode_lengths" table that is emitted below in
|
|
@ -0,0 +1,12 @@
|
|||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-02-08 10:59:27.000000000 -0600
|
||||
+++ gas/config/tc-avr.c 2011-02-08 11:01:47.000000000 -0600
|
||||
@@ -378,7 +378,7 @@ void
|
||||
md_show_usage (FILE *stream)
|
||||
{
|
||||
fprintf (stream,
|
||||
- _("AVR options:\n"
|
||||
+ _("AVR Assembler options:\n"
|
||||
" -mmcu=[avr-name] select microcontroller variant\n"
|
||||
" [avr-name] can be:\n"
|
||||
" avr1 - classic AVR core without data RAM\n"
|
|
@ -1,7 +1,30 @@
|
|||
diff -Nur ../binutils-2.20.orig/bfd/archures.c ./bfd/archures.c
|
||||
--- ../binutils-2.20.orig/bfd/archures.c 2009-09-10 13:47:11.000000000 +0200
|
||||
+++ ./bfd/archures.c 2010-03-04 11:34:08.000000000 +0100
|
||||
@@ -368,6 +368,13 @@
|
||||
avrxmega1
|
||||
avrxmega2
|
||||
avrxmega3
|
||||
avrxmega4
|
||||
avrxmega5
|
||||
avrxmega6
|
||||
avrxmega7
|
||||
atxmega16a4
|
||||
atxmega16d4
|
||||
atxmega32d4
|
||||
atxmega32a4
|
||||
atxmega64a3
|
||||
atxmega64d3
|
||||
atxmega64a1
|
||||
atxmega128a3
|
||||
atxmega128d3
|
||||
atxmega192a3
|
||||
atxmega192d3
|
||||
atxmega256a3
|
||||
atxmega256a3b
|
||||
atxmega256d3
|
||||
atxmega128a1
|
||||
=======================================================
|
||||
diff -Naurp bfd/archures.c bfd/archures.c
|
||||
--- bfd/archures.c 2009-09-10 06:47:11.000000000 -0500
|
||||
+++ bfd/archures.c 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -368,6 +368,13 @@ DESCRIPTION
|
||||
.#define bfd_mach_avr5 5
|
||||
.#define bfd_mach_avr51 51
|
||||
.#define bfd_mach_avr6 6
|
||||
|
@ -15,10 +38,10 @@ diff -Nur ../binutils-2.20.orig/bfd/archures.c ./bfd/archures.c
|
|||
. bfd_arch_bfin, {* ADI Blackfin *}
|
||||
.#define bfd_mach_bfin 1
|
||||
. bfd_arch_cr16, {* National Semiconductor CompactRISC (ie CR16). *}
|
||||
diff -Nur ../binutils-2.20.orig/bfd/bfd-in2.h ./bfd/bfd-in2.h
|
||||
--- ../binutils-2.20.orig/bfd/bfd-in2.h 2009-09-10 13:47:11.000000000 +0200
|
||||
+++ ./bfd/bfd-in2.h 2010-03-04 11:34:08.000000000 +0100
|
||||
@@ -2035,6 +2035,13 @@
|
||||
diff -Naurp bfd/bfd-in2.h bfd/bfd-in2.h
|
||||
--- bfd/bfd-in2.h 2010-02-03 07:28:24.000000000 -0600
|
||||
+++ bfd/bfd-in2.h 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -2042,6 +2042,13 @@ enum bfd_architecture
|
||||
#define bfd_mach_avr5 5
|
||||
#define bfd_mach_avr51 51
|
||||
#define bfd_mach_avr6 6
|
||||
|
@ -32,10 +55,10 @@ diff -Nur ../binutils-2.20.orig/bfd/bfd-in2.h ./bfd/bfd-in2.h
|
|||
bfd_arch_bfin, /* ADI Blackfin */
|
||||
#define bfd_mach_bfin 1
|
||||
bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */
|
||||
diff -Nur ../binutils-2.20.orig/bfd/cpu-avr.c ./bfd/cpu-avr.c
|
||||
--- ../binutils-2.20.orig/bfd/cpu-avr.c 2009-09-02 09:18:36.000000000 +0200
|
||||
+++ ./bfd/cpu-avr.c 2010-03-04 11:34:08.000000000 +0100
|
||||
@@ -133,7 +133,29 @@
|
||||
diff -Naurp bfd/cpu-avr.c bfd/cpu-avr.c
|
||||
--- bfd/cpu-avr.c 2009-09-02 02:18:36.000000000 -0500
|
||||
+++ bfd/cpu-avr.c 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -133,7 +133,29 @@ static const bfd_arch_info_type arch_inf
|
||||
N (22, bfd_mach_avr51, "avr:51", FALSE, & arch_info_struct[9]),
|
||||
|
||||
/* 3-Byte PC. */
|
||||
|
@ -66,10 +89,10 @@ diff -Nur ../binutils-2.20.orig/bfd/cpu-avr.c ./bfd/cpu-avr.c
|
|||
};
|
||||
|
||||
const bfd_arch_info_type bfd_avr_arch =
|
||||
diff -Nur ../binutils-2.20.orig/bfd/elf32-avr.c ./bfd/elf32-avr.c
|
||||
--- ../binutils-2.20.orig/bfd/elf32-avr.c 2009-09-02 09:18:36.000000000 +0200
|
||||
+++ ./bfd/elf32-avr.c 2010-03-04 11:34:08.000000000 +0100
|
||||
@@ -1328,6 +1328,34 @@
|
||||
diff -Naurp bfd/elf32-avr.c bfd/elf32-avr.c
|
||||
--- bfd/elf32-avr.c 2009-09-02 02:18:36.000000000 -0500
|
||||
+++ bfd/elf32-avr.c 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -1328,6 +1328,34 @@ bfd_elf_avr_final_write_processing (bfd
|
||||
case bfd_mach_avr6:
|
||||
val = E_AVR_MACH_AVR6;
|
||||
break;
|
||||
|
@ -104,7 +127,7 @@ diff -Nur ../binutils-2.20.orig/bfd/elf32-avr.c ./bfd/elf32-avr.c
|
|||
}
|
||||
|
||||
elf_elfheader (abfd)->e_machine = EM_AVR;
|
||||
@@ -1390,6 +1418,34 @@
|
||||
@@ -1390,6 +1418,34 @@ elf32_avr_object_p (bfd *abfd)
|
||||
case E_AVR_MACH_AVR6:
|
||||
e_set = bfd_mach_avr6;
|
||||
break;
|
||||
|
@ -139,22 +162,16 @@ diff -Nur ../binutils-2.20.orig/bfd/elf32-avr.c ./bfd/elf32-avr.c
|
|||
}
|
||||
}
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_avr,
|
||||
diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
||||
--- ../binutils-2.20.orig/gas/config/tc-avr.c 2010-03-04 11:19:26.000000000 +0100
|
||||
+++ ./gas/config/tc-avr.c 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -27,20 +27,21 @@
|
||||
|
||||
struct avr_opcodes_s
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 11:47:11.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -30,18 +30,19 @@ struct avr_opcodes_s
|
||||
{
|
||||
- char * name;
|
||||
- char * constraints;
|
||||
- int insn_size; /* In words. */
|
||||
- int isa;
|
||||
+ char *name;
|
||||
+ char *constraints;
|
||||
char * name;
|
||||
char * constraints;
|
||||
+ char *opcode;
|
||||
+ int insn_size; /* In words. */
|
||||
+ int isa;
|
||||
int insn_size; /* In words. */
|
||||
int isa;
|
||||
unsigned int bin_opcode;
|
||||
};
|
||||
|
||||
|
@ -170,7 +187,7 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
};
|
||||
|
||||
const char comment_chars[] = ";";
|
||||
@@ -79,6 +80,13 @@
|
||||
@@ -80,6 +81,13 @@ 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},
|
||||
|
@ -184,14 +201,14 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
{"at90s1200", AVR_ISA_1200, bfd_mach_avr1},
|
||||
{"attiny11", AVR_ISA_AVR1, bfd_mach_avr1},
|
||||
{"attiny12", AVR_ISA_AVR1, bfd_mach_avr1},
|
||||
@@ -241,6 +249,21 @@
|
||||
@@ -216,6 +224,21 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"m3001b", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"atmega2560", AVR_ISA_AVR6, bfd_mach_avr6},
|
||||
{"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6},
|
||||
+ {"atxmega16a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega16d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega32a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega32d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega32a4", AVR_ISA_XMEGA, bfd_mach_avrxmega3},
|
||||
+ {"atxmega64a3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
|
||||
+ {"atxmega64d3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
|
||||
+ {"atxmega64a1", AVR_ISA_XMEGA, bfd_mach_avrxmega5},
|
||||
|
@ -206,7 +223,7 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
{NULL, 0, 0}
|
||||
};
|
||||
|
||||
@@ -418,6 +441,11 @@
|
||||
@@ -393,6 +416,11 @@ 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"
|
||||
|
@ -218,7 +235,7 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
" or immediate microcontroller name.\n"));
|
||||
fprintf (stream,
|
||||
_(" -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n"
|
||||
@@ -845,7 +873,12 @@
|
||||
@@ -820,7 +848,12 @@ avr_operand (struct avr_opcodes_s *opcod
|
||||
if (*str == '+')
|
||||
{
|
||||
++str;
|
||||
|
@ -232,7 +249,7 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
}
|
||||
|
||||
/* attiny26 can do "lpm" and "lpm r,Z" but not "lpm r,Z+". */
|
||||
@@ -962,6 +995,16 @@
|
||||
@@ -937,6 +970,16 @@ avr_operand (struct avr_opcodes_s *opcod
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -249,10 +266,10 @@ diff -Nur ../binutils-2.20.orig/gas/config/tc-avr.c ./gas/config/tc-avr.c
|
|||
case '?':
|
||||
break;
|
||||
|
||||
diff -Nur ../binutils-2.20.orig/gas/doc/c-avr.texi ./gas/doc/c-avr.texi
|
||||
--- ../binutils-2.20.orig/gas/doc/c-avr.texi 2010-03-04 11:19:26.000000000 +0100
|
||||
+++ ./gas/doc/c-avr.texi 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -86,6 +86,27 @@
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2009-09-02 02:24:21.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -80,6 +80,27 @@ atmega128rfa1, at90can128, at90usb1286,
|
||||
Instruction set avr6 is for the enhanced AVR core with a 3-byte PC (MCU types:
|
||||
atmega2560, atmega2561).
|
||||
|
||||
|
@ -280,9 +297,9 @@ diff -Nur ../binutils-2.20.orig/gas/doc/c-avr.texi ./gas/doc/c-avr.texi
|
|||
@cindex @code{-mall-opcodes} command line option, AVR
|
||||
@item -mall-opcodes
|
||||
Accept all AVR opcodes, even if not supported by @code{-mmcu}.
|
||||
diff -Nur ../binutils-2.20.orig/include/elf/avr.h ./include/elf/avr.h
|
||||
--- ../binutils-2.20.orig/include/elf/avr.h 2008-08-09 07:35:13.000000000 +0200
|
||||
+++ ./include/elf/avr.h 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp include/elf/avr.h include/elf/avr.h
|
||||
--- include/elf/avr.h 2008-08-09 00:35:13.000000000 -0500
|
||||
+++ include/elf/avr.h 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -40,6 +40,13 @@
|
||||
#define E_AVR_MACH_AVR5 5
|
||||
#define E_AVR_MACH_AVR51 51
|
||||
|
@ -297,9 +314,9 @@ diff -Nur ../binutils-2.20.orig/include/elf/avr.h ./include/elf/avr.h
|
|||
|
||||
/* Relocations. */
|
||||
START_RELOC_NUMBERS (elf_avr_reloc_type)
|
||||
diff -Nur ../binutils-2.20.orig/include/opcode/avr.h ./include/opcode/avr.h
|
||||
--- ../binutils-2.20.orig/include/opcode/avr.h 2008-08-09 07:35:13.000000000 +0200
|
||||
+++ ./include/opcode/avr.h 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp include/opcode/avr.h include/opcode/avr.h
|
||||
--- include/opcode/avr.h 2008-08-09 00:35:13.000000000 -0500
|
||||
+++ include/opcode/avr.h 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -30,6 +30,8 @@
|
||||
#define AVR_ISA_BRK 0x0400 /* device has BREAK (on-chip debug) */
|
||||
#define AVR_ISA_EIND 0x0800 /* device has >128K program memory (none yet) */
|
||||
|
@ -326,7 +343,7 @@ diff -Nur ../binutils-2.20.orig/include/opcode/avr.h ./include/opcode/avr.h
|
|||
? - use this opcode entry if no parameters, else use next opcode entry
|
||||
|
||||
Order is important - some binary opcodes have more than one name,
|
||||
@@ -168,7 +173,8 @@
|
||||
@@ -168,7 +173,8 @@ AVR_INSN (reti, "", "1001010100011000
|
||||
AVR_INSN (sleep,"", "1001010110001000", 1, AVR_ISA_1200, 0x9588)
|
||||
AVR_INSN (break,"", "1001010110011000", 1, AVR_ISA_BRK, 0x9598)
|
||||
AVR_INSN (wdr, "", "1001010110101000", 1, AVR_ISA_1200, 0x95a8)
|
||||
|
@ -336,121 +353,17 @@ diff -Nur ../binutils-2.20.orig/include/opcode/avr.h ./include/opcode/avr.h
|
|||
|
||||
AVR_INSN (adc, "r,r", "000111rdddddrrrr", 1, AVR_ISA_1200, 0x1c00)
|
||||
AVR_INSN (add, "r,r", "000011rdddddrrrr", 1, AVR_ISA_1200, 0x0c00)
|
||||
@@ -282,3 +288,6 @@
|
||||
@@ -282,3 +288,6 @@ AVR_INSN (st, "e,r", "100!001rrrrree-+
|
||||
AVR_INSN (eicall, "", "1001010100011001", 1, AVR_ISA_EIND, 0x9519)
|
||||
AVR_INSN (eijmp, "", "1001010000011001", 1, AVR_ISA_EIND, 0x9419)
|
||||
|
||||
+/* DES instruction for encryption and decryption */
|
||||
+AVR_INSN (des, "E", "10010100EEEE1011", 1, AVR_ISA_DES, 0x940B)
|
||||
+
|
||||
diff -Nur ../binutils-2.20.orig/ld/Makefile.am ./ld/Makefile.am
|
||||
--- ../binutils-2.20.orig/ld/Makefile.am 2009-09-01 22:56:51.000000000 +0200
|
||||
+++ ./ld/Makefile.am 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -148,6 +148,13 @@
|
||||
eavr5.o \
|
||||
eavr51.o \
|
||||
eavr6.o \
|
||||
+ eavrxmega1.o \
|
||||
+ eavrxmega2.o \
|
||||
+ eavrxmega3.o \
|
||||
+ eavrxmega4.o \
|
||||
+ eavrxmega5.o \
|
||||
+ eavrxmega6.o \
|
||||
+ eavrxmega7.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -727,6 +734,34 @@
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avr6 "$(tdir_avr2)"
|
||||
+eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
|
||||
+eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
|
||||
+eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
|
||||
+eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
|
||||
+eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
|
||||
+eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
|
||||
+eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
||||
diff -Nur ../binutils-2.20.orig/ld/Makefile.in ./ld/Makefile.in
|
||||
--- ../binutils-2.20.orig/ld/Makefile.in 2009-09-07 14:10:24.000000000 +0200
|
||||
+++ ./ld/Makefile.in 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -434,6 +434,13 @@
|
||||
eavr5.o \
|
||||
eavr51.o \
|
||||
eavr6.o \
|
||||
+ eavrxmega1.o \
|
||||
+ eavrxmega2.o \
|
||||
+ eavrxmega3.o \
|
||||
+ eavrxmega4.o \
|
||||
+ eavrxmega5.o \
|
||||
+ eavrxmega6.o \
|
||||
+ eavrxmega7.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -2068,6 +2075,34 @@
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avr6 "$(tdir_avr2)"
|
||||
+eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
|
||||
+eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
|
||||
+eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
|
||||
+eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
|
||||
+eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
|
||||
+eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
|
||||
+eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
||||
diff -Nur ../binutils-2.20.orig/ld/configure.tgt ./ld/configure.tgt
|
||||
--- ../binutils-2.20.orig/ld/configure.tgt 2009-08-06 19:38:03.000000000 +0200
|
||||
+++ ./ld/configure.tgt 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -110,7 +110,7 @@
|
||||
diff -Naurp ld/configure.tgt ld/configure.tgt
|
||||
--- ld/configure.tgt 2009-08-06 12:38:03.000000000 -0500
|
||||
+++ ld/configure.tgt 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -110,7 +110,7 @@ xscale-*-coff) targ_emul=armcoff ;;
|
||||
xscale-*-elf) targ_emul=armelf
|
||||
;;
|
||||
avr-*-*) targ_emul=avr2
|
||||
|
@ -459,9 +372,9 @@ diff -Nur ../binutils-2.20.orig/ld/configure.tgt ./ld/configure.tgt
|
|||
;;
|
||||
bfin-*-elf) targ_emul=elf32bfin;
|
||||
targ_extra_emuls="elf32bfinfd"
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega1.sh ./ld/emulparams/avrxmega1.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega1.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega1.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega1.sh ld/emulparams/avrxmega1.sh
|
||||
--- ld/emulparams/avrxmega1.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega1.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:101
|
||||
+MACHINE=
|
||||
|
@ -475,9 +388,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega1.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega2.sh ./ld/emulparams/avrxmega2.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega2.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega2.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega2.sh ld/emulparams/avrxmega2.sh
|
||||
--- ld/emulparams/avrxmega2.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega2.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:102
|
||||
+MACHINE=
|
||||
|
@ -491,9 +404,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega2.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega3.sh ./ld/emulparams/avrxmega3.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega3.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega3.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega3.sh ld/emulparams/avrxmega3.sh
|
||||
--- ld/emulparams/avrxmega3.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega3.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:103
|
||||
+MACHINE=
|
||||
|
@ -507,9 +420,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega3.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega4.sh ./ld/emulparams/avrxmega4.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega4.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega4.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega4.sh ld/emulparams/avrxmega4.sh
|
||||
--- ld/emulparams/avrxmega4.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega4.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:104
|
||||
+MACHINE=
|
||||
|
@ -523,9 +436,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega4.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega5.sh ./ld/emulparams/avrxmega5.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega5.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega5.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega5.sh ld/emulparams/avrxmega5.sh
|
||||
--- ld/emulparams/avrxmega5.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega5.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:105
|
||||
+MACHINE=
|
||||
|
@ -539,9 +452,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega5.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega6.sh ./ld/emulparams/avrxmega6.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega6.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega6.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega6.sh ld/emulparams/avrxmega6.sh
|
||||
--- ld/emulparams/avrxmega6.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega6.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:106
|
||||
+MACHINE=
|
||||
|
@ -555,9 +468,9 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega6.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega7.sh ./ld/emulparams/avrxmega7.sh
|
||||
--- ../binutils-2.20.orig/ld/emulparams/avrxmega7.sh 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ./ld/emulparams/avrxmega7.sh 2010-03-04 11:34:09.000000000 +0100
|
||||
diff -Naurp ld/emulparams/avrxmega7.sh ld/emulparams/avrxmega7.sh
|
||||
--- ld/emulparams/avrxmega7.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrxmega7.sh 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:107
|
||||
+MACHINE=
|
||||
|
@ -571,10 +484,10 @@ diff -Nur ../binutils-2.20.orig/ld/emulparams/avrxmega7.sh ./ld/emulparams/avrxm
|
|||
+DATA_ORIGIN=0x802000
|
||||
+DATA_LENGTH=0xffa0
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Nur ../binutils-2.20.orig/ld/emultempl/avrelf.em ./ld/emultempl/avrelf.em
|
||||
--- ../binutils-2.20.orig/ld/emultempl/avrelf.em 2009-09-02 09:25:35.000000000 +0200
|
||||
+++ ./ld/emultempl/avrelf.em 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -71,8 +71,10 @@
|
||||
diff -Naurp ld/emultempl/avrelf.em ld/emultempl/avrelf.em
|
||||
--- ld/emultempl/avrelf.em 2009-09-02 02:25:35.000000000 -0500
|
||||
+++ ld/emultempl/avrelf.em 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -71,8 +71,10 @@ avr_elf_${EMULATION_NAME}_before_allocat
|
||||
|
||||
gld${EMULATION_NAME}_before_allocation ();
|
||||
|
||||
|
@ -587,10 +500,114 @@ diff -Nur ../binutils-2.20.orig/ld/emultempl/avrelf.em ./ld/emultempl/avrelf.em
|
|||
avr_no_stubs = TRUE;
|
||||
|
||||
avr_elf_set_global_bfd_parameters ();
|
||||
diff -Nur ../binutils-2.20.orig/opcodes/avr-dis.c ./opcodes/avr-dis.c
|
||||
--- ../binutils-2.20.orig/opcodes/avr-dis.c 2008-11-06 13:03:24.000000000 +0100
|
||||
+++ ./opcodes/avr-dis.c 2010-03-04 11:34:09.000000000 +0100
|
||||
@@ -50,7 +50,7 @@
|
||||
diff -Naurp ld/Makefile.am ld/Makefile.am
|
||||
--- ld/Makefile.am 2010-02-22 02:07:01.000000000 -0600
|
||||
+++ ld/Makefile.am 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -148,6 +148,13 @@ ALL_EMULATIONS = \
|
||||
eavr5.o \
|
||||
eavr51.o \
|
||||
eavr6.o \
|
||||
+ eavrxmega1.o \
|
||||
+ eavrxmega2.o \
|
||||
+ eavrxmega3.o \
|
||||
+ eavrxmega4.o \
|
||||
+ eavrxmega5.o \
|
||||
+ eavrxmega6.o \
|
||||
+ eavrxmega7.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -727,6 +734,34 @@ eavr6.c: $(srcdir)/emulparams/avr6.sh $(
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avr6 "$(tdir_avr2)"
|
||||
+eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
|
||||
+eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
|
||||
+eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
|
||||
+eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
|
||||
+eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
|
||||
+eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
|
||||
+eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
||||
diff -Naurp ld/Makefile.in ld/Makefile.in
|
||||
--- ld/Makefile.in 2010-03-03 08:06:21.000000000 -0600
|
||||
+++ ld/Makefile.in 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -434,6 +434,13 @@ ALL_EMULATIONS = \
|
||||
eavr5.o \
|
||||
eavr51.o \
|
||||
eavr6.o \
|
||||
+ eavrxmega1.o \
|
||||
+ eavrxmega2.o \
|
||||
+ eavrxmega3.o \
|
||||
+ eavrxmega4.o \
|
||||
+ eavrxmega5.o \
|
||||
+ eavrxmega6.o \
|
||||
+ eavrxmega7.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -2069,6 +2076,34 @@ eavr6.c: $(srcdir)/emulparams/avr6.sh $(
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avr6 "$(tdir_avr2)"
|
||||
+eavrxmega1.c: $(srcdir)/emulparams/avrxmega1.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega1 "$(tdir_avr2)"
|
||||
+eavrxmega2.c: $(srcdir)/emulparams/avrxmega2.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega2 "$(tdir_avr2)"
|
||||
+eavrxmega3.c: $(srcdir)/emulparams/avrxmega3.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega3 "$(tdir_avr2)"
|
||||
+eavrxmega4.c: $(srcdir)/emulparams/avrxmega4.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega4 "$(tdir_avr2)"
|
||||
+eavrxmega5.c: $(srcdir)/emulparams/avrxmega5.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega5 "$(tdir_avr2)"
|
||||
+eavrxmega6.c: $(srcdir)/emulparams/avrxmega6.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega6 "$(tdir_avr2)"
|
||||
+eavrxmega7.c: $(srcdir)/emulparams/avrxmega7.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
||||
diff -Naurp opcodes/avr-dis.c opcodes/avr-dis.c
|
||||
--- opcodes/avr-dis.c 2008-11-06 06:03:24.000000000 -0600
|
||||
+++ opcodes/avr-dis.c 2011-06-07 11:44:52.000000000 -0500
|
||||
@@ -50,7 +50,7 @@ static const char * comment_start = "0x"
|
||||
|
||||
static int
|
||||
avr_operand (unsigned int insn, unsigned int insn2, unsigned int pc, int constraint,
|
||||
|
@ -599,12 +616,11 @@ diff -Nur ../binutils-2.20.orig/opcodes/avr-dis.c ./opcodes/avr-dis.c
|
|||
{
|
||||
int ok = 1;
|
||||
*sym = 0;
|
||||
@@ -118,8 +118,18 @@
|
||||
@@ -118,8 +118,18 @@ avr_operand (unsigned int insn, unsigned
|
||||
|
||||
case 'z':
|
||||
*buf++ = 'Z';
|
||||
- if (insn & 0x1)
|
||||
- *buf++ = '+';
|
||||
+
|
||||
+ /* Check for post-increment. */
|
||||
+ char *s;
|
||||
|
@ -612,7 +628,7 @@ diff -Nur ../binutils-2.20.orig/opcodes/avr-dis.c ./opcodes/avr-dis.c
|
|||
+ {
|
||||
+ if (*s == '+')
|
||||
+ {
|
||||
+ *buf++ = '+';
|
||||
*buf++ = '+';
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
|
@ -620,18 +636,18 @@ diff -Nur ../binutils-2.20.orig/opcodes/avr-dis.c ./opcodes/avr-dis.c
|
|||
*buf = '\0';
|
||||
if (AVR_UNDEF_P (insn))
|
||||
sprintf (comment, _("undefined"));
|
||||
@@ -226,6 +236,10 @@
|
||||
sprintf (comment, "%d", x);
|
||||
@@ -227,6 +237,10 @@ avr_operand (unsigned int insn, unsigned
|
||||
}
|
||||
break;
|
||||
+
|
||||
|
||||
+ case 'E':
|
||||
+ sprintf (buf, "%d", (insn >> 4) & 15);
|
||||
+ break;
|
||||
|
||||
+
|
||||
case '?':
|
||||
*buf = '\0';
|
||||
@@ -331,7 +345,8 @@
|
||||
break;
|
||||
@@ -331,7 +345,8 @@ print_insn_avr (bfd_vma addr, disassembl
|
||||
|
||||
if (opcode->name)
|
||||
{
|
||||
|
@ -641,7 +657,7 @@ diff -Nur ../binutils-2.20.orig/opcodes/avr-dis.c ./opcodes/avr-dis.c
|
|||
|
||||
insn2 = 0;
|
||||
ok = 1;
|
||||
@@ -342,14 +357,14 @@
|
||||
@@ -342,14 +357,14 @@ print_insn_avr (bfd_vma addr, disassembl
|
||||
cmd_len = 4;
|
||||
}
|
||||
|
|
@ -1,7 +1,64 @@
|
|||
diff -ruw ggas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- ggas/config/tc-avr.c 2009-09-09 13:43:29.000000000 +0530
|
||||
+++ gas/config/tc-avr.c 2010-02-12 20:42:30.742688700 +0530
|
||||
@@ -133,9 +133,12 @@
|
||||
attiny461a
|
||||
atmega48a
|
||||
atmega88a
|
||||
atmega88pa
|
||||
atmega16a
|
||||
atmega164a
|
||||
atmega165a
|
||||
atmega168a
|
||||
atmega169a
|
||||
atmega169pa
|
||||
atmega324a
|
||||
atmega324pa
|
||||
atmega328
|
||||
atmega329pa
|
||||
atmega644a
|
||||
atmega645a
|
||||
atmega645p
|
||||
atmega649p
|
||||
atmega649a
|
||||
atmega6450a
|
||||
atmega6450p
|
||||
atmega6490a
|
||||
atmega6490p
|
||||
atmega64hve
|
||||
atmega16hva2
|
||||
attiny84a
|
||||
atmega325a
|
||||
atmega3250a
|
||||
atmega329a
|
||||
atmega3290a
|
||||
m3000
|
||||
Remove: m3000f, m3000s, m3001b, atmega16c1, atmega4hvd, atmega8hvd, atmega8m1,
|
||||
atmega8c1, attiny327
|
||||
===========================================================
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-01-12 14:20:58.000000000 -0600
|
||||
+++ gas/config/tc-avr.c 2011-01-12 14:24:17.000000000 -0600
|
||||
@@ -115,12 +115,14 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"attiny44", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny44a", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny84", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
+ {"attiny84a", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny25", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny45", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny85", 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},
|
||||
+ {"attiny461a", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny861", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny861a", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
{"attiny87", AVR_ISA_AVR25, bfd_mach_avr25},
|
||||
@@ -134,7 +136,6 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega103", AVR_ISA_AVR31, bfd_mach_avr31},
|
||||
{"at43usb320", AVR_ISA_AVR31, bfd_mach_avr31},
|
||||
{"attiny167", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
- {"attiny327", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"at90usb82", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"at90usb162", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"atmega8u2", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
@@ -142,16 +143,15 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega32u2", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
|
||||
{"atmega48", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
|
@ -14,7 +71,14 @@ diff -ruw ggas/config/tc-avr.c gas/config/tc-avr.c
|
|||
{"atmega8515", AVR_ISA_M8, bfd_mach_avr4},
|
||||
{"atmega8535", AVR_ISA_M8, bfd_mach_avr4},
|
||||
{"atmega8hva", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
@@ -150,40 +153,63 @@
|
||||
- {"atmega4hvd", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
- {"atmega8hvd", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
- {"atmega8c1", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
- {"atmega8m1", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm1", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm2", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm2b", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
@@ -159,40 +159,64 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"at90pwm3b", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm81", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega16", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
|
@ -25,6 +89,7 @@ diff -ruw ggas/config/tc-avr.c gas/config/tc-avr.c
|
|||
+ {"atmega164a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega164p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega165", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega165a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega165p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega168", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega168a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
|
@ -32,27 +97,28 @@ diff -ruw ggas/config/tc-avr.c gas/config/tc-avr.c
|
|||
{"atmega169", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega169a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega169p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
- {"atmega16c1", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega169pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega16hva",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega16hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16c1", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega32", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega323", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega324a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega324p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega324pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega325", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega325a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega325p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3250", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega3250a",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3250p",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega328", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega328p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega329", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega329a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega329p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega329pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3290", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega3290a",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3290p",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega32hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega406", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega64", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega640", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
|
@ -74,14 +140,32 @@ diff -ruw ggas/config/tc-avr.c gas/config/tc-avr.c
|
|||
+ {"atmega6490p",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega64hve",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16hva",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega16hva2",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega16hva2",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega32hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"at90can32" , AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
diff -ruw ggas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- ggas/doc/c-avr.texi 2009-09-02 12:54:21.000000000 +0530
|
||||
+++ gas/doc/c-avr.texi 2010-02-12 21:31:02.132717100 +0530
|
||||
@@ -43,9 +43,10 @@
|
||||
@@ -211,6 +235,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"at90usb647", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"at90scr100", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"at94k", AVR_ISA_94K, bfd_mach_avr5},
|
||||
+ {"m3000", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega128", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"atmega1280", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"atmega1281", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
@@ -219,9 +244,6 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"at90can128", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"at90usb1286",AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"at90usb1287",AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
- {"m3000f", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
- {"m3000s", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
- {"m3001b", AVR_ISA_AVR51, bfd_mach_avr51},
|
||||
{"atmega2560", AVR_ISA_AVR6, bfd_mach_avr6},
|
||||
{"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6},
|
||||
{"atxmega16a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-01-12 14:20:58.000000000 -0600
|
||||
+++ gas/doc/c-avr.texi 2011-01-12 14:22:42.000000000 -0600
|
||||
@@ -43,9 +43,10 @@ at90s8535).
|
||||
|
||||
Instruction set avr25 is for the classic AVR core with up to 8K program memory
|
||||
space plus the MOVW instruction (MCU types: attiny13, attiny13a, attiny2313,
|
||||
|
@ -89,13 +173,18 @@ diff -ruw ggas/doc/c-avr.texi gas/doc/c-avr.texi
|
|||
-attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461, attiny861,
|
||||
-attiny861a, attiny87, attiny43u, attiny48, attiny88, at86rf401, ata6289).
|
||||
+attiny2313a, attiny24, attiny24a, attiny4313, attiny43u, attiny44, attiny44a,
|
||||
+attiny84, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
|
||||
+attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
|
||||
+at86rf401, ata6289).
|
||||
+attiny84, attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a,
|
||||
+attiny461, attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48,
|
||||
+attiny88, at86rf401, ata6289).
|
||||
|
||||
Instruction set avr3 is for the classic AVR core with up to 128K program
|
||||
memory space (MCU types: at43usb355, at76c711).
|
||||
@@ -58,20 +59,25 @@
|
||||
@@ -54,28 +55,33 @@ Instruction set avr31 is for the classic
|
||||
memory space (MCU types: atmega103, at43usb320).
|
||||
|
||||
Instruction set avr35 is for classic AVR core plus MOVW, CALL, and JMP
|
||||
-instructions (MCU types: attiny167, attiny327, at90usb82, at90usb162, atmega8u2,
|
||||
+instructions (MCU types: attiny167, at90usb82, at90usb162, atmega8u2,
|
||||
atmega16u2, atmega32u2).
|
||||
|
||||
Instruction set avr4 is for the enhanced AVR core with up to 8K program
|
||||
|
@ -104,8 +193,8 @@ diff -ruw ggas/doc/c-avr.texi gas/doc/c-avr.texi
|
|||
-at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81, atmega8m1, atmega8c1).
|
||||
+memory space (MCU types: atmega48, atmega48a, atmega48p,atmega8, atmega88,
|
||||
+atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva,
|
||||
+atmega4hvd, atmega8hvd, at90pwm1,at90pwm2, at90pwm2b, at90pwm3, at90pwm3b,
|
||||
+at90pwm81, atmega8m1, atmega8c1).
|
||||
+at90pwm1,at90pwm2, at90pwm2b, at90pwm3, at90pwm3b,
|
||||
+at90pwm81).
|
||||
|
||||
Instruction set avr5 is for the enhanced AVR core with up to 128K program
|
||||
-memory space (MCU types: atmega16, atmega161, atmega162, atmega163, atmega164p,
|
||||
|
@ -119,17 +208,22 @@ diff -ruw ggas/doc/c-avr.texi gas/doc/c-avr.texi
|
|||
-at90scr100).
|
||||
+memory space (MCU types: atmega16, atmega16a, atmega161, atmega162, atmega163,
|
||||
+atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168,
|
||||
+atmega168a, atmega168p, atmega169, atmega169p, atmega169pa, atmega16c1,
|
||||
+atmega32, atmega323, atmega324a, atmega324p, atmega324pa, atmega325,
|
||||
+atmega325p, atmega3250, atmega3250p, atmega328, atmega328p, atmega329,
|
||||
+atmega329p, atmega329pa, atmega3290, atmega3290p, atmega406, atmega64,
|
||||
+atmega640, atmega644, atmega644a, atmega644p, atmega644pa, atmega645,
|
||||
+atmega645a, atmega645p, atmega6450, atmega6450a, atmega6450p, atmega649,
|
||||
+atmega649a, atmega649p, atmega6490, atmega6490a, atmega6490p, atmega64hve,
|
||||
+atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb, at90can32, at90can64,
|
||||
+at90pwm216, at90pwm316, atmega16u4, atmega32c1, atmega64c1, atmega64m1,
|
||||
+atmega16m1, atmega32m1, atmega64m1, atmega16u4, atmega32u4, atmega32u6,
|
||||
+at90usb646, at90usb647, at94k, at90scr100).
|
||||
+atmega168a, atmega168p, atmega169, atmega169p, atmega169pa,
|
||||
+atmega32, atmega323, atmega324a, atmega324p, atmega324pa, atmega325, atmega325a,
|
||||
+atmega325p, atmega3250, atmega3250a, atmega3250p, atmega328, atmega328p,
|
||||
+atmega329, atmega329a, atmega329p, atmega329pa, atmega3290, atmega3290a,
|
||||
+atmega3290p, atmega406, atmega64, atmega640, atmega644, atmega644a, atmega644p,
|
||||
+atmega644pa, atmega645, atmega645a, atmega645p, atmega6450, atmega6450a,
|
||||
+atmega6450p, atmega649, atmega649a, atmega649p, atmega6490, atmega6490a,
|
||||
+atmega6490p, atmega64hve, atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb,
|
||||
+at90can32, at90can64, at90pwm216, at90pwm316, atmega16u4, atmega32c1,
|
||||
+atmega64c1, atmega64m1, atmega16m1, atmega32m1, atmega64m1, atmega16u4,
|
||||
+atmega32u4, atmega32u6, at90usb646, at90usb647, at94k, at90scr100).
|
||||
|
||||
Instruction set avr51 is for the enhanced AVR core with exactly 128K program
|
||||
memory space (MCU types: atmega128, atmega1280, atmega1281, atmega1284p,
|
||||
-atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000f, m3000s, m3001b).
|
||||
+atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000).
|
||||
|
||||
Instruction set avr6 is for the enhanced AVR core with a 3-byte PC (MCU types:
|
||||
atmega2560, atmega2561).
|
218
devel/avr-binutils/files/patch-402-binutils-2.20.1-avrtiny10
Normal file
218
devel/avr-binutils/files/patch-402-binutils-2.20.1-avrtiny10
Normal file
|
@ -0,0 +1,218 @@
|
|||
diff -Naurp bfd/archures.c bfd/archures.c
|
||||
--- bfd/archures.c 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ bfd/archures.c 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -375,6 +375,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_avrxmega5 105
|
||||
.#define bfd_mach_avrxmega6 106
|
||||
.#define bfd_mach_avrxmega7 107
|
||||
+.#define bfd_mach_avrtiny10 201
|
||||
. bfd_arch_bfin, {* ADI Blackfin *}
|
||||
.#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-06-07 11:55:03.000000000 -0500
|
||||
+++ bfd/bfd-in2.h 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -2049,6 +2049,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_avrxmega5 105
|
||||
#define bfd_mach_avrxmega6 106
|
||||
#define bfd_mach_avrxmega7 107
|
||||
+#define bfd_mach_avrtiny10 201
|
||||
bfd_arch_bfin, /* ADI Blackfin */
|
||||
#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-06-07 11:55:03.000000000 -0500
|
||||
+++ bfd/cpu-avr.c 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -154,7 +154,10 @@ static const bfd_arch_info_type arch_inf
|
||||
N (24, bfd_mach_avrxmega6, "avr:106", FALSE, & arch_info_struct[16]),
|
||||
|
||||
/* Xmega 7 */
|
||||
- N (24, bfd_mach_avrxmega7, "avr:107", FALSE, NULL)
|
||||
+ N (24, bfd_mach_avrxmega7, "avr:107", FALSE, & arch_info_struct[17]),
|
||||
+
|
||||
+ /* 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 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ bfd/elf32-avr.c 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -1356,6 +1356,10 @@ bfd_elf_avr_final_write_processing (bfd
|
||||
case bfd_mach_avrxmega7:
|
||||
val = E_AVR_MACH_XMEGA7;
|
||||
break;
|
||||
+
|
||||
+ case bfd_mach_avrtiny10:
|
||||
+ val = E_AVR_MACH_AVRTINY10;
|
||||
+ break;
|
||||
}
|
||||
|
||||
elf_elfheader (abfd)->e_machine = EM_AVR;
|
||||
@@ -1446,6 +1450,10 @@ elf32_avr_object_p (bfd *abfd)
|
||||
case E_AVR_MACH_XMEGA7:
|
||||
e_set = bfd_mach_avrxmega7;
|
||||
break;
|
||||
+
|
||||
+ case E_AVR_MACH_AVRTINY10:
|
||||
+ e_set = bfd_mach_avrtiny10;
|
||||
+ break;
|
||||
}
|
||||
}
|
||||
return bfd_default_set_arch_mach (abfd, bfd_arch_avr,
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 11:56:25.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -88,6 +88,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"avrxmega5", AVR_ISA_XMEGA, bfd_mach_avrxmega5},
|
||||
{"avrxmega6", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"avrxmega7", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
+ {"avrtiny10", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
{"at90s1200", AVR_ISA_1200, bfd_mach_avr1},
|
||||
{"attiny11", AVR_ISA_AVR1, bfd_mach_avr1},
|
||||
{"attiny12", AVR_ISA_AVR1, bfd_mach_avr1},
|
||||
@@ -261,6 +262,12 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
+ {"attiny4", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
+ {"attiny5", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
+ {"attiny9", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
+ {"attiny10", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
+ {"attiny20", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
+ {"attiny40", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
{NULL, 0, 0}
|
||||
};
|
||||
|
||||
@@ -443,6 +450,7 @@ md_show_usage (FILE *stream)
|
||||
" avrxmega5 - XMEGA, > 64K, <= 128K FLASH, > 64K RAM\n"
|
||||
" avrxmega6 - XMEGA, > 128K, <= 256K FLASH, <= 64K RAM\n"
|
||||
" avrxmega7 - XMEGA, > 128K, <= 256K FLASH, > 64K RAM\n"
|
||||
+ " avrtiny10 - tiny devices with 16 gp registers\n"
|
||||
" or immediate microcontroller name.\n"));
|
||||
fprintf (stream,
|
||||
_(" -mall-opcodes accept all AVR opcodes, even if not supported by MCU\n"
|
||||
@@ -790,6 +798,17 @@ avr_operand (struct avr_opcodes_s *opcod
|
||||
op_mask = avr_get_constant (str, 31);
|
||||
str = input_line_pointer;
|
||||
}
|
||||
+ if (strcmp(avr_mcu->name, "avrtiny10") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny10") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny4") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny5") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny9") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny20") == 0
|
||||
+ || strcmp(avr_mcu->name, "attiny40") == 0)
|
||||
+ {
|
||||
+ if(op_mask < 16)
|
||||
+ as_bad (_("register number above 15 required"));
|
||||
+ }
|
||||
|
||||
if (op_mask <= 31)
|
||||
{
|
||||
diff -Naurp include/elf/avr.h include/elf/avr.h
|
||||
--- include/elf/avr.h 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ include/elf/avr.h 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -47,6 +47,7 @@
|
||||
#define E_AVR_MACH_XMEGA5 105
|
||||
#define E_AVR_MACH_XMEGA6 106
|
||||
#define E_AVR_MACH_XMEGA7 107
|
||||
+#define E_AVR_MACH_AVRTINY10 201
|
||||
|
||||
/* Relocations. */
|
||||
START_RELOC_NUMBERS (elf_avr_reloc_type)
|
||||
diff -Naurp include/opcode/avr.h include/opcode/avr.h
|
||||
--- include/opcode/avr.h 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ include/opcode/avr.h 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -69,7 +69,7 @@
|
||||
AVR_ISA_ELPM | AVR_ISA_ELPMX | AVR_ISA_SPM | \
|
||||
AVR_ISA_SPM | AVR_ISA_BRK | AVR_ISA_EIND | \
|
||||
AVR_ISA_MOVW)
|
||||
-
|
||||
+#define AVR_ISA_AVRTINY10 (AVR_ISA_1200 | AVR_ISA_BRK | AVR_ISA_SRAM)
|
||||
#define REGISTER_P(x) ((x) == 'r' \
|
||||
|| (x) == 'd' \
|
||||
|| (x) == 'w' \
|
||||
@@ -159,8 +159,8 @@ AVR_INSN (sez, "", "1001010000011000
|
||||
AVR_INSN (bclr, "S", "100101001SSS1000", 1, AVR_ISA_1200, 0x9488)
|
||||
AVR_INSN (bset, "S", "100101000SSS1000", 1, AVR_ISA_1200, 0x9408)
|
||||
|
||||
-AVR_INSN (icall,"", "1001010100001001", 1, AVR_ISA_2xxx, 0x9509)
|
||||
-AVR_INSN (ijmp, "", "1001010000001001", 1, AVR_ISA_2xxx, 0x9409)
|
||||
+AVR_INSN (icall,"", "1001010100001001", 1, AVR_ISA_SRAM, 0x9509)
|
||||
+AVR_INSN (ijmp, "", "1001010000001001", 1, AVR_ISA_SRAM, 0x9409)
|
||||
|
||||
AVR_INSN (lpm, "?", "1001010111001000", 1, AVR_ISA_TINY1,0x95c8)
|
||||
AVR_INSN (lpm, "r,z", "1001000ddddd010+", 1, AVR_ISA_LPMX, 0x9004)
|
||||
@@ -260,8 +260,8 @@ AVR_INSN (dec, "r", "1001010rrrrr1010
|
||||
AVR_INSN (inc, "r", "1001010rrrrr0011", 1, AVR_ISA_1200, 0x9403)
|
||||
AVR_INSN (lsr, "r", "1001010rrrrr0110", 1, AVR_ISA_1200, 0x9406)
|
||||
AVR_INSN (neg, "r", "1001010rrrrr0001", 1, AVR_ISA_1200, 0x9401)
|
||||
-AVR_INSN (pop, "r", "1001000rrrrr1111", 1, AVR_ISA_2xxx, 0x900f)
|
||||
-AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_2xxx, 0x920f)
|
||||
+AVR_INSN (pop, "r", "1001000rrrrr1111", 1, AVR_ISA_SRAM, 0x900f)
|
||||
+AVR_INSN (push, "r", "1001001rrrrr1111", 1, AVR_ISA_SRAM, 0x920f)
|
||||
AVR_INSN (ror, "r", "1001010rrrrr0111", 1, AVR_ISA_1200, 0x9407)
|
||||
AVR_INSN (swap, "r", "1001010rrrrr0010", 1, AVR_ISA_1200, 0x9402)
|
||||
|
||||
@@ -273,8 +273,8 @@ AVR_INSN (fmul, "a,a", "000000110ddd1rrr
|
||||
AVR_INSN (fmuls,"a,a", "000000111ddd0rrr", 1, AVR_ISA_MUL, 0x0380)
|
||||
AVR_INSN (fmulsu,"a,a","000000111ddd1rrr", 1, AVR_ISA_MUL, 0x0388)
|
||||
|
||||
-AVR_INSN (sts, "i,r", "1001001ddddd0000", 2, AVR_ISA_2xxx, 0x9200)
|
||||
-AVR_INSN (lds, "r,i", "1001000ddddd0000", 2, AVR_ISA_2xxx, 0x9000)
|
||||
+AVR_INSN (sts, "i,r", "1001001ddddd0000", 2, AVR_ISA_SRAM, 0x9200)
|
||||
+AVR_INSN (lds, "r,i", "1001000ddddd0000", 2, AVR_ISA_SRAM, 0x9000)
|
||||
|
||||
/* Special case for b+0, `e' must be next entry after `b',
|
||||
b={Y=1,Z=0}, ee={X=11,Y=10,Z=00}, !=1 if -e or e+ or X. */
|
||||
diff -Naurp ld/configure.tgt ld/configure.tgt
|
||||
--- ld/configure.tgt 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ ld/configure.tgt 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -110,7 +110,7 @@ xscale-*-coff) targ_emul=armcoff ;;
|
||||
xscale-*-elf) 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"
|
||||
+ targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny10"
|
||||
;;
|
||||
bfin-*-elf) targ_emul=elf32bfin;
|
||||
targ_extra_emuls="elf32bfinfd"
|
||||
diff -Naurp ld/emulparams/avrtiny10.sh ld/emulparams/avrtiny10.sh
|
||||
--- ld/emulparams/avrtiny10.sh 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/emulparams/avrtiny10.sh 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -0,0 +1,12 @@
|
||||
+ARCH=avr:201
|
||||
+MACHINE=
|
||||
+SCRIPT_NAME=avr
|
||||
+OUTPUT_FORMAT="elf32-avr"
|
||||
+MAXPAGESIZE=1
|
||||
+EMBEDDED=yes
|
||||
+TEMPLATE_NAME=elf32
|
||||
+
|
||||
+TEXT_LENGTH=4K
|
||||
+DATA_ORIGIN=0x800040
|
||||
+DATA_LENGTH=0x140
|
||||
+EXTRA_EM_FILE=avrelf
|
||||
diff -Naurp ld/Makefile.am ld/Makefile.am
|
||||
--- ld/Makefile.am 2011-06-07 11:55:03.000000000 -0500
|
||||
+++ ld/Makefile.am 2011-06-07 11:56:48.000000000 -0500
|
||||
@@ -155,6 +155,7 @@ ALL_EMULATIONS = \
|
||||
eavrxmega5.o \
|
||||
eavrxmega6.o \
|
||||
eavrxmega7.o \
|
||||
+ eavrtiny10.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -762,6 +763,10 @@ eavrxmega7.c: $(srcdir)/emulparams/avrxm
|
||||
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
+eavrtiny10.c: $(srcdir)/emulparams/avrtiny10.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrtiny10 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
|
@ -0,0 +1,42 @@
|
|||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:00:46.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:01:05.000000000 -0500
|
||||
@@ -254,6 +254,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atxmega64a3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
|
||||
{"atxmega64d3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
|
||||
{"atxmega64a1", AVR_ISA_XMEGA, bfd_mach_avrxmega5},
|
||||
+ {"atxmega64a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega5},
|
||||
{"atxmega128a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega192a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
@@ -262,6 +263,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
+ {"atxmega128a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
{"attiny4", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
{"attiny5", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
{"attiny9", AVR_ISA_AVRTINY10, bfd_mach_avrtiny10},
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-06-07 11:56:25.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:01:05.000000000 -0500
|
||||
@@ -97,7 +97,8 @@ Instruction set avrxmega4 is for the XME
|
||||
memory space and less than 64K data space (MCU types: atxmega64a3, atxmega64d3).
|
||||
|
||||
Instruction set avrxmega5 is for the XMEGA AVR core with up to 64K program
|
||||
-memory space and greater than 64K data space (MCU types: atxmega64a1).
|
||||
+memory space and greater than 64K data space (MCU types: atxmega64a1,
|
||||
+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,
|
||||
@@ -105,7 +106,8 @@ atxmega128d3, atxmega192a3, atxmega192d3
|
||||
atxmega192d3).
|
||||
|
||||
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).
|
||||
+memory space and greater than 64K data space (MCU types: atxmega128a1,
|
||||
+atxmega128a1u).
|
||||
|
||||
@cindex @code{-mall-opcodes} command line option, AVR
|
||||
@item -mall-opcodes
|
|
@ -0,0 +1,30 @@
|
|||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:03:38.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:03:51.000000000 -0500
|
||||
@@ -249,8 +249,10 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6},
|
||||
{"atxmega16a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
{"atxmega16d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega16x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
{"atxmega32a4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
{"atxmega32d4", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
+ {"atxmega32x1", AVR_ISA_XMEGA, bfd_mach_avrxmega2},
|
||||
{"atxmega64a3", AVR_ISA_XMEGA, bfd_mach_avrxmega4},
|
||||
{"atxmega64d3", 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 2011-06-07 12:03:38.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:03:51.000000000 -0500
|
||||
@@ -88,10 +88,10 @@ atmega2560, atmega2561).
|
||||
|
||||
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, atxmega16d4,
|
||||
-atxmega32d4).
|
||||
+atxmega16x1, atxmega32a4, atxmega32d4, atxmega32x1).
|
||||
|
||||
Instruction set avrxmega3 is for the XMEGA AVR core with 8K to 64K program
|
||||
-memory space and greater than 64K data space (MCU types: atxmega32a4).
|
||||
+memory space and greater than 64K data space (MCU types: none).
|
||||
|
||||
Instruction set avrxmega4 is for the XMEGA AVR core with up to 64K program
|
||||
memory space and less than 64K data space (MCU types: atxmega64a3, atxmega64d3).
|
|
@ -0,0 +1,36 @@
|
|||
diff -Naurp binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-06-07 11:47:11.000000000 -0500
|
||||
+++ binutils/size.c 2011-06-07 12:23:39.000000000 -0500
|
||||
@@ -132,6 +132,7 @@ avr_device_t avr[] =
|
||||
{"atxmega128a1", AVR136K, AVR8K, AVR2K},
|
||||
{"atxmega128a1u", AVR136K, AVR8K, AVR2K},
|
||||
{"atxmega128a3", AVR136K, AVR8K, AVR2K},
|
||||
+ {"atxmega128b1", AVR136K, AVR8K, AVR2K},
|
||||
{"atxmega128d3", AVR136K, AVR8K, AVR2K},
|
||||
|
||||
{"at43usb320", AVR128K, 608UL, 0UL},
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:05:36.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:23:39.000000000 -0500
|
||||
@@ -258,6 +258,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},
|
||||
{"atxmega128d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega192a3", AVR_ISA_XMEGA, 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-06-07 12:05:36.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:23:39.000000000 -0500
|
||||
@@ -102,8 +102,8 @@ 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,
|
||||
-atxmega128d3, atxmega192a3, atxmega192d3, atxmega256a3, atxmega256a3b,
|
||||
-atxmega192d3).
|
||||
+atxmega128d3, atxmega192a3, atxmega128b1, atxmega192d3, atxmega256a3,
|
||||
+atxmega256a3b, atxmega192d3).
|
||||
|
||||
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,
|
|
@ -0,0 +1,34 @@
|
|||
diff -Naurp binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-06-07 12:31:12.000000000 -0500
|
||||
+++ binutils/size.c 2011-06-07 12:31:23.000000000 -0500
|
||||
@@ -121,6 +121,7 @@ avr_device_t avr[] =
|
||||
{
|
||||
{"atxmega256a3", AVR264K, AVR16K, AVR4K},
|
||||
{"atxmega256a3b", AVR264K, AVR16K, AVR4K},
|
||||
+ {"atxmega256a3bu",AVR264K, AVR16K, AVR4K},
|
||||
{"atxmega256d3", AVR264K, AVR16K, AVR4K},
|
||||
|
||||
{"atmega2560", AVR256K, AVR8K, AVR4K},
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:31:12.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:31:23.000000000 -0500
|
||||
@@ -264,6 +264,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atxmega192d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega256a3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega256a3b",AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
+ {"atxmega256a3bu",AVR_ISA_XMEGA,bfd_mach_avrxmega6},
|
||||
{"atxmega256d3", AVR_ISA_XMEGA, bfd_mach_avrxmega6},
|
||||
{"atxmega128a1", AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
{"atxmega128a1u",AVR_ISA_XMEGA, bfd_mach_avrxmega7},
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-06-07 12:31:12.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:31:23.000000000 -0500
|
||||
@@ -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,
|
||||
atxmega128d3, atxmega192a3, atxmega128b1, atxmega192d3, atxmega256a3,
|
||||
-atxmega256a3b, atxmega192d3).
|
||||
+atxmega256a3b, atxmega256a3bu, atxmega192d3).
|
||||
|
||||
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,
|
|
@ -0,0 +1,73 @@
|
|||
diff -rupw binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-01-10 13:22:40.000000000 -0600
|
||||
+++ binutils/size.c 2011-01-05 19:15:32.000000000 -0600
|
||||
@@ -220,6 +220,7 @@ avr_device_t avr[] =
|
||||
{"atxmega16d4", AVR20K, AVR2K, AVR1K},
|
||||
|
||||
{"at76c711", AVR16K, AVR2K, 0UL},
|
||||
+ {"at90pwm161", AVR16K, AVR1K, AVR512},
|
||||
{"at90pwm216", AVR16K, AVR1K, AVR512},
|
||||
{"at90pwm316", AVR16K, AVR1K, AVR512},
|
||||
{"at90usb162", AVR16K, AVR512, AVR512},
|
||||
diff -rupw gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-01-10 13:22:40.000000000 -0600
|
||||
+++ gas/config/tc-avr.c 2011-01-05 19:09:23.000000000 -0600
|
||||
@@ -159,6 +159,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"at90pwm3", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm3b", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"at90pwm81", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
+ {"at90pwm161", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega161", AVR_ISA_M161, bfd_mach_avr5},
|
||||
diff -rupw gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-01-10 13:22:40.000000000 -0600
|
||||
+++ gas/doc/c-avr.texi 2011-01-05 19:10:26.000000000 -0600
|
||||
@@ -65,8 +65,8 @@ at90pwm1,at90pwm2, at90pwm2b, at90pwm3,
|
||||
at90pwm81).
|
||||
|
||||
Instruction set avr5 is for the enhanced AVR core with up to 128K program
|
||||
-memory space (MCU types: atmega16, atmega16a, atmega161, atmega162, atmega163,
|
||||
-atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168,
|
||||
+memory space (MCU types: at90pwm161, atmega16, atmega16a, atmega161, atmega162,
|
||||
+atmega163, atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168,
|
||||
atmega168a, atmega168p, atmega169, atmega169p, atmega169pa,
|
||||
atmega32, atmega323, atmega324a, atmega324p, atmega324pa, atmega325, atmega325a,
|
||||
atmega325p, atmega3250, atmega3250a, atmega3250p, atmega328, atmega328p,
|
||||
diff -rupw ld/Makefile.in ld/Makefile.in
|
||||
--- ld/Makefile.in 2011-01-10 13:22:05.000000000 -0600
|
||||
+++ ld/Makefile.in 2011-01-06 11:18:12.000000000 -0600
|
||||
@@ -441,6 +441,7 @@ ALL_EMULATIONS = \
|
||||
eavrxmega5.o \
|
||||
eavrxmega6.o \
|
||||
eavrxmega7.o \
|
||||
+ eavrtiny10.o \
|
||||
ecoff_i860.o \
|
||||
ecoff_sparc.o \
|
||||
eelf32_spu.o \
|
||||
@@ -952,6 +953,14 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr5.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr51.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavr6.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrtiny10.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega1.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega2.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega3.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega4.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega5.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega6.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eavrxmega7.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff_i860.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecoff_sparc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ecrisaout.Po@am__quote@
|
||||
@@ -2104,6 +2113,10 @@ eavrxmega7.c: $(srcdir)/emulparams/avrxm
|
||||
$(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
+eavrtiny10.c: $(srcdir)/emulparams/avrtiny10.sh \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ ${GEN_DEPENDS}
|
||||
+ ${GENSCRIPTS} avrtiny10 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/i860coff.sc ${GEN_DEPENDS}
|
||||
${GENSCRIPTS} coff_i860 "$(tdir_coff_i860)"
|
|
@ -0,0 +1,52 @@
|
|||
diff -Naur binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-01-19 13:46:48.000000000 -0600
|
||||
+++ binutils/size.c 2011-01-19 13:50:05.000000000 -0600
|
||||
@@ -207,8 +207,8 @@
|
||||
{"atmega3290a", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3290p", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32hvb", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega32hvbrevb",AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32c1", AVR32K, AVR2K, AVR1K},
|
||||
- {"atmega32hvb", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32m1", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32u2", AVR32K, AVR1K, AVR1K},
|
||||
{"atmega32u4", AVR32K, 2560UL, AVR1K},
|
||||
@@ -244,7 +244,8 @@
|
||||
{"atmega169pa", AVR16K, AVR1K, AVR512},
|
||||
{"atmega16hva", AVR16K, 768UL, AVR256},
|
||||
{"atmega16hva2", AVR16K, AVR1K, AVR256},
|
||||
- {"atmega16hvb", AVR16K, AVR1K, AVR512},
|
||||
+ {"atmega16hvb", AVR16K, AVR1K, AVR512},
|
||||
+ {"atmega16hvbrevb",AVR16K, AVR1K, AVR512},
|
||||
{"atmega16m1", AVR16K, AVR1K, AVR512},
|
||||
{"atmega16u2", AVR16K, AVR512, AVR512},
|
||||
{"atmega16u4", AVR16K, 1280UL, AVR512},
|
||||
diff -Naur gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-01-19 13:46:48.000000000 -0600
|
||||
+++ gas/config/tc-avr.c 2011-01-19 13:51:06.000000000 -0600
|
||||
@@ -220,7 +220,9 @@
|
||||
{"atmega16hva",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16hva2",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega16hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega16hvbrevb",AVR_ISA_AVR5,bfd_mach_avr5},
|
||||
{"atmega32hvb",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega32hvbrevb",AVR_ISA_AVR5,bfd_mach_avr5},
|
||||
{"at90can32" , AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"at90can64" , AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"at90pwm216", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
diff -Naur gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-01-19 13:46:48.000000000 -0600
|
||||
+++ gas/doc/c-avr.texi 2011-01-19 13:52:30.000000000 -0600
|
||||
@@ -75,9 +75,9 @@
|
||||
atmega644pa, atmega645, atmega645a, atmega645p, atmega6450, atmega6450a,
|
||||
atmega6450p, atmega649, atmega649a, atmega649p, atmega6490, atmega6490a,
|
||||
atmega6490p, atmega64hve, atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb,
|
||||
-at90can32, at90can64, at90pwm216, at90pwm316, atmega16u4, atmega32c1,
|
||||
-atmega64c1, atmega64m1, atmega16m1, atmega32m1, atmega64m1, atmega16u4,
|
||||
-atmega32u4, atmega32u6, at90usb646, at90usb647, at94k, at90scr100).
|
||||
+atmega16hvbrevb, atmega32hvbrevb, at90can32, at90can64, at90pwm216, at90pwm316,
|
||||
+atmega16u4, atmega32c1, atmega64c1, atmega64m1, atmega16m1, atmega32m1, atmega64m1,
|
||||
+atmega16u4, atmega32u4, atmega32u6, at90usb646, at90usb647, at94k, at90scr100).
|
||||
|
||||
Instruction set avr51 is for the enhanced AVR core with exactly 128K program
|
||||
memory space (MCU types: atmega128, atmega1280, atmega1281, atmega1284p,
|
|
@ -0,0 +1,88 @@
|
|||
diff -Naurp binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-02-17 11:55:20.000000000 -0600
|
||||
+++ binutils/size.c 2011-02-16 15:37:59.000000000 -0600
|
||||
@@ -194,9 +194,11 @@ avr_device_t avr[] =
|
||||
{"atmega325", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega325a", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega325p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega325pa", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3250", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3250a", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3250p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3250pa", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega328", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega328p", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega329", AVR32K, AVR2K, AVR1K},
|
||||
@@ -206,6 +208,7 @@ avr_device_t avr[] =
|
||||
{"atmega3290", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3290a", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega3290p", AVR32K, AVR2K, AVR1K},
|
||||
+ {"atmega3290pa", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32hvb", AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32hvbrevb",AVR32K, AVR2K, AVR1K},
|
||||
{"atmega32c1", AVR32K, AVR2K, AVR1K},
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-02-17 11:55:20.000000000 -0600
|
||||
+++ gas/config/tc-avr.c 2011-02-16 15:22:24.000000000 -0600
|
||||
@@ -185,9 +185,11 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega325", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega325a", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega325p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega325pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3250", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3250a",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3250p",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega3250pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega328", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega328p", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega329", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
@@ -197,6 +199,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega3290", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3290a",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega3290p",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
+ {"atmega3290pa",AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega406", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega64", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
{"atmega640", AVR_ISA_AVR5, bfd_mach_avr5},
|
||||
diff -Naurp gas/doc/as.info gas/doc/as.info
|
||||
--- gas/doc/as.info 2010-03-01 07:49:55.000000000 -0600
|
||||
+++ gas/doc/as.info 2011-02-17 11:59:53.000000000 -0600
|
||||
@@ -7097,14 +7097,15 @@ File: as.info, Node: AVR Options, Next
|
||||
program memory space (MCU types: atmega16, atmega161, atmega162,
|
||||
atmega163, atmega164p, atmega165, atmega165p, atmega168,
|
||||
atmega168p, atmega169, atmega169p, atmega16c1, atmega32,
|
||||
- atmega323, atmega324p, atmega325, atmega325p, atmega3250,
|
||||
- atmega3250p, atmega328p, atmega329, atmega329p, atmega3290,
|
||||
- atmega3290p, atmega406, atmega64, atmega640, atmega644,
|
||||
- atmega644p, atmega644pa, atmega645, atmega6450, atmega649,
|
||||
- atmega6490, atmega16hva, atmega16hvb, atmega32hvb, at90can32,
|
||||
- at90can64, at90pwm216, at90pwm316, atmega32c1, atmega64c1,
|
||||
- atmega16m1, atmega32m1, atmega64m1, atmega16u4, atmega32u4,
|
||||
- atmega32u6, at90usb646, at90usb647, at94k, at90scr100).
|
||||
+ atmega323, atmega324p, atmega325, atmega325p, atmega325pa,
|
||||
+ atmega3250, atmega3250p, atmega3250pa, atmega328p, atmega329,
|
||||
+ atmega329p, atmega3290, atmega3290p, atmega3290pa, atmega406,
|
||||
+ atmega64, atmega640, atmega644, atmega644p, atmega644pa, atmega645,
|
||||
+ atmega6450, atmega649, atmega6490, atmega16hva, atmega16hvb,
|
||||
+ atmega32hvb, at90can32, at90can64, at90pwm216, at90pwm316,
|
||||
+ atmega32c1, atmega64c1, atmega16m1, atmega32m1, atmega64m1,
|
||||
+ atmega16u4, atmega32u4, atmega32u6, at90usb646, at90usb647,
|
||||
+ at94k, at90scr100).
|
||||
|
||||
Instruction set avr51 is for the enhanced AVR core with exactly
|
||||
128K program memory space (MCU types: atmega128, atmega1280,
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-02-17 11:55:20.000000000 -0600
|
||||
+++ gas/doc/c-avr.texi 2011-02-16 15:42:20.000000000 -0600
|
||||
@@ -69,9 +69,9 @@ memory space (MCU types: at90pwm161, atm
|
||||
atmega163, atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168,
|
||||
atmega168a, atmega168p, atmega169, atmega169p, atmega169pa,
|
||||
atmega32, atmega323, atmega324a, atmega324p, atmega324pa, atmega325, atmega325a,
|
||||
-atmega325p, atmega3250, atmega3250a, atmega3250p, atmega328, atmega328p,
|
||||
+atmega325p, atmega325pa, atmega3250, atmega3250a, atmega3250p, atmega3250pa, atmega328, atmega328p,
|
||||
atmega329, atmega329a, atmega329p, atmega329pa, atmega3290, atmega3290a,
|
||||
-atmega3290p, atmega406, atmega64, atmega640, atmega644, atmega644a, atmega644p,
|
||||
+atmega3290p, atmega3290pa, atmega406, atmega64, atmega640, atmega644, atmega644a, atmega644p,
|
||||
atmega644pa, atmega645, atmega645a, atmega645p, atmega6450, atmega6450a,
|
||||
atmega6450p, atmega649, atmega649a, atmega649p, atmega6490, atmega6490a,
|
||||
atmega6490p, atmega64hve, atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb,
|
|
@ -0,0 +1,36 @@
|
|||
diff -Naurp binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-06-07 12:36:56.000000000 -0500
|
||||
+++ binutils/size.c 2011-06-07 12:37:08.000000000 -0500
|
||||
@@ -250,6 +250,7 @@ avr_device_t avr[] =
|
||||
{"atmega16hvb", AVR16K, AVR1K, AVR512},
|
||||
{"atmega16hvbrevb",AVR16K, AVR1K, AVR512},
|
||||
{"atmega16m1", AVR16K, AVR1K, AVR512},
|
||||
+ {"attiny1634", AVR16K, AVR1K, AVR256},
|
||||
{"atmega16u2", AVR16K, AVR512, AVR512},
|
||||
{"atmega16u4", AVR16K, 1280UL, AVR512},
|
||||
{"attiny167", AVR16K, AVR512, AVR512},
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:36:56.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:37:08.000000000 -0500
|
||||
@@ -142,6 +142,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega8u2", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"atmega16u2", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"atmega32u2", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
+ {"attiny1634", AVR_ISA_AVR35, bfd_mach_avr35},
|
||||
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
|
||||
{"atmega48", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega48a", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-06-07 12:36:56.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:37:08.000000000 -0500
|
||||
@@ -55,8 +55,8 @@ Instruction set avr31 is for the classic
|
||||
memory space (MCU types: atmega103, at43usb320).
|
||||
|
||||
Instruction set avr35 is for classic AVR core plus MOVW, CALL, and JMP
|
||||
-instructions (MCU types: attiny167, at90usb82, at90usb162, atmega8u2,
|
||||
-atmega16u2, atmega32u2).
|
||||
+instructions (MCU types: attiny167, attiny1634, at90usb82, at90usb162,
|
||||
+atmega8u2, atmega16u2, atmega32u2).
|
||||
|
||||
Instruction set avr4 is for the enhanced AVR core with up to 8K program
|
||||
memory space (MCU types: atmega48, atmega48a, atmega48p,atmega8, atmega88,
|
|
@ -0,0 +1,39 @@
|
|||
diff -Naurp binutils/size.c binutils/size.c
|
||||
--- binutils/size.c 2011-06-07 12:38:50.000000000 -0500
|
||||
+++ binutils/size.c 2011-06-07 12:39:18.000000000 -0500
|
||||
@@ -288,6 +288,7 @@ avr_device_t avr[] =
|
||||
{"at90s4434", AVR4K, 352UL, AVR256},
|
||||
{"atmega48", AVR4K, AVR512, AVR256},
|
||||
{"atmega48a", AVR4K, AVR512, AVR256},
|
||||
+ {"atmega48pa", AVR4K, AVR512, AVR256},
|
||||
{"atmega48p", AVR4K, AVR512, AVR256},
|
||||
{"attiny4313", AVR4K, AVR256, AVR256},
|
||||
{"attiny43u", AVR4K, AVR256, AVR64},
|
||||
diff -Naurp gas/config/tc-avr.c gas/config/tc-avr.c
|
||||
--- gas/config/tc-avr.c 2011-06-07 12:38:50.000000000 -0500
|
||||
+++ gas/config/tc-avr.c 2011-06-07 12:39:18.000000000 -0500
|
||||
@@ -146,6 +146,7 @@ static struct mcu_type_s mcu_types[] =
|
||||
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
|
||||
{"atmega48", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega48a", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
+ {"atmega48pa", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega48p", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega88", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
{"atmega88a", AVR_ISA_AVR4, bfd_mach_avr4},
|
||||
diff -Naurp gas/doc/c-avr.texi gas/doc/c-avr.texi
|
||||
--- gas/doc/c-avr.texi 2011-06-07 12:38:50.000000000 -0500
|
||||
+++ gas/doc/c-avr.texi 2011-06-07 12:39:18.000000000 -0500
|
||||
@@ -59,10 +59,9 @@ instructions (MCU types: attiny167, atti
|
||||
atmega8u2, atmega16u2, atmega32u2).
|
||||
|
||||
Instruction set avr4 is for the enhanced AVR core with up to 8K program
|
||||
-memory space (MCU types: atmega48, atmega48a, atmega48p,atmega8, atmega88,
|
||||
-atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva,
|
||||
-at90pwm1,at90pwm2, at90pwm2b, at90pwm3, at90pwm3b,
|
||||
-at90pwm81).
|
||||
+memory space (MCU types: atmega48, atmega48a, atmega48pa, atmega48p,atmega8,
|
||||
+atmega88, atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva,
|
||||
+at90pwm1,at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81).
|
||||
|
||||
Instruction set avr5 is for the enhanced AVR core with up to 128K program
|
||||
memory space (MCU types: at90pwm161, atmega16, atmega16a, atmega161, atmega162,
|
377
devel/avr-binutils/files/patch-500-binutils-2.20.1-bug13789
Normal file
377
devel/avr-binutils/files/patch-500-binutils-2.20.1-bug13789
Normal file
|
@ -0,0 +1,377 @@
|
|||
diff -rupN bfd/archures.c bfd/archures.c
|
||||
--- bfd/archures.c 2011-05-11 20:06:37.000000000 -0500
|
||||
+++ bfd/archures.c 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -368,6 +368,7 @@ DESCRIPTION
|
||||
.#define bfd_mach_avr5 5
|
||||
.#define bfd_mach_avr51 51
|
||||
.#define bfd_mach_avr6 6
|
||||
+.#define bfd_mach_avrtiny10 100
|
||||
.#define bfd_mach_avrxmega1 101
|
||||
.#define bfd_mach_avrxmega2 102
|
||||
.#define bfd_mach_avrxmega3 103
|
||||
@@ -375,7 +376,6 @@ DESCRIPTION
|
||||
.#define bfd_mach_avrxmega5 105
|
||||
.#define bfd_mach_avrxmega6 106
|
||||
.#define bfd_mach_avrxmega7 107
|
||||
-.#define bfd_mach_avrtiny10 201
|
||||
. bfd_arch_bfin, {* ADI Blackfin *}
|
||||
.#define bfd_mach_bfin 1
|
||||
. bfd_arch_cr16, {* National Semiconductor CompactRISC (ie CR16). *}
|
||||
diff -rupN bfd/bfd-in2.h bfd/bfd-in2.h
|
||||
--- bfd/bfd-in2.h 2011-05-11 20:06:39.000000000 -0500
|
||||
+++ bfd/bfd-in2.h 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -2042,6 +2042,7 @@ enum bfd_architecture
|
||||
#define bfd_mach_avr5 5
|
||||
#define bfd_mach_avr51 51
|
||||
#define bfd_mach_avr6 6
|
||||
+#define bfd_mach_avrtiny10 100
|
||||
#define bfd_mach_avrxmega1 101
|
||||
#define bfd_mach_avrxmega2 102
|
||||
#define bfd_mach_avrxmega3 103
|
||||
@@ -2049,7 +2050,6 @@ enum bfd_architecture
|
||||
#define bfd_mach_avrxmega5 105
|
||||
#define bfd_mach_avrxmega6 106
|
||||
#define bfd_mach_avrxmega7 107
|
||||
-#define bfd_mach_avrtiny10 201
|
||||
bfd_arch_bfin, /* ADI Blackfin */
|
||||
#define bfd_mach_bfin 1
|
||||
bfd_arch_cr16, /* National Semiconductor CompactRISC (ie CR16). */
|
||||
diff -rupN bfd/cpu-avr.c bfd/cpu-avr.c
|
||||
--- bfd/cpu-avr.c 2011-05-11 20:06:41.000000000 -0500
|
||||
+++ bfd/cpu-avr.c 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -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]),
|
||||
|
||||
+ /* attiny 10 */
|
||||
+ N (16, bfd_mach_avrtiny10, "avr:100", 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]),
|
||||
-
|
||||
- /* attiny 10 */
|
||||
- N (16, bfd_mach_avrtiny10, "avr:201", FALSE, NULL)
|
||||
+ N (24, bfd_mach_avrxmega7, "avr:107", FALSE, NULL)
|
||||
|
||||
};
|
||||
|
||||
diff -rupN include/elf/avr.h include/elf/avr.h
|
||||
--- include/elf/avr.h 2011-05-11 20:06:42.000000000 -0500
|
||||
+++ include/elf/avr.h 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -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_AVRTINY10 100
|
||||
#define E_AVR_MACH_XMEGA1 101
|
||||
#define E_AVR_MACH_XMEGA2 102
|
||||
#define E_AVR_MACH_XMEGA3 103
|
||||
@@ -47,7 +48,6 @@
|
||||
#define E_AVR_MACH_XMEGA5 105
|
||||
#define E_AVR_MACH_XMEGA6 106
|
||||
#define E_AVR_MACH_XMEGA7 107
|
||||
-#define E_AVR_MACH_AVRTINY10 201
|
||||
|
||||
/* Relocations. */
|
||||
START_RELOC_NUMBERS (elf_avr_reloc_type)
|
||||
diff -rupN ld/emulparams/avrtiny10.sh ld/emulparams/avrtiny10.sh
|
||||
--- ld/emulparams/avrtiny10.sh 2011-05-11 20:06:44.000000000 -0500
|
||||
+++ ld/emulparams/avrtiny10.sh 2011-05-10 13:39:44.000000000 -0500
|
||||
@@ -1,12 +1,13 @@
|
||||
-ARCH=avr:201
|
||||
+ARCH=avr:100
|
||||
MACHINE=
|
||||
-SCRIPT_NAME=avr
|
||||
+SCRIPT_NAME=avrtiny10
|
||||
OUTPUT_FORMAT="elf32-avr"
|
||||
MAXPAGESIZE=1
|
||||
EMBEDDED=yes
|
||||
TEMPLATE_NAME=elf32
|
||||
|
||||
+TEXT_ORIGIN=0x0
|
||||
TEXT_LENGTH=4K
|
||||
-DATA_ORIGIN=0x800040
|
||||
-DATA_LENGTH=0x140
|
||||
+DATA_ORIGIN=0x0800040
|
||||
+DATA_LENGTH=0x1F
|
||||
EXTRA_EM_FILE=avrelf
|
||||
diff -rupN ld/Makefile.am ld/Makefile.am
|
||||
--- ld/Makefile.am 2011-05-11 20:06:47.000000000 -0500
|
||||
+++ ld/Makefile.am 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -764,7 +764,7 @@ eavrxmega7.c: $(srcdir)/emulparams/avrxm
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avrxmega7 "$(tdir_avr2)"
|
||||
eavrtiny10.c: $(srcdir)/emulparams/avrtiny10.sh \
|
||||
- $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avr.sc \
|
||||
+ $(srcdir)/emultempl/avrelf.em $(ELF_DEPS) $(srcdir)/scripttempl/avrtiny10.sc \
|
||||
${GEN_DEPENDS}
|
||||
${GENSCRIPTS} avrtiny10 "$(tdir_avr2)"
|
||||
ecoff_i860.c: $(srcdir)/emulparams/coff_i860.sh \
|
||||
diff -rupN ld/scripttempl/avrtiny10.sc ld/scripttempl/avrtiny10.sc
|
||||
--- ld/scripttempl/avrtiny10.sc 1969-12-31 18:00:00.000000000 -0600
|
||||
+++ ld/scripttempl/avrtiny10.sc 2011-05-10 13:35:37.000000000 -0500
|
||||
@@ -0,0 +1,240 @@
|
||||
+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
|
||||
+ lock (rw!x) : ORIGIN = 0x3F00, LENGTH = 2
|
||||
+ signature (rw!x) : ORIGIN = 0x3FC0, LENGTH = 4
|
||||
+/* REVISIT: fuse(rw!x) : */
|
||||
+}
|
||||
+
|
||||
+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} : ${RELOCATING+ AT (0x0)}
|
||||
+ {
|
||||
+ *(.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}
|
||||
+
|
||||
+ .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
|
||||
+
|
|
@ -1,50 +0,0 @@
|
|||
--- etc/Makefile.in~ 2009-07-31 00:44:48.000000000 +0200
|
||||
+++ etc/Makefile.in 2010-03-03 17:13:29.000000000 +0100
|
||||
@@ -64,7 +64,8 @@
|
||||
HTMLFILES = standards.html configure.html
|
||||
|
||||
all: info
|
||||
-install: install-info
|
||||
+#install: install-info
|
||||
+install:
|
||||
|
||||
uninstall:
|
||||
|
||||
--- libiberty/Makefile.in~ 2009-08-23 21:03:58.000000000 +0200
|
||||
+++ libiberty/Makefile.in 2010-03-03 17:14:00.000000000 +0100
|
||||
@@ -321,7 +321,8 @@
|
||||
@MAINT@ echo stamp > stamp-functions
|
||||
|
||||
INSTALL_DEST = @INSTALL_DEST@
|
||||
-install: install_to_$(INSTALL_DEST) install-subdir
|
||||
+#install: install_to_$(INSTALL_DEST) install-subdir
|
||||
+install:
|
||||
|
||||
# This is tricky. Even though CC in the Makefile contains
|
||||
# multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
|
||||
--- bfd/Makefile.in~ 2009-10-16 13:47:48.000000000 +0200
|
||||
+++ bfd/Makefile.in 2010-03-03 17:19:17.000000000 +0100
|
||||
@@ -1673,8 +1673,9 @@
|
||||
for dir in "$(DESTDIR)$(bfdlibdir)" "$(DESTDIR)$(bfdincludedir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
-install: $(BUILT_SOURCES)
|
||||
- $(MAKE) $(AM_MAKEFLAGS) install-recursive
|
||||
+#install: $(BUILT_SOURCES)
|
||||
+# $(MAKE) $(AM_MAKEFLAGS) install-recursive
|
||||
+install:
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
||||
--- opcodes/Makefile.in~ 2009-09-07 14:08:03.000000000 +0200
|
||||
+++ opcodes/Makefile.in 2010-03-03 17:19:43.000000000 +0100
|
||||
@@ -1051,7 +1051,8 @@
|
||||
for dir in "$(DESTDIR)$(bfdlibdir)" "$(DESTDIR)$(bfdincludedir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
-install: install-recursive
|
||||
+#install: install-recursive
|
||||
+install:
|
||||
install-exec: install-exec-recursive
|
||||
install-data: install-data-recursive
|
||||
uninstall: uninstall-recursive
|
|
@ -1,10 +0,0 @@
|
|||
diff -ru binutils-2.19.1.orig/gas/config/tc-avr.h binutils-2.19.1/gas/config/tc-avr.h
|
||||
--- gas/config/tc-avr.h Tue Jul 3 14:01:04 2007
|
||||
+++ gas/config/tc-avr.h Thu Apr 16 20:46:54 2009
|
||||
@@ -147,3 +147,6 @@
|
||||
|
||||
/* This target is buggy, and sets fix size too large. */
|
||||
#define TC_FX_SIZE_SLACK(FIX) 2
|
||||
+
|
||||
+/* keep DWARF2_ADDR_SIZE in consistency with C compiler produced information */
|
||||
+#define DWARF2_ADDR_SIZE(bfd) 4
|
|
@ -7,14 +7,7 @@ generate AVR (extended) COFF files to be used on Atmel AVR Studio and
|
|||
VMLAB. Note that this patch has known issues, see
|
||||
http://www.sax.de/~joerg/README.coff-avr-patch
|
||||
|
||||
In addition to the stock binutils-2.18 distribution, support for the
|
||||
following AVR devices has been added by a private patch:
|
||||
|
||||
ATtiny43U, ATtiny48/88, ATtiny167
|
||||
AT90PWM2B/PWM3B, AT90PWM216/PWM316
|
||||
ATmega32C1, ATmega32M1, ATmega32U4
|
||||
ATmega48P/88P/168P/328P
|
||||
ATmega32HVB, ATmega1284P
|
||||
ATxmega64A1, ATxmega128A1
|
||||
The support for additional devices has been synchronize with the
|
||||
latest public Atmel AVR Tools package.
|
||||
|
||||
WWW: http://www.sourceware.org/binutils/
|
||||
|
|
Loading…
Reference in a new issue