summaryrefslogtreecommitdiff
path: root/devel/avr-gcc-3/files
diff options
context:
space:
mode:
Diffstat (limited to 'devel/avr-gcc-3/files')
-rw-r--r--devel/avr-gcc-3/files/patch-16bitassign300
-rw-r--r--devel/avr-gcc-3/files/patch-aa8
-rw-r--r--devel/avr-gcc-3/files/patch-ab412
-rw-r--r--devel/avr-gcc-3/files/patch-ac10
-rw-r--r--devel/avr-gcc-3/files/patch-ad12
5 files changed, 323 insertions, 419 deletions
diff --git a/devel/avr-gcc-3/files/patch-16bitassign b/devel/avr-gcc-3/files/patch-16bitassign
deleted file mode 100644
index 2241dfa1adbe..000000000000
--- a/devel/avr-gcc-3/files/patch-16bitassign
+++ /dev/null
@@ -1,300 +0,0 @@
-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/devel/avr-gcc-3/files/patch-aa b/devel/avr-gcc-3/files/patch-aa
index d8682e145771..8fe15263247a 100644
--- a/devel/avr-gcc-3/files/patch-aa
+++ b/devel/avr-gcc-3/files/patch-aa
@@ -1,6 +1,6 @@
---- libiberty/Makefile.in.orig Tue Jan 22 21:03:29 2002
-+++ libiberty/Makefile.in Tue Jun 4 18:19:26 2002
-@@ -234,7 +234,8 @@
+--- libiberty/Makefile.in.orig Wed Jan 14 22:27:28 2004
++++ libiberty/Makefile.in Wed Apr 21 11:14:30 2004
+@@ -267,7 +267,8 @@
@MAINT@ echo stamp > stamp-functions
INSTALL_DEST = @INSTALL_DEST@
@@ -9,4 +9,4 @@
+install:
install_to_libdir: all
- $(INSTALL_DATA) $(TARGETLIB) $(libdir)$(MULTISUBDIR)/$(TARGETLIB)n
+ ${mkinstalldirs} $(DESTDIR)$(libdir)$(MULTISUBDIR)
diff --git a/devel/avr-gcc-3/files/patch-ab b/devel/avr-gcc-3/files/patch-ab
index c340404fa7fe..9ebf9649b5e2 100644
--- a/devel/avr-gcc-3/files/patch-ab
+++ b/devel/avr-gcc-3/files/patch-ab
@@ -1,110 +1,302 @@
---- 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 = \
+--- Makefile.in.orig Wed Jan 14 21:09:37 2004
++++ Makefile.in Wed Apr 21 12:27:58 2004
+@@ -595,23 +595,7 @@
+ maybe-configure-libtermcap \
+ maybe-configure-utils
+ .PHONY: configure-target
+-configure-target: \
+- maybe-configure-target-libstdc++-v3 \
+- maybe-configure-target-newlib \
+- maybe-configure-target-libf2c \
+- maybe-configure-target-libobjc \
+- maybe-configure-target-libtermcap \
+- maybe-configure-target-winsup \
+- maybe-configure-target-libgloss \
+- maybe-configure-target-libiberty \
+- maybe-configure-target-gperf \
+- maybe-configure-target-examples \
+- maybe-configure-target-libffi \
+- maybe-configure-target-libjava \
+- maybe-configure-target-zlib \
+- maybe-configure-target-boehm-gc \
+- maybe-configure-target-qthreads \
+- maybe-configure-target-rda
++configure-target:
+
+ # The target built for a native build.
+ .PHONY: all.normal
+@@ -684,23 +668,7 @@
+ maybe-all-libtermcap \
+ maybe-all-utils
+ .PHONY: all-target
+-all-target: \
+- maybe-all-target-libstdc++-v3 \
+- maybe-all-target-newlib \
+- maybe-all-target-libf2c \
+- maybe-all-target-libobjc \
+- maybe-all-target-libtermcap \
+- maybe-all-target-winsup \
+- maybe-all-target-libgloss \
+- maybe-all-target-libiberty \
+- maybe-all-target-gperf \
+- maybe-all-target-examples \
+- maybe-all-target-libffi \
+- maybe-all-target-libjava \
+- maybe-all-target-zlib \
+- maybe-all-target-boehm-gc \
+- maybe-all-target-qthreads \
+- maybe-all-target-rda
++all-target:
+
+ # Do a target for all the subdirectories. A ``make do-X'' will do a
+ # ``make X'' in all subdirectories (because, in general, there is a
+@@ -778,23 +746,7 @@
+ maybe-info-utils
+
+ .PHONY: info-target
+-info-target: \
+- maybe-info-target-libstdc++-v3 \
+- maybe-info-target-newlib \
+- maybe-info-target-libf2c \
+- maybe-info-target-libobjc \
+- maybe-info-target-libtermcap \
+- maybe-info-target-winsup \
+- maybe-info-target-libgloss \
+- maybe-info-target-libiberty \
+- maybe-info-target-gperf \
+- maybe-info-target-examples \
+- maybe-info-target-libffi \
+- maybe-info-target-libjava \
+- maybe-info-target-zlib \
+- maybe-info-target-boehm-gc \
+- maybe-info-target-qthreads \
+- maybe-info-target-rda
++info-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-info-gcc info-gcc
+@@ -2654,23 +2606,7 @@
+ maybe-dvi-utils
+
+ .PHONY: dvi-target
+-dvi-target: \
+- maybe-dvi-target-libstdc++-v3 \
+- maybe-dvi-target-newlib \
+- maybe-dvi-target-libf2c \
+- maybe-dvi-target-libobjc \
+- maybe-dvi-target-libtermcap \
+- maybe-dvi-target-winsup \
+- maybe-dvi-target-libgloss \
+- maybe-dvi-target-libiberty \
+- maybe-dvi-target-gperf \
+- maybe-dvi-target-examples \
+- maybe-dvi-target-libffi \
+- maybe-dvi-target-libjava \
+- maybe-dvi-target-zlib \
+- maybe-dvi-target-boehm-gc \
+- maybe-dvi-target-qthreads \
+- maybe-dvi-target-rda
++dvi-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-dvi-gcc dvi-gcc
+@@ -4530,23 +4466,7 @@
+ maybe-TAGS-utils
+
+ .PHONY: TAGS-target
+-TAGS-target: \
+- maybe-TAGS-target-libstdc++-v3 \
+- maybe-TAGS-target-newlib \
+- maybe-TAGS-target-libf2c \
+- maybe-TAGS-target-libobjc \
+- maybe-TAGS-target-libtermcap \
+- maybe-TAGS-target-winsup \
+- maybe-TAGS-target-libgloss \
+- maybe-TAGS-target-libiberty \
+- maybe-TAGS-target-gperf \
+- maybe-TAGS-target-examples \
+- maybe-TAGS-target-libffi \
+- maybe-TAGS-target-libjava \
+- maybe-TAGS-target-zlib \
+- maybe-TAGS-target-boehm-gc \
+- maybe-TAGS-target-qthreads \
+- maybe-TAGS-target-rda
++TAGS-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-TAGS-gcc TAGS-gcc
+@@ -6406,23 +6326,7 @@
+ maybe-install-info-utils
+
+ .PHONY: install-info-target
+-install-info-target: \
+- maybe-install-info-target-libstdc++-v3 \
+- maybe-install-info-target-newlib \
+- maybe-install-info-target-libf2c \
+- maybe-install-info-target-libobjc \
+- maybe-install-info-target-libtermcap \
+- maybe-install-info-target-winsup \
+- maybe-install-info-target-libgloss \
+- maybe-install-info-target-libiberty \
+- maybe-install-info-target-gperf \
+- maybe-install-info-target-examples \
+- maybe-install-info-target-libffi \
+- maybe-install-info-target-libjava \
+- maybe-install-info-target-zlib \
+- maybe-install-info-target-boehm-gc \
+- maybe-install-info-target-qthreads \
+- maybe-install-info-target-rda
++install-info-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-install-info-gcc install-info-gcc
+@@ -8363,23 +8267,7 @@
+ maybe-installcheck-utils
+
+ .PHONY: installcheck-target
+-installcheck-target: \
+- maybe-installcheck-target-libstdc++-v3 \
+- maybe-installcheck-target-newlib \
+- maybe-installcheck-target-libf2c \
+- maybe-installcheck-target-libobjc \
+- maybe-installcheck-target-libtermcap \
+- maybe-installcheck-target-winsup \
+- maybe-installcheck-target-libgloss \
+- maybe-installcheck-target-libiberty \
+- maybe-installcheck-target-gperf \
+- maybe-installcheck-target-examples \
+- maybe-installcheck-target-libffi \
+- maybe-installcheck-target-libjava \
+- maybe-installcheck-target-zlib \
+- maybe-installcheck-target-boehm-gc \
+- maybe-installcheck-target-qthreads \
+- maybe-installcheck-target-rda
++installcheck-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-installcheck-gcc installcheck-gcc
+@@ -10239,23 +10127,7 @@
+ maybe-mostlyclean-utils
+
+ .PHONY: mostlyclean-target
+-mostlyclean-target: \
+- maybe-mostlyclean-target-libstdc++-v3 \
+- maybe-mostlyclean-target-newlib \
+- maybe-mostlyclean-target-libf2c \
+- maybe-mostlyclean-target-libobjc \
+- maybe-mostlyclean-target-libtermcap \
+- maybe-mostlyclean-target-winsup \
+- maybe-mostlyclean-target-libgloss \
+- maybe-mostlyclean-target-libiberty \
+- maybe-mostlyclean-target-gperf \
+- maybe-mostlyclean-target-examples \
+- maybe-mostlyclean-target-libffi \
+- maybe-mostlyclean-target-libjava \
+- maybe-mostlyclean-target-zlib \
+- maybe-mostlyclean-target-boehm-gc \
+- maybe-mostlyclean-target-qthreads \
+- maybe-mostlyclean-target-rda
++mostlyclean-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-mostlyclean-gcc mostlyclean-gcc
+@@ -11992,23 +11864,7 @@
+ maybe-clean-utils
+
+ .PHONY: clean-target
+-clean-target: \
+- maybe-clean-target-libstdc++-v3 \
+- maybe-clean-target-newlib \
+- maybe-clean-target-libf2c \
+- maybe-clean-target-libobjc \
+- maybe-clean-target-libtermcap \
+- maybe-clean-target-winsup \
+- maybe-clean-target-libgloss \
+- maybe-clean-target-libiberty \
+- maybe-clean-target-gperf \
+- maybe-clean-target-examples \
+- maybe-clean-target-libffi \
+- maybe-clean-target-libjava \
+- maybe-clean-target-zlib \
+- maybe-clean-target-boehm-gc \
+- maybe-clean-target-qthreads \
+- maybe-clean-target-rda
++clean-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-clean-gcc clean-gcc
+@@ -13759,23 +13615,7 @@
+ maybe-distclean-utils
+
+ .PHONY: distclean-target
+-distclean-target: \
+- maybe-distclean-target-libstdc++-v3 \
+- maybe-distclean-target-newlib \
+- maybe-distclean-target-libf2c \
+- maybe-distclean-target-libobjc \
+- maybe-distclean-target-libtermcap \
+- maybe-distclean-target-winsup \
+- maybe-distclean-target-libgloss \
+- maybe-distclean-target-libiberty \
+- maybe-distclean-target-gperf \
+- maybe-distclean-target-examples \
+- maybe-distclean-target-libffi \
+- maybe-distclean-target-libjava \
+- maybe-distclean-target-zlib \
+- maybe-distclean-target-boehm-gc \
+- maybe-distclean-target-qthreads \
+- maybe-distclean-target-rda
++distclean-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-distclean-gcc distclean-gcc
+@@ -15526,23 +15366,7 @@
+ maybe-maintainer-clean-utils
+
+ .PHONY: maintainer-clean-target
+-maintainer-clean-target: \
+- maybe-maintainer-clean-target-libstdc++-v3 \
+- maybe-maintainer-clean-target-newlib \
+- maybe-maintainer-clean-target-libf2c \
+- maybe-maintainer-clean-target-libobjc \
+- maybe-maintainer-clean-target-libtermcap \
+- maybe-maintainer-clean-target-winsup \
+- maybe-maintainer-clean-target-libgloss \
+- maybe-maintainer-clean-target-libiberty \
+- maybe-maintainer-clean-target-gperf \
+- maybe-maintainer-clean-target-examples \
+- maybe-maintainer-clean-target-libffi \
+- maybe-maintainer-clean-target-libjava \
+- maybe-maintainer-clean-target-zlib \
+- maybe-maintainer-clean-target-boehm-gc \
+- maybe-maintainer-clean-target-qthreads \
+- maybe-maintainer-clean-target-rda
++maintainer-clean-target:
+
+ # GCC, the eternal special case
+ .PHONY: maybe-maintainer-clean-gcc maintainer-clean-gcc
+@@ -17526,23 +17350,7 @@
+ maybe-install-utils
+
+ .PHONY: install-target
+-install-target: \
+- maybe-install-target-libstdc++-v3 \
+- maybe-install-target-newlib \
+- maybe-install-target-libf2c \
+- maybe-install-target-libobjc \
+- maybe-install-target-libtermcap \
+- maybe-install-target-winsup \
+- maybe-install-target-libgloss \
+- maybe-install-target-libiberty \
+- maybe-install-target-gperf \
+- maybe-install-target-examples \
+- maybe-install-target-libffi \
+- maybe-install-target-libjava \
+- maybe-install-target-zlib \
+- maybe-install-target-boehm-gc \
+- maybe-install-target-qthreads \
+- maybe-install-target-rda
++install-target:
+
+ uninstall:
+ @echo "the uninstall target is not supported in this tree"
diff --git a/devel/avr-gcc-3/files/patch-ac b/devel/avr-gcc-3/files/patch-ac
index cec083e3ee83..a1826c113722 100644
--- a/devel/avr-gcc-3/files/patch-ac
+++ b/devel/avr-gcc-3/files/patch-ac
@@ -1,8 +1,8 @@
---- configure.in.orig Sun May 5 20:56:48 2002
-+++ configure.in Tue Jun 4 18:21:31 2002
-@@ -706,6 +706,9 @@
- target_configdirs="${target_configdirs} target-bsp target-cygmon"
- fi
+--- configure.in.orig Mon Mar 1 20:27:33 2004
++++ configure.in Wed Apr 21 11:14:31 2004
+@@ -428,6 +428,9 @@
+ arm-*-pe*)
+ noconfigdirs="$noconfigdirs target-libgloss ${libgcj}"
;;
+ avr-*-*)
+ noconfigdirs="$noconfigdirs ${libstdcxx_version} target-libglosstarget-libiberty"
diff --git a/devel/avr-gcc-3/files/patch-ad b/devel/avr-gcc-3/files/patch-ad
new file mode 100644
index 000000000000..05c5c3a7407f
--- /dev/null
+++ b/devel/avr-gcc-3/files/patch-ad
@@ -0,0 +1,12 @@
+--- config.guess.orig Sun Feb 22 15:44:23 2004
++++ config.guess Wed Apr 21 15:10:25 2004
+@@ -792,6 +792,9 @@
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
++ if [ ".$UNAME_MACHINE" = ".amd64" ] ; then
++ UNAME_MACHINE=x86_64
++ fi
+ # GNU/KFreeBSD systems have a "k" prefix to indicate we are using
+ # FreeBSD's kernel, but not the complete OS.
+ case ${LIBC} in gnu) kernel_only='k' ;; esac