aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Pfeifer <gerald@FreeBSD.org>2005-07-31 13:34:35 +0000
committerGerald Pfeifer <gerald@FreeBSD.org>2005-07-31 13:34:35 +0000
commit2fb932b3b45d03474b2368e8ef035fd833ef977e (patch)
tree7114d52aab318fdf9d716b8068f918b912156ff1
parent9f9005bc1bbdef15d4617baff3bd895468f1b814 (diff)
downloadports-2fb932b3b45d03474b2368e8ef035fd833ef977e.tar.gz
ports-2fb932b3b45d03474b2368e8ef035fd833ef977e.zip
Remove the lang/gcc31 port. It fails to build on several architectures
(even ones it is supposed to work on, cf. pointyhat), it fails to build on FreeBSD 6 and 7, and lang/gcc32 is basically the same plus a single ABI changes and many bug fixes. It is strongly recommended to migrate to GCC 3.4 or 4.0, since only these are still actively maintained upstream and support FreeBSD 7, for example.
Notes
Notes: svn path=/head/; revision=140557
-rw-r--r--MOVED1
-rw-r--r--lang/Makefile1
-rw-r--r--lang/gcc31/Makefile165
-rw-r--r--lang/gcc31/distinfo8
-rw-r--r--lang/gcc31/files/patch-ad70
-rw-r--r--lang/gcc31/files/patch-af50
-rw-r--r--lang/gcc31/files/patch-ai35
-rw-r--r--lang/gcc31/files/patch-ar14
-rw-r--r--lang/gcc31/files/patch-fa188
-rw-r--r--lang/gcc31/files/patch-fb13
-rw-r--r--lang/gcc31/files/patch-fc41
-rw-r--r--lang/gcc31/files/patch-va14
-rw-r--r--lang/gcc31/pkg-descr7
-rw-r--r--lang/gcc31/pkg-plist22
14 files changed, 1 insertions, 628 deletions
diff --git a/MOVED b/MOVED
index 639138c99600..a17a6d2cfb8b 100644
--- a/MOVED
+++ b/MOVED
@@ -1589,3 +1589,4 @@ sysutils/sge|sysutils/sge53|2005-07-28|SGE 6 is being imported and is incompatab
sysutils/sgeee|sysutils/sgeee53|2005-07-28|SGE 6 is being imported and is incompatable with 5.3
lang/stackless_python||2005-07-29|outdated and unmaintained
x11-wm/rox-pager||2005-07-30|libwnck incompatibility; no new version available
+lang/gcc31|lang/gcc32|2005-07-31|outdated and unmaintained, and gcc32 is basically the same (plus one ABI change and many fixes)
diff --git a/lang/Makefile b/lang/Makefile
index 00e81da50a90..88c9054e91ce 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -70,7 +70,6 @@
SUBDIR += gcc28
SUBDIR += gcc295
SUBDIR += gcc30
- SUBDIR += gcc31
SUBDIR += gcc32
SUBDIR += gcc33
SUBDIR += gcc34
diff --git a/lang/gcc31/Makefile b/lang/gcc31/Makefile
deleted file mode 100644
index cdb0bcb085e2..000000000000
--- a/lang/gcc31/Makefile
+++ /dev/null
@@ -1,165 +0,0 @@
-# ex:ts=8
-# Ports collection makefile for: egcs
-# Date created: 9 Jan 1998
-# Whom: John Polstra <jdp@polstra.com>
-#
-# $FreeBSD$
-#
-
-SNAPDATE= 2002-09-09
-SNAPVER= ${SNAPDATE:S/-//g}
-
-PORTNAME= gcc
-PORTVERSION= 3.1.1
-PORTREVISION= ${SNAPVER}
-CATEGORIES= lang
-MASTER_SITES= ${MASTER_SITE_GCC}
-MASTER_SITE_SUBDIR= releases/gcc-${GCC_REV}
-DISTFILES= gcc-core-${PORTVERSION}${EXTRACT_SUFX} \
- gcc-g++-${PORTVERSION}${EXTRACT_SUFX} \
- gcc-objc-${PORTVERSION}${EXTRACT_SUFX}
-
-PATCH_SITES= ftp://relay.nuxi.com/obrien/
-PATCHFILES= port_gcc31_${SNAPDATE}.diff
-
-MAINTAINER= ports@FreeBSD.org
-COMMENT= GNU Compiler Collection 3.1
-
-DEPRECATED= "This port is no longer in use by anything in the ports collection and will be removed in the future. Use a later release instead"
-
-ONLY_FOR_ARCHS= i386 sparc64
-NO_CDROM= 'dated material'
-LATEST_LINK= gcc31
-
-USE_BZIP2= yes
-USE_REINPLACE= yes
-
-PATCH_WRKSRC= ${SRCDIR}
-CONFIGURE_SCRIPT= ../${SRCDIR:C/${WRKDIR}//}/configure
-
-.ifdef USE_GCC
-.error You have `USE_GCC' variable defined either in environment or in make(1) arguments. Please undefine and try again.
-.endif
-
-# Do not let USE_GCC be set here. We can't hardcode that gcc31 should require
-# gcc31 in order to build. Setting USE_GCC at all here causes recursion errors
-# when it clobbers the USE_GCC defined by other ports.
-.undef USE_GCC
-
-NOMANCOMPRESS= yes # to hard to deal with differences on 5-cur and releng4
-
-.include <bsd.port.pre.mk>
-
-.if ${PORTOBJFORMAT} == "aout"
-CONFIGURE_TARGET= ${ARCH}-portbld-freebsdaout${OSREL}
-.else
-CONFIGURE_TARGET?= ${ARCH}-portbld-freebsd${OSREL}
-.endif
-
-GCC_REV= ${PORTVERSION:C/\.0$//}
-#SRCDIR= ${WRKDIR}/gcc-${GCC_REV}
-SRCDIR= ${WRKDIR}/gcc-${PORTVERSION}
-WRKSRC= ${WRKDIR}/build
-TARGLIB= ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${GCC_REV}
-PLIST_SUB= GCC_REV=${GCC_REV} GNU_HOST=${CONFIGURE_TARGET} \
- SNAPVER=${PORTVERSION}
-GNU_CONFIGURE= yes
-USE_GMAKE= yes
-USE_BISON= yes
-CONFIGURE_ARGS= --disable-nls --with-gnu-as --with-gnu-ld \
- --with-gxx-include-dir=${TARGLIB}/include/g++-v3
-#CONFIGURE_ARGS+= --program-suffix=31
-# Java
-CONFIGURE_ARGS+= --with-system-zlib --includedir=${TARGLIB}/include/Java
-CONFIGURE_ENV= MAKEINFO="makeinfo --no-split"
-.if defined(WANT_SHAREDLIBS)
-CONFIGURE_ARGS+= --enable-shared
-.else
-CONFIGURE_ARGS+= --disable-shared
-.endif
-.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= cpp31.1 g++31.1 gcc31.1 gcov31.1
-MAN7= fsf-funding.7 gfdl.7 gpl.7
-
-pre-everything::
- @${ECHO_MSG} "Making GCC ${DISTNAME:S/^gcc-//} for ${OPSYS} ${OSREL} ${PORTOBJFORMAT} target ${CONFIGURE_TARGET}"
-
-pre-configure:
- @# Keep from running `autoconf' and `autoheader' since we modified
- @# configure.in by patching it.
- @${TOUCH} ${SRCDIR}/gcc/configure
- @${TOUCH} ${SRCDIR}/gcc/cstamp-h.in
- @${MKDIR} ${CONFIGURE_WRKSRC}
- @${RM} -f ${SRCDIR}/gcc/*/*.info*
- @${REINPLACE_CMD} -e 's/elf_x86_64/elf_x86_64_fbsd/g' \
- ${SRCDIR}/gcc/config/i386/freebsd64.h
-
-pre-build:
- cd ${SRCDIR} ; contrib/gcc_update --touch
-
-pre-install:
- ${MKDIR} ${PREFIX}/info
-
-post-install:
- @${RM} -f ${PREFIX}/bin/c++ ${PREFIX}/bin/${CONFIGURE_TARGET}-c++
- @${MV} -f ${PREFIX}/bin/c++filt ${PREFIX}/bin/g++filt
- @(for prog in ${PREFIX}/bin/gcc ${PREFIX}/bin/g++ \
- ${PREFIX}/bin/g++filt ${PREFIX}/bin/gcov \
- ${PREFIX}/bin/${CONFIGURE_TARGET}-gcc \
- ${TARGLIB}/cc1 ${TARGLIB}/cc1obj ${TARGLIB}/cc1plus \
- ${TARGLIB}/cpp0 ${TARGLIB}/collect2 ; \
- do \
- ${STRIP_CMD} $$prog ; \
- done )
-.for file in gcc g++ cpp g++filt gcov ${CONFIGURE_TARGET}-gcc ${CONFIGURE_TARGET}-g++
- ${MV} -f ${PREFIX}/bin/${file} ${PREFIX}/bin/${file}31
- ( ${TEST} ! -e ${PREFIX}/man/man1/${file}.1 \
- || ${MV} -f ${PREFIX}/man/man1/${file}.1 \
- ${PREFIX}/man/man1/${file}31.1 )
-.endfor
- ${MV} -f ${PREFIX}/bin/gccbug ${PREFIX}/bin/gccbug-${PORTVERSION}
- # These 3 libraries are moved from PREFIX/lib to avoid conflicts
- # with the stock compiler.
-.for file in libstdc++ libsupc++ libobjc
- ${MV} -f ${PREFIX}/lib/${file}.* ${TARGLIB}
-.endfor
- -${MV} -f ${PREFIX}/lib/ieee ${TARGLIB}
- ${RM} -f ${PREFIX}/lib/libiberty.a
- ${RM} -f ${TARGLIB}/*.la
-# I am sick and tired of this .info shit, makeinfo --no-split isn't working
- @cd ${PREFIX}/info ; ${RM} -f cpp.* cppinternals.* gcc.* gccint.*
-#.for info in cpp cppinternals gcc
-# install-info ${PREFIX}/info/${info}.info ${PREFIX}/info/dir
-#.endfor
-# I am sick and tired of the anonyance that man pages can only be generated if
-# perl 5.6 is installed. This is becoming a royal PITA on non-5-CURRENT systems
-.for mp in ${_MANPAGES}
- ( ${TEST} -e ${mp} && ${TOUCH} ${TOUCH_FLAGS} ${mp} )
-.endfor
- cd ${PREFIX} ;\
- ${FIND} ${TARGLIB:S/^${PREFIX}\///} -type f -o -type l \
- >${WRKDIR}/PLIST.gcc-lib
- cd ${PREFIX} ;\
- ${FIND} ${TARGLIB:S/^${PREFIX}\///} -type d \
- | ${SORT} -r | ${SED} -e 's/^/@dirrm /g' \
- >>${WRKDIR}/PLIST.gcc-lib
- (${ECHO_CMD} "@unexec rmdir %D/lib/gcc-lib/${CONFIGURE_TARGET} 2>&1 || true" ; ${ECHO_CMD} "@unexec rmdir %D/lib/gcc-lib 2>&1 || true") >> ${WRKDIR}/PLIST.gcc-lib
- ${ECHO_CMD} "r ${TMPPLIST}" > ${WRKDIR}/ex.script
- ${ECHO_CMD} "/Insert PLIST.gcc-lib" >> ${WRKDIR}/ex.script
- ${ECHO_CMD} "d" >> ${WRKDIR}/ex.script
- ${ECHO_CMD} "r ${WRKDIR}/PLIST.gcc-lib" >> ${WRKDIR}/ex.script
- ${ECHO_CMD} "x!" >> ${WRKDIR}/ex.script
- ${CP} -p ${TMPPLIST} ${TMPPLIST}.pre-gcc-lib
- cd ${WRKDIR} ; ex < ex.script
-
-cklatest:
-.for SITE in ftp://gcc.gnu.org/pub/gcc/snapshots/ ftp://mirrors.rcn.net/mirrors/sources.redhat.com/gcc/snapshots/
- @-ncftpls ${SITE} | grep LATEST
-.endfor
-
-.include <bsd.port.post.mk>
diff --git a/lang/gcc31/distinfo b/lang/gcc31/distinfo
deleted file mode 100644
index 3797101860b4..000000000000
--- a/lang/gcc31/distinfo
+++ /dev/null
@@ -1,8 +0,0 @@
-MD5 (gcc-core-3.1.1.tar.bz2) = b4e28adf3043a165fa06561b3a743c21
-SIZE (gcc-core-3.1.1.tar.bz2) = 10213865
-MD5 (gcc-g++-3.1.1.tar.bz2) = 67c87ca839aadb90648abb15c4639fdd
-SIZE (gcc-g++-3.1.1.tar.bz2) = 1876873
-MD5 (gcc-objc-3.1.1.tar.bz2) = f59f7471ed5f544791251fa57bcce85c
-SIZE (gcc-objc-3.1.1.tar.bz2) = 199839
-MD5 (port_gcc31_2002-09-09.diff) = 0680f6395440c81352abf9617f384d14
-SIZE (port_gcc31_2002-09-09.diff) = 203
diff --git a/lang/gcc31/files/patch-ad b/lang/gcc31/files/patch-ad
deleted file mode 100644
index c59833513fa0..000000000000
--- a/lang/gcc31/files/patch-ad
+++ /dev/null
@@ -1,70 +0,0 @@
---- gcc/config/i386/freebsd-aout.h.orig Tue Jan 22 16:56:28 2002
-+++ gcc/config/i386/freebsd-aout.h Sat Feb 2 13:30:32 2002
-@@ -76,14 +76,6 @@
- /* FreeBSD using a.out does not support DWARF2 unwinding mechanisms. */
- #define DWARF2_UNWIND_INFO 0
-
--/* Don't default to pcc-struct-return, because in FreeBSD we prefer the
-- superior nature of the older gcc way. */
--#define DEFAULT_PCC_STRUCT_RETURN 0
--
--/* Ensure we the configuration knows our system correctly so we can link with
-- libraries compiled with the native cc. */
--#undef NO_DOLLAR_IN_LABEL
--
- /* i386 freebsd still uses old binutils that don't insert nops by default
- when the .align directive demands to insert extra space in the text
- segment. */
-@@ -93,19 +85,18 @@
-
- /* Profiling routines, partially copied from i386/osfrose.h. */
-
--/* Redefine this to use %eax instead of %edx. */
-+/* Tell final.c that we don't need a label passed to mcount. */
-+#define NO_PROFILE_DATA
-+
- #undef FUNCTION_PROFILER
- #define FUNCTION_PROFILER(FILE, LABELNO) \
- { \
- if (flag_pic) \
- { \
-- fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \
-- LPREFIX, (LABELNO)); \
- fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \
- } \
- else \
- { \
-- fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \
- fprintf (FILE, "\tcall mcount\n"); \
- } \
- }
-@@ -123,6 +114,7 @@
-
- #define TYPE_ASM_OP "\t.type\t"
- #define SIZE_ASM_OP "\t.size\t"
-+#define SET_ASM_OP "\t.set\t"
-
- /* The following macro defines the format used to output the second
- operand of the .type assembler directive. Different svr4 assemblers
-@@ -132,6 +124,12 @@
-
- #define TYPE_OPERAND_FMT "@%s"
-
-+#define HANDLE_SYSV_PRAGMA 1
-+
-+#define ASM_WEAKEN_LABEL(FILE,NAME) \
-+ do { fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \
-+ fputc ('\n', FILE); } while (0)
-+
- /* Write the extra assembler code needed to declare a function's result.
- Most svr4 assemblers don't require any special declaration of the
- result value, but there are exceptions. */
-@@ -233,6 +231,8 @@
- #define STARTFILE_SPEC \
- "%{shared:c++rt0.o%s} \
- %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}"
-+
-+#define MD_STARTFILE_PREFIX "/usr/lib/aout/"
-
- /* Define this so we can compile MS code for use with WINE. */
- #define HANDLE_PRAGMA_PACK_PUSH_POP
diff --git a/lang/gcc31/files/patch-af b/lang/gcc31/files/patch-af
deleted file mode 100644
index 9da4d3279d7c..000000000000
--- a/lang/gcc31/files/patch-af
+++ /dev/null
@@ -1,50 +0,0 @@
---- gcc/config/i386/freebsd.h.orig Wed May 30 16:05:31 2001
-+++ gcc/config/i386/freebsd.h Mon Jun 18 17:47:30 2001
-@@ -76,6 +76,14 @@
-
- #undef WCHAR_TYPE_SIZE
- #define WCHAR_TYPE_SIZE BITS_PER_WORD
-+
-+#undef CC1_SPEC
-+#define CC1_SPEC "\
-+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \
-+ %{maout: %{!mno-underscores: %{!munderscores: -munderscores }}}"
-+
-+#undef ASM_SPEC
-+#define ASM_SPEC "%{v*: -v} %{maout: %{fpic:-k} %{fPIC:-k}}"
-
- /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
- the magical crtbegin.o file (see crtstuff.c) which provides part
-@@ -84,11 +92,18 @@
-
- #undef STARTFILE_SPEC
- #define STARTFILE_SPEC \
-- "%{!shared: \
-- %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} \
-- %{!p:%{profile:gcrt1.o%s} \
-- %{!profile:crt1.o%s}}}} \
-- crti.o%s %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}"
-+ "%{maout: %{shared:c++rt0.o%s} \
-+ %{!shared:%{pg:gcrt0.o%s}%{!pg:%{static:scrt0.o%s}%{!static:crt0.o%s}}}} \
-+ %{!maout: \
-+ %{!shared: \
-+ %{pg:gcrt1.o%s} \
-+ %{!pg:%{p:gcrt1.o%s} \
-+ %{!p:%{profile:gcrt1.o%s} \
-+ %{!profile:crt1.o%s}}}} \
-+ crti.o%s \
-+ %{!shared:crtbegin.o%s} \
-+ %{shared:crtbeginS.o%s} \
-+ }"
-
- /* Provide a ENDFILE_SPEC appropriate for FreeBSD. Here we tack on
- the magical crtend.o file (see crtstuff.c) which provides part of
-@@ -98,7 +113,7 @@
-
- #undef ENDFILE_SPEC
- #define ENDFILE_SPEC \
-- "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
-+ "%{!maout: %{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s}"
-
- /* Provide a LINK_SPEC appropriate for FreeBSD. Here we provide support
- for the special GCC options -static and -shared, which allow us to
diff --git a/lang/gcc31/files/patch-ai b/lang/gcc31/files/patch-ai
deleted file mode 100644
index 54d2e32149a2..000000000000
--- a/lang/gcc31/files/patch-ai
+++ /dev/null
@@ -1,35 +0,0 @@
---- gcc/final.c.orig Thu Jan 3 09:39:59 2002
-+++ gcc/final.c Sat Feb 2 19:20:09 2002
-@@ -295,6 +295,8 @@
- /* Zero word. */
- assemble_integer (const0_rtx, long_bytes, align2, 1);
-
-+ fprintf(asm_out_file,".stabs \"bbset\", 25, 0, 0, LPBX0\n");
-+
- /* Address of filename. */
- ASM_GENERATE_INTERNAL_LABEL (name, "LPBX", 1);
- assemble_integer (gen_rtx_SYMBOL_REF (Pmode, name), pointer_bytes,
-@@ -1524,6 +1526,11 @@
- leaf_renumber_regs (first);
- #endif
-
-+/*
-+ if (profile_block_flag)
-+ add_bb (file);
-+*/
-+
- /* The Sun386i and perhaps other machines don't work right
- if the profiling code comes after the prologue. */
- #ifdef PROFILE_BEFORE_PROLOGUE
-@@ -1668,6 +1675,11 @@
- /* Finally, output the function epilogue:
- code to restore the stack frame and return to the caller. */
- (*targetm.asm_out.function_epilogue) (asm_out_file, get_frame_size ());
-+
-+/*
-+ if (profile_block_flag)
-+ add_bb (asm_out_file);
-+*/
-
- /* And debug output. */
- (*debug_hooks->end_epilogue) ();
diff --git a/lang/gcc31/files/patch-ar b/lang/gcc31/files/patch-ar
deleted file mode 100644
index ebfbb7a6718f..000000000000
--- a/lang/gcc31/files/patch-ar
+++ /dev/null
@@ -1,14 +0,0 @@
---- gcc/config/freebsd-spec.h.orig Tue Nov 20 18:06:45 2001
-+++ gcc/config/freebsd-spec.h Sat Feb 2 13:37:38 2002
-@@ -79,7 +82,10 @@
- #define FBSD_CPP_SPEC " \
- %(cpp_cpu) \
- %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \
-- %{posix:-D_POSIX_SOURCE}"
-+ %{posix:-D_POSIX_SOURCE} \
-+ %{!maout: -D__ELF__} \
-+ %{munderscores: -D__UNDERSCORES__} \
-+ %{maout: %{!mno-underscores: -D__UNDERSCORES__}}"
-
- /* Provide a STARTFILE_SPEC appropriate for FreeBSD. Here we add
- the magical crtbegin.o file (see crtstuff.c) which provides part
diff --git a/lang/gcc31/files/patch-fa b/lang/gcc31/files/patch-fa
deleted file mode 100644
index d8e94c143fea..000000000000
--- a/lang/gcc31/files/patch-fa
+++ /dev/null
@@ -1,188 +0,0 @@
---- gcc/c-format.c.orig Wed Feb 20 14:54:32 2002
-+++ gcc/c-format.c Mon May 27 20:42:37 2002
-@@ -19,6 +19,8 @@
- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
- 02111-1307, USA. */
-
-+/* $FreeBSD: /tmp/pcvs/ports/lang/gcc31/files/Attic/patch-fa,v 1.11 2002-05-28 03:43:59 obrien Exp $ */
-+
- #include "config.h"
- #include "system.h"
- #include "tree.h"
-@@ -75,6 +77,7 @@
- last. */
- enum format_type { printf_format_type, scanf_format_type,
- strftime_format_type, strfmon_format_type,
-+ printf0_format_type,
- format_type_error };
-
- typedef struct function_format_info
-@@ -82,6 +85,7 @@
- enum format_type format_type; /* type of format (printf, scanf, etc.) */
- unsigned HOST_WIDE_INT format_num; /* number of format argument */
- unsigned HOST_WIDE_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;
-
- static bool decode_format_attr PARAMS ((tree,
-@@ -249,7 +253,7 @@
- {
- if (validated_p)
- abort ();
-- error ("unrecognized format specifier");
-+ error_with_decl (getdecls (), "unrecognized format specifier");
- return false;
- }
- else
-@@ -540,6 +544,7 @@
- /* Pointer to type of argument expected if '*' is used for a precision,
- or NULL if '*' not used for precisions. */
- tree *const precision_type;
-+ const int null_format_ok;
- } format_kind_info;
-
-
-@@ -783,6 +788,18 @@
- { "S", 1, STD_EXT, { TEX_W, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "R" },
- /* GNU conversion specifiers. */
- { "m", 0, STD_EXT, { T89_V, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
-+ /* BSD conversion specifiers. */
-+ /* FreeBSD kernel extensions (src/sys/kern/subr_prf.c).
-+ The format %b is supported to decode error registers.
-+ Its usage is: printf("reg=%b\n", regval, "<base><arg>*");
-+ which produces: reg=3<BITTWO,BITONE>
-+ The format %D provides a hexdump given a pointer and separator string:
-+ ("%6D", ptr, ":") -> XX:XX:XX:XX:XX:XX
-+ ("%*D", len, ptr, " ") -> XX XX XX XX ...
-+ */
-+ { "D", 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "cR" },
-+ { "b", 1, STD_EXT, { T89_C, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp", "" },
-+ { "rz", 0, STD_EXT, { T89_I, BADLEN, BADLEN, T89_L, BADLEN, BADLEN, BADLEN, BADLEN, BADLEN }, "-wp0 +#", "i" },
- { NULL, 0, 0, NOLENGTHS, NULL, NULL }
- };
-
-@@ -847,23 +864,29 @@
- printf_flag_specs, printf_flag_pairs,
- FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
- 'w', 0, 'p', 0, 'L',
-- &integer_type_node, &integer_type_node
-+ &integer_type_node, &integer_type_node, 0
- },
- { "scanf", scanf_length_specs, scan_char_table, "*'I", NULL,
- scanf_flag_specs, scanf_flag_pairs,
- FMT_FLAG_ARG_CONVERT|FMT_FLAG_SCANF_A_KLUDGE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_ZERO_WIDTH_BAD|FMT_FLAG_DOLLAR_GAP_POINTER_OK,
- 'w', 0, 0, '*', 'L',
-- NULL, NULL
-+ NULL, NULL, 0
- },
- { "strftime", NULL, time_char_table, "_-0^#", "EO",
- strftime_flag_specs, strftime_flag_pairs,
- FMT_FLAG_FANCY_PERCENT_OK, 'w', 0, 0, 0, 0,
-- NULL, NULL
-+ NULL, NULL, 0
- },
- { "strfmon", strfmon_length_specs, monetary_char_table, "=^+(!-", NULL,
- strfmon_flag_specs, strfmon_flag_pairs,
- FMT_FLAG_ARG_CONVERT, 'w', '#', 'p', 0, 'L',
-- NULL, NULL
-+ NULL, NULL, 0
-+ },
-+ { "printf0", printf_length_specs, print_char_table, " +#0-'I", NULL,
-+ printf_flag_specs, printf_flag_pairs,
-+ FMT_FLAG_ARG_CONVERT|FMT_FLAG_DOLLAR_MULTIPLE|FMT_FLAG_USE_DOLLAR|FMT_FLAG_EMPTY_PREC_OK,
-+ 'w', 0, 'p', 0, 'L',
-+ &integer_type_node, &integer_type_node, 1
- }
- };
-
-@@ -917,6 +940,14 @@
-
- static void check_format_types PARAMS ((int *, format_wanted_type *));
-
-+
-+inline static int get_null_fmt_ok (fmttype)
-+ enum format_type fmttype;
-+{
-+ return format_types[(int)fmttype].null_format_ok;
-+}
-+
-+
- /* Decode a format type from a string, returning the type, or
- format_type_error if not valid, in which case the caller should print an
- error message. */
-@@ -1475,7 +1506,7 @@
- specially if info == NULL and add a res->number_null entry for
- that case, or maybe add a function pointer to be called at
- the end instead of hardcoding check_format_info_main. */
-- status_warning (status, "null format string");
-+ if (!info->null_format_ok) status_warning (status, "null format string");
-
- /* Skip to first argument to check, so we can see if this format
- has any arguments (it shouldn't). */
-@@ -1986,6 +2017,57 @@
- }
- }
-
-+ if (*format_chars == 'b')
-+ {
-+ /* There should be an int arg to control the string arg. */
-+ if (params == 0)
-+ {
-+ status_warning (status, "too few arguments for format");
-+ return;
-+ }
-+ if (info->first_arg_num != 0)
-+ {
-+ cur_param = TREE_VALUE (params);
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != integer_type_node)
-+ &&
-+ (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param))
-+ != unsigned_type_node))
-+ {
-+ status_warning (status, "bitmap is not type int (arg %d)",
-+ arg_num);
-+ }
-+ }
-+ }
-+ if (*format_chars == 'D')
-+ {
-+ /* There should be an unsigned char * arg before the string arg. */
-+ if (params == 0)
-+ {
-+ status_warning (status, "too few arguments for format");
-+ return;
-+ }
-+ if (info->first_arg_num != 0)
-+ {
-+ tree cur_type;
-+
-+ cur_param = TREE_VALUE (params);
-+ params = TREE_CHAIN (params);
-+ ++arg_num;
-+ cur_type = TREE_TYPE (cur_param);
-+ if (TREE_CODE (cur_type) != POINTER_TYPE
-+ || TYPE_MAIN_VARIANT (TREE_TYPE (cur_type))
-+ != unsigned_char_type_node)
-+ {
-+ status_warning (status,
-+ "ethernet address is not type unsigned char * (arg %d)",
-+ arg_num);
-+ }
-+ }
-+ }
-+
- format_char = *format_chars;
- if (format_char == 0
- || (!(fki->flags & (int) FMT_FLAG_FANCY_PERCENT_OK)
-@@ -2112,7 +2194,7 @@
- else if (strchr (fci->flags2, '2') != 0)
- y2k_level = 2;
- if (y2k_level == 3)
-- status_warning (status, "`%%%c' yields only last 2 digits of year in some locales",
-+ status_warning (status, "`%%%c' yields only last 2 digits of year in some locales on non-BSD systems",
- format_char);
- else if (y2k_level == 2)
- status_warning (status, "`%%%c' yields only last 2 digits of year", format_char);
diff --git a/lang/gcc31/files/patch-fb b/lang/gcc31/files/patch-fb
deleted file mode 100644
index dae6d331898c..000000000000
--- a/lang/gcc31/files/patch-fb
+++ /dev/null
@@ -1,13 +0,0 @@
---- gcc/flags.h.orig Sun Jan 31 09:46:18 1999
-+++ gcc/flags.h Tue Mar 30 13:17:11 1999
-@@ -137,6 +137,10 @@
-
- extern int warn_aggregate_return;
-
-+/* Nonzero means that -Wformat accepts certain non-ANSI formats. */
-+
-+extern int flag_format_extensions;
-+
- /* Nonzero if generating code to do profiling. */
-
- extern int profile_flag;
diff --git a/lang/gcc31/files/patch-fc b/lang/gcc31/files/patch-fc
deleted file mode 100644
index d03aaf307875..000000000000
--- a/lang/gcc31/files/patch-fc
+++ /dev/null
@@ -1,41 +0,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;
-+
- /* 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,
- N_("Pack structure members together without holes") },
-+ {"format-extensions", &flag_format_extensions, 1,
-+ N_("-Wformat accepts certain FreeBSD system-dependent formats") },
- {"stack-check", &flag_stack_check, 1,
- N_("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/files/patch-va b/lang/gcc31/files/patch-va
deleted file mode 100644
index b45675470a88..000000000000
--- a/lang/gcc31/files/patch-va
+++ /dev/null
@@ -1,14 +0,0 @@
---- gcc/Makefile.in.orig Thu May 23 10:57:21 2002
-+++ gcc/Makefile.in Mon Sep 9 01:03:47 2002
-@@ -157,4 +157 @@
--USER_H = $(srcdir)/ginclude/stdarg.h $(srcdir)/ginclude/stddef.h \
-- $(srcdir)/ginclude/varargs.h \
-- $(srcdir)/ginclude/stdbool.h $(srcdir)/ginclude/iso646.h \
-- $(EXTRA_HEADERS)
-+USER_H = $(EXTRA_HEADERS)
-@@ -859 +856 @@
-- (cd $(srcdir) && autoconf)
-+ (cd $(srcdir) && echo "wants to run autoconf, blah")
-@@ -881 +878 @@
--@MAINT@ (cd $(srcdir) && autoheader)
-+@MAINT@ (cd $(srcdir) && echo "wants to run autoheader, blah")
diff --git a/lang/gcc31/pkg-descr b/lang/gcc31/pkg-descr
deleted file mode 100644
index c2c52fc7e3f0..000000000000
--- a/lang/gcc31/pkg-descr
+++ /dev/null
@@ -1,7 +0,0 @@
-GCC, the GNU Compiler Collection includes gcc, g++, g77, and gcj.
-
-Beware: This port installs new versions of "gcc", "g++", "c++" and
-so forth into the "${PREFIX}/bin" directory. Mind your PATHs if you
-don't want to use this compiler by default.
-
-WWW: http://gcc.gnu.org/
diff --git a/lang/gcc31/pkg-plist b/lang/gcc31/pkg-plist
deleted file mode 100644
index 9acc973865af..000000000000
--- a/lang/gcc31/pkg-plist
+++ /dev/null
@@ -1,22 +0,0 @@
-@comment $FreeBSD$
-bin/cpp31
-bin/g++filt31
-bin/g++31
-bin/gcc31
-bin/gcov31
-bin/%%GNU_HOST%%-gcc31
-bin/%%GNU_HOST%%-g++31
-bin/gccbug-%%SNAPVER%%
-@comment not needed post-libstdc++-v3: %%GNU_HOST%%/include/_G_config.h
-@comment Insert PLIST.gcc-lib here
-@comment -=[ begin PLIST.gcc-lib ]=-
-@comment -=[ end PLIST.gcc-lib ]=-
-@comment I AM TIRED OF THIS .INFO CRAP @unexec install-info --delete %D/info/cppinternals.info %D/info/dir
-@comment I AM TIRED OF THIS .INFO CRAP @unexec install-info --delete %D/info/gcc.info %D/info/dir
-@comment I AM TIRED OF THIS .INFO CRAP info/cpp.info
-@comment I AM TIRED OF THIS .INFO CRAP info/cppinternals.info
-@comment I AM TIRED OF THIS .INFO CRAP info/gcc.info
-@comment I AM TIRED OF THIS .INFO CRAP @exec install-info %D/info/cppinternals.info %D/info/dir
-@comment I AM TIRED OF THIS .INFO CRAP @exec install-info %D/info/gcc.info %D/info/dir
-@comment @dirrm %%GNU_HOST%%/include
-@comment @dirrm %%GNU_HOST%%