aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2000-11-29 03:54:42 +0800
committerobrien <obrien@FreeBSD.org>2000-11-29 03:54:42 +0800
commitfeea3f8744a4ccd397ebde6091f8507606a94255 (patch)
treefc1dc4a98a9ac15610d21a6f1748ed889badcbb0
parent9f337301aee2f944c7dcd745d0f89997a0f07227 (diff)
downloadfreebsd-ports-gnome-feea3f8744a4ccd397ebde6091f8507606a94255.tar.gz
freebsd-ports-gnome-feea3f8744a4ccd397ebde6091f8507606a94255.tar.zst
freebsd-ports-gnome-feea3f8744a4ccd397ebde6091f8507606a94255.zip
First cut at configure support for FreeBSD PowerPC, Sparc64, and StrongARM.
-rw-r--r--lang/gcc-devel/files/patch-ak64
-rw-r--r--lang/gcc-ooo/files/patch-ak64
-rw-r--r--lang/gcc/files/patch-ak64
-rw-r--r--lang/gcc30/files/patch-ak64
-rw-r--r--lang/gcc31/files/patch-ak64
-rw-r--r--lang/gcc32/files/patch-ak64
-rw-r--r--lang/gcc33/files/patch-ak64
-rw-r--r--lang/gcc34/files/patch-ak64
-rw-r--r--lang/gcc35/files/patch-ak64
-rw-r--r--lang/gcc40/files/patch-ak64
-rw-r--r--lang/gcc41/files/patch-ak64
-rw-r--r--lang/gcc42/files/patch-ak64
-rw-r--r--lang/gcc43/files/patch-ak64
-rw-r--r--lang/gcc44/files/patch-ak64
-rw-r--r--lang/gcc45/files/patch-ak64
-rw-r--r--lang/gcc46/files/patch-ak64
-rw-r--r--lang/gcc47/files/patch-ak64
-rw-r--r--lang/gcc48/files/patch-ak64
18 files changed, 1152 insertions, 0 deletions
diff --git a/lang/gcc-devel/files/patch-ak b/lang/gcc-devel/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc-devel/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc-ooo/files/patch-ak b/lang/gcc-ooo/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc-ooo/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc/files/patch-ak b/lang/gcc/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc30/files/patch-ak b/lang/gcc30/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc30/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc31/files/patch-ak b/lang/gcc31/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc31/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc32/files/patch-ak b/lang/gcc32/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc32/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc33/files/patch-ak b/lang/gcc33/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc33/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc34/files/patch-ak b/lang/gcc34/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc34/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc35/files/patch-ak b/lang/gcc35/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc35/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc40/files/patch-ak b/lang/gcc40/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc40/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc41/files/patch-ak b/lang/gcc41/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc41/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc42/files/patch-ak b/lang/gcc42/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc42/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc43/files/patch-ak b/lang/gcc43/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc43/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc44/files/patch-ak b/lang/gcc44/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc44/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc45/files/patch-ak b/lang/gcc45/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc45/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc46/files/patch-ak b/lang/gcc46/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc46/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc47/files/patch-ak b/lang/gcc47/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc47/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"
diff --git a/lang/gcc48/files/patch-ak b/lang/gcc48/files/patch-ak
new file mode 100644
index 000000000000..969eda593aad
--- /dev/null
+++ b/lang/gcc48/files/patch-ak
@@ -0,0 +1,64 @@
+--- gcc/config.gcc.orig Sun Nov 19 16:58:02 2000
++++ gcc/config.gcc Tue Nov 28 11:51:45 2000
+@@ -495,6 +495,20 @@
+ tm_file=arm/semiaof.h
+ tmake_file=arm/t-semiaof
+ ;;
++arm-*-freebsd*)
++ tm_file="${tm_file} freebsd.h arm/elf.h arm/freebsd.h"
++ tmake_file="t-freebsd arm/t-arm-elf"
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ arm*-*-netbsd*)
+ tm_file=arm/netbsd.h
+ tmake_file="t-netbsd arm/t-netbsd"
+@@ -2674,6 +2688,19 @@
+ tmake_file="rs6000/t-ppcgas t-rtems rs6000/t-ppccomm"
+ extra_headers=ppc-asm.h
+ ;;
++powerpc*-*-freebsd*)
++ tm_file="${tm_file} freebsd.h rs6000/freebsd.h"
++ tmake_file="rs6000/t-ppcos t-freebsd rs6000/t-ppccomm"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
++ ;;
+ powerpc-*-linux*libc1)
+ tm_file="rs6000/sysv4.h rs6000/linux.h"
+ xm_file=rs6000/xm-sysv4.h
+@@ -3101,6 +3128,20 @@
+ tmake_file=sparc/t-sp64
+ tm_file=sparc/sp64-elf.h
+ extra_parts="crtbegin.o crtend.o"
++ ;;
++sparc64-*-freebsd*)
++ tm_file="${tm_file} freebsd.h sparc/elf.h sparc/sp64-elf.h sparc/freebsd.h"
++ tmake_file=t-freebsd sparc/t-sp64
++ extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++ xmake_file=none
++ gas=yes gnu_ld=yes
++ stabs=yes
++ case x${enable_threads} in
++ xyes | xpthreads | xposix)
++ thread_file='posix'
++ tmake_file="${tmake_file} t-freebsd-thread"
++ ;;
++ esac
+ ;;
+ sparc64-*-linux*) # 64-bit Sparc's running GNU/Linux
+ tmake_file="t-linux sparc/t-linux64"