diff options
author | joerg <joerg@FreeBSD.org> | 2011-12-17 06:39:21 +0800 |
---|---|---|
committer | joerg <joerg@FreeBSD.org> | 2011-12-17 06:39:21 +0800 |
commit | 5dc1c0929ee380bc82b1479b358b2b15f6b25c77 (patch) | |
tree | 6b3316c11fc1d2698bc0dcbff19eddc92010e806 /devel | |
parent | 4e69cea8e5793bb2c158f57b4fd4c896adef0157 (diff) | |
download | freebsd-ports-gnome-5dc1c0929ee380bc82b1479b358b2b15f6b25c77.tar.gz freebsd-ports-gnome-5dc1c0929ee380bc82b1479b358b2b15f6b25c77.tar.zst freebsd-ports-gnome-5dc1c0929ee380bc82b1479b358b2b15f6b25c77.zip |
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".
Diffstat (limited to 'devel')
24 files changed, 1479 insertions, 362 deletions
diff --git a/devel/avr-binutils/Makefile b/devel/avr-binutils/Makefile index f70babd8a354..a2cae57fc7f4 100644 --- a/devel/avr-binutils/Makefile +++ b/devel/avr-binutils/Makefile @@ -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 diff --git a/devel/avr-binutils/distinfo b/devel/avr-binutils/distinfo index 65685cda9595..c72193d8513a 100644 --- a/devel/avr-binutils/distinfo +++ b/devel/avr-binutils/distinfo @@ -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 diff --git a/devel/avr-binutils/files/patch-avr-size b/devel/avr-binutils/files/patch-300-binutils-2.20.1-avr-size index bfa60301c597..e9065e9ec556 100644 --- a/devel/avr-binutils/files/patch-avr-size +++ b/devel/avr-binutils/files/patch-300-binutils-2.20.1-avr-size @@ -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"); } diff --git a/devel/avr-binutils/files/patch-coff-avr b/devel/avr-binutils/files/patch-301-binutils-2.20.1-avr-coff index c8c97f20b35d..c21327f43c73 100644 --- a/devel/avr-binutils/files/patch-coff-avr +++ b/devel/avr-binutils/files/patch-301-binutils-2.20.1-avr-coff @@ -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 @@ }; diff --git a/devel/avr-binutils/files/patch-newsections b/devel/avr-binutils/files/patch-302-binutils-2.20.1-new-sections index f14f04d960de..c1dac97a4b70 100644 --- a/devel/avr-binutils/files/patch-newsections +++ b/devel/avr-binutils/files/patch-302-binutils-2.20.1-new-sections @@ -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 diff --git a/devel/avr-binutils/files/patch-303-binutils-2.20.1-as-dwarf b/devel/avr-binutils/files/patch-303-binutils-2.20.1-as-dwarf new file mode 100644 index 000000000000..6aade2d90bb2 --- /dev/null +++ b/devel/avr-binutils/files/patch-303-binutils-2.20.1-as-dwarf @@ -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 diff --git a/devel/avr-binutils/files/patch-as-dwarf-avrstudio b/devel/avr-binutils/files/patch-304-binutils-2.20.1-dwarf2-AVRStudio-workaround index 8f403621ac32..a75b26b27919 100644 --- a/devel/avr-binutils/files/patch-as-dwarf-avrstudio +++ b/devel/avr-binutils/files/patch-304-binutils-2.20.1-dwarf2-AVRStudio-workaround @@ -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 diff --git a/devel/avr-binutils/files/patch-305-binutils-2.20.1-assembler-options b/devel/avr-binutils/files/patch-305-binutils-2.20.1-assembler-options new file mode 100644 index 000000000000..18ecaac49d2d --- /dev/null +++ b/devel/avr-binutils/files/patch-305-binutils-2.20.1-assembler-options @@ -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" diff --git a/devel/avr-binutils/files/patch-xmega b/devel/avr-binutils/files/patch-400-binutils-2.20.1-xmega index 4ae41b55fd6f..7f6e0840bcb8 100644 --- a/devel/avr-binutils/files/patch-xmega +++ b/devel/avr-binutils/files/patch-400-binutils-2.20.1-xmega @@ -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; } diff --git a/devel/avr-binutils/files/patch-newdevices b/devel/avr-binutils/files/patch-401-binutils-2.20.1-new-devices index b268955b87aa..34f3a7bfb86d 100644 --- a/devel/avr-binutils/files/patch-newdevices +++ b/devel/avr-binutils/files/patch-401-binutils-2.20.1-new-devices @@ -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). diff --git a/devel/avr-binutils/files/patch-402-binutils-2.20.1-avrtiny10 b/devel/avr-binutils/files/patch-402-binutils-2.20.1-avrtiny10 new file mode 100644 index 000000000000..d51aeb5c0131 --- /dev/null +++ b/devel/avr-binutils/files/patch-402-binutils-2.20.1-avrtiny10 @@ -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)" diff --git a/devel/avr-binutils/files/patch-403-binutils-2.20.1-xmega128a1u-64a1u b/devel/avr-binutils/files/patch-403-binutils-2.20.1-xmega128a1u-64a1u new file mode 100644 index 000000000000..03c651b78e72 --- /dev/null +++ b/devel/avr-binutils/files/patch-403-binutils-2.20.1-xmega128a1u-64a1u @@ -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 diff --git a/devel/avr-binutils/files/patch-404-binutils-2.20.1-atxmega16x1-32x1 b/devel/avr-binutils/files/patch-404-binutils-2.20.1-atxmega16x1-32x1 new file mode 100644 index 000000000000..97f8e1c8cdb5 --- /dev/null +++ b/devel/avr-binutils/files/patch-404-binutils-2.20.1-atxmega16x1-32x1 @@ -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). diff --git a/devel/avr-binutils/files/patch-405-binutils-2.20.1-atxmega128b1 b/devel/avr-binutils/files/patch-405-binutils-2.20.1-atxmega128b1 new file mode 100644 index 000000000000..2dd65d2fbabc --- /dev/null +++ b/devel/avr-binutils/files/patch-405-binutils-2.20.1-atxmega128b1 @@ -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, diff --git a/devel/avr-binutils/files/patch-406-binutils-2.20.1-atxmega256a3bu b/devel/avr-binutils/files/patch-406-binutils-2.20.1-atxmega256a3bu new file mode 100644 index 000000000000..fe44be90af09 --- /dev/null +++ b/devel/avr-binutils/files/patch-406-binutils-2.20.1-atxmega256a3bu @@ -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, diff --git a/devel/avr-binutils/files/patch-407-binutils-2.20.1-at90pwm161 b/devel/avr-binutils/files/patch-407-binutils-2.20.1-at90pwm161 new file mode 100644 index 000000000000..43f2e66ea67a --- /dev/null +++ b/devel/avr-binutils/files/patch-407-binutils-2.20.1-at90pwm161 @@ -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)" diff --git a/devel/avr-binutils/files/patch-408-binutils-2.20.1-atmega16hvb-32hvb b/devel/avr-binutils/files/patch-408-binutils-2.20.1-atmega16hvb-32hvb new file mode 100644 index 000000000000..eeccf6a8532b --- /dev/null +++ b/devel/avr-binutils/files/patch-408-binutils-2.20.1-atmega16hvb-32hvb @@ -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, diff --git a/devel/avr-binutils/files/patch-409-binutils-2.20.1-atmega32_5_50_90_pa b/devel/avr-binutils/files/patch-409-binutils-2.20.1-atmega32_5_50_90_pa new file mode 100644 index 000000000000..bf390e35be86 --- /dev/null +++ b/devel/avr-binutils/files/patch-409-binutils-2.20.1-atmega32_5_50_90_pa @@ -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, diff --git a/devel/avr-binutils/files/patch-410-binutils-2.20.1-attiny1634 b/devel/avr-binutils/files/patch-410-binutils-2.20.1-attiny1634 new file mode 100644 index 000000000000..e41a2f6193e7 --- /dev/null +++ b/devel/avr-binutils/files/patch-410-binutils-2.20.1-attiny1634 @@ -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, diff --git a/devel/avr-binutils/files/patch-411-binutils-2.20.1-atmega48pa b/devel/avr-binutils/files/patch-411-binutils-2.20.1-atmega48pa new file mode 100644 index 000000000000..9dd0e85f3967 --- /dev/null +++ b/devel/avr-binutils/files/patch-411-binutils-2.20.1-atmega48pa @@ -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, diff --git a/devel/avr-binutils/files/patch-500-binutils-2.20.1-bug13789 b/devel/avr-binutils/files/patch-500-binutils-2.20.1-bug13789 new file mode 100644 index 000000000000..6bd1e412a10c --- /dev/null +++ b/devel/avr-binutils/files/patch-500-binutils-2.20.1-bug13789 @@ -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 ++ diff --git a/devel/avr-binutils/files/patch-aa b/devel/avr-binutils/files/patch-aa deleted file mode 100644 index 154b211ebfd2..000000000000 --- a/devel/avr-binutils/files/patch-aa +++ /dev/null @@ -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 diff --git a/devel/avr-binutils/files/patch-as-dwarf b/devel/avr-binutils/files/patch-as-dwarf deleted file mode 100644 index d081eb3a9982..000000000000 --- a/devel/avr-binutils/files/patch-as-dwarf +++ /dev/null @@ -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 diff --git a/devel/avr-binutils/pkg-descr b/devel/avr-binutils/pkg-descr index 4e1e878472cb..ccb3061e03c1 100644 --- a/devel/avr-binutils/pkg-descr +++ b/devel/avr-binutils/pkg-descr @@ -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/ |