summaryrefslogtreecommitdiff
path: root/cross/avr-gcc
diff options
context:
space:
mode:
authorhasso <hasso>2009-08-27 15:29:37 +0000
committerhasso <hasso>2009-08-27 15:29:37 +0000
commit5e621031f50a787b256e8051dbcdf6272be04551 (patch)
tree74712fcdf95c551d6dd27202fa2855ddb22e31e2 /cross/avr-gcc
parentebdf057022ccddc1d2210ec9e7f7366d7b5d58cc (diff)
downloadpkgsrc-5e621031f50a787b256e8051dbcdf6272be04551.tar.gz
Update to 4.4.1. Upstream changelog is obviously too massive to paste it
here. All hard update work done by Simon 'corecode' Schubert and minor modifications by me.
Diffstat (limited to 'cross/avr-gcc')
-rw-r--r--cross/avr-gcc/Makefile54
-rw-r--r--cross/avr-gcc/PLIST98
-rw-r--r--cross/avr-gcc/distinfo20
-rw-r--r--cross/avr-gcc/patches/patch-16bitassign302
-rw-r--r--cross/avr-gcc/patches/patch-aa16
-rw-r--r--cross/avr-gcc/patches/patch-ab125
-rw-r--r--cross/avr-gcc/patches/patch-ac30
7 files changed, 109 insertions, 536 deletions
diff --git a/cross/avr-gcc/Makefile b/cross/avr-gcc/Makefile
index edb88b718c2..9633e382066 100644
--- a/cross/avr-gcc/Makefile
+++ b/cross/avr-gcc/Makefile
@@ -1,44 +1,54 @@
-# $NetBSD: Makefile,v 1.20 2006/12/07 21:12:17 joerg Exp $
+# $NetBSD: Makefile,v 1.21 2009/08/27 15:29:37 hasso Exp $
-DISTNAME= gcc-3.3.2003.05.11
-PKGNAME= avr-gcc-3.3.2003.05.11
-PKGREVISION= 2
+DISTNAME= gcc-4.4.1
+PKGNAME= avr-gcc-4.4.1
CATEGORIES= cross
-MASTER_SITES= http://people.freebsd.org/~joerg/
+MASTER_SITES= ${MASTER_SITE_GNU:=gcc/releases/${DISTNAME}/}
EXTRACT_SUFX= .tar.bz2
-DISTFILES= gcc-core+g++-3.3.2003.05.11${EXTRACT_SUFX} \
- ${MAN_AUX}
+DISTFILES= ${DISTNAME:S/-/-core-/}${EXTRACT_SUFX} \
+ ${DISTNAME:S/-/-g++-/}${EXTRACT_SUFX}
MAINTAINER= pkgsrc-users@NetBSD.org
-COMMENT= GNU gcc-3.3 for Atmel AVR 8-bit RISC microcontrollers
+COMMENT= GNU gcc-4.4 for Atmel AVR 8-bit RISC microcontrollers
DEPENDS+= avr-binutils-[0-9]*:../../cross/avr-binutils
BUILD_DEPENDS+= autoconf-[0-9]*:../../devel/autoconf
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
-EXTRACT_ONLY= gcc-core+g++-3.3.2003.05.11${EXTRACT_SUFX}
-
-# Unfortunately, only some mirrors have it as a .bz2 file, while
-# the original master site still uses .gz.
GNU_CONFIGURE= yes
USE_BZIP2= yes
USE_TOOLS+= bison gmake lex perl tar msgfmt
USE_PKGLOCALEDIR= yes
+USE_GNU_CONFIGURE_HOST= no
-CONFIGURE_ARGS+= --target=avr
-
-MAN_AUX= gcc-man.2003.05.11.gz
+CONFIGURE_ARGS+= --target=avr --disable-nls
MAKE_FLAGS+= LANGUAGES="c c++"
MAKE_ENV+= MACHINE_ARCH=avr
MAKE_ENV+= SHELL=${CONFIG_SHELL}
+CFLAGS_FOR_BUILD:= ${CFLAGS}
+MAVE_ENV+= CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD:Q}
+CXXFLAGS_FOR_BUILD:= ${CXXFLAGS}
+MAVE_ENV+= CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD:Q}
+CFLAGS= # empty
+CXXFLAGS= # empty
+
+SUBST_CLASSES+= sed
+SUBST_FILES.sed= fixincludes/fixincl.x
+SUBST_SED.sed= -e 's|@SED@|${TOOLS_PATH.sed}|g'
+SUBST_STAGE.sed= post-patch
+
+
+do-configure:
+ ${MKDIR} ${WRKDIR}/obj
+ cd ${WRKDIR}/obj; ${SETENV} ${CONFIGURE_ENV} ${CONFIG_SHELL} ${WRKSRC}/configure ${CONFIGURE_ARGS}
+
+do-build:
+ (${_ULIMIT_CMD} cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} -j${MAKE_JOBS:U1} )
-pre-build:
- if perl -e 'use 1.10 Pod::Man' >/dev/null 2>/dev/null ; \
- then : ; \
- else \
- cd ${WRKSRC} ; \
- ${TAR} -xvzf ${DISTDIR}/${MAN_AUX} ; \
- fi
+do-install:
+ cd ${WRKDIR}/obj && ${SETENV} ${MAKE_ENV} ${GMAKE} install
+.include "../../devel/gmp/buildlink3.mk"
+.include "../../math/mpfr/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/cross/avr-gcc/PLIST b/cross/avr-gcc/PLIST
index 0a3d83a2a6a..76d7b446690 100644
--- a/cross/avr-gcc/PLIST
+++ b/cross/avr-gcc/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.3 2009/06/14 17:39:52 joerg Exp $
+@comment $NetBSD: PLIST,v 1.4 2009/08/27 15:29:37 hasso Exp $
avr/bin/c++
avr/bin/g++
avr/bin/gcc
@@ -6,58 +6,56 @@ bin/avr-c++
bin/avr-cpp
bin/avr-g++
bin/avr-gcc
-bin/avr-gcc-3.3
+bin/avr-gcc-4.4.1
bin/avr-gccbug
-lib/gcc-lib/avr/3.3/avr3/libgcc.a
-lib/gcc-lib/avr/3.3/avr4/libgcc.a
-lib/gcc-lib/avr/3.3/avr5/libgcc.a
-lib/gcc-lib/avr/3.3/cc1
-lib/gcc-lib/avr/3.3/cc1plus
-lib/gcc-lib/avr/3.3/collect2
-lib/gcc-lib/avr/3.3/include/README
-lib/gcc-lib/avr/3.3/include/fixed
-lib/gcc-lib/avr/3.3/include/float.h
-lib/gcc-lib/avr/3.3/include/iso646.h
-lib/gcc-lib/avr/3.3/include/limits.h
-lib/gcc-lib/avr/3.3/include/stdarg.h
-lib/gcc-lib/avr/3.3/include/stdbool.h
-lib/gcc-lib/avr/3.3/include/stddef.h
-lib/gcc-lib/avr/3.3/include/syslimits.h
-lib/gcc-lib/avr/3.3/include/unwind.h
-lib/gcc-lib/avr/3.3/include/varargs.h
-lib/gcc-lib/avr/3.3/install-tools/fix-header
-lib/gcc-lib/avr/3.3/install-tools/fixinc.sh
-lib/gcc-lib/avr/3.3/install-tools/fixincl
-lib/gcc-lib/avr/3.3/install-tools/fixproto
-lib/gcc-lib/avr/3.3/install-tools/gsyslimits.h
-lib/gcc-lib/avr/3.3/install-tools/include/README
-lib/gcc-lib/avr/3.3/install-tools/include/float.h
-lib/gcc-lib/avr/3.3/install-tools/include/iso646.h
-lib/gcc-lib/avr/3.3/install-tools/include/limits.h
-lib/gcc-lib/avr/3.3/install-tools/include/stdarg.h
-lib/gcc-lib/avr/3.3/install-tools/include/stdbool.h
-lib/gcc-lib/avr/3.3/install-tools/include/stddef.h
-lib/gcc-lib/avr/3.3/install-tools/include/unwind.h
-lib/gcc-lib/avr/3.3/install-tools/include/varargs.h
-lib/gcc-lib/avr/3.3/install-tools/mkheaders
-lib/gcc-lib/avr/3.3/install-tools/mkheaders.conf
-lib/gcc-lib/avr/3.3/install-tools/mkinstalldirs
-lib/gcc-lib/avr/3.3/libgcc.a
-lib/gcc-lib/avr/3.3/specs
+bin/avr-gcov
+lib/gcc/avr/4.4.1/avr25/libgcc.a
+lib/gcc/avr/4.4.1/avr25/libgcov.a
+lib/gcc/avr/4.4.1/avr3/libgcc.a
+lib/gcc/avr/4.4.1/avr3/libgcov.a
+lib/gcc/avr/4.4.1/avr31/libgcc.a
+lib/gcc/avr/4.4.1/avr31/libgcov.a
+lib/gcc/avr/4.4.1/avr35/libgcc.a
+lib/gcc/avr/4.4.1/avr35/libgcov.a
+lib/gcc/avr/4.4.1/avr4/libgcc.a
+lib/gcc/avr/4.4.1/avr4/libgcov.a
+lib/gcc/avr/4.4.1/avr5/libgcc.a
+lib/gcc/avr/4.4.1/avr5/libgcov.a
+lib/gcc/avr/4.4.1/avr51/libgcc.a
+lib/gcc/avr/4.4.1/avr51/libgcov.a
+lib/gcc/avr/4.4.1/avr6/libgcc.a
+lib/gcc/avr/4.4.1/avr6/libgcov.a
+lib/gcc/avr/4.4.1/include-fixed/README
+lib/gcc/avr/4.4.1/include-fixed/limits.h
+lib/gcc/avr/4.4.1/include-fixed/syslimits.h
+lib/gcc/avr/4.4.1/include/float.h
+lib/gcc/avr/4.4.1/include/iso646.h
+lib/gcc/avr/4.4.1/include/stdarg.h
+lib/gcc/avr/4.4.1/include/stdbool.h
+lib/gcc/avr/4.4.1/include/stddef.h
+lib/gcc/avr/4.4.1/include/stdfix.h
+lib/gcc/avr/4.4.1/include/tgmath.h
+lib/gcc/avr/4.4.1/include/unwind.h
+lib/gcc/avr/4.4.1/include/varargs.h
+lib/gcc/avr/4.4.1/install-tools/fixinc_list
+lib/gcc/avr/4.4.1/install-tools/gsyslimits.h
+lib/gcc/avr/4.4.1/install-tools/include/README
+lib/gcc/avr/4.4.1/install-tools/include/limits.h
+lib/gcc/avr/4.4.1/install-tools/macro_list
+lib/gcc/avr/4.4.1/install-tools/mkheaders.conf
+lib/gcc/avr/4.4.1/libgcc.a
+lib/gcc/avr/4.4.1/libgcov.a
+libexec/gcc/avr/4.4.1/cc1
+libexec/gcc/avr/4.4.1/cc1plus
+libexec/gcc/avr/4.4.1/collect2
+libexec/gcc/avr/4.4.1/install-tools/fixinc.sh
+libexec/gcc/avr/4.4.1/install-tools/fixincl
+libexec/gcc/avr/4.4.1/install-tools/mkheaders
+libexec/gcc/avr/4.4.1/install-tools/mkinstalldirs
+man/man1/avr-cpp.1
man/man1/avr-g++.1
man/man1/avr-gcc.1
-man/man1/cpp.1
-man/man1/gcov.1
+man/man1/avr-gcov.1
man/man7/fsf-funding.7
man/man7/gfdl.7
man/man7/gpl.7
-share/locale/be/LC_MESSAGES/gcc.mo
-share/locale/da/LC_MESSAGES/gcc.mo
-share/locale/de/LC_MESSAGES/gcc.mo
-share/locale/el/LC_MESSAGES/gcc.mo
-share/locale/es/LC_MESSAGES/gcc.mo
-share/locale/fr/LC_MESSAGES/gcc.mo
-share/locale/ja/LC_MESSAGES/gcc.mo
-share/locale/nl/LC_MESSAGES/gcc.mo
-share/locale/sv/LC_MESSAGES/gcc.mo
-share/locale/tr/LC_MESSAGES/gcc.mo
diff --git a/cross/avr-gcc/distinfo b/cross/avr-gcc/distinfo
index 6ad16a30663..e2e689ba7c6 100644
--- a/cross/avr-gcc/distinfo
+++ b/cross/avr-gcc/distinfo
@@ -1,12 +1,10 @@
-$NetBSD: distinfo,v 1.3 2006/03/30 17:37:03 joerg Exp $
+$NetBSD: distinfo,v 1.4 2009/08/27 15:29:37 hasso Exp $
-SHA1 (gcc-core+g++-3.3.2003.05.11.tar.bz2) = d9224f5b5a76317563fa7d02c31c2ba9cdfae029
-RMD160 (gcc-core+g++-3.3.2003.05.11.tar.bz2) = f6c3a7ef96ec5488a492406bb2d76e251acd9ba1
-Size (gcc-core+g++-3.3.2003.05.11.tar.bz2) = 12112530 bytes
-SHA1 (gcc-man.2003.05.11.gz) = b7e2cd1e79ba4705003762cab58e25c14899b1c9
-RMD160 (gcc-man.2003.05.11.gz) = d040189c4cc6af5c581597fd1afd4eb42cae91eb
-Size (gcc-man.2003.05.11.gz) = 153595 bytes
-SHA1 (patch-16bitassign) = 9b076aeb426cc932fd2cb9acb9c14f82996a7ae7
-SHA1 (patch-aa) = 3f8641a42a31a7f5d6839e95fc6bfbce5218f9f3
-SHA1 (patch-ab) = 8938a1987422f7d99bc51ebf906a46b66c0debac
-SHA1 (patch-ac) = 32e5c83620e7777f26b5752d7e3b8a899cf3fe2a
+SHA1 (gcc-core-4.4.1.tar.bz2) = 7e18b5f49b77a78e0ccd31c82c6220c5756da754
+RMD160 (gcc-core-4.4.1.tar.bz2) = 6545aea8ad1c9ae55cb0f12991456a0dd3bc490d
+Size (gcc-core-4.4.1.tar.bz2) = 25747208 bytes
+SHA1 (gcc-g++-4.4.1.tar.bz2) = 921c8c18287cabc4c515b4a52c70e445160bd161
+RMD160 (gcc-g++-4.4.1.tar.bz2) = 67b2774d14eea8272b214f0d879e70fb6920b3bf
+Size (gcc-g++-4.4.1.tar.bz2) = 5936040 bytes
+SHA1 (patch-aa) = 17ee1942842186c4336d72bb8223bdb3023c85c1
+SHA1 (patch-ab) = 4a3ab9719a6714933954a120ad8c594c3a4a2e1f
diff --git a/cross/avr-gcc/patches/patch-16bitassign b/cross/avr-gcc/patches/patch-16bitassign
deleted file mode 100644
index 26147a90a9d..00000000000
--- a/cross/avr-gcc/patches/patch-16bitassign
+++ /dev/null
@@ -1,302 +0,0 @@
-$NetBSD: patch-16bitassign,v 1.1.1.1 2003/07/16 20:14:21 wennmach Exp $
-
-From marekm@amelek.gda.pl Sun Jan 19 02:37:50 2003
-Path: interface-business.de!not-for-mail
-Newsgroups: local.avr.gcc
-Followup-To: poster
-Reply-To: avr-gcc-list@avr1.org
-Subject: [avr-gcc-list] Patch for indirect 16-bit I/O
-To: avr-gcc-list@avr1.org
-X-Mailer: ELM [version 2.4ME+ PL95 (25)]
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-Content-Type: text/plain; charset=US-ASCII
-Message-ID: <E18a4PG-0004Cs-00@alf.amelek.gda.pl>
-From: Marek Michalkiewicz <marekm@amelek.gda.pl>
-Sender: owner-avr-gcc-list@avr1.org
-Precedence: bulk
-Date: Sun, 19 Jan 2003 02:37:50 +0100 (CET)
-Lines: 280
-Xref: interface-business.de local.avr.gcc:2452
-
-Hi,
-
-This should handle all these 16-bit I/O accesses addressed with
-pointers ("volatile" is required to force writing high byte first
-and reading low byte first in absolutely all cases, even if that
-makes the code less efficient). The patch is for CVS mainline, but
-should apply cleanly to the 3.3 branch too. I'm not committing it
-to GCC CVS just yet - please test, I haven't... well, it compiles :)
-
-BTW, mainline currently requires that SEEK_{SET,CUR,END} are
-defined in <stdio.h> - otherwise some new libgcc2.c stuff (unused
-on the AVR, but it has to compile) will cause the build to fail.
-Just edit /usr/local/avr/include/stdio.h to add them manually...
-
-Marek
-
-
-Index: gcc/config/avr/avr.c
-===================================================================
-RCS file: /cvs/gcc/gcc/gcc/config/avr/avr.c,v
-retrieving revision 1.87
-diff -c -3 -p -r1.87 avr.c
-*** gcc/config/avr/avr.c 16 Dec 2002 18:20:58 -0000 1.87
---- gcc/config/avr/avr.c 19 Jan 2003 01:07:52 -0000
-*************** print_operand (file, x, code)
-*** 1138,1143 ****
---- 1138,1153 ----
-
- print_operand (file, XEXP (addr, 1), 0);
- }
-+ else if (code == 'p' || code == 'r')
-+ {
-+ if (GET_CODE (addr) != POST_INC && GET_CODE (addr) != PRE_DEC)
-+ fatal_insn ("bad address, not post_inc or pre_dec:", addr);
-+
-+ if (code == 'p')
-+ print_operand_address (file, XEXP (addr, 0)); /* X, Y, Z */
-+ else
-+ print_operand (file, XEXP (addr, 0), 0); /* r26, r28, r30 */
-+ }
- else if (GET_CODE (addr) == PLUS)
- {
- print_operand_address (file, XEXP (addr,0));
-*************** out_movhi_r_mr (insn, op, l)
-*** 1944,1949 ****
---- 1954,1962 ----
- rtx base = XEXP (src, 0);
- int reg_dest = true_regnum (dest);
- int reg_base = true_regnum (base);
-+ /* "volatile" forces reading low byte first, even if less efficient,
-+ for correct operation with 16-bit I/O registers. */
-+ int mem_volatile_p = MEM_VOLATILE_P (src);
- int tmp;
-
- if (!l)
-*************** out_movhi_r_mr (insn, op, l)
-*** 2037,2042 ****
---- 2050,2074 ----
- if (reg_overlap_mentioned_p (dest, XEXP (base, 0)))
- fatal_insn ("incorrect insn:", insn);
-
-+ if (mem_volatile_p)
-+ {
-+ if (REGNO (XEXP (base, 0)) == REG_X)
-+ {
-+ *l = 4;
-+ return (AS2 (sbiw,r26,2) CR_TAB
-+ AS2 (ld,%A0,X+) CR_TAB
-+ AS2 (ld,%B0,X) CR_TAB
-+ AS2 (sbiw,r26,1));
-+ }
-+ else
-+ {
-+ *l = 3;
-+ return (AS2 (sbiw,%r1,2) CR_TAB
-+ AS2 (ld,%A0,%p1) CR_TAB
-+ AS2 (ldd,%B0,%p1+1));
-+ }
-+ }
-+
- *l = 2;
- return (AS2 (ld,%B0,%1) CR_TAB
- AS2 (ld,%A0,%1));
-*************** out_movhi_mr_r (insn, op, l)
-*** 2668,2674 ****
---- 2700,2710 ----
- rtx base = XEXP (dest, 0);
- int reg_base = true_regnum (base);
- int reg_src = true_regnum (src);
-+ /* "volatile" forces writing high byte first, even if less efficient,
-+ for correct operation with 16-bit I/O registers. */
-+ int mem_volatile_p = MEM_VOLATILE_P (dest);
- int tmp;
-+
- if (!l)
- l = &tmp;
- if (CONSTANT_ADDRESS_P (base))
-*************** out_movhi_mr_r (insn, op, l)
-*** 2688,2720 ****
- {
- if (reg_src == REG_X)
- {
-! /* "st X+,r26" is undefined */
-! if (reg_unused_after (insn, src))
- return *l=4, (AS2 (mov,__tmp_reg__,r27) CR_TAB
- AS2 (st,X,r26) CR_TAB
- AS2 (adiw,r26,1) CR_TAB
- AS2 (st,X,__tmp_reg__));
- else
- return *l=5, (AS2 (mov,__tmp_reg__,r27) CR_TAB
-- AS2 (st,X,r26) CR_TAB
- AS2 (adiw,r26,1) CR_TAB
- AS2 (st,X,__tmp_reg__) CR_TAB
-! AS2 (sbiw,r26,1));
- }
- else
- {
-! if (reg_unused_after (insn, base))
- return *l=2, (AS2 (st,X+,%A1) CR_TAB
- AS2 (st,X,%B1));
- else
-! return *l=3, (AS2 (st ,X+,%A1) CR_TAB
-! AS2 (st ,X,%B1) CR_TAB
-! AS2 (sbiw,r26,1));
- }
- }
- else
-! return *l=2, (AS2 (st ,%0,%A1) CR_TAB
-! AS2 (std,%0+1,%B1));
- }
- else if (GET_CODE (base) == PLUS)
- {
---- 2724,2756 ----
- {
- if (reg_src == REG_X)
- {
-! /* "st X+,r26" and "st -X,r26" are undefined. */
-! if (!mem_volatile_p && reg_unused_after (insn, src))
- return *l=4, (AS2 (mov,__tmp_reg__,r27) CR_TAB
- AS2 (st,X,r26) CR_TAB
- AS2 (adiw,r26,1) CR_TAB
- AS2 (st,X,__tmp_reg__));
- else
- return *l=5, (AS2 (mov,__tmp_reg__,r27) CR_TAB
- AS2 (adiw,r26,1) CR_TAB
- AS2 (st,X,__tmp_reg__) CR_TAB
-! AS2 (sbiw,r26,1) CR_TAB
-! AS2 (st,X,r26));
- }
- else
- {
-! if (!mem_volatile_p && reg_unused_after (insn, base))
- return *l=2, (AS2 (st,X+,%A1) CR_TAB
- AS2 (st,X,%B1));
- else
-! return *l=3, (AS2 (adiw,r26,1) CR_TAB
-! AS2 (st,X,%B1) CR_TAB
-! AS2 (st,-X,%A1));
- }
- }
- else
-! return *l=2, (AS2 (std,%0+1,%B1) CR_TAB
-! AS2 (st,%0,%A1));
- }
- else if (GET_CODE (base) == PLUS)
- {
-*************** out_movhi_mr_r (insn, op, l)
-*** 2727,2740 ****
-
- if (disp <= 63 + MAX_LD_OFFSET (GET_MODE (dest)))
- return *l = 4, (AS2 (adiw,r28,%o0-62) CR_TAB
-- AS2 (std,Y+62,%A1) CR_TAB
- AS2 (std,Y+63,%B1) CR_TAB
- AS2 (sbiw,r28,%o0-62));
-
- return *l = 6, (AS2 (subi,r28,lo8(-%o0)) CR_TAB
- AS2 (sbci,r29,hi8(-%o0)) CR_TAB
-- AS2 (st,Y,%A1) CR_TAB
- AS2 (std,Y+1,%B1) CR_TAB
- AS2 (subi,r28,lo8(%o0)) CR_TAB
- AS2 (sbci,r29,hi8(%o0)));
- }
---- 2763,2776 ----
-
- if (disp <= 63 + MAX_LD_OFFSET (GET_MODE (dest)))
- return *l = 4, (AS2 (adiw,r28,%o0-62) CR_TAB
- AS2 (std,Y+63,%B1) CR_TAB
-+ AS2 (std,Y+62,%A1) CR_TAB
- AS2 (sbiw,r28,%o0-62));
-
- return *l = 6, (AS2 (subi,r28,lo8(-%o0)) CR_TAB
- AS2 (sbci,r29,hi8(-%o0)) CR_TAB
- AS2 (std,Y+1,%B1) CR_TAB
-+ AS2 (st,Y,%A1) CR_TAB
- AS2 (subi,r28,lo8(%o0)) CR_TAB
- AS2 (sbci,r29,hi8(%o0)));
- }
-*************** out_movhi_mr_r (insn, op, l)
-*** 2746,2772 ****
- *l = 7;
- return (AS2 (mov,__tmp_reg__,r26) CR_TAB
- AS2 (mov,__zero_reg__,r27) CR_TAB
-! AS2 (adiw,r26,%o0) CR_TAB
-! AS2 (st,X+,__tmp_reg__) CR_TAB
- AS2 (st,X,__zero_reg__) CR_TAB
- AS1 (clr,__zero_reg__) CR_TAB
-! AS2 (sbiw,r26,%o0+1));
- }
- *l = 4;
-! return (AS2 (adiw,r26,%o0) CR_TAB
-! AS2 (st,X+,%A1) CR_TAB
-! AS2 (st,X,%B1) CR_TAB
-! AS2 (sbiw,r26,%o0+1));
- }
-! return *l=2, (AS2 (std,%A0,%A1) CR_TAB
-! AS2 (std,%B0,%B1));
- }
- else if (GET_CODE (base) == PRE_DEC) /* (--R) */
- return *l=2, (AS2 (st,%0,%B1) CR_TAB
- AS2 (st,%0,%A1));
- else if (GET_CODE (base) == POST_INC) /* (R++) */
-! return *l=2, (AS2 (st,%0,%A1) CR_TAB
-! AS2 (st,%0,%B1));
- fatal_insn ("unknown move insn:",insn);
- return "";
- }
---- 2782,2830 ----
- *l = 7;
- return (AS2 (mov,__tmp_reg__,r26) CR_TAB
- AS2 (mov,__zero_reg__,r27) CR_TAB
-! AS2 (adiw,r26,%o0+1) CR_TAB
- AS2 (st,X,__zero_reg__) CR_TAB
-+ AS2 (st,-X,__tmp_reg__) CR_TAB
- AS1 (clr,__zero_reg__) CR_TAB
-! AS2 (sbiw,r26,%o0));
- }
- *l = 4;
-! return (AS2 (adiw,r26,%o0+1) CR_TAB
-! AS2 (st,X,%B1) CR_TAB
-! AS2 (st,-X,%A1) CR_TAB
-! AS2 (sbiw,r26,%o0));
- }
-! return *l=2, (AS2 (std,%B0,%B1) CR_TAB
-! AS2 (std,%A0,%A1));
- }
- else if (GET_CODE (base) == PRE_DEC) /* (--R) */
- return *l=2, (AS2 (st,%0,%B1) CR_TAB
- AS2 (st,%0,%A1));
- else if (GET_CODE (base) == POST_INC) /* (R++) */
-! {
-! if (mem_volatile_p)
-! {
-! if (REGNO (XEXP (base, 0)) == REG_X)
-! {
-! *l = 4;
-! return (AS2 (adiw,r26,1) CR_TAB
-! AS2 (st,X,%B1) CR_TAB
-! AS2 (st,-X,%A1) CR_TAB
-! AS2 (adiw,r26,2));
-! }
-! else
-! {
-! *l = 3;
-! return (AS2 (std,%p0+1,%B1) CR_TAB
-! AS2 (st,%p0,%A1) CR_TAB
-! AS2 (adiw,%r0,2));
-! }
-! }
-!
-! *l = 2;
-! return (AS2 (st,%0,%A1) CR_TAB
-! AS2 (st,%0,%B1));
-! }
- fatal_insn ("unknown move insn:",insn);
- return "";
- }
-
-
-
-avr-gcc-list at http://avr1.org
-
diff --git a/cross/avr-gcc/patches/patch-aa b/cross/avr-gcc/patches/patch-aa
index 9af0424df15..c1108129ddb 100644
--- a/cross/avr-gcc/patches/patch-aa
+++ b/cross/avr-gcc/patches/patch-aa
@@ -1,10 +1,8 @@
-$NetBSD: patch-aa,v 1.1.1.1 2003/07/16 20:14:21 wennmach Exp $
+$NetBSD: patch-aa,v 1.2 2009/08/27 15:29:37 hasso Exp $
---- libiberty/Makefile.in.org 2003-07-14 15:07:57.000000000 +0200
-+++ libiberty/Makefile.in 2003-07-14 15:09:30.000000000 +0200
-@@ -258,11 +258,12 @@
- @MAINT@stamp-functions : $(CFILES) $(TEXIFILES) $(srcdir)/gather-docs Makefile
- @MAINT@@HAVE_PERL@ $(PERL) $(srcdir)/gather-docs $(srcdir) $(srcdir)/functions.texi $(CFILES) $(TEXIFILES)
+--- libiberty/Makefile.in.orig 2008-10-22 15:30:19 +0200
++++ libiberty/Makefile.in
+@@ -346,7 +346,8 @@ libiberty.html : $(srcdir)/libiberty.tex
@MAINT@ echo stamp > stamp-functions
INSTALL_DEST = @INSTALL_DEST@
@@ -12,7 +10,5 @@ $NetBSD: patch-aa,v 1.1.1.1 2003/07/16 20:14:21 wennmach Exp $
+#install: install_to_$(INSTALL_DEST) install-subdir
+install:
- install_to_libdir: all
- ${mkinstalldirs} $(DESTDIR)$(libdir)$(MULTISUBDIR)
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)$(MULTISUBDIR)/$(TARGETLIB)n
- ( cd $(DESTDIR)$(libdir)$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB)n )
+ # This is tricky. Even though CC in the Makefile contains
+ # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the
diff --git a/cross/avr-gcc/patches/patch-ab b/cross/avr-gcc/patches/patch-ab
index 0a42846f407..ee1aba950a7 100644
--- a/cross/avr-gcc/patches/patch-ab
+++ b/cross/avr-gcc/patches/patch-ab
@@ -1,112 +1,15 @@
-$NetBSD: patch-ab,v 1.1.1.1 2003/07/16 20:14:21 wennmach Exp $
+$NetBSD: patch-ab,v 1.2 2009/08/27 15:29:37 hasso Exp $
---- Makefile.in.orig Wed Jan 8 21:17:05 2003
-+++ Makefile.in Wed Jan 8 23:13:49 2003
-@@ -745,79 +745,19 @@
-
- # This is a list of the targets for all of the modules which are compiled
- # using $(TARGET_FLAGS_TO_PASS).
--ALL_TARGET_MODULES = \
-- all-target-libstdc++-v3 \
-- all-target-newlib \
-- all-target-libf2c \
-- all-target-libobjc \
-- all-target-libtermcap \
-- all-target-winsup \
-- all-target-libgloss \
-- all-target-libiberty \
-- all-target-gperf \
-- all-target-examples \
-- all-target-libffi \
-- all-target-libjava \
-- all-target-zlib \
-- all-target-boehm-gc \
-- all-target-qthreads \
-- all-target-rda
-+ALL_TARGET_MODULES =
-
- # This is a list of the configure targets for all of the modules which
- # are compiled using the target tools.
--CONFIGURE_TARGET_MODULES = \
-- configure-target-libstdc++-v3 \
-- configure-target-newlib \
-- configure-target-libf2c \
-- configure-target-libobjc \
-- configure-target-libtermcap \
-- configure-target-winsup \
-- configure-target-libgloss \
-- configure-target-libiberty \
-- configure-target-gperf \
-- configure-target-examples \
-- configure-target-libffi \
-- configure-target-libjava \
-- configure-target-zlib \
-- configure-target-boehm-gc \
-- configure-target-qthreads \
-- configure-target-rda
-+CONFIGURE_TARGET_MODULES =
-
- # This is a list of the check targets for all of the modules which are
- # compiled using $(TARGET_FLAGS_TO_PASS).
--CHECK_TARGET_MODULES = \
-- check-target-libstdc++-v3 \
-- check-target-newlib \
-- check-target-libf2c \
-- check-target-libobjc \
-- check-target-winsup \
-- check-target-libiberty \
-- check-target-gperf \
-- check-target-libffi \
-- check-target-libjava \
-- check-target-zlib \
-- check-target-boehm-gc \
-- check-target-qthreads \
-- check-target-rda
-+CHECK_TARGET_MODULES =
-
- # This is a list of the install targets for all of the modules which are
- # compiled using $(TARGET_FLAGS_TO_PASS).
--INSTALL_TARGET_MODULES = \
-- install-target-libstdc++-v3 \
-- install-target-newlib \
-- install-target-libf2c \
-- install-target-libobjc \
-- install-target-libtermcap \
-- install-target-winsup \
-- install-target-libgloss \
-- install-target-libiberty \
-- install-target-gperf \
-- install-target-libffi \
-- install-target-libjava \
-- install-target-zlib \
-- install-target-boehm-gc \
-- install-target-qthreads \
-- install-target-rda
-+INSTALL_TARGET_MODULES =
-
- # This is a list of the targets for which we can do a clean-{target}.
- CLEAN_MODULES = \
-@@ -883,22 +823,7 @@
- clean-zlib
-
- # All of the target modules that can be cleaned
--CLEAN_TARGET_MODULES = \
-- clean-target-libstdc++-v3 \
-- clean-target-newlib \
-- clean-target-libf2c \
-- clean-target-libobjc \
-- clean-target-winsup \
-- clean-target-libgloss \
-- clean-target-libiberty \
-- clean-target-gperf \
-- clean-target-examples \
-- clean-target-libffi \
-- clean-target-libjava \
-- clean-target-zlib \
-- clean-target-boehm-gc \
-- clean-target-qthreads \
-- clean-target-rda
-+CLEAN_TARGET_MODULES =
-
- # All of the x11 modules that can be cleaned
- CLEAN_X11_MODULES = \
+--- fixincludes/fixincl.x.orig 2009-08-27 00:05:13 +0300
++++ fixincludes/fixincl.x 2009-08-27 00:05:32 +0300
+@@ -36,9 +36,7 @@
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+-#ifndef SED_PROGRAM
+-#define SED_PROGRAM "/usr/bin/sed"
+-#endif
++#define SED_PROGRAM "@SED@"
+ static char const sed_cmd_z[] = SED_PROGRAM;
+
+ /* * * * * * * * * * * * * * * * * * * * * * * * * *
diff --git a/cross/avr-gcc/patches/patch-ac b/cross/avr-gcc/patches/patch-ac
deleted file mode 100644
index 541713034ce..00000000000
--- a/cross/avr-gcc/patches/patch-ac
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-ac,v 1.1 2006/03/30 17:37:03 joerg Exp $
-
---- gcc/config.gcc.orig 2006-03-30 17:18:37.000000000 +0000
-+++ gcc/config.gcc
-@@ -451,7 +451,7 @@ case $machine in
- # the generic ELF configuration of FreeBSD (i.e. it must be
- # ordered before that section).
- ;;
--*-*-freebsd*)
-+*-*-freebsd* | *-*-dragonfly*)
- # This is the generic ELF configuration of FreeBSD. Later
- # machine-specific sections may refine and add to this
- # configuration.
-@@ -473,6 +473,7 @@ case $machine in
- case $machine in
- *-*-freebsd3 | *-*-freebsd[3].*) fbsd_tm_file="freebsd3.h";;
- *-*-freebsd4 | *-*-freebsd[4].*) fbsd_tm_file="freebsd4.h";;
-+ *-*-dragonfly*) fbsd_tm_file="freebsd4.h";;
- *-*-freebsd5 | *-*-freebsd[5].*) fbsd_tm_file="freebsd5.h";;
- *-*-freebsd6 | *-*-freebsd[6].*) fbsd_tm_file="freebsd6.h";;
- *) echo 'Please update *-*-freebsd* in gcc/config.gcc'; exit 1;;
-@@ -1130,7 +1131,7 @@ i[34567]86-*-freebsd2 | i[34567]86-*-fre
- tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/freebsd-aout.h"
- tmake_file=t-freebsd
- ;;
--i[34567]86-*-freebsd*)
-+i[34567]86-*-freebsd* | i[34567]86-*-dragonfly*)
- tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h ${fbsd_tm_file} i386/freebsd.h"
- ;;
- x86_64-*-freebsd*)