summaryrefslogtreecommitdiff
path: root/lang/gcc28
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>1999-02-09 18:25:43 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>1999-02-09 18:25:43 +0000
commitc6a48c0a295151ef1d1d0be76a86ee8e3fbdd203 (patch)
treef2ba9ce196e56123bfc3e951b1a4b88b95416067 /lang/gcc28
parentGNUHOST is now "i386-unknown-freebsd" for an ELF machine, and (diff)
GNUHOST is now "i386-unknown-freebsd3" for ELF machines and
"i386-unknown-freebsdaout3" for a.out machines.
Notes
Notes: svn path=/head/; revision=16574
Diffstat (limited to 'lang/gcc28')
-rw-r--r--lang/gcc28/Makefile22
-rw-r--r--lang/gcc28/files/patch-014
-rw-r--r--lang/gcc28/files/patch-0212
-rw-r--r--lang/gcc28/files/patch-0329
-rw-r--r--lang/gcc28/files/patch-1243
5 files changed, 96 insertions, 14 deletions
diff --git a/lang/gcc28/Makefile b/lang/gcc28/Makefile
index e359f6ff3ad1..daf7cd3a7020 100644
--- a/lang/gcc28/Makefile
+++ b/lang/gcc28/Makefile
@@ -4,7 +4,7 @@
# Date created: 17 Jan 1998
# Whom: David O'Brien <obrien@NUXI.com>
#
-# $Id: Makefile,v 1.19 1998/11/13 07:32:21 obrien Exp $
+# $Id: Makefile,v 1.20 1999/01/27 07:41:20 fenner Exp $
#
DISTNAME= gcc-2.8.1
@@ -17,9 +17,9 @@ MAINTAINER= obrien@FreeBSD.org
.include <bsd.port.pre.mk>
.if ${PORTOBJFORMAT} == "elf"
-GNUHOST= ${ARCH}-unknown-freebsdelf${OSREL}
-.else
GNUHOST= ${ARCH}-unknown-freebsd${OSREL}
+.else
+GNUHOST= ${ARCH}-unknown-freebsdaout${OSREL}
.endif
PLIST_SUB= GNUHOST=${GNUHOST}
@@ -35,15 +35,23 @@ MAN1= cccp28.1 g++28.1 gcc28.1
pre-fetch:
@${ECHO} "GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} ${PORTOBJFORMAT}"
+pre-patch:
+ @${MV} ${WRKSRC}/config/i386/freebsd.h ${WRKSRC}/config/i386/freebsd-aout.h
+ @${MV} ${WRKSRC}/config/i386/freebsd-elf.h ${WRKSRC}/config/i386/freebsd.h
+
pre-configure:
+ @# Keep from running `autoconf' and `autoheader' since we modified
+ @# configure.in by patching it.
+ @${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/configure
+ @${TOUCH} ${TOUCH_FLAGS} ${WRKSRC}/cstamp-h.in
@(cd ${WRKSRC}/config/${ARCH}/ ; \
MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
+ ${MV} freebsd-aout.h freebsd-aout.h.in ; \
+ ${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" \
+ freebsd-aout.h.in >freebsd-aout.h ; \
${MV} freebsd.h freebsd.h.in ; \
${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" freebsd.h.in \
- >freebsd.h ; \
- ${MV} freebsd-elf.h freebsd-elf.h.in ; \
- ${SED} -e "s:__FreeBSD__=[0-9]*:__FreeBSD__=$${MAJ}:" freebsd-elf.h.in \
- >freebsd-elf.h)
+ >freebsd.h)
post-install:
@${RM} -f ${PREFIX}/bin/c++
diff --git a/lang/gcc28/files/patch-01 b/lang/gcc28/files/patch-01
index dfec48ea740a..3d4d6dbc018d 100644
--- a/lang/gcc28/files/patch-01
+++ b/lang/gcc28/files/patch-01
@@ -1,5 +1,5 @@
---- config/i386/freebsd.h.orig Sun Oct 19 09:31:05 1997
-+++ config/i386/freebsd.h Tue Aug 11 14:28:56 1998
+--- config/i386/freebsd-aout.h.orig Sun Oct 19 09:31:05 1997
++++ config/i386/freebsd-aout.h Tue Aug 11 14:28:56 1998
@@ -35,10 +35,21 @@
#include "i386/perform.h"
diff --git a/lang/gcc28/files/patch-02 b/lang/gcc28/files/patch-02
index 5d424703d8f0..592d4aef734a 100644
--- a/lang/gcc28/files/patch-02
+++ b/lang/gcc28/files/patch-02
@@ -1,6 +1,6 @@
---- config/i386/freebsd-elf.h.orig Fri Dec 5 04:15:34 1997
-+++ config/i386/freebsd-elf.h Tue Jan 12 02:13:15 1999
-@@ -26,8 +26,9 @@
+--- config/i386/freebsd.h.orig Fri Dec 5 04:15:34 1997
++++ config/i386/freebsd.h Mon Feb 8 12:03:09 1999
+@@ -26,8 +26,13 @@
/* The svr4 ABI for the i386 says that records and unions are returned
in memory. */
@@ -8,10 +8,14 @@
#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 1
+#define DEFAULT_PCC_STRUCT_RETURN 0
++
++/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
++ libraries compiled with the native cc, so undef it. */
++#undef NO_DOLLAR_IN_LABEL
/* This is how to output an element of a case-vector that is relative.
This is only used for PIC code. See comments by the `casesi' insn in
-@@ -140,7 +141,7 @@
+@@ -140,7 +145,7 @@
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#undef CPP_PREDEFINES
diff --git a/lang/gcc28/files/patch-03 b/lang/gcc28/files/patch-03
index ae1cd5144d91..391e3a9c3d5d 100644
--- a/lang/gcc28/files/patch-03
+++ b/lang/gcc28/files/patch-03
@@ -1,5 +1,5 @@
--- configure.orig Sat Feb 28 18:02:02 1998
-+++ configure Tue Aug 11 13:51:17 1998
++++ configure Mon Feb 8 11:51:44 1999
@@ -677,9 +677,9 @@
if test -z "$ac_aux_dir"; then
{ echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
@@ -49,6 +49,33 @@
i370-*-mvs*)
;;
i[34567]86-ibm-aix*) # IBM PS/2 running AIX
+@@ -3256,20 +3278,20 @@
+ # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+ # use_collect2=yes
+ ;;
+- 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*)
++ tm_file=i386/freebsd-aout.h
+ # On FreeBSD, the headers are already ok, except for math.h.
+ fixincludes=fixinc.math
+ tmake_file=i386/t-freebsd
+- gas=yes
+- gnu_ld=yes
+- stabs=yes
+ ;;
+ i[34567]86-*-freebsd*)
+- tm_file=i386/freebsd.h
++ tm_file="i386/i386.h i386/att.h linux.h i386/freebsd.h i386/perform.h"
+ # On FreeBSD, the headers are already ok, except for math.h.
+ fixincludes=fixinc.math
+ tmake_file=i386/t-freebsd
++ gas=yes
++ gnu_ld=yes
++ stabs=yes
+ ;;
+ i[34567]86-*-netbsd*)
+ tm_file=i386/netbsd.h
@@ -3277,6 +3299,13 @@
fixincludes=fixinc.math
tmake_file=t-netbsd
diff --git a/lang/gcc28/files/patch-12 b/lang/gcc28/files/patch-12
new file mode 100644
index 000000000000..9bcd13b461e0
--- /dev/null
+++ b/lang/gcc28/files/patch-12
@@ -0,0 +1,43 @@
+--- configure.in.orig Sat Feb 28 12:58:12 1998
++++ configure.in Tue Feb 9 02:24:34 1999
+@@ -303,6 +303,13 @@
+ a29k-*-*) # Default a29k environment.
+ use_collect2=yes
+ ;;
++ alpha*-*-freebsd*)
++ tm_file=alpha/freebsd.h
++ # On FreeBSD, the headers are already ok, except for math.h. (??right??)
++ fixincludes=fixinc.math
++ fixincludes=fixinc.math
++ tmake_file=t-libc-ok
++ ;;
+ alpha*-*-linux-gnuecoff*)
+ tm_file="${tm_file} alpha/linux.h"
+ xm_file="${xm_file} alpha/xm-linux.h"
+@@ -762,20 +769,20 @@
+ # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+ # use_collect2=yes
+ ;;
+- 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*)
++ tm_file=i386/freebsd.h
+ # On FreeBSD, the headers are already ok, except for math.h.
+ fixincludes=fixinc.math
+ tmake_file=i386/t-freebsd
+- gas=yes
+- gnu_ld=yes
+- stabs=yes
+ ;;
+ i[[34567]]86-*-freebsd*)
+- tm_file=i386/freebsd.h
++ tm_file="i386/i386.h i386/att.h linux.h i386/freebsd.h i386/perform.h"
+ # On FreeBSD, the headers are already ok, except for math.h.
+ fixincludes=fixinc.math
+ tmake_file=i386/t-freebsd
++ gas=yes
++ gnu_ld=yes
++ stabs=yes
+ ;;
+ i[[34567]]86-*-netbsd*)
+ tm_file=i386/netbsd.h