From 17f95bdf4af5bfde48a1390a3bb5330810798a14 Mon Sep 17 00:00:00 2001
From: obrien <obrien@FreeBSD.org>
Date: Thu, 22 Apr 1999 00:40:40 +0000
Subject: Sync up with some diffs I sent to Cygnus.

---
 lang/gcc-devel/files/patch-af | 16 +++++++++-------
 lang/gcc-devel/files/patch-ak |  8 ++++----
 lang/gcc-devel/files/patch-al |  8 ++++----
 lang/gcc-ooo/files/patch-af   | 16 +++++++++-------
 lang/gcc-ooo/files/patch-ak   |  8 ++++----
 lang/gcc-ooo/files/patch-al   |  8 ++++----
 lang/gcc/files/patch-af       | 16 +++++++++-------
 lang/gcc/files/patch-ak       |  8 ++++----
 lang/gcc/files/patch-al       |  8 ++++----
 lang/gcc30/files/patch-af     | 16 +++++++++-------
 lang/gcc30/files/patch-ak     |  8 ++++----
 lang/gcc30/files/patch-al     |  8 ++++----
 lang/gcc31/files/patch-af     | 16 +++++++++-------
 lang/gcc31/files/patch-ak     |  8 ++++----
 lang/gcc31/files/patch-al     |  8 ++++----
 lang/gcc32/files/patch-af     | 16 +++++++++-------
 lang/gcc32/files/patch-ak     |  8 ++++----
 lang/gcc32/files/patch-al     |  8 ++++----
 lang/gcc33/files/patch-af     | 16 +++++++++-------
 lang/gcc33/files/patch-ak     |  8 ++++----
 lang/gcc33/files/patch-al     |  8 ++++----
 lang/gcc34/files/patch-af     | 16 +++++++++-------
 lang/gcc34/files/patch-ak     |  8 ++++----
 lang/gcc34/files/patch-al     |  8 ++++----
 lang/gcc35/files/patch-af     | 16 +++++++++-------
 lang/gcc35/files/patch-ak     |  8 ++++----
 lang/gcc35/files/patch-al     |  8 ++++----
 lang/gcc40/files/patch-af     | 16 +++++++++-------
 lang/gcc40/files/patch-ak     |  8 ++++----
 lang/gcc40/files/patch-al     |  8 ++++----
 lang/gcc41/files/patch-af     | 16 +++++++++-------
 lang/gcc41/files/patch-ak     |  8 ++++----
 lang/gcc41/files/patch-al     |  8 ++++----
 lang/gcc42/files/patch-af     | 16 +++++++++-------
 lang/gcc42/files/patch-ak     |  8 ++++----
 lang/gcc42/files/patch-al     |  8 ++++----
 lang/gcc43/files/patch-af     | 16 +++++++++-------
 lang/gcc43/files/patch-ak     |  8 ++++----
 lang/gcc43/files/patch-al     |  8 ++++----
 lang/gcc44/files/patch-af     | 16 +++++++++-------
 lang/gcc44/files/patch-ak     |  8 ++++----
 lang/gcc44/files/patch-al     |  8 ++++----
 lang/gcc45/files/patch-af     | 16 +++++++++-------
 lang/gcc45/files/patch-ak     |  8 ++++----
 lang/gcc45/files/patch-al     |  8 ++++----
 lang/gcc46/files/patch-af     | 16 +++++++++-------
 lang/gcc46/files/patch-ak     |  8 ++++----
 lang/gcc46/files/patch-al     |  8 ++++----
 lang/gcc47/files/patch-af     | 16 +++++++++-------
 lang/gcc47/files/patch-ak     |  8 ++++----
 lang/gcc47/files/patch-al     |  8 ++++----
 lang/gcc48/files/patch-af     | 16 +++++++++-------
 lang/gcc48/files/patch-ak     |  8 ++++----
 lang/gcc48/files/patch-al     |  8 ++++----
 54 files changed, 306 insertions(+), 270 deletions(-)

(limited to 'lang')

