summaryrefslogtreecommitdiff
path: root/lang
diff options
context:
space:
mode:
authorDavid E. O'Brien <obrien@FreeBSD.org>2000-09-05 16:59:15 +0000
committerDavid E. O'Brien <obrien@FreeBSD.org>2000-09-05 16:59:15 +0000
commit81388430e38efd7c8141a3535c899974c07adf04 (patch)
treefe4465581204854dd44fefdb9bf43a28d3dc158a /lang
parentUpgrade to 3.9.8 (diff)
Upgrade to the 2000-07-17 GCC 2.96 development snapshot.
Notes
Notes: svn path=/head/; revision=32315
Diffstat (limited to 'lang')
-rw-r--r--lang/gcc-devel/Makefile53
-rw-r--r--lang/gcc-devel/distinfo10
-rw-r--r--lang/gcc-devel/files/alpha-freebsd.h20
-rw-r--r--lang/gcc-devel/files/patch-af2
-rw-r--r--lang/gcc-devel/files/patch-ai23
-rw-r--r--lang/gcc-devel/files/patch-ak32
-rw-r--r--lang/gcc-devel/files/patch-al37
-rw-r--r--lang/gcc-devel/files/patch-fa90
-rw-r--r--lang/gcc-devel/files/patch-fc50
-rw-r--r--lang/gcc-devel/pkg-plist209
-rw-r--r--lang/gcc-ooo/Makefile53
-rw-r--r--lang/gcc-ooo/distinfo10
-rw-r--r--lang/gcc-ooo/files/alpha-freebsd.h20
-rw-r--r--lang/gcc-ooo/files/patch-af2
-rw-r--r--lang/gcc-ooo/files/patch-ai23
-rw-r--r--lang/gcc-ooo/files/patch-ak32
-rw-r--r--lang/gcc-ooo/files/patch-al37
-rw-r--r--lang/gcc-ooo/files/patch-fa90
-rw-r--r--lang/gcc-ooo/files/patch-fc50
-rw-r--r--lang/gcc-ooo/pkg-plist209
-rw-r--r--lang/gcc/Makefile53
-rw-r--r--lang/gcc/distinfo10
-rw-r--r--lang/gcc/files/alpha-freebsd.h20
-rw-r--r--lang/gcc/files/patch-af2
-rw-r--r--lang/gcc/files/patch-ai23
-rw-r--r--lang/gcc/files/patch-ak32
-rw-r--r--lang/gcc/files/patch-al37
-rw-r--r--lang/gcc/files/patch-fa90
-rw-r--r--lang/gcc/files/patch-fc50
-rw-r--r--lang/gcc/pkg-plist209
-rw-r--r--lang/gcc30/Makefile53
-rw-r--r--lang/gcc30/distinfo10
-rw-r--r--lang/gcc30/files/alpha-freebsd.h20
-rw-r--r--lang/gcc30/files/patch-af2
-rw-r--r--lang/gcc30/files/patch-ai23
-rw-r--r--lang/gcc30/files/patch-ak32
-rw-r--r--lang/gcc30/files/patch-al37
-rw-r--r--lang/gcc30/files/patch-fa90
-rw-r--r--lang/gcc30/files/patch-fc50
-rw-r--r--lang/gcc30/pkg-plist209
-rw-r--r--lang/gcc31/Makefile53
-rw-r--r--lang/gcc31/distinfo10
-rw-r--r--lang/gcc31/files/alpha-freebsd.h20
-rw-r--r--lang/gcc31/files/patch-af2
-rw-r--r--lang/gcc31/files/patch-ai23
-rw-r--r--lang/gcc31/files/patch-ak32
-rw-r--r--lang/gcc31/files/patch-al37
-rw-r--r--lang/gcc31/files/patch-fa90
-rw-r--r--lang/gcc31/files/patch-fc50
-rw-r--r--lang/gcc31/pkg-plist209
-rw-r--r--lang/gcc32/Makefile53
-rw-r--r--lang/gcc32/distinfo10
-rw-r--r--lang/gcc32/files/alpha-freebsd.h20
-rw-r--r--lang/gcc32/files/patch-af2
-rw-r--r--lang/gcc32/files/patch-ai23
-rw-r--r--lang/gcc32/files/patch-ak32
-rw-r--r--lang/gcc32/files/patch-al37
-rw-r--r--lang/gcc32/files/patch-fa90
-rw-r--r--lang/gcc32/files/patch-fc50
-rw-r--r--lang/gcc32/pkg-plist209
-rw-r--r--lang/gcc33/Makefile53
-rw-r--r--lang/gcc33/distinfo10
-rw-r--r--lang/gcc33/files/alpha-freebsd.h20
-rw-r--r--lang/gcc33/files/patch-af2
-rw-r--r--lang/gcc33/files/patch-ai23
-rw-r--r--lang/gcc33/files/patch-ak32
-rw-r--r--lang/gcc33/files/patch-al37
-rw-r--r--lang/gcc33/files/patch-fa90
-rw-r--r--lang/gcc33/files/patch-fc50
-rw-r--r--lang/gcc33/pkg-plist209
-rw-r--r--lang/gcc34/Makefile53
-rw-r--r--lang/gcc34/distinfo10
-rw-r--r--lang/gcc34/files/alpha-freebsd.h20
-rw-r--r--lang/gcc34/files/patch-af2
-rw-r--r--lang/gcc34/files/patch-ai23
-rw-r--r--lang/gcc34/files/patch-ak32
-rw-r--r--lang/gcc34/files/patch-al37
-rw-r--r--lang/gcc34/files/patch-fa90
-rw-r--r--lang/gcc34/files/patch-fc50
-rw-r--r--lang/gcc34/pkg-plist209
-rw-r--r--lang/gcc35/Makefile53
-rw-r--r--lang/gcc35/distinfo10
-rw-r--r--lang/gcc35/files/alpha-freebsd.h20
-rw-r--r--lang/gcc35/files/patch-af2
-rw-r--r--lang/gcc35/files/patch-ai23
-rw-r--r--lang/gcc35/files/patch-ak32
-rw-r--r--lang/gcc35/files/patch-al37
-rw-r--r--lang/gcc35/files/patch-fa90
-rw-r--r--lang/gcc35/files/patch-fc50
-rw-r--r--lang/gcc35/pkg-plist209
-rw-r--r--lang/gcc40/Makefile53
-rw-r--r--lang/gcc40/distinfo10
-rw-r--r--lang/gcc40/files/alpha-freebsd.h20
-rw-r--r--lang/gcc40/files/patch-af2
-rw-r--r--lang/gcc40/files/patch-ai23
-rw-r--r--lang/gcc40/files/patch-ak32
-rw-r--r--lang/gcc40/files/patch-al37
-rw-r--r--lang/gcc40/files/patch-fa90
-rw-r--r--lang/gcc40/files/patch-fc50
-rw-r--r--lang/gcc40/pkg-plist209
-rw-r--r--lang/gcc41/Makefile53
-rw-r--r--lang/gcc41/distinfo10
-rw-r--r--lang/gcc41/files/alpha-freebsd.h20
-rw-r--r--lang/gcc41/files/patch-af2
-rw-r--r--lang/gcc41/files/patch-ai23
-rw-r--r--lang/gcc41/files/patch-ak32
-rw-r--r--lang/gcc41/files/patch-al37
-rw-r--r--lang/gcc41/files/patch-fa90
-rw-r--r--lang/gcc41/files/patch-fc50
-rw-r--r--lang/gcc41/pkg-plist209
-rw-r--r--lang/gcc42/Makefile53
-rw-r--r--lang/gcc42/distinfo10
-rw-r--r--lang/gcc42/files/alpha-freebsd.h20
-rw-r--r--lang/gcc42/files/patch-af2
-rw-r--r--lang/gcc42/files/patch-ai23
-rw-r--r--lang/gcc42/files/patch-ak32
-rw-r--r--lang/gcc42/files/patch-al37
-rw-r--r--lang/gcc42/files/patch-fa90
-rw-r--r--lang/gcc42/files/patch-fc50
-rw-r--r--lang/gcc42/pkg-plist209
-rw-r--r--lang/gcc43/Makefile53
-rw-r--r--lang/gcc43/distinfo10
-rw-r--r--lang/gcc43/files/alpha-freebsd.h20
-rw-r--r--lang/gcc43/files/patch-af2
-rw-r--r--lang/gcc43/files/patch-ai23
-rw-r--r--lang/gcc43/files/patch-ak32
-rw-r--r--lang/gcc43/files/patch-al37
-rw-r--r--lang/gcc43/files/patch-fa90
-rw-r--r--lang/gcc43/files/patch-fc50
-rw-r--r--lang/gcc43/pkg-plist209
-rw-r--r--lang/gcc44/Makefile53
-rw-r--r--lang/gcc44/distinfo10
-rw-r--r--lang/gcc44/files/alpha-freebsd.h20
-rw-r--r--lang/gcc44/files/patch-af2
-rw-r--r--lang/gcc44/files/patch-ai23
-rw-r--r--lang/gcc44/files/patch-ak32
-rw-r--r--lang/gcc44/files/patch-al37
-rw-r--r--lang/gcc44/files/patch-fa90
-rw-r--r--lang/gcc44/files/patch-fc50
-rw-r--r--lang/gcc44/pkg-plist209
-rw-r--r--lang/gcc45/Makefile53
-rw-r--r--lang/gcc45/distinfo10
-rw-r--r--lang/gcc45/files/alpha-freebsd.h20
-rw-r--r--lang/gcc45/files/patch-af2
-rw-r--r--lang/gcc45/files/patch-ai23
-rw-r--r--lang/gcc45/files/patch-ak32
-rw-r--r--lang/gcc45/files/patch-al37
-rw-r--r--lang/gcc45/files/patch-fa90
-rw-r--r--lang/gcc45/files/patch-fc50
-rw-r--r--lang/gcc45/pkg-plist209
-rw-r--r--lang/gcc46/Makefile53
-rw-r--r--lang/gcc46/distinfo10
-rw-r--r--lang/gcc46/files/alpha-freebsd.h20
-rw-r--r--lang/gcc46/files/patch-af2
-rw-r--r--lang/gcc46/files/patch-ai23
-rw-r--r--lang/gcc46/files/patch-ak32
-rw-r--r--lang/gcc46/files/patch-al37
-rw-r--r--lang/gcc46/files/patch-fa90
-rw-r--r--lang/gcc46/files/patch-fc50
-rw-r--r--lang/gcc46/pkg-plist209
-rw-r--r--lang/gcc47/Makefile53
-rw-r--r--lang/gcc47/distinfo10
-rw-r--r--lang/gcc47/files/alpha-freebsd.h20
-rw-r--r--lang/gcc47/files/patch-af2
-rw-r--r--lang/gcc47/files/patch-ai23
-rw-r--r--lang/gcc47/files/patch-ak32
-rw-r--r--lang/gcc47/files/patch-al37
-rw-r--r--lang/gcc47/files/patch-fa90
-rw-r--r--lang/gcc47/files/patch-fc50
-rw-r--r--lang/gcc47/pkg-plist209
-rw-r--r--lang/gcc48/Makefile53
-rw-r--r--lang/gcc48/distinfo10
-rw-r--r--lang/gcc48/files/alpha-freebsd.h20
-rw-r--r--lang/gcc48/files/patch-af2
-rw-r--r--lang/gcc48/files/patch-ai23
-rw-r--r--lang/gcc48/files/patch-ak32
-rw-r--r--lang/gcc48/files/patch-al37
-rw-r--r--lang/gcc48/files/patch-fa90
-rw-r--r--lang/gcc48/files/patch-fc50
-rw-r--r--lang/gcc48/pkg-plist209
180 files changed, 2808 insertions, 6660 deletions
diff --git a/lang/gcc-devel/Makefile b/lang/gcc-devel/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc-devel/Makefile
+++ b/lang/gcc-devel/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc-devel/distinfo b/lang/gcc-devel/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc-devel/distinfo
+++ b/lang/gcc-devel/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc-devel/files/alpha-freebsd.h b/lang/gcc-devel/files/alpha-freebsd.h
index 12c5d6d25308..4a1c59f9b6ae 100644
--- a/lang/gcc-devel/files/alpha-freebsd.h
+++ b/lang/gcc-devel/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc-devel/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc-devel/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc-devel/files/patch-af b/lang/gcc-devel/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc-devel/files/patch-af
+++ b/lang/gcc-devel/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc-devel/files/patch-ai b/lang/gcc-devel/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc-devel/files/patch-ai
+++ b/lang/gcc-devel/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc-devel/files/patch-ak b/lang/gcc-devel/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc-devel/files/patch-ak
+++ b/lang/gcc-devel/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc-devel/files/patch-al b/lang/gcc-devel/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc-devel/files/patch-al
+++ b/lang/gcc-devel/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc-devel/files/patch-fa b/lang/gcc-devel/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc-devel/files/patch-fa
+++ b/lang/gcc-devel/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc-devel/files/patch-fc b/lang/gcc-devel/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc-devel/files/patch-fc
+++ b/lang/gcc-devel/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc-devel/pkg-plist b/lang/gcc-devel/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc-devel/pkg-plist
+++ b/lang/gcc-devel/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc-ooo/Makefile b/lang/gcc-ooo/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc-ooo/Makefile
+++ b/lang/gcc-ooo/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc-ooo/distinfo b/lang/gcc-ooo/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc-ooo/distinfo
+++ b/lang/gcc-ooo/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc-ooo/files/alpha-freebsd.h b/lang/gcc-ooo/files/alpha-freebsd.h
index d3116bdc504d..6f4176c09c90 100644
--- a/lang/gcc-ooo/files/alpha-freebsd.h
+++ b/lang/gcc-ooo/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc-ooo/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc-ooo/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc-ooo/files/patch-af b/lang/gcc-ooo/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc-ooo/files/patch-af
+++ b/lang/gcc-ooo/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc-ooo/files/patch-ai b/lang/gcc-ooo/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc-ooo/files/patch-ai
+++ b/lang/gcc-ooo/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc-ooo/files/patch-ak b/lang/gcc-ooo/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc-ooo/files/patch-ak
+++ b/lang/gcc-ooo/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc-ooo/files/patch-al b/lang/gcc-ooo/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc-ooo/files/patch-al
+++ b/lang/gcc-ooo/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc-ooo/files/patch-fa b/lang/gcc-ooo/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc-ooo/files/patch-fa
+++ b/lang/gcc-ooo/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc-ooo/files/patch-fc b/lang/gcc-ooo/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc-ooo/files/patch-fc
+++ b/lang/gcc-ooo/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc-ooo/pkg-plist b/lang/gcc-ooo/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc-ooo/pkg-plist
+++ b/lang/gcc-ooo/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc/Makefile b/lang/gcc/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc/Makefile
+++ b/lang/gcc/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc/distinfo b/lang/gcc/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc/distinfo
+++ b/lang/gcc/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc/files/alpha-freebsd.h b/lang/gcc/files/alpha-freebsd.h
index feedc649d84e..602804d366f5 100644
--- a/lang/gcc/files/alpha-freebsd.h
+++ b/lang/gcc/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc/files/patch-af b/lang/gcc/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc/files/patch-af
+++ b/lang/gcc/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc/files/patch-ai b/lang/gcc/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc/files/patch-ai
+++ b/lang/gcc/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc/files/patch-ak b/lang/gcc/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc/files/patch-ak
+++ b/lang/gcc/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc/files/patch-al b/lang/gcc/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc/files/patch-al
+++ b/lang/gcc/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc/files/patch-fa b/lang/gcc/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc/files/patch-fa
+++ b/lang/gcc/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc/files/patch-fc b/lang/gcc/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc/files/patch-fc
+++ b/lang/gcc/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc/pkg-plist b/lang/gcc/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc/pkg-plist
+++ b/lang/gcc/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc30/Makefile b/lang/gcc30/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc30/Makefile
+++ b/lang/gcc30/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc30/distinfo b/lang/gcc30/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc30/distinfo
+++ b/lang/gcc30/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc30/files/alpha-freebsd.h b/lang/gcc30/files/alpha-freebsd.h
index 9d69b49df614..2183dc274bbc 100644
--- a/lang/gcc30/files/alpha-freebsd.h
+++ b/lang/gcc30/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc30/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc30/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc30/files/patch-af b/lang/gcc30/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc30/files/patch-af
+++ b/lang/gcc30/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc30/files/patch-ai b/lang/gcc30/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc30/files/patch-ai
+++ b/lang/gcc30/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc30/files/patch-ak b/lang/gcc30/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc30/files/patch-ak
+++ b/lang/gcc30/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc30/files/patch-al b/lang/gcc30/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc30/files/patch-al
+++ b/lang/gcc30/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc30/files/patch-fa b/lang/gcc30/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc30/files/patch-fa
+++ b/lang/gcc30/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc30/files/patch-fc b/lang/gcc30/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc30/files/patch-fc
+++ b/lang/gcc30/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc30/pkg-plist b/lang/gcc30/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc30/pkg-plist
+++ b/lang/gcc30/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc31/Makefile b/lang/gcc31/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc31/Makefile
+++ b/lang/gcc31/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc31/distinfo b/lang/gcc31/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc31/distinfo
+++ b/lang/gcc31/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc31/files/alpha-freebsd.h b/lang/gcc31/files/alpha-freebsd.h
index c96edd16be83..4315c25b7ebb 100644
--- a/lang/gcc31/files/alpha-freebsd.h
+++ b/lang/gcc31/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc31/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc31/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc31/files/patch-af b/lang/gcc31/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc31/files/patch-af
+++ b/lang/gcc31/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc31/files/patch-ai b/lang/gcc31/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc31/files/patch-ai
+++ b/lang/gcc31/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc31/files/patch-ak b/lang/gcc31/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc31/files/patch-ak
+++ b/lang/gcc31/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc31/files/patch-al b/lang/gcc31/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc31/files/patch-al
+++ b/lang/gcc31/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc31/files/patch-fa b/lang/gcc31/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc31/files/patch-fa
+++ b/lang/gcc31/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc31/files/patch-fc b/lang/gcc31/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc31/files/patch-fc
+++ b/lang/gcc31/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc31/pkg-plist b/lang/gcc31/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc31/pkg-plist
+++ b/lang/gcc31/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc32/Makefile b/lang/gcc32/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc32/Makefile
+++ b/lang/gcc32/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc32/distinfo b/lang/gcc32/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc32/distinfo
+++ b/lang/gcc32/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc32/files/alpha-freebsd.h b/lang/gcc32/files/alpha-freebsd.h
index 9af10ac58f0b..81d8417be015 100644
--- a/lang/gcc32/files/alpha-freebsd.h
+++ b/lang/gcc32/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc32/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc32/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc32/files/patch-af b/lang/gcc32/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc32/files/patch-af
+++ b/lang/gcc32/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc32/files/patch-ai b/lang/gcc32/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc32/files/patch-ai
+++ b/lang/gcc32/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc32/files/patch-ak b/lang/gcc32/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc32/files/patch-ak
+++ b/lang/gcc32/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc32/files/patch-al b/lang/gcc32/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc32/files/patch-al
+++ b/lang/gcc32/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc32/files/patch-fa b/lang/gcc32/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc32/files/patch-fa
+++ b/lang/gcc32/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc32/files/patch-fc b/lang/gcc32/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc32/files/patch-fc
+++ b/lang/gcc32/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc32/pkg-plist b/lang/gcc32/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc32/pkg-plist
+++ b/lang/gcc32/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc33/Makefile b/lang/gcc33/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc33/Makefile
+++ b/lang/gcc33/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc33/distinfo b/lang/gcc33/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc33/distinfo
+++ b/lang/gcc33/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc33/files/alpha-freebsd.h b/lang/gcc33/files/alpha-freebsd.h
index 0ca4765fe381..6c0ee983a858 100644
--- a/lang/gcc33/files/alpha-freebsd.h
+++ b/lang/gcc33/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc33/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc33/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc33/files/patch-af b/lang/gcc33/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc33/files/patch-af
+++ b/lang/gcc33/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc33/files/patch-ai b/lang/gcc33/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc33/files/patch-ai
+++ b/lang/gcc33/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc33/files/patch-ak b/lang/gcc33/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc33/files/patch-ak
+++ b/lang/gcc33/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc33/files/patch-al b/lang/gcc33/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc33/files/patch-al
+++ b/lang/gcc33/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc33/files/patch-fa b/lang/gcc33/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc33/files/patch-fa
+++ b/lang/gcc33/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc33/files/patch-fc b/lang/gcc33/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc33/files/patch-fc
+++ b/lang/gcc33/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc33/pkg-plist b/lang/gcc33/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc33/pkg-plist
+++ b/lang/gcc33/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc34/Makefile b/lang/gcc34/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc34/Makefile
+++ b/lang/gcc34/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc34/distinfo
+++ b/lang/gcc34/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc34/files/alpha-freebsd.h b/lang/gcc34/files/alpha-freebsd.h
index e34f682c2e22..6330e62d8fc9 100644
--- a/lang/gcc34/files/alpha-freebsd.h
+++ b/lang/gcc34/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc34/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc34/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc34/files/patch-af b/lang/gcc34/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc34/files/patch-af
+++ b/lang/gcc34/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc34/files/patch-ai b/lang/gcc34/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc34/files/patch-ai
+++ b/lang/gcc34/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc34/files/patch-ak b/lang/gcc34/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc34/files/patch-ak
+++ b/lang/gcc34/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc34/files/patch-al b/lang/gcc34/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc34/files/patch-al
+++ b/lang/gcc34/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc34/files/patch-fa b/lang/gcc34/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc34/files/patch-fa
+++ b/lang/gcc34/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc34/files/patch-fc b/lang/gcc34/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc34/files/patch-fc
+++ b/lang/gcc34/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc34/pkg-plist b/lang/gcc34/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc34/pkg-plist
+++ b/lang/gcc34/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc35/Makefile b/lang/gcc35/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc35/Makefile
+++ b/lang/gcc35/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc35/distinfo b/lang/gcc35/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc35/distinfo
+++ b/lang/gcc35/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc35/files/alpha-freebsd.h b/lang/gcc35/files/alpha-freebsd.h
index 04804b3b47c5..87fbc649633d 100644
--- a/lang/gcc35/files/alpha-freebsd.h
+++ b/lang/gcc35/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc35/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc35/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc35/files/patch-af b/lang/gcc35/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc35/files/patch-af
+++ b/lang/gcc35/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc35/files/patch-ai b/lang/gcc35/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc35/files/patch-ai
+++ b/lang/gcc35/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc35/files/patch-ak b/lang/gcc35/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc35/files/patch-ak
+++ b/lang/gcc35/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc35/files/patch-al b/lang/gcc35/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc35/files/patch-al
+++ b/lang/gcc35/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc35/files/patch-fa b/lang/gcc35/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc35/files/patch-fa
+++ b/lang/gcc35/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc35/files/patch-fc b/lang/gcc35/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc35/files/patch-fc
+++ b/lang/gcc35/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc35/pkg-plist b/lang/gcc35/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc35/pkg-plist
+++ b/lang/gcc35/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc40/Makefile b/lang/gcc40/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc40/Makefile
+++ b/lang/gcc40/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc40/distinfo b/lang/gcc40/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc40/distinfo
+++ b/lang/gcc40/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc40/files/alpha-freebsd.h b/lang/gcc40/files/alpha-freebsd.h
index 4e8d28b59509..5ee849e8eb1e 100644
--- a/lang/gcc40/files/alpha-freebsd.h
+++ b/lang/gcc40/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc40/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc40/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc40/files/patch-af b/lang/gcc40/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc40/files/patch-af
+++ b/lang/gcc40/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc40/files/patch-ai b/lang/gcc40/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc40/files/patch-ai
+++ b/lang/gcc40/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc40/files/patch-ak b/lang/gcc40/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc40/files/patch-ak
+++ b/lang/gcc40/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc40/files/patch-al b/lang/gcc40/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc40/files/patch-al
+++ b/lang/gcc40/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc40/files/patch-fa b/lang/gcc40/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc40/files/patch-fa
+++ b/lang/gcc40/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc40/files/patch-fc b/lang/gcc40/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc40/files/patch-fc
+++ b/lang/gcc40/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc40/pkg-plist b/lang/gcc40/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc40/pkg-plist
+++ b/lang/gcc40/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc41/Makefile b/lang/gcc41/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc41/Makefile
+++ b/lang/gcc41/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc41/distinfo b/lang/gcc41/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc41/distinfo
+++ b/lang/gcc41/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc41/files/alpha-freebsd.h b/lang/gcc41/files/alpha-freebsd.h
index 0923ced59df2..5b4870b3e3c4 100644
--- a/lang/gcc41/files/alpha-freebsd.h
+++ b/lang/gcc41/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc41/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc41/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc41/files/patch-af b/lang/gcc41/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc41/files/patch-af
+++ b/lang/gcc41/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc41/files/patch-ai b/lang/gcc41/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc41/files/patch-ai
+++ b/lang/gcc41/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc41/files/patch-ak b/lang/gcc41/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc41/files/patch-ak
+++ b/lang/gcc41/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc41/files/patch-al b/lang/gcc41/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc41/files/patch-al
+++ b/lang/gcc41/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc41/files/patch-fa b/lang/gcc41/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc41/files/patch-fa
+++ b/lang/gcc41/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc41/files/patch-fc b/lang/gcc41/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc41/files/patch-fc
+++ b/lang/gcc41/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc41/pkg-plist b/lang/gcc41/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc41/pkg-plist
+++ b/lang/gcc41/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc42/Makefile b/lang/gcc42/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc42/Makefile
+++ b/lang/gcc42/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc42/distinfo b/lang/gcc42/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc42/distinfo
+++ b/lang/gcc42/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc42/files/alpha-freebsd.h b/lang/gcc42/files/alpha-freebsd.h
index 436207f0300f..9b309d00e32b 100644
--- a/lang/gcc42/files/alpha-freebsd.h
+++ b/lang/gcc42/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc42/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc42/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc42/files/patch-af b/lang/gcc42/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc42/files/patch-af
+++ b/lang/gcc42/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc42/files/patch-ai b/lang/gcc42/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc42/files/patch-ai
+++ b/lang/gcc42/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc42/files/patch-ak b/lang/gcc42/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc42/files/patch-ak
+++ b/lang/gcc42/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc42/files/patch-al b/lang/gcc42/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc42/files/patch-al
+++ b/lang/gcc42/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc42/files/patch-fa b/lang/gcc42/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc42/files/patch-fa
+++ b/lang/gcc42/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc42/files/patch-fc b/lang/gcc42/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc42/files/patch-fc
+++ b/lang/gcc42/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc42/pkg-plist b/lang/gcc42/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc42/pkg-plist
+++ b/lang/gcc42/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc43/Makefile b/lang/gcc43/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc43/Makefile
+++ b/lang/gcc43/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc43/distinfo b/lang/gcc43/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc43/distinfo
+++ b/lang/gcc43/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc43/files/alpha-freebsd.h b/lang/gcc43/files/alpha-freebsd.h
index 9e775b64facc..d60216621164 100644
--- a/lang/gcc43/files/alpha-freebsd.h
+++ b/lang/gcc43/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc43/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc43/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc43/files/patch-af b/lang/gcc43/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc43/files/patch-af
+++ b/lang/gcc43/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc43/files/patch-ai b/lang/gcc43/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc43/files/patch-ai
+++ b/lang/gcc43/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc43/files/patch-ak b/lang/gcc43/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc43/files/patch-ak
+++ b/lang/gcc43/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc43/files/patch-al b/lang/gcc43/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc43/files/patch-al
+++ b/lang/gcc43/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc43/files/patch-fa b/lang/gcc43/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc43/files/patch-fa
+++ b/lang/gcc43/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc43/files/patch-fc b/lang/gcc43/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc43/files/patch-fc
+++ b/lang/gcc43/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc43/pkg-plist b/lang/gcc43/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc43/pkg-plist
+++ b/lang/gcc43/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc44/Makefile b/lang/gcc44/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc44/Makefile
+++ b/lang/gcc44/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc44/distinfo
+++ b/lang/gcc44/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc44/files/alpha-freebsd.h b/lang/gcc44/files/alpha-freebsd.h
index 18598f9c36a9..178027714627 100644
--- a/lang/gcc44/files/alpha-freebsd.h
+++ b/lang/gcc44/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc44/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc44/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc44/files/patch-af b/lang/gcc44/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc44/files/patch-af
+++ b/lang/gcc44/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc44/files/patch-ai b/lang/gcc44/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc44/files/patch-ai
+++ b/lang/gcc44/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc44/files/patch-ak b/lang/gcc44/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc44/files/patch-ak
+++ b/lang/gcc44/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc44/files/patch-al b/lang/gcc44/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc44/files/patch-al
+++ b/lang/gcc44/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc44/files/patch-fa b/lang/gcc44/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc44/files/patch-fa
+++ b/lang/gcc44/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc44/files/patch-fc b/lang/gcc44/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc44/files/patch-fc
+++ b/lang/gcc44/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc44/pkg-plist b/lang/gcc44/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc44/pkg-plist
+++ b/lang/gcc44/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc45/Makefile b/lang/gcc45/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc45/Makefile
+++ b/lang/gcc45/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc45/distinfo b/lang/gcc45/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc45/distinfo
+++ b/lang/gcc45/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc45/files/alpha-freebsd.h b/lang/gcc45/files/alpha-freebsd.h
index 44e1c5d40903..9bd6813bdbfc 100644
--- a/lang/gcc45/files/alpha-freebsd.h
+++ b/lang/gcc45/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc45/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc45/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc45/files/patch-af b/lang/gcc45/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc45/files/patch-af
+++ b/lang/gcc45/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc45/files/patch-ai b/lang/gcc45/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc45/files/patch-ai
+++ b/lang/gcc45/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc45/files/patch-ak b/lang/gcc45/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc45/files/patch-ak
+++ b/lang/gcc45/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc45/files/patch-al b/lang/gcc45/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc45/files/patch-al
+++ b/lang/gcc45/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc45/files/patch-fa b/lang/gcc45/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc45/files/patch-fa
+++ b/lang/gcc45/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc45/files/patch-fc b/lang/gcc45/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc45/files/patch-fc
+++ b/lang/gcc45/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc45/pkg-plist b/lang/gcc45/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc45/pkg-plist
+++ b/lang/gcc45/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc46/Makefile b/lang/gcc46/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc46/Makefile
+++ b/lang/gcc46/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc46/distinfo
+++ b/lang/gcc46/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc46/files/alpha-freebsd.h b/lang/gcc46/files/alpha-freebsd.h
index 1c6a20e793c6..93bda2f63e8f 100644
--- a/lang/gcc46/files/alpha-freebsd.h
+++ b/lang/gcc46/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc46/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc46/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc46/files/patch-af b/lang/gcc46/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc46/files/patch-af
+++ b/lang/gcc46/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc46/files/patch-ai b/lang/gcc46/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc46/files/patch-ai
+++ b/lang/gcc46/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc46/files/patch-ak b/lang/gcc46/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc46/files/patch-ak
+++ b/lang/gcc46/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc46/files/patch-al b/lang/gcc46/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc46/files/patch-al
+++ b/lang/gcc46/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc46/files/patch-fa b/lang/gcc46/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc46/files/patch-fa
+++ b/lang/gcc46/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc46/files/patch-fc b/lang/gcc46/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc46/files/patch-fc
+++ b/lang/gcc46/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc46/pkg-plist b/lang/gcc46/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc46/pkg-plist
+++ b/lang/gcc46/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc47/Makefile b/lang/gcc47/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc47/Makefile
+++ b/lang/gcc47/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc47/distinfo b/lang/gcc47/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc47/distinfo
+++ b/lang/gcc47/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc47/files/alpha-freebsd.h b/lang/gcc47/files/alpha-freebsd.h
index 1c1c0156d176..3de56970e588 100644
--- a/lang/gcc47/files/alpha-freebsd.h
+++ b/lang/gcc47/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc47/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc47/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc47/files/patch-af b/lang/gcc47/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc47/files/patch-af
+++ b/lang/gcc47/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc47/files/patch-ai b/lang/gcc47/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc47/files/patch-ai
+++ b/lang/gcc47/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc47/files/patch-ak b/lang/gcc47/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc47/files/patch-ak
+++ b/lang/gcc47/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc47/files/patch-al b/lang/gcc47/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc47/files/patch-al
+++ b/lang/gcc47/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc47/files/patch-fa b/lang/gcc47/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc47/files/patch-fa
+++ b/lang/gcc47/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc47/files/patch-fc b/lang/gcc47/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc47/files/patch-fc
+++ b/lang/gcc47/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc47/pkg-plist b/lang/gcc47/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc47/pkg-plist
+++ b/lang/gcc47/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net
diff --git a/lang/gcc48/Makefile b/lang/gcc48/Makefile
index b9f83a293d5d..fa374e0e6cda 100644
--- a/lang/gcc48/Makefile
+++ b/lang/gcc48/Makefile
@@ -6,13 +6,13 @@
# $FreeBSD$
#
-SNAPDATE= 2000-05-01
+SNAPDATE= 2000-07-17
SNAPVER= ${SNAPDATE:S/-//g}
PORTNAME= gcc-devel
PORTVERSION= ${SNAPVER}
CATEGORIES= lang java
-MASTER_SITES= ftp://ftp.freesoftware.com/pub/egcs/snapshots/${SNAPDATE}/ \
+MASTER_SITES= ftp://ftp.freesoftware.com/pub/sourceware/gcc/snapshots/${SNAPDATE}/ \
ftp://egcs.cygnus.com/pub/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.ninemoons.com/pub/mirrors/egcs/snapshots/${SNAPDATE}/ \
ftp://ftp.iij.ad.jp/pub/egcs/snapshots/${SNAPDATE}/ \
@@ -28,35 +28,35 @@ MAINTAINER= obrien@FreeBSD.org
NO_CDROM= 'dated material'
-.include <bsd.port.pre.mk>
-
EGCS_REV= 2.96
LIBSTDCPP_REV= 4
WRKSRC= ${WRKDIR}/egcs-${SNAPVER}
+.include <bsd.port.pre.mk>
+
.if ${PORTOBJFORMAT} == "elf"
-.if ${MACHINE_ARCH} == "i386"
-PLIST= ${WRKDIR}/PLIST
-.endif
CONFIGURE_TARGET= ${ARCH}-portbld-freebsd${OSREL}
.else
CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
.endif
-PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET}
+PLIST_SUB= EGCS_REV=${EGCS_REV} GNU_HOST=${CONFIGURE_TARGET} \
+ LIBSTDCPP_REV=${LIBSTDCPP_REV} SNAPVER=${SNAPVER}
GNU_CONFIGURE= yes
USE_GMAKE= yes
-CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \
+USE_BISON= yes
+CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
--with-gxx-include-dir=${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/include/g++
.if defined(WANT_SHAREDLIBS)
CONFIGURE_ARGS+= --enable-shared
.endif
-.if defined(WANT_THREADS)
+.if defined(WANT_THREADS_SUPPORT)
+CONFIGURE_ARGS+= --enable-threads
# ?is this an ObjC only thing?
CONFIGURE_ARGS+= --enable-threads=posix
.endif
ALL_TARGET= bootstrap
-MAN1= eg++.1 eg77.1 egcc.1
+MAN1= ecpp.1 eg++.1 eg77.1 egcc.1
pre-patch:
@${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h
@@ -64,17 +64,17 @@ pre-patch:
pre-configure:
@(MAJ=`sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \
- ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
- ${WRKSRC}/gcc/config/freebsd.h )
+ ${PERL} -pi.orig -e "s:__FreeBSD__:__FreeBSD__=$${MAJ}:" \
+ ${WRKSRC}/gcc/config/freebsd.h )
@${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h
-.if ${PORTOBJFORMAT} == "elf" && ${MACHINE_ARCH} == "i386"
- @${SED} -e 's/^@comment ELF-only://' ${PKGDIR}/PLIST >${PLIST}
-.endif
@# Keep from running `autoconf' and `autoheader' since we modified
@# configure.in by patching it.
@touch ${WRKSRC}/gcc/configure
@touch ${WRKSRC}/gcc/cstamp-h.in
+pre-build:
+ cd ${WRKSRC} ; contrib/gcc_update --touch
+
pre-install:
${MKDIR} ${PREFIX}/info
@@ -92,19 +92,26 @@ post-install:
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/f771 ; \
do \
strip $$prog ; \
- done)
+ done )
${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/egcc
${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/eg++
${MV} ${PREFIX}/bin/g77 ${PREFIX}/bin/eg77
${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/eg++filt
+ ${MV} ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${SNAPVER}
+ ${RM} -f ${PREFIX}/bin/${GNU_HOST}-c++
${RM} -f ${PREFIX}/bin/cpp
+ # These 3 libraries are moved from PREFIX/lib to avoid conflicts
+ # with the stock compiler.
${MV} ${PREFIX}/lib/libiberty.a \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \
- ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}/libstdc++.a
+ ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
+ cd ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} ; \
+ ${LN} -sf libstdc++.a.${LIBSTDCPP_REV} libstdc++.a
${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/egcc.1
${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/eg++.1
${MV} ${PREFIX}/man/man1/g77.1 ${PREFIX}/man/man1/eg77.1
+ ${MV} ${PREFIX}/man/man1/cpp.1 ${PREFIX}/man/man1/ecpp.1
.if defined(WANT_SHAREDLIBS)
${MV} -f ${PREFIX}/lib/libstdc++.so* \
${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV}
@@ -112,5 +119,15 @@ post-install:
.for info in cpp g77 gcc
install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
.endfor
+ cd ${PREFIX} ;\
+ find lib/gcc-lib/${CONFIGURE_TARGET}/${EGCS_REV} \
+ -type f -o -type l >${WRKDIR}/PLIST.gcc-lib
+ ${ECHO} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
+ ${ECHO} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "d" >> ${WRKDIR}/ex.script
+ ${ECHO} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
+ ${ECHO} "x!" >> ${WRKDIR}/ex.script
+ ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
+ cd ${WRKDIR} ; ex < ex.script
.include <bsd.port.post.mk>
diff --git a/lang/gcc48/distinfo b/lang/gcc48/distinfo
index 32d207b475fc..a478c746269b 100644
--- a/lang/gcc48/distinfo
+++ b/lang/gcc48/distinfo
@@ -1,5 +1,5 @@
-MD5 (egcs-core-20000501.tar.gz) = d9cd8f42f8204b05be163c22796f9a56
-MD5 (egcs-g++-20000501.tar.gz) = 9a0edb7dd22af265a8d8ed3626f0d02b
-MD5 (egcs-g77-20000501.tar.gz) = 2a9ec2f9f9166b8707b6eed3526fe058
-MD5 (egcs-java-20000501.tar.gz) = dd4c2cb725e27093fe91804d50a952d1
-MD5 (egcs-objc-20000501.tar.gz) = 3f20bcba0abad72fd66b7b83c146bd9d
+MD5 (egcs-core-20000717.tar.gz) = e14eacf21b54500aaf39e818b7f4d065
+MD5 (egcs-g++-20000717.tar.gz) = 4be71fa66625e17294c0f182367935c4
+MD5 (egcs-g77-20000717.tar.gz) = af68c777df8b5189807b35c5888e1631
+MD5 (egcs-java-20000717.tar.gz) = 8f31641396379ef7f6b31ccb98c01ac4
+MD5 (egcs-objc-20000717.tar.gz) = dc83171d8688572eeb19089ab19680ea
diff --git a/lang/gcc48/files/alpha-freebsd.h b/lang/gcc48/files/alpha-freebsd.h
index ffb0d7c1b411..056211457408 100644
--- a/lang/gcc48/files/alpha-freebsd.h
+++ b/lang/gcc48/files/alpha-freebsd.h
@@ -22,11 +22,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
This was taken from the NetBSD configuration, and modified
for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */
-/* $FreeBSD: /tmp/pcvs/ports/lang/gcc48/files/Attic/alpha-freebsd.h,v 1.5 1999-10-10 20:28:32 obrien Exp $ */
-
-
-/* Get generic FreeBSD definitions. */
-#include <freebsd.h>
+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc48/files/Attic/alpha-freebsd.h,v 1.6 2000-09-05 16:59:10 obrien Exp $ */
#undef OBJECT_FORMAT_COFF
@@ -58,7 +54,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES \
"-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \
- CPP_FBSD_PREDEFINES
+ FBSD_CPP_PREDEFINES
#undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
@@ -83,7 +79,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
fputs ("\tjsr $28,_mcount\n", (FILE))
/* Show that we need a GP when profiling. */
-#define TARGET_PROFILING_NEEDS_GP
+#undef TARGET_PROFILING_NEEDS_GP
+#define TARGET_PROFILING_NEEDS_GP 1
#undef HAS_INIT_SECTION
@@ -108,9 +105,6 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#undef ASM_OUTPUT_SOURCE_LINE
#define ASM_OUTPUT_SOURCE_LINE(STREAM, LINE) \
alpha_output_lineno (STREAM, LINE)
-extern void alpha_output_lineno ();
-
-extern void output_file_directive ();
/* Attach a special .ident directive to the end of the file to identify
the version of GCC which compiled this code. The format of the
@@ -299,8 +293,6 @@ do { \
#undef READONLY_DATA_SECTION
#define READONLY_DATA_SECTION() const_section ()
-extern void text_section ();
-
#undef CONST_SECTION_FUNCTION
#define CONST_SECTION_FUNCTION \
void \
@@ -511,10 +503,6 @@ dtors_section () \
#define ENDFILE_SPEC \
"%{!shared:crtend.o%s} %{shared:crtendS.o%s}"
-/* Implicit library calls should use memcpy, not bcopy, etc. */
-
-#define TARGET_MEM_FUNCTIONS
-
/* Handle #pragma weak and #pragma pack. */
#define HANDLE_SYSV_PRAGMA
diff --git a/lang/gcc48/files/patch-af b/lang/gcc48/files/patch-af
index 33a8f0886e01..f1058d4e21ec 100644
--- a/lang/gcc48/files/patch-af
+++ b/lang/gcc48/files/patch-af
@@ -6,7 +6,7 @@
+/* Don't use EGCS's normal profiling code -- we have our own fine-grained
+ basic block profiling. */
-+#define NO_PROFILE_DATA
++#define NO_PROFILE_COUNTERS
+
/* Tell final.c that we don't need a label passed to mcount. */
diff --git a/lang/gcc48/files/patch-ai b/lang/gcc48/files/patch-ai
index 4395574d635a..d88ee27871b3 100644
--- a/lang/gcc48/files/patch-ai
+++ b/lang/gcc48/files/patch-ai
@@ -19,29 +19,6 @@
/* The Sun386i and perhaps other machines don't work right
if the profiling code comes after the prologue. */
#ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1696,7 +1701,9 @@
- profile_function (file)
- FILE *file;
- {
-+#ifndef NO_PROFILE_DATA
- int align = MIN (BIGGEST_ALIGNMENT, LONG_TYPE_SIZE);
-+#endif /* not NO_PROFILE_DATA */
- #if defined(ASM_OUTPUT_REG_PUSH)
- #if defined(STRUCT_VALUE_INCOMING_REGNUM) || defined(STRUCT_VALUE_REGNUM)
- int sval = current_function_returns_struct;
-@@ -1706,10 +1713,12 @@
- #endif
- #endif /* ASM_OUTPUT_REG_PUSH */
-
-+#ifndef NO_PROFILE_DATA
- data_section ();
- ASM_OUTPUT_ALIGN (file, floor_log2 (align / BITS_PER_UNIT));
- ASM_OUTPUT_INTERNAL_LABEL (file, "LP", profile_label_no);
- assemble_integer (const0_rtx, LONG_TYPE_SIZE / BITS_PER_UNIT, 1);
-+#endif /* not NO_PROFILE_DATA */
-
- function_section (current_function_decl);
-
@@ -1800,6 +1809,9 @@
code to restore the stack frame and return to the caller. */
FUNCTION_EPILOGUE (file, get_frame_size ());
diff --git a/lang/gcc48/files/patch-ak b/lang/gcc48/files/patch-ak
index e1804f119d0d..f783ebef16ab 100644
--- a/lang/gcc48/files/patch-ak
+++ b/lang/gcc48/files/patch-ak
@@ -1,6 +1,6 @@
---- gcc/configure.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure Fri Dec 10 09:44:30 1999
-@@ -3440,6 +3440,22 @@
+--- gcc/configure.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure Mon Jun 26 15:36:08 2000
+@@ -3687,6 +3687,22 @@
thread_file='posix'
fi
;;
@@ -23,29 +23,17 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -4050,8 +4066,12 @@
- # Next line turned off because both 386BSD and BSD/386 use GNU ld.
+@@ -4346,11 +4362,11 @@
# use_collect2=yes
;;
-- i[34567]86-*-freebsdelf*)
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
+ ;;
+ i[34567]86-*-freebsd*)
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout)
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf*)
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -4063,10 +4083,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
-- i[34567]86-*-freebsd*)
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- i[34567]86-*-netbsd*)
- tm_file=i386/netbsd.h
diff --git a/lang/gcc48/files/patch-al b/lang/gcc48/files/patch-al
index 3da58f53a512..4484e2e070a9 100644
--- a/lang/gcc48/files/patch-al
+++ b/lang/gcc48/files/patch-al
@@ -1,6 +1,6 @@
---- gcc/configure.in.orig Wed Dec 8 04:30:22 1999
-+++ gcc/configure.in Fri Dec 10 09:44:08 1999
-@@ -626,6 +626,22 @@
+--- gcc/configure.in.orig Mon Jun 19 10:23:54 2000
++++ gcc/configure.in Mon Jun 26 15:37:26 2000
+@@ -742,6 +742,22 @@
thread_file='posix'
fi
;;
@@ -23,34 +23,19 @@
alpha*-*-netbsd*)
tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h"
target_cpu_default="MASK_GAS"
-@@ -1271,9 +1287,15 @@
- # use_collect2=yes
+@@ -1441,13 +1457,13 @@
+ changequote(,)dnl
+ i[34567]86-*-freebsd[12] | i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd*aout*)
+ changequote([,])dnl
+- tm_file="i386/freebsd.h i386/perform.h"
++ tm_file="i386/freebsd-aout.h i386/perform.h"
+ tmake_file=t-freebsd
;;
changequote(,)dnl
-- i[34567]86-*-freebsdelf*)
-+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout* | i[34567]86-*-freebsd-aout*)
+ i[34567]86-*-freebsd*)
changequote([,])dnl
- tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd-elf.h i386/perform.h"
-+ tm_file="freebsd.h i386/freebsd-aout.h"
-+ tmake_file=t-freebsd
-+ ;;
-+changequote(,)dnl
-+ i[34567]86-*-freebsd[3-9].* | i[34567]86-*-freebsd[3-9] | i[34567]86-*-freebsd* | i[34567]86-*-freebsdelf* | i[34567]86-*-freebsd*)
-+ changequote([,])dnl
+ tm_file="i386/i386.h i386/att.h svr4.h freebsd.h i386/freebsd.h i386/perform.h"
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
tmake_file=t-freebsd
gas=yes
-@@ -1285,12 +1307,6 @@
- tmake_file="${tmake_file} t-freebsd-thread"
- ;;
- esac
-- ;;
--changequote(,)dnl
-- i[34567]86-*-freebsd*)
--changequote([,])dnl
-- tm_file="i386/freebsd.h i386/perform.h"
-- tmake_file=t-freebsd
- ;;
- changequote(,)dnl
- i[34567]86-*-netbsd*)
diff --git a/lang/gcc48/files/patch-fa b/lang/gcc48/files/patch-fa
index ec6a579f554a..b85b8f989c31 100644
--- a/lang/gcc48/files/patch-fa
+++ b/lang/gcc48/files/patch-fa
@@ -1,5 +1,5 @@
---- gcc/c-common.c.orig Wed Mar 8 03:21:26 2000
-+++ gcc/c-common.c Tue Mar 14 21:46:03 2000
+--- gcc/c-common.c.orig Sun Jun 18 06:09:26 2000
++++ gcc/c-common.c Mon Jun 26 20:15:08 2000
@@ -154,7 +154,7 @@
int, int, int));
static void init_attributes PARAMS ((void));
@@ -7,9 +7,9 @@
- int, int));
+ int, int, int));
static void record_international_format PARAMS ((tree, tree, int));
- static tree c_find_base_decl PARAMS ((tree));
static int default_valid_lang_attribute PARAMS ((tree, tree, tree, tree));
-@@ -786,6 +786,7 @@
+
+@@ -805,6 +805,7 @@
enum format_type format_type;
tree argument;
unsigned int arg_num;
@@ -17,7 +17,7 @@
if (TREE_CODE (decl) != FUNCTION_DECL)
{
-@@ -796,7 +797,7 @@
+@@ -815,7 +816,7 @@
if (TREE_CODE (format_type_id) != IDENTIFIER_NODE)
{
@@ -26,7 +26,7 @@
continue;
}
else
-@@ -804,12 +805,26 @@
+@@ -823,12 +824,26 @@
const char *p = IDENTIFIER_POINTER (format_type_id);
if (!strcmp (p, "printf") || !strcmp (p, "__printf__"))
@@ -53,17 +53,17 @@
else
{
warning ("`%s' is an unrecognized format function type", p);
-@@ -882,7 +897,8 @@
+@@ -901,7 +916,8 @@
record_function_format (DECL_NAME (decl),
DECL_ASSEMBLER_NAME (decl),
- format_type, format_num, first_arg_num);
-+ format_type, null_format_ok, format_num,
-+ first_arg_num);
++ format_type, format_num, first_arg_num,
++ null_format_ok);
break;
}
-@@ -1186,6 +1202,11 @@
+@@ -1207,6 +1223,11 @@
} format_char_info;
static format_char_info print_char_table[] = {
@@ -75,73 +75,74 @@
{ "di", 0, T_I, T_I, T_I, T_L, T_LL, T_LL, T_ST, "-wp0 +" },
{ "oxX", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0#" },
{ "u", 0, T_UI, T_UI, T_UI, T_UL, T_ULL, T_ULL, T_ST, "-wp0" },
-@@ -1246,6 +1267,7 @@
- tree name; /* identifier such as "printf" */
- tree assembler_name; /* optional mangled identifier (for C++) */
+@@ -1269,6 +1290,7 @@
enum format_type format_type; /* type of format (printf, scanf, etc.) */
-+ int null_format_ok; /* TRUE if the format string may be NULL */
int format_num; /* number of format argument */
int first_arg_num; /* number of first arg (zero for varargs) */
++ int null_format_ok; /* TRUE if the format string may be NULL */
} function_format_info;
-@@ -1278,25 +1300,25 @@
+
+ static function_format_info *function_format_list = NULL;
+@@ -1299,25 +1321,25 @@
init_function_format_info ()
{
record_function_format (get_identifier ("printf"), NULL_TREE,
- printf_format_type, 1, 2);
-+ printf_format_type, 0, 1, 2);
++ printf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sprintf"), NULL_TREE,
- printf_format_type, 2, 3);
-+ printf_format_type, 0, 2, 3);
++ printf_format_type, 2, 3, 0);
record_function_format (get_identifier ("scanf"), NULL_TREE,
- scanf_format_type, 1, 2);
-+ scanf_format_type, 0, 1, 2);
++ scanf_format_type, 1, 2, 0);
record_function_format (get_identifier ("fscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("sscanf"), NULL_TREE,
- scanf_format_type, 2, 3);
-+ scanf_format_type, 0, 2, 3);
++ scanf_format_type, 2, 3, 0);
record_function_format (get_identifier ("vprintf"), NULL_TREE,
- printf_format_type, 1, 0);
-+ printf_format_type, 0, 1, 0);
++ printf_format_type, 1, 0, 0);
record_function_format (get_identifier ("vfprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("vsprintf"), NULL_TREE,
- printf_format_type, 2, 0);
-+ printf_format_type, 0, 2, 0);
++ printf_format_type, 2, 0, 0);
record_function_format (get_identifier ("strftime"), NULL_TREE,
- strftime_format_type, 3, 0);
-+ strftime_format_type, 0, 3, 0);
++ strftime_format_type, 3, 0, 0);
record_international_format (get_identifier ("gettext"), NULL_TREE, 1);
record_international_format (get_identifier ("dgettext"), NULL_TREE, 2);
-@@ -1313,11 +1335,12 @@
- (e.g. for varargs such as vfprintf). */
+@@ -1335,12 +1357,13 @@
static void
--record_function_format (name, assembler_name, format_type,
-+record_function_format (name, assembler_name, format_type, null_format_ok,
- format_num, first_arg_num)
+ record_function_format (name, assembler_name, format_type,
+- format_num, first_arg_num)
++ format_num, first_arg_num, null_format_ok)
tree name;
tree assembler_name;
enum format_type format_type;
-+ int null_format_ok;
int format_num;
int first_arg_num;
++ int null_format_ok;
{
-@@ -1341,6 +1364,7 @@
- }
+ function_format_info *info;
+@@ -1364,6 +1387,7 @@
info->format_type = format_type;
-+ info->null_format_ok = null_format_ok;
info->format_num = format_num;
info->first_arg_num = first_arg_num;
++ info->null_format_ok = null_format_ok;
}
-@@ -1494,7 +1518,8 @@
+
+ /* Record information for the names of function that modify the format
+@@ -1515,7 +1539,8 @@
if (integer_zerop (format_tree))
{
@@ -151,7 +152,7 @@
return;
}
if (TREE_CODE (format_tree) != ADDR_EXPR)
-@@ -1683,12 +1708,13 @@
+@@ -1704,12 +1729,13 @@
It will work on most machines, because size_t and int
have the same mode. But might as well warn anyway,
since it will fail on other machines. */
@@ -166,7 +167,7 @@
}
}
else
-@@ -1733,6 +1759,53 @@
+@@ -1754,6 +1780,53 @@
}
}
}
@@ -175,7 +176,7 @@
+ /* There should be an int arg to control the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -198,7 +199,7 @@
+ /* There should be an unsigned char * arg before the string arg. */
+ if (params == 0)
+ {
-+ warning (tfaff);
++ tfaff ();
+ return;
+ }
+ if (info->first_arg_num != 0)
@@ -220,7 +221,7 @@
aflag = 0;
-@@ -1801,7 +1874,8 @@
+@@ -1822,7 +1895,8 @@
switch (info->format_type)
{
case printf_format_type:
@@ -230,3 +231,12 @@
break;
case scanf_format_type:
fci = scan_char_table;
+@@ -1859,7 +1933,7 @@
+ if (index (fci->flag_chars, '2') != 0)
+ warning ("`%%%c' yields only last 2 digits of year", format_char);
+ else if (index (fci->flag_chars, '3') != 0)
+- warning ("`%%%c' yields only last 2 digits of year in some locales",
++ warning ("`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
+ format_char);
+ if (precise && index (fci->flag_chars, 'p') == 0)
+ warning ("precision used with `%c' format", format_char);
diff --git a/lang/gcc48/files/patch-fc b/lang/gcc48/files/patch-fc
index a3f44c5e158b..f783e5cae528 100644
--- a/lang/gcc48/files/patch-fc
+++ b/lang/gcc48/files/patch-fc
@@ -1,21 +1,41 @@
---- gcc/toplev.c.orig Mon Mar 22 15:23:26 1999
-+++ gcc/toplev.c Tue Mar 30 13:13:44 1999
-@@ -754,6 +754,9 @@
-
- int flag_no_ident = 0;
+--- gcc/toplev.c.orig Tue Jun 6 13:11:39 2000
++++ gcc/toplev.c Mon Jun 26 20:19:31 2000
+@@ -787,6 +787,9 @@
+ /* Tag all structures with __attribute__(packed) */
+ int flag_pack_struct = 0;
+/* Nonzero means that -Wformat accepts certain system-dependent formats. */
+int flag_format_extensions = 0;
+
- /* Table of supported debugging formats. */
- static struct
- {
-@@ -954,6 +957,8 @@
- "Generate code to check every memory access" },
- {"prefix-function-name", &flag_prefix_function_name, 1,
- "Add a prefix to all function names" },
+ /* Emit code to check for stack overflow; also may cause large objects
+ to be allocated dynamically. */
+ int flag_stack_check;
+@@ -1064,6 +1067,8 @@
+ "Do the full regmove optimization pass"},
+ {"pack-struct", &flag_pack_struct, 1,
+ "Pack structure members together without holes" },
+ {"format-extensions", &flag_format_extensions, 1,
+ "-Wformat accepts certain FreeBSD system-dependent formats" },
- {"dump-unnumbered", &flag_dump_unnumbered, 1,
- "Suppress output of instruction numbers and line number notes in debugging dumps"},
- {"instrument-functions", &flag_instrument_function_entry_exit, 1,
+ {"stack-check", &flag_stack_check, 1,
+ "Insert stack checking code into the program" },
+ {"argument-alias", &flag_argument_noalias, 0,
+@@ -4484,6 +4489,19 @@
+ if (optimize_val != -1)
+ {
+ optimize = optimize_val;
++#ifdef __alpha__
++ if (optimize > 1)
++ {
++ #ifdef FORCE_OPTIMIZATION_DOWNGRADE
++ optimize = 1;
++ warning ("\n***\n***\t-O%d converted to \"-O1\" due to optimizer bugs on this platform\n***\n",
++ optimize_val);
++ #else
++ warning ("\n***\n***\tThe -O%d flag TRIGGERS KNOWN OPTIMIZER BUGS ON THIS PLATFORM\n***\n",
++ optimize_val);
++ #endif
++ }
++#endif /*__alpha__*/
+ optimize_size = 0;
+ }
+ }
diff --git a/lang/gcc48/pkg-plist b/lang/gcc48/pkg-plist
index edc4180c3299..937fbde90edf 100644
--- a/lang/gcc48/pkg-plist
+++ b/lang/gcc48/pkg-plist
@@ -4,6 +4,8 @@ bin/eg++
bin/eg77
bin/egcc
bin/%%GNU_HOST%%-gcc
+bin/%%GNU_HOST%%-g++
+bin/gccbug-%%SNAPVER%%
bin/gcj
bin/gcjh
bin/gcov
@@ -11,155 +13,9 @@ bin/jv-scan
bin/jcf-dump
%%GNU_HOST%%/include/_G_config.h
%%GNU_HOST%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/PlotFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/SFile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/algorithm
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bitset
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/builtinbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cassert
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cerrno
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cfloat
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ciso646
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/climits
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/clocale
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cmath
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/complex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csetjmp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/csignal
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdarg
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstddef
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdio
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstdlib
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cstring
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ctime
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwchar
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/cwctype
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/defalloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/dummy.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/editbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/floatio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/fstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/functional
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/indstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iolibio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iomanip.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iosfwd
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostdio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iostreamP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/istream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libio.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/libioP.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/memory
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/numeric
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/parsestream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pfstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/procbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/pthread_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/queue
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/ropeimpl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/bastring.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.cc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/complext.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/dcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/fcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/gslice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/indirect_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/ldcomplex.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/mask_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/slice_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/std_valarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/straits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_array.tcc
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std/valarray_meta.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdexcept
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stdiostream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algo.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_algobase.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_alloc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_bvector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_config.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_construct.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_deque.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_function.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_fun.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hash_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_hashtable.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_heap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_iterator.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_map.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multimap.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_multiset.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_numeric.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_pair.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_queue.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_raw_storage_iter.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_relops.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_rope.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_set.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_slist.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_stack.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_uninitialized.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stl_vector.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/stream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/streambuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strfile.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/string
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/strstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tempbuf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/tree.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/type_traits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/utility
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/valarray
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/vector.h
+@comment Insert PLIST.gcc-lib here
+@comment -=[ begin PLIST.gcc-lib ]=-
+@comment -=[ end PLIST.gcc-lib ]=-
@unexec install-info --delete %D/info/gcc.info %D/info/dir
@unexec install-info --delete %D/info/g77.info %D/info/dir
@unexec install-info --delete %D/info/cpp.info %D/info/dir
@@ -225,61 +81,6 @@ info/gcc.info-9
@exec install-info %D/info/cpp.info %D/info/dir
@exec install-info %D/info/g77.info %D/info/dir
@exec install-info %D/info/gcc.info %D/info/dir
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1obj
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cc1plus
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/cpp
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/collect2
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbegin.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtbeginS.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtend.o
-@comment ELF-only:lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/crtendS.o
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/f771
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/README
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/assert.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/exception
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/float.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g2c.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/iso646.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/limits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/new.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/proto.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdarg.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stdbool.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/stddef.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/syslimits.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/typeinfo
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/varargs.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/zconf.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/machine/ansi.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net/zlib.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netatm/atm_ioctl.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_fil.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/netinet/ip_nat.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/des.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/rpc/svc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/NXConstStr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Object.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/Protocol.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/encoding.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/hash.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-api.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc-list.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/objc.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/sarray.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/thr.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/objc/typedstream.h
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jc1
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/jvgenmain
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libgcc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libobjc.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/specs
-@comment These 3 libraries are moved from PREFIX/lib to avoid conflicts
-@comment with the stock compiler.
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libg2c.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libiberty.a
-lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/libstdc++.a
@dirrm %%GNU_HOST%%/include
@dirrm %%GNU_HOST%%
@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/net