summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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*)