aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gcc31
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1998-07-20 06:03:43 +0800
committerobrien <obrien@FreeBSD.org>1998-07-20 06:03:43 +0800
commit16ec8ce4adab6d867074ba5e4050599af5fdf7ae (patch)
tree91fd61a35039c20f37fc98dc34776897a7c27ff2 /lang/gcc31
parent7a7bf19f61528c2a1cc946f83515336ad58aa4d0 (diff)
downloadfreebsd-ports-gnome-16ec8ce4adab6d867074ba5e4050599af5fdf7ae.tar.gz
freebsd-ports-gnome-16ec8ce4adab6d867074ba5e4050599af5fdf7ae.tar.zst
freebsd-ports-gnome-16ec8ce4adab6d867074ba5e4050599af5fdf7ae.zip
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.
Diffstat (limited to 'lang/gcc31')
-rw-r--r--lang/gcc31/files/patch-ad32
1 files changed, 32 insertions, 0 deletions
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.