From 5e621031f50a787b256e8051dbcdf6272be04551 Mon Sep 17 00:00:00 2001 From: hasso Date: Thu, 27 Aug 2009 15:29:37 +0000 Subject: 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. --- cross/avr-gcc/Makefile | 54 +++--- cross/avr-gcc/PLIST | 98 +++++------ cross/avr-gcc/distinfo | 20 +-- cross/avr-gcc/patches/patch-16bitassign | 302 -------------------------------- cross/avr-gcc/patches/patch-aa | 16 +- cross/avr-gcc/patches/patch-ab | 125 ++----------- cross/avr-gcc/patches/patch-ac | 30 ---- 7 files changed, 109 insertions(+), 536 deletions(-) delete mode 100644 cross/avr-gcc/patches/patch-16bitassign delete mode 100644 cross/avr-gcc/patches/patch-ac (limited to 'cross/avr-gcc') 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: -From: Marek Michalkiewicz -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 - 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 . + */ +-#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*) -- cgit v1.2.3