aboutsummaryrefslogtreecommitdiffstats
path: root/lang/gcc28
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>1998-05-22 08:26:29 +0800
committerobrien <obrien@FreeBSD.org>1998-05-22 08:26:29 +0800
commit40836577fbd8a74f50fd66f9a443a53a9856530e (patch)
treec062c159764deb33031990bf37c9767dd07f2540 /lang/gcc28
parenta7cb47c85feca4847b572d13c450f97875346251 (diff)
downloadfreebsd-ports-gnome-40836577fbd8a74f50fd66f9a443a53a9856530e.tar.gz
freebsd-ports-gnome-40836577fbd8a74f50fd66f9a443a53a9856530e.tar.zst
freebsd-ports-gnome-40836577fbd8a74f50fd66f9a443a53a9856530e.zip
Fix the LINK_SPEC for a.out.
Submitted by: roberto
Diffstat (limited to 'lang/gcc28')
-rw-r--r--lang/gcc28/files/patch-0129
1 files changed, 25 insertions, 4 deletions
diff --git a/lang/gcc28/files/patch-01 b/lang/gcc28/files/patch-01
index 1d9f93258aeb..a33a2d5a73e9 100644
--- a/lang/gcc28/files/patch-01
+++ b/lang/gcc28/files/patch-01
@@ -1,11 +1,11 @@
--- config/i386/freebsd.h.orig Sun Oct 19 09:31:05 1997
-+++ config/i386/freebsd.h Sun Apr 12 06:19:42 1998
-@@ -35,7 +35,16 @@
++++ config/i386/freebsd.h Thu May 21 14:10:11 1998
+@@ -35,10 +35,19 @@
#include "i386/perform.h"
#undef CPP_PREDEFINES
-#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -D__386BSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
-+#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
++#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__=2 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)"
+
+/* need "-fsjlj-exceptions" (use setjmp/longjmp for exceptions) the default.
+ The standard exception implementation reliably
@@ -17,4 +17,25 @@
+#define CC1PLUS_SPEC "-fsjlj-exceptions"
/* Like the default, except no -lg. */
- #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
+-#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}"
++#define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}"
+
+ #undef SIZE_TYPE
+ #define SIZE_TYPE "unsigned int"
+@@ -215,7 +224,15 @@
+
+ #define ASM_SPEC " %| %{fpic:-k} %{fPIC:-k}"
+ #define LINK_SPEC \
+- "%{!nostdlib:%{!r*:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} %{assert*}"
++ "%{p:%e`-p' not supported; use `-pg' and gprof(1)} \
++ %{shared:-Bshareable} \
++ %{!shared:%{!nostdlib:%{!r:%{!e*:-e start}}} -dc -dp %{static:-Bstatic} \
++ %{pg:-Bstatic} %{Z}} \
++ %{assert*} %{R*}"
++
++#define STARTFILE_SPEC \
++ "%{shared:c++rt0.o%s} \
++ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
+
+ /* 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.