diff --git a/lang/gcc-devel/files/patch-af b/lang/gcc-devel/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc-devel/files/patch-af
+++ b/lang/gcc-devel/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc-devel/files/patch-ak b/lang/gcc-devel/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc-devel/files/patch-ak
+++ b/lang/gcc-devel/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc-devel/files/patch-al b/lang/gcc-devel/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc-devel/files/patch-al
+++ b/lang/gcc-devel/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc-ooo/files/patch-af b/lang/gcc-ooo/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc-ooo/files/patch-af
+++ b/lang/gcc-ooo/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc-ooo/files/patch-ak b/lang/gcc-ooo/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc-ooo/files/patch-ak
+++ b/lang/gcc-ooo/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc-ooo/files/patch-al b/lang/gcc-ooo/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc-ooo/files/patch-al
+++ b/lang/gcc-ooo/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc/files/patch-af b/lang/gcc/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc/files/patch-af
+++ b/lang/gcc/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc/files/patch-ak b/lang/gcc/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc/files/patch-ak
+++ b/lang/gcc/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc/files/patch-al b/lang/gcc/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc/files/patch-al
+++ b/lang/gcc/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc30/files/patch-af b/lang/gcc30/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc30/files/patch-af
+++ b/lang/gcc30/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc30/files/patch-ak b/lang/gcc30/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc30/files/patch-ak
+++ b/lang/gcc30/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc30/files/patch-al b/lang/gcc30/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc30/files/patch-al
+++ b/lang/gcc30/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc31/files/patch-af b/lang/gcc31/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc31/files/patch-af
+++ b/lang/gcc31/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc31/files/patch-ak b/lang/gcc31/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc31/files/patch-ak
+++ b/lang/gcc31/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc31/files/patch-al b/lang/gcc31/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc31/files/patch-al
+++ b/lang/gcc31/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc32/files/patch-af b/lang/gcc32/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc32/files/patch-af
+++ b/lang/gcc32/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc32/files/patch-ak b/lang/gcc32/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc32/files/patch-ak
+++ b/lang/gcc32/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc32/files/patch-al b/lang/gcc32/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc32/files/patch-al
+++ b/lang/gcc32/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc33/files/patch-af b/lang/gcc33/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc33/files/patch-af
+++ b/lang/gcc33/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc33/files/patch-ak b/lang/gcc33/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc33/files/patch-ak
+++ b/lang/gcc33/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc33/files/patch-al b/lang/gcc33/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc33/files/patch-al
+++ b/lang/gcc33/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc34/files/patch-af b/lang/gcc34/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc34/files/patch-af
+++ b/lang/gcc34/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc34/files/patch-ak b/lang/gcc34/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc34/files/patch-ak
+++ b/lang/gcc34/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc34/files/patch-al b/lang/gcc34/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc34/files/patch-al
+++ b/lang/gcc34/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc35/files/patch-af b/lang/gcc35/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc35/files/patch-af
+++ b/lang/gcc35/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc35/files/patch-ak b/lang/gcc35/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc35/files/patch-ak
+++ b/lang/gcc35/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc35/files/patch-al b/lang/gcc35/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc35/files/patch-al
+++ b/lang/gcc35/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc40/files/patch-af b/lang/gcc40/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc40/files/patch-af
+++ b/lang/gcc40/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc40/files/patch-ak b/lang/gcc40/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc40/files/patch-ak
+++ b/lang/gcc40/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc40/files/patch-al b/lang/gcc40/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc40/files/patch-al
+++ b/lang/gcc40/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc41/files/patch-af b/lang/gcc41/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc41/files/patch-af
+++ b/lang/gcc41/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc41/files/patch-ak b/lang/gcc41/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc41/files/patch-ak
+++ b/lang/gcc41/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc41/files/patch-al b/lang/gcc41/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc41/files/patch-al
+++ b/lang/gcc41/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc42/files/patch-af b/lang/gcc42/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc42/files/patch-af
+++ b/lang/gcc42/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc42/files/patch-ak b/lang/gcc42/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc42/files/patch-ak
+++ b/lang/gcc42/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc42/files/patch-al b/lang/gcc42/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc42/files/patch-al
+++ b/lang/gcc42/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc43/files/patch-af b/lang/gcc43/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc43/files/patch-af
+++ b/lang/gcc43/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc43/files/patch-ak b/lang/gcc43/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc43/files/patch-ak
+++ b/lang/gcc43/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc43/files/patch-al b/lang/gcc43/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc43/files/patch-al
+++ b/lang/gcc43/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc44/files/patch-af b/lang/gcc44/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc44/files/patch-af
+++ b/lang/gcc44/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc44/files/patch-ak b/lang/gcc44/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc44/files/patch-ak
+++ b/lang/gcc44/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc44/files/patch-al b/lang/gcc44/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc44/files/patch-al
+++ b/lang/gcc44/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc45/files/patch-af b/lang/gcc45/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc45/files/patch-af
+++ b/lang/gcc45/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc45/files/patch-ak b/lang/gcc45/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc45/files/patch-ak
+++ b/lang/gcc45/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc45/files/patch-al b/lang/gcc45/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc45/files/patch-al
+++ b/lang/gcc45/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc46/files/patch-af b/lang/gcc46/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc46/files/patch-af
+++ b/lang/gcc46/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc46/files/patch-ak b/lang/gcc46/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc46/files/patch-ak
+++ b/lang/gcc46/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc46/files/patch-al b/lang/gcc46/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc46/files/patch-al
+++ b/lang/gcc46/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc47/files/patch-af b/lang/gcc47/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc47/files/patch-af
+++ b/lang/gcc47/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc47/files/patch-ak b/lang/gcc47/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc47/files/patch-ak
+++ b/lang/gcc47/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc47/files/patch-al b/lang/gcc47/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc47/files/patch-al
+++ b/lang/gcc47/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc48/files/patch-af b/lang/gcc48/files/patch-af
index 88bf144d3dad..5c17489bdb46 100644
--- a/lang/gcc48/files/patch-af
+++ b/lang/gcc48/files/patch-af
@@ -1,9 +1,11 @@
---- gcc/config/i386/freebsd.h.orig	Tue Feb 16 15:51:31 1999
-+++ gcc/config/i386/freebsd.h	Mon Apr 19 09:22:46 1999
-@@ -21,6 +21,15 @@
+--- gcc/config/i386/freebsd.h.orig	Fri Apr  9 13:31:31 1999
++++ gcc/config/i386/freebsd.h	Wed Apr 21 17:36:21 1999
+@@ -21,6 +21,17 @@
  the Free Software Foundation, 59 Temple Place - Suite 330,
  Boston, MA 02111-1307, USA.  */
  
