summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1998-07-19 22:03:43 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1998-07-19 22:03:43 +0000
commitdcb89c7cec4342da04cf55d7647ef316a6b37a03 (patch)
treea142572768bad354fd251e5efceea9422b9e54be /lang
parentCorrect a typo from previous commit. (diff)
Sync with gcc28 port:
* Implement support for weak symbols. This solves the "___error" undefined problem on 3.0-CURRENT systems. * look for crt0.o in /usr/lib/aout on 3.0-CURRENT systems.
Notes
Notes: svn path=/head/; revision=11973
Diffstat (limited to 'lang')
-rw-r--r--lang/egcs/files/patch-ad32
-rw-r--r--lang/gcc-devel/files/patch-ad32
-rw-r--r--lang/gcc-ooo/files/patch-ad32
-rw-r--r--lang/gcc/files/patch-ad32
-rw-r--r--lang/gcc295/files/patch-ad32
-rw-r--r--lang/gcc30/files/patch-ad32
-rw-r--r--lang/gcc31/files/patch-ad32
-rw-r--r--lang/gcc32/files/patch-ad32
-rw-r--r--lang/gcc33/files/patch-ad32
-rw-r--r--lang/gcc34/files/patch-ad32
-rw-r--r--lang/gcc35/files/patch-ad32
-rw-r--r--lang/gcc40/files/patch-ad32
-rw-r--r--lang/gcc41/files/patch-ad32
-rw-r--r--lang/gcc42/files/patch-ad32
-rw-r--r--lang/gcc43/files/patch-ad32
-rw-r--r--lang/gcc44/files/patch-ad32
-rw-r--r--lang/gcc45/files/patch-ad32
-rw-r--r--lang/gcc46/files/patch-ad32
-rw-r--r--lang/gcc47/files/patch-ad32
-rw-r--r--lang/gcc48/files/patch-ad32
20 files changed, 640 insertions, 0 deletions
diff --git a/lang/egcs/files/patch-ad b/lang/egcs/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/egcs/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc-devel/files/patch-ad b/lang/gcc-devel/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc-devel/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc-ooo/files/patch-ad b/lang/gcc-ooo/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc-ooo/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc/files/patch-ad b/lang/gcc/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc295/files/patch-ad b/lang/gcc295/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc295/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc30/files/patch-ad b/lang/gcc30/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc30/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc31/files/patch-ad b/lang/gcc31/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc31/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc32/files/patch-ad b/lang/gcc32/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc32/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc33/files/patch-ad b/lang/gcc33/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc33/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc34/files/patch-ad b/lang/gcc34/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc34/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc35/files/patch-ad b/lang/gcc35/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc35/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc40/files/patch-ad b/lang/gcc40/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc40/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc41/files/patch-ad b/lang/gcc41/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc41/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc42/files/patch-ad b/lang/gcc42/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc42/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc43/files/patch-ad b/lang/gcc43/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc43/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc44/files/patch-ad b/lang/gcc44/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc44/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc45/files/patch-ad b/lang/gcc45/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc45/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc46/files/patch-ad b/lang/gcc46/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc46/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc47/files/patch-ad b/lang/gcc47/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc47/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.
diff --git a/lang/gcc48/files/patch-ad b/lang/gcc48/files/patch-ad
new file mode 100644
index 000000000000..f29a24efded5
--- /dev/null
+++ b/lang/gcc48/files/patch-ad
@@ -0,0 +1,32 @@
+--- gcc/config/i386/freebsd.h.orig Tue Jun 30 15:52:18 1998
++++ gcc/config/i386/freebsd.h Sun Jul 19 14:35:14 1998
+@@ -129,6 +129,7 @@
+
+ #define TYPE_ASM_OP ".type"
+ #define SIZE_ASM_OP ".size"
++#define SET_ASM_OP ".set"
+
+ /* The following macro defines the format used to output the second
+ operand of the .type assembler directive. Different svr4 assemblers
+@@ -138,6 +139,12 @@
+
+ #define TYPE_OPERAND_FMT "@%s"
+
++#define HANDLE_SYSV_PRAGMA 1
++
++#define ASM_WEAKEN_LABEL(FILE,NAME) \
++ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
++ fputc ('\n', FILE); } while (0)
++
+ /* Write the extra assembler code needed to declare a function's result.
+ Most svr4 assemblers don't require any special declaration of the
+ result value, but there are exceptions. */
+@@ -239,6 +246,8 @@
+ #define STARTFILE_SPEC \
+ "%{shared:c++rt0.o%s} \
+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
++
++#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
+
+ /* This is defined when gcc is compiled in the BSD-directory-tree, and must
+ * make up for the gap to all the stuff done in the GNU-makefiles.