++
++#include "i386/att.h"	/* Use the i386 AT&T assembler syntax */
 +
 +/* Use stabs instead of DWARF debug format.  */
 +#undef PREFERRED_DEBUGGING_TYPE
@@ -16,7 +18,7 @@
  #undef TARGET_VERSION
  #define TARGET_VERSION fprintf (stderr, " (i386 FreeBSD/ELF)");
  
-@@ -113,22 +122,19 @@
+@@ -113,22 +124,19 @@
   : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \
   : (-1))
  
@@ -43,7 +45,7 @@
      }									\
  }
  
-@@ -145,27 +151,31 @@
+@@ -145,27 +153,31 @@
  #define WCHAR_TYPE_SIZE BITS_PER_WORD
      
  #undef CPP_PREDEFINES
@@ -91,7 +93,7 @@
  /* Provide a LINK_SPEC appropriate for FreeBSD.  Here we provide support
     for the special GCC options -static and -shared, which allow us to
     link things in one of these three modes by applying the appropriate
-@@ -181,13 +191,23 @@
+@@ -181,13 +193,23 @@
     done.  */
  
  #undef	LINK_SPEC
@@ -121,7 +123,7 @@
  
  /* Get perform_* macros to build libgcc.a.  */
  
-@@ -204,3 +224,15 @@
+@@ -204,3 +226,15 @@
      else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)); \
    }
  #endif
diff --git a/lang/gcc48/files/patch-ak b/lang/gcc48/files/patch-ak
index a1c26dbc744e..37a029c5bb20 100644
--- a/lang/gcc48/files/patch-ak
+++ b/lang/gcc48/files/patch-ak
@@ -1,5 +1,5 @@
 --- gcc/configure.orig	Sun Apr 18 02:33:12 1999
-+++ gcc/configure	Mon Apr 19 15:16:14 1999
++++ gcc/configure	Wed Apr 21 17:32:59 1999
 @@ -3022,6 +3022,15 @@
   			thread_file='posix'
   		fi
@@ -22,12 +22,12 @@
  		;;
 -	i[34567]86-*-freebsdelf*)
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
-+	i[34567]86-*-freebsd*)
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
diff --git a/lang/gcc48/files/patch-al b/lang/gcc48/files/patch-al
index 3b9fb19a38b1..f2ddb69b6ad0 100644
--- a/lang/gcc48/files/patch-al
+++ b/lang/gcc48/files/patch-al
@@ -1,5 +1,5 @@
 --- gcc/configure.in.orig	Wed Apr 14 18:50:50 1999
-+++ gcc/configure.in	Mon Apr 19 15:16:14 1999
++++ gcc/configure.in	Wed Apr 21 17:34:09 1999
 @@ -606,6 +606,15 @@
   			thread_file='posix'
   		fi
@@ -21,16 +21,16 @@
  		;;
  changequote(,)dnl
 -	i[34567]86-*-freebsdelf*)
-+	i[34567]86-*-freebsdaout*)
++	i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*)
  changequote([,])dnl
 -		tm_file="i386/i386.h i386/att.h linux.h i386/freebsd-elf.h i386/perform.h"
 +		tm_file=i386/freebsd-aout.h
 +		tmake_file=t-freebsd
 +		;;
 +changequote(,)dnl
-+	i[34567]86-*-freebsd*)
++	i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
 +changequote([,])dnl
-+		tm_file="i386/i386.h i386/att.h i386/freebsd.h i386/perform.h"
++		tm_file="i386/i386.h i386/freebsd.h i386/perform.h"
  		# On FreeBSD, the headers are already ok, except for math.h.
  		fixincludes=fixinc.wrap
  		extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-- 
cgit