diff options
author | gerald <gerald@FreeBSD.org> | 2009-11-22 06:02:00 +0800 |
---|---|---|
committer | gerald <gerald@FreeBSD.org> | 2009-11-22 06:02:00 +0800 |
commit | faa58bccf2d5b21a0191c43eaa6edb4730c75c5e (patch) | |
tree | c525ece84a99a6e6d4869aaab695775bbc2a10da /lang | |
parent | 75f20c74c32d7d6d85f7ee977c124d11b4bb38d9 (diff) | |
download | freebsd-ports-gnome-faa58bccf2d5b21a0191c43eaa6edb4730c75c5e.tar.gz freebsd-ports-gnome-faa58bccf2d5b21a0191c43eaa6edb4730c75c5e.tar.zst freebsd-ports-gnome-faa58bccf2d5b21a0191c43eaa6edb4730c75c5e.zip |
Remove lang/gcc295 which is not used by any other port and had been
unused/unusable for most of last year. Recommend lang/gcc44 instead.
Approved by: maintainer
Diffstat (limited to 'lang')
29 files changed, 0 insertions, 1955 deletions
diff --git a/lang/Makefile b/lang/Makefile index bd185ae0560a..8f8d2e540135 100644 --- a/lang/Makefile +++ b/lang/Makefile @@ -88,7 +88,6 @@ SUBDIR += gambit-c SUBDIR += gauche SUBDIR += gawk - SUBDIR += gcc295 SUBDIR += gcc34 SUBDIR += gcc42 SUBDIR += gcc43 diff --git a/lang/gcc295/Makefile b/lang/gcc295/Makefile deleted file mode 100644 index ce6716fedb32..000000000000 --- a/lang/gcc295/Makefile +++ /dev/null @@ -1,145 +0,0 @@ -# ex:ts=8 -# Ports collection makefile for: egcs -# Date created: 9 Jan 1998 -# Whom: John Polstra <jdp@polstra.com> -# -# $FreeBSD$ -# - -PORTNAME= gcc -PORTVERSION= 2.95.3 -PORTREVISION= 2 -CATEGORIES= lang -MASTER_SITES= ${MASTER_SITE_GCC} -MASTER_SITE_SUBDIR= releases/gcc-2.95.3 -DISTFILES= gcc-core-${GCC_REV}${EXTRACT_SUFX} \ - gcc-g++-${GCC_REV}${EXTRACT_SUFX} - -MAINTAINER= uqs@spoerlein.net -COMMENT= GNU Compiler Collection - -CONFLICTS= gcc-4.*.* -ONLY_FOR_ARCHS= alpha i386 -USE_BZIP2= yes - -LATEST_LINK= gcc295 - -.ifdef USE_GCC -IGNORE= you have the 'USE_GCC' variable defined either in environment or in make(1) arguments. Please undefine and try again -.endif - -.include <bsd.port.pre.mk> - -.if (${ARCH} == alpha) -BROKEN= Does not compile on alpha -.endif - -WITHOUT_CPU_CFLAGS= yes - -GCC_REV= ${DISTNAME:S/gcc-//g:S/.test3//g} -TARGLIB= ${PREFIX}/lib/gcc-lib/${CONFIGURE_TARGET}/${GCC_REV} -LIBSTDCPP_REV= 2100 - -PLIST_SUB+= EGCS_REV=${GCC_REV} GNU_HOST=${CONFIGURE_TARGET} -GNU_CONFIGURE= yes -USE_GMAKE= yes -CONFIGURE_ARGS= --with-gnu-as --with-gnu-ld \ - --with-gxx-include-dir=${TARGLIB}/include/g++ -#CONFIGURE_ARGS+= --program-suffix=-295 -CONFIGURE_ARGS+= --build=${CONFIGURE_TARGET} --host=${CONFIGURE_TARGET} -CONFIGURE_ENV= MAKEINFO="makeinfo --no-split" -.if defined(WANT_SHAREDLIBS) -CONFIGURE_ARGS+= --enable-shared -.endif -.if defined(WANT_THREADS) -# ?is this an ObjC only thing? -CONFIGURE_ARGS+= --enable-threads=posix -.endif -ALL_TARGET= bootstrap -INFO= gcc cpp -MAN1= cccp.1 g++295.1 gcc295.1 - -pre-patch: - @${MV} ${WRKSRC}/gcc/config/i386/freebsd.h ${WRKSRC}/gcc/config/i386/freebsd-aout.h - @${MV} ${WRKSRC}/gcc/config/i386/freebsd-elf.h ${WRKSRC}/gcc/config/i386/freebsd.h - @${MV} ${WRKSRC}/libstdc++/stl/stl_bvector.h \ - ${WRKSRC}/libstdc++/stl/stl_bvector.h.orig - @${SED} -e "s,_WORD_BIT,_WORD_BIT_GCC295,g" \ - < ${WRKSRC}/libstdc++/stl/stl_bvector.h.orig \ - > ${WRKSRC}/libstdc++/stl/stl_bvector.h - -pre-configure: - @(MAJ=`/sbin/sysctl -n kern.osreldate | ${SED} -e '/.....$$/s///'` ; \ - ${SED} -e "s:__FreeBSD__[0-9=]*:__FreeBSD__=$${MAJ}:" ${FILESDIR}/freebsd.h \ - >${WRKSRC}/gcc/config/freebsd.h ) - @${CP} ${FILESDIR}/alpha-freebsd.h ${WRKSRC}/gcc/config/alpha/freebsd.h - @# Keep from running `autoconf' and `autoheader' since we modified - @# configure.in by patching it. - @${TOUCH} ${WRKSRC}/gcc/configure - @${TOUCH} ${WRKSRC}/gcc/cstamp-h.in - -# The LATE_ARGS mess up gcc's configure script. Roll our own target here -do-configure: - CONFIG_GUESS_DIRS=$$(${FIND} ${WRKDIR} -name config.guess -o -name config.sub \ - | ${XARGS} -n 1 ${DIRNAME}); \ - for _D in $${CONFIG_GUESS_DIRS}; do \ - ${CP} -f ${TEMPLATES}/config.guess $${_D}/config.guess; \ - ${CHMOD} a+rx $${_D}/config.guess; \ - ${CP} -f ${TEMPLATES}/config.sub $${_D}/config.sub; \ - ${CHMOD} a+rx $${_D}/config.sub; \ - done - (cd ${CONFIGURE_WRKSRC} && \ - if ! ${SETENV} CC="${CC}" CXX="${CXX}" \ - CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \ - INSTALL="/usr/bin/install -c ${_BINOWNGRP}" \ - INSTALL_DATA="${INSTALL_DATA}" \ - INSTALL_PROGRAM="${INSTALL_PROGRAM}" \ - INSTALL_SCRIPT="${INSTALL_SCRIPT}" \ - ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ - ${ECHO_MSG} "===> Script \"${CONFIGURE_SCRIPT}\" failed unexpectedly."; \ - (${ECHO_CMD} ${CONFIGURE_FAIL_MESSAGE}) | ${FMT} 75 79 ; \ - ${FALSE}; \ - fi) - -pre-install: - ${MKDIR} ${PREFIX}/info - -post-install: - @${RM} -f ${PREFIX}/bin/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/protoize ${PREFIX}/bin/unprotoize \ - ${PREFIX}/bin/${CONFIGURE_TARGET}-gcc \ - ${TARGLIB}/cc1 \ - ${TARGLIB}/cc1plus \ - ${TARGLIB}/cpp0 \ - ${TARGLIB}/collect2 \ - ; do \ - ${STRIP_CMD} $$prog ; \ - done) - ${MV} ${PREFIX}/bin/gcc ${PREFIX}/bin/gcc295 - ${MV} ${PREFIX}/bin/g++ ${PREFIX}/bin/g++295 - ${MV} ${PREFIX}/bin/protoize ${PREFIX}/bin/protoize295 - ${MV} ${PREFIX}/bin/unprotoize ${PREFIX}/bin/unprotoize295 - ${MV} ${PREFIX}/bin/g++filt ${PREFIX}/bin/g++filt295 - ${RM} -f ${PREFIX}/bin/cpp ${PREFIX}/lib/libiberty.a - ${MV} -f ${PREFIX}/lib/libstdc++.a.${LIBSTDCPP_REV} \ - ${TARGLIB}/libstdc++.a - ${MV} ${PREFIX}/man/man1/gcc.1 ${PREFIX}/man/man1/gcc295.1 - ${MV} ${PREFIX}/man/man1/g++.1 ${PREFIX}/man/man1/g++295.1 -.if defined(WANT_SHAREDLIBS) - ${MV} -f ${PREFIX}/lib/libstdc++.so* ${TARGLIB} -.endif - cd ${PREFIX} ;\ - ${FIND} lib/gcc-lib/${CONFIGURE_TARGET}/${GCC_REV} \ - -type f -o -type l >${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 - -.include <bsd.port.post.mk> diff --git a/lang/gcc295/distinfo b/lang/gcc295/distinfo deleted file mode 100644 index fbc3a11ce405..000000000000 --- a/lang/gcc295/distinfo +++ /dev/null @@ -1,6 +0,0 @@ -MD5 (gcc-core-2.95.3.tar.bz2) = 56dc4de966a54e4c511f65e525f9c0fe -SHA256 (gcc-core-2.95.3.tar.bz2) = e4a2390e1360de9a811197e3475b1bfd3f49ef88295af4a0c22e7a1ad49ac296 -SIZE (gcc-core-2.95.3.tar.bz2) = 6798053 -MD5 (gcc-g++-2.95.3.tar.bz2) = ce600888f39443a25ad325cc886e7d16 -SHA256 (gcc-g++-2.95.3.tar.bz2) = 1e082ea0f0a3cfeab369fce1522c58960361d057ce2b16b10084b7b66698ce6f -SIZE (gcc-g++-2.95.3.tar.bz2) = 1248880 diff --git a/lang/gcc295/files/alpha-freebsd.h b/lang/gcc295/files/alpha-freebsd.h deleted file mode 100644 index 5ffada3584e4..000000000000 --- a/lang/gcc295/files/alpha-freebsd.h +++ /dev/null @@ -1,547 +0,0 @@ -/* Definitions of target machine for GNU compiler, - for Alpha FreeBSD systems. - Copyright (C) 1998 Free Software Foundation, Inc. - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* This is used on Alpha platforms that use the ELF format. - This was taken from the NetBSD configuration, and modified - for FreeBSD/alpha by Hidetoshi Shimokawa <simokawa@FreeBSD.ORG> */ - -/* $FreeBSD$ */ - - -#undef OBJECT_FORMAT_COFF -#undef EXTENDED_COFF -#define OBJECT_FORMAT_ELF - -/* This is BSD, so it wants DBX format. */ - -#define DBX_DEBUGGING_INFO - -/* This is the char to use for continuation (in case we need to turn - continuation back on). */ - -#undef DBX_CONTIN_CHAR -#define DBX_CONTIN_CHAR '?' - -#undef ASM_FINAL_SPEC - -/* Names to predefine in the preprocessor for this target machine. - XXX FreeBSD, by convention, shouldn't do __alpha, but lots of applications - expect it because that's what OSF/1 does. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (FreeBSD/alpha ELF)"); - -#undef TARGET_DEFAULT -#define TARGET_DEFAULT (MASK_FP | MASK_FPREGS | MASK_GAS) - -#undef CPP_PREDEFINES -#define CPP_PREDEFINES \ - "-D__alpha__ -D__alpha -D__ELF__ -Acpu(alpha) -Amachine(alpha)" \ - CPP_FBSD_PREDEFINES - -#undef CPP_SPEC -#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}" - -/* Make gcc agree with <machine/ansi.h> */ - -#undef WCHAR_TYPE -#define WCHAR_TYPE "int" - -#undef WCHAR_UNSIGNED -#define WCHAR_UNSIGNED 0 - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 32 - -/* Output assembler code to FILE to increment profiler label # LABELNO - for profiling a function entry. Under FreeBSD/Alpha, the assembler does - nothing special with -pg. */ - -#undef FUNCTION_PROFILER -#define FUNCTION_PROFILER(FILE, LABELNO) \ - fputs ("\tjsr $28,_mcount\n", (FILE)) - -/* Show that we need a GP when profiling. */ -#define TARGET_PROFILING_NEEDS_GP - -#undef HAS_INIT_SECTION - -/* Provide an ASM_SPEC appropriate for a FreeBSD/alpha target. This differs - from the generic FreeBSD ASM_SPEC in that no special handling of PIC is - necessary on the Alpha. */ - -#undef ASM_SPEC -#define ASM_SPEC " %| %{mcpu=*:-m%*}" - -/* Output at beginning of assembler file. */ - -#undef ASM_FILE_START -#define ASM_FILE_START(FILE) \ -{ \ - alpha_write_verstamp (FILE); \ - output_file_directive (FILE, main_input_filename); \ - fprintf (FILE, "\t.version\t\"01.01\"\n"); \ - fprintf (FILE, "\t.set noat\n"); \ -} - -#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 - .ident string is patterned after the ones produced by native svr4 - C compilers. */ - -#undef IDENT_ASM_OP -#define IDENT_ASM_OP ".ident" - -#ifdef IDENTIFY_WITH_IDENT -#undef ASM_IDENTIFY_GCC -#define ASM_IDENTIFY_GCC(FILE) /* nothing */ -#undef ASM_IDENTIFY_LANGUAGE -#define ASM_IDENTIFY_LANGUAGE(FILE) \ - fprintf(FILE, "\t%s \"GCC (%s) %s\"\n", IDENT_ASM_OP, \ - lang_identify(), version_string) -#else -#undef ASM_FILE_END -#define ASM_FILE_END(FILE) \ -do { \ - fprintf ((FILE), "\t%s\t\"GCC: (GNU) %s\"\n", \ - IDENT_ASM_OP, version_string); \ - } while (0) -#endif - -/* Allow #sccs in preprocessor. */ - -#define SCCS_DIRECTIVE - -/* Output #ident as a .ident. */ - -#undef ASM_OUTPUT_IDENT -#define ASM_OUTPUT_IDENT(FILE, NAME) \ - fprintf (FILE, "\t%s\t\"%s\"\n", IDENT_ASM_OP, NAME); - -/* This is how to allocate empty space in some section. The .zero - pseudo-op is used for this on most svr4 assemblers. */ - -#undef SKIP_ASM_OP -#define SKIP_ASM_OP ".zero" - -#undef ASM_OUTPUT_SKIP -#define ASM_OUTPUT_SKIP(FILE,SIZE) \ - fprintf (FILE, "\t%s\t%u\n", SKIP_ASM_OP, (SIZE)) - -/* Output the label which precedes a jumptable. Note that for all svr4 - systems where we actually generate jumptables (which is to say every - svr4 target except i386, where we use casesi instead) we put the jump- - tables into the .rodata section and since other stuff could have been - put into the .rodata section prior to any given jumptable, we have to - make sure that the location counter for the .rodata section gets pro- - perly re-aligned prior to the actual beginning of the jump table. */ - -#undef ALIGN_ASM_OP -#define ALIGN_ASM_OP ".align" - -#ifndef ASM_OUTPUT_BEFORE_CASE_LABEL -#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \ - ASM_OUTPUT_ALIGN ((FILE), 2); -#endif - -#undef ASM_OUTPUT_CASE_LABEL -#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,JUMPTABLE) \ - do { \ - ASM_OUTPUT_BEFORE_CASE_LABEL (FILE, PREFIX, NUM, JUMPTABLE) \ - ASM_OUTPUT_INTERNAL_LABEL (FILE, PREFIX, NUM); \ - } while (0) - -/* The standard SVR4 assembler seems to require that certain builtin - library routines (e.g. .udiv) be explicitly declared as .globl - in each assembly file where they are referenced. */ - -#undef ASM_OUTPUT_EXTERNAL_LIBCALL -#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ - ASM_GLOBALIZE_LABEL (FILE, XSTR (FUN, 0)) - -/* This says how to output assembler code to declare an - uninitialized external linkage data object. Under SVR4, - the linker seems to want the alignment of data objects - to depend on their types. We do exactly that here. */ - -#undef COMMON_ASM_OP -#define COMMON_ASM_OP ".comm" - -#undef ASM_OUTPUT_ALIGNED_COMMON -#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ -do { \ - fprintf ((FILE), "\t%s\t", COMMON_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), ",%u,%u\n", (SIZE), (ALIGN) / BITS_PER_UNIT); \ -} while (0) - -/* This says how to output assembler code to declare an - uninitialized internal linkage data object. Under SVR4, - the linker seems to want the alignment of data objects - to depend on their types. We do exactly that here. */ - -#undef LOCAL_ASM_OP -#define LOCAL_ASM_OP ".local" - -#undef ASM_OUTPUT_ALIGNED_LOCAL -#define ASM_OUTPUT_ALIGNED_LOCAL(FILE, NAME, SIZE, ALIGN) \ -do { \ - fprintf ((FILE), "\t%s\t", LOCAL_ASM_OP); \ - assemble_name ((FILE), (NAME)); \ - fprintf ((FILE), "\n"); \ - ASM_OUTPUT_ALIGNED_COMMON (FILE, NAME, SIZE, ALIGN); \ -} while (0) - -/* This is the pseudo-op used to generate a 64-bit word of data with a - specific value in some section. */ - -#undef INT_ASM_OP -#define INT_ASM_OP ".quad" - -/* This is the pseudo-op used to generate a contiguous sequence of byte - values from a double-quoted string WITHOUT HAVING A TERMINATING NUL - AUTOMATICALLY APPENDED. This is the same for most svr4 assemblers. */ - -#undef ASCII_DATA_ASM_OP -#define ASCII_DATA_ASM_OP ".ascii" - -/* Support const sections and the ctors and dtors sections for g++. - Note that there appears to be two different ways to support const - sections at the moment. You can either #define the symbol - READONLY_DATA_SECTION (giving it some code which switches to the - readonly data section) or else you can #define the symbols - EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, and - SELECT_RTX_SECTION. We do both here just to be on the safe side. */ - -#undef USE_CONST_SECTION -#define USE_CONST_SECTION 1 - -#undef CONST_SECTION_ASM_OP -#define CONST_SECTION_ASM_OP ".section\t.rodata" - -/* Define the pseudo-ops used to switch to the .ctors and .dtors sections. - - Note that we want to give these sections the SHF_WRITE attribute - because these sections will actually contain data (i.e. tables of - addresses of functions in the current root executable or shared library - file) and, in the case of a shared library, the relocatable addresses - will have to be properly resolved/relocated (and then written into) by - the dynamic linker when it actually attaches the given shared library - to the executing process. (Note that on SVR4, you may wish to use the - `-z text' option to the ELF linker, when building a shared library, as - an additional check that you are doing everything right. But if you do - use the `-z text' option when building a shared library, you will get - errors unless the .ctors and .dtors sections are marked as writable - via the SHF_WRITE attribute.) */ - -#undef CTORS_SECTION_ASM_OP -#define CTORS_SECTION_ASM_OP ".section\t.ctors,\"aw\"" -#undef DTORS_SECTION_ASM_OP -#define DTORS_SECTION_ASM_OP ".section\t.dtors,\"aw\"" - -/* On svr4, we *do* have support for the .init and .fini sections, and we - can put stuff in there to be executed before and after `main'. We let - crtstuff.c and other files know this by defining the following symbols. - The definitions say how to change sections to the .init and .fini - sections. This is the same for all known svr4 assemblers. */ - -#undef INIT_SECTION_ASM_OP -#define INIT_SECTION_ASM_OP ".section\t.init" -#undef FINI_SECTION_ASM_OP -#define FINI_SECTION_ASM_OP ".section\t.fini" - -/* A default list of other sections which we might be "in" at any given - time. For targets that use additional sections (e.g. .tdesc) you - should override this definition in the target-specific file which - includes this file. */ - -#undef EXTRA_SECTIONS -#define EXTRA_SECTIONS in_const, in_ctors, in_dtors - -/* A default list of extra section function definitions. For targets - that use additional sections (e.g. .tdesc) you should override this - definition in the target-specific file which includes this file. */ - -#undef EXTRA_SECTION_FUNCTIONS -#define EXTRA_SECTION_FUNCTIONS \ - CONST_SECTION_FUNCTION \ - CTORS_SECTION_FUNCTION \ - DTORS_SECTION_FUNCTION - -#undef READONLY_DATA_SECTION -#define READONLY_DATA_SECTION() const_section () - -extern void text_section (); - -#undef CONST_SECTION_FUNCTION -#define CONST_SECTION_FUNCTION \ -void \ -const_section () \ -{ \ - if (!USE_CONST_SECTION) \ - text_section(); \ - else if (in_section != in_const) \ - { \ - fprintf (asm_out_file, "%s\n", CONST_SECTION_ASM_OP); \ - in_section = in_const; \ - } \ -} - -#undef CTORS_SECTION_FUNCTION -#define CTORS_SECTION_FUNCTION \ -void \ -ctors_section () \ -{ \ - if (in_section != in_ctors) \ - { \ - fprintf (asm_out_file, "%s\n", CTORS_SECTION_ASM_OP); \ - in_section = in_ctors; \ - } \ -} - -#undef DTORS_SECTION_FUNCTION -#define DTORS_SECTION_FUNCTION \ -void \ -dtors_section () \ -{ \ - if (in_section != in_dtors) \ - { \ - fprintf (asm_out_file, "%s\n", DTORS_SECTION_ASM_OP); \ - in_section = in_dtors; \ - } \ -} - -/* Switch into a generic section. - This is currently only used to support section attributes. - - We make the section read-only and executable for a function decl, - read-only for a const data decl, and writable for a non-const data decl. */ -#undef ASM_OUTPUT_SECTION_NAME -#define ASM_OUTPUT_SECTION_NAME(FILE, DECL, NAME, RELOC) \ - fprintf (FILE, ".section\t%s,\"%s\",@progbits\n", NAME, \ - (DECL) && TREE_CODE (DECL) == FUNCTION_DECL ? "ax" : \ - (DECL) && DECL_READONLY_SECTION (DECL, RELOC) ? "a" : "aw") - - -/* A C statement (sans semicolon) to output an element in the table of - global constructors. */ -#undef ASM_OUTPUT_CONSTRUCTOR -#define ASM_OUTPUT_CONSTRUCTOR(FILE,NAME) \ - do { \ - ctors_section (); \ - fprintf (FILE, "\t%s\t ", INT_ASM_OP); \ - assemble_name (FILE, NAME); \ - fprintf (FILE, "\n"); \ - } while (0) - -/* A C statement (sans semicolon) to output an element in the table of - global destructors. */ -#undef ASM_OUTPUT_DESTRUCTOR -#define ASM_OUTPUT_DESTRUCTOR(FILE,NAME) \ - do { \ - dtors_section (); \ - fprintf (FILE, "\t%s\t ", INT_ASM_OP); \ - assemble_name (FILE, NAME); \ - fprintf (FILE, "\n"); \ - } while (0) - -/* A C statement or statements to switch to the appropriate - section for output of DECL. DECL is either a `VAR_DECL' node - or a constant of some sort. RELOC indicates whether forming - the initial value of DECL requires link-time relocations. */ - -#undef SELECT_SECTION -#define SELECT_SECTION(DECL,RELOC) \ -{ \ - if (TREE_CODE (DECL) == STRING_CST) \ - { \ - if (! flag_writable_strings) \ - const_section (); \ - else \ - data_section (); \ - } \ - else if (TREE_CODE (DECL) == VAR_DECL) \ - { \ - if ((flag_pic && RELOC) \ - || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ - || !DECL_INITIAL (DECL) \ - || (DECL_INITIAL (DECL) != error_mark_node \ - && !TREE_CONSTANT (DECL_INITIAL (DECL)))) \ - data_section (); \ - else \ - const_section (); \ - } \ - else \ - const_section (); \ -} - -/* A C statement or statements to switch to the appropriate - section for output of RTX in mode MODE. RTX is some kind - of constant in RTL. The argument MODE is redundant except - in the case of a `const_int' rtx. Currently, these always - go into the const section. */ - -#undef SELECT_RTX_SECTION -#define SELECT_RTX_SECTION(MODE,RTX) const_section() - -/* Define the strings used for the .type, .size and .set directives. - These strings generally do not vary from one system running svr4 to - another, but if a given system (e.g. m88k running svr) needs to use - different pseudo-op names for these, they may be overridden in the - file which includes this one. */ - -#undef TYPE_ASM_OP -#define TYPE_ASM_OP ".type" -#undef SIZE_ASM_OP -#define SIZE_ASM_OP ".size" - -/* This is how we tell the assembler that two symbols have the same value. */ - -#undef ASM_OUTPUT_DEF -#define ASM_OUTPUT_DEF(FILE,NAME1,NAME2) \ - do { assemble_name(FILE, NAME1); \ - fputs(" = ", FILE); \ - assemble_name(FILE, NAME2); \ - fputc('\n', FILE); } while (0) - -/* A table of bytes codes used by the ASM_OUTPUT_ASCII and - ASM_OUTPUT_LIMITED_STRING macros. Each byte in the table - corresponds to a particular byte value [0..255]. For any - given byte value, if the value in the corresponding table - position is zero, the given character can be output directly. - If the table value is 1, the byte must be output as a \ooo - octal escape. If the tables value is anything else, then the - byte value should be output as a \ followed by the value - in the table. Note that we can use standard UN*X escape - sequences for many control characters, but we don't use - \a to represent BEL because some svr4 assemblers (e.g. on - the i386) don't know about that. Also, we don't use \v - since some versions of gas, such as 2.2 did not accept it. */ - -#undef ESCAPES -#define ESCAPES \ -"\1\1\1\1\1\1\1\1btn\1fr\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\0\0\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\\\0\0\0\ -\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\ -\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1" - -/* Some svr4 assemblers have a limit on the number of characters which - can appear in the operand of a .string directive. If your assembler - has such a limitation, you should define STRING_LIMIT to reflect that - limit. Note that at least some svr4 assemblers have a limit on the - actual number of bytes in the double-quoted string, and that they - count each character in an escape sequence as one byte. Thus, an - escape sequence like \377 would count as four bytes. - - If your target assembler doesn't support the .string directive, you - should define this to zero. -*/ - -#undef STRING_LIMIT -#define STRING_LIMIT ((unsigned) 256) - -#undef STRING_ASM_OP -#define STRING_ASM_OP ".string" - -/* - * We always use gas here, so we don't worry about ECOFF assembler problems. - */ -#undef TARGET_GAS -#define TARGET_GAS 1 - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -#undef LINK_SPEC -#define LINK_SPEC "-m elf64alpha \ - %{p:%e`-p' not supported; use `-pg' and gprof(1)} \ - %{Wl,*:%*} \ - %{assert*} %{R*} %{rpath*} %{defsym*} \ - %{shared:-Bshareable %{h*} %{soname*}} \ - %{symbolic:-Bsymbolic} \ - %{!shared: \ - %{!static: \ - %{rdynamic:-export-dynamic} \ - %{!dynamic-linker:-dynamic-linker /usr/libexec/ld-elf.so.1}} \ - %{static:-Bstatic}}" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!shared: %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} %{!p:crt1.o%s}}} \ - %{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}" - -/* Provide a ENDFILE_SPEC appropriate for ELF. Here we tack on the - magical crtend.o file which provides part of the support for - getting C++ file-scope static object constructed before entering - `main', followed by a normal ELF "finalizer" file, `crtn.o'. */ - -#undef ENDFILE_SPEC -#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 - -/* - * Some imports from svr4.h in support of shared libraries. - * Currently, we need the DECLARE_OBJECT_SIZE stuff. - */ - -/* This is how we tell the assembler that a symbol is weak. */ - -#undef ASM_WEAKEN_LABEL -#define ASM_WEAKEN_LABEL(FILE,NAME) \ - do { fputs ("\t.globl\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); \ - fputs ("\t.weak\t", FILE); assemble_name (FILE, NAME); \ - fputc ('\n', FILE); } while (0) - -/* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers - expect various different forms for this operand. The one given here - is just a default. You may need to override it in your machine- - specific tm.h file (depending upon the particulars of your assembler). */ - -#undef TYPE_OPERAND_FMT -#define TYPE_OPERAND_FMT "@%s" - -/* 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. */ - -#ifndef ASM_DECLARE_RESULT -#define ASM_DECLARE_RESULT(FILE, RESULT) -#endif diff --git a/lang/gcc295/files/freebsd.h b/lang/gcc295/files/freebsd.h deleted file mode 100644 index 17511cd638f5..000000000000 --- a/lang/gcc295/files/freebsd.h +++ /dev/null @@ -1,108 +0,0 @@ -/* $FreeBSD$ */ -/* Base configuration file for all FreeBSD targets. - Copyright (C) 1999 Free Software Foundation, Inc. - -This file is part of GNU CC. - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GNU CC; see the file COPYING. If not, write to -the Free Software Foundation, 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ - -/* Common FreeBSD configuration. - All FreeBSD architectures should include this file, which will specify - their commonalities. - Adapted from /usr/src/contrib/gcc/config/i386/freebsd.h & - egcs/gcc/config/i386/freebsd-elf.h version by David O'Brien */ - - -/* Don't assume anything about the header files. */ -#undef NO_IMPLICIT_EXTERN_C -#define NO_IMPLICIT_EXTERN_C - -/* This defines which switch letters take arguments. On FreeBSD, most of - the normal cases (defined in gcc.c) apply, and we also have -h* and - -z* options (for the linker) (comming from svr4). - We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ - -#define FBSD_SWITCH_TAKES_ARG(CHAR) \ - (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ - || (CHAR) == 'h' \ - || (CHAR) == 'z' /* ignored by ld */ \ - || (CHAR) == 'R') - -#undef SWITCH_TAKES_ARG -#define SWITCH_TAKES_ARG(CHAR) (FBSD_SWITCH_TAKES_ARG(CHAR)) - -#define FBSD_WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ - || !strcmp (STR, "rpath") || !strcmp (STR, "rpath-link") \ - || !strcmp (STR, "soname") || !strcmp (STR, "defsym") \ - || !strcmp (STR, "assert") || !strcmp (STR, "dynamic-linker")) - -#undef WORD_SWITCH_TAKES_ARG -#define WORD_SWITCH_TAKES_ARG(STR) (FBSD_WORD_SWITCH_TAKES_ARG(STR)) - -/* Place spaces around this string. We depend on string splicing to produce - the final CPP_PREDEFINES value. */ -#define CPP_FBSD_PREDEFINES " -Dunix -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) " - -/* Provide a LIB_SPEC appropriate for FreeBSD. Just select the appropriate - libc, depending on whether we're doing profiling or need threads support. - (simular to the default, except no -lg, and no -p). */ - -#undef LIB_SPEC -#define LIB_SPEC "%{!shared: \ - %{!pg:%{!pthread:%{!kthread:-lc} \ - %{kthread:-lpthread -lc}} \ - %{pthread:-lc_r}} \ - %{pg:%{!pthread:%{!kthread:-lc_p} \ - %{kthread:-lpthread_p -lc_p}} \ - %{pthread:-lc_r_p}}}" - -#ifdef COMMENT_OUT /* only redefine LIBGCC_SPEC for our native GCC */ -/* Tell gcc to locate libgcc.a for us according to the -m rules. */ -#undef LIBGCC_SPEC -#define LIBGCC_SPEC \ - "%{!shared:%{!pthread:%{!kthread:libgcc.a%s}}%{pthread|kthread:libgcc_r.a%s}}" -#endif - - -/* Code generation parameters. */ - -/* Don't default to pcc-struct-return, because gcc is the only compiler, and - we want to retain compatibility with older gcc versions - (even though the svr4 ABI for the i386 says that records and unions are - returned in memory). */ -#undef DEFAULT_PCC_STRUCT_RETURN -#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 - -/* Use more efficient ``thunks'' to implement C++ vtables. */ -#undef DEFAULT_VTABLE_THUNKS -#define DEFAULT_VTABLE_THUNKS 1 - - -/* Miscellaneous parameters. */ - -/* Tell libgcc2.c that FreeBSD targets support atexit(3). */ -#define HAVE_ATEXIT - -#ifdef BOOTSTRAP_BOMBS_ON_CURRENT -/* Our malloc can allocte pagesized blocks efficiently. The default size - of 4072 bytes is not optimal on the i386 nor the Alpha. */ -#define OBSTACK_CHUNK_SIZE (getpagesize()) -#endif diff --git a/lang/gcc295/files/patch-ad b/lang/gcc295/files/patch-ad deleted file mode 100644 index f8a3b90fdb1a..000000000000 --- a/lang/gcc295/files/patch-ad +++ /dev/null @@ -1,93 +0,0 @@ ---- gcc/config/i386/freebsd-aout.h.orig Tue Jun 1 17:02:37 1999 -+++ gcc/config/i386/freebsd-aout.h Mon Jun 14 14:11:20 1999 -@@ -20,6 +20,10 @@ - the Free Software Foundation, 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -+ -+/* Get generic FreeBSD definitions. */ -+#include <freebsd.h> -+ - /* This is tested by i386gas.h. */ - #define YES_UNDERSCORES - -@@ -32,12 +36,10 @@ - #include "i386/perform.h" - - /* This goes away when the math-emulator is fixed */ --#undef TARGET_DEFAULT --#define TARGET_DEFAULT \ -- (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387) -+#define TARGET_CPU_DEFAULT 0400 /* TARGET_NO_FANCY_MATH_387 */ - - #undef CPP_PREDEFINES --#define CPP_PREDEFINES "-Dunix -Di386 -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" -+#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES - - /* Like the default, except no -lg. */ - #define LIB_SPEC "%{!shared:%{!pg:-lc}%{pg:-lc_p}}" -@@ -87,14 +89,6 @@ - necessary when compiling PIC code. */ - - #define JUMP_TABLES_IN_TEXT_SECTION 1 -- --/* 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 -@@ -105,19 +99,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"); \ - } \ - } -@@ -135,6 +128,7 @@ - - #define TYPE_ASM_OP ".type" - #define SIZE_ASM_OP ".size" -+#define SET_ASM_OP ".set" - - /* The following macro defines the format used to output the second - operand of the .type assembler directive. Different svr4 assemblers -@@ -144,6 +138,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. */ -@@ -245,3 +245,5 @@ - #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/" diff --git a/lang/gcc295/files/patch-af b/lang/gcc295/files/patch-af deleted file mode 100644 index d940ca8480a0..000000000000 --- a/lang/gcc295/files/patch-af +++ /dev/null @@ -1,104 +0,0 @@ ---- gcc/config/i386/freebsd.h.orig Mon Dec 18 06:05:58 2000 -+++ gcc/config/i386/freebsd.h Tue Dec 31 16:42:34 2002 -@@ -35,9 +35,9 @@ - libraries compiled with the native cc, so undef it. */ - #undef NO_DOLLAR_IN_LABEL - --/* Use more efficient ``thunks'' to implement C++ vtables. */ -+/* Do not use ``thunks'' to implement C++ vtables. This method still has -+ fatal bugs. */ - #undef DEFAULT_VTABLE_THUNKS --#define DEFAULT_VTABLE_THUNKS 1 - - /* Override the default comment-starter of "/". */ - #undef ASM_COMMENT_START -@@ -135,6 +135,10 @@ - : ((n) >= FIRST_STACK_REG && (n) <= LAST_STACK_REG) ? (n)+3 \ - : (-1)) - -+/* Don't use EGCS's normal profiling code -- we have our own fine-grained -+ basic block profiling. */ -+#define NO_PROFILE_DATA -+ - /* Tell final.c that we don't need a label passed to mcount. */ - - #undef FUNCTION_PROFILER -@@ -162,22 +166,30 @@ - #define WCHAR_TYPE_SIZE BITS_PER_WORD - - #undef CPP_PREDEFINES --#define CPP_PREDEFINES "-Di386 -Dunix -D__ELF__ -D__FreeBSD__ -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386)" -+#define CPP_PREDEFINES "-Di386 -Acpu(i386) -Amachine(i386)" CPP_FBSD_PREDEFINES - - #undef CPP_SPEC --#define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}" -+#if TARGET_CPU_DEFAULT == 2 -+#define CPP_SPEC "\ -+ %{!maout: -D__ELF__} \ -+ %{munderscores: -D__UNDERSCORES__} \ -+ %{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ -+ %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__}" -+#else -+#define CPP_SPEC "\ -+ %{!maout: -D__ELF__} \ -+ %{munderscores: -D__UNDERSCORES__} \ -+ %{maout: %{!mno-underscores: -D__UNDERSCORES__}} \ -+ %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m486:-D__i486__}" -+#endif -+ -+#undef CC1_SPEC -+#define CC1_SPEC "\ -+ %{gline:%{!g:%{!g0:%{!g1:%{!g2: -g1}}}}} \ -+ %{maout: %{!mno-underscores: %{!munderscores: -munderscores }}}" - --/* This defines which switch letters take arguments. On FreeBSD, most of -- the normal cases (defined in gcc.c) apply, and we also have -h* and -- -z* options (for the linker) (comming from svr4). -- We also have -R (alias --rpath), no -z, --soname (-h), --assert etc. */ -- --#undef SWITCH_TAKES_ARG --#define SWITCH_TAKES_ARG(CHAR) \ -- (DEFAULT_SWITCH_TAKES_ARG (CHAR) \ -- || (CHAR) == 'h' \ -- || (CHAR) == 'z' \ -- || (CHAR) == 'R') -+#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 -@@ -186,11 +198,11 @@ - - #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: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 -@@ -200,7 +212,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 LIB_SPEC appropriate for FreeBSD. Just select the appropriate - libc, depending on whether we're doing profiling or need threads support. -@@ -230,7 +242,7 @@ - done. */ - - #undef LINK_SPEC --#define LINK_SPEC "-m elf_i386 \ -+#define LINK_SPEC "\ - %{Wl,*:%*} \ - %{v:-V} \ - %{assert*} %{R*} %{rpath*} %{defsym*} \ diff --git a/lang/gcc295/files/patch-ai b/lang/gcc295/files/patch-ai deleted file mode 100644 index 4395574d635a..000000000000 --- a/lang/gcc295/files/patch-ai +++ /dev/null @@ -1,54 +0,0 @@ ---- gcc/final.c.orig Sat Sep 5 22:52:01 1998 -+++ gcc/final.c Wed Oct 7 17:06:58 1998 -@@ -383,6 +383,8 @@ - /* zero word */ - assemble_integer (const0_rtx, long_bytes, 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, 1); -@@ -1635,6 +1637,9 @@ - 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 -@@ -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 ()); - #endif -+ -+ if (profile_block_flag) -+ add_bb (file); - - #ifdef SDB_DEBUGGING_INFO - if (write_symbols == SDB_DEBUG) diff --git a/lang/gcc295/files/patch-aj b/lang/gcc295/files/patch-aj deleted file mode 100644 index 4666dfa4e86f..000000000000 --- a/lang/gcc295/files/patch-aj +++ /dev/null @@ -1,14 +0,0 @@ ---- config.guess.orig Sun May 30 09:04:33 1999 -+++ config.guess Mon Jun 21 00:55:29 1999 -@@ -521,9 +521,9 @@ - exit 0 ;; - *:FreeBSD:*:*) - if test -x /usr/bin/objformat -a "elf" = "`/usr/bin/objformat`"; then -- echo ${UNAME_MACHINE}-unknown-freebsdelf -+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` - else -- echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` -+ echo ${UNAME_MACHINE}-unknown-freebsdaout`echo ${UNAME_RELEASE}|sed -e 's/[-_].*//'` - fi - exit 0 ;; - *:NetBSD:*:*) diff --git a/lang/gcc295/files/patch-ak b/lang/gcc295/files/patch-ak deleted file mode 100644 index c5585f836a0e..000000000000 --- a/lang/gcc295/files/patch-ak +++ /dev/null @@ -1,42 +0,0 @@ ---- gcc/configure.orig Tue Jun 8 02:19:23 1999 -+++ gcc/configure Mon Jun 14 23:54:18 1999 -@@ -3058,6 +3058,15 @@ - thread_file='posix' - fi - ;; -+ alpha*-*-freebsd*) -+ tm_file="${tm_file} freebsd.h alpha/freebsd.h" -+ xm_file="${xm_file} xm-freebsd.h" -+ target_cpu_default="MASK_GAS" -+ tmake_file="t-freebsd alpha/t-crtbe" -+ xmake_file=none -+ fixincludes=fixinc.wrap -+ gas=yes gnu_ld=yes -+ ;; - alpha*-*-netbsd*) - tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" - target_cpu_default="MASK_GAS" -@@ -3536,17 +3545,17 @@ - # Next line turned off because both 386BSD and BSD/386 use GNU ld. - # use_collect2=yes - ;; -- i[34567]86-*-freebsdelf*) -- tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h" -+ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*) -+ tm_file=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 - gnu_ld=yes - stabs=yes -- ;; -- i[34567]86-*-freebsd*) -- tm_file=i386/freebsd.h -- tmake_file=t-freebsd - ;; - i[34567]86-*-netbsd*) - tm_file=i386/netbsd.h diff --git a/lang/gcc295/files/patch-al b/lang/gcc295/files/patch-al deleted file mode 100644 index de95c4439b95..000000000000 --- a/lang/gcc295/files/patch-al +++ /dev/null @@ -1,47 +0,0 @@ ---- gcc/configure.in.orig Mon Jun 7 14:37:24 1999 -+++ gcc/configure.in Mon Jun 14 19:25:53 1999 -@@ -625,6 +625,15 @@ - thread_file='posix' - fi - ;; -+ alpha*-*-freebsd*) -+ tm_file="${tm_file} freebsd.h alpha/freebsd.h" -+ xm_file="${xm_file} xm-freebsd.h" -+ target_cpu_default="MASK_GAS" -+ tmake_file="t-freebsd alpha/t-crtbe" -+ xmake_file=none -+ fixincludes=fixinc.wrap -+ gas=yes gnu_ld=yes -+ ;; - alpha*-*-netbsd*) - tm_file="${tm_file} alpha/elf.h alpha/netbsd.h alpha/netbsd-elf.h" - target_cpu_default="MASK_GAS" -@@ -1136,20 +1145,20 @@ - # use_collect2=yes - ;; - changequote(,)dnl -- i[34567]86-*-freebsdelf*) -++ i[34567]86-*-freebsd[12].* | i[34567]86-*-freebsd[12] | i[34567]86-*-freebsdaout*) - changequote([,])dnl -- tm_file="i386/i386.h i386/att.h svr4.h i386/freebsd-elf.h i386/perform.h" -- extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" -+ tm_file=i386/freebsd.h - tmake_file=t-freebsd -- gas=yes -- gnu_ld=yes -- stabs=yes - ;; - changequote(,)dnl -- i[34567]86-*-freebsd*) -+ 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/freebsd.h -+ 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 -+ gnu_ld=yes -+ stabs=yes - ;; - changequote(,)dnl - i[34567]86-*-netbsd*) diff --git a/lang/gcc295/files/patch-am b/lang/gcc295/files/patch-am deleted file mode 100644 index c3c4553367c9..000000000000 --- a/lang/gcc295/files/patch-am +++ /dev/null @@ -1,7 +0,0 @@ ---- gcc/config/t-freebsd.orig Tue Jun 1 17:02:39 1999 -+++ gcc/config/t-freebsd Tue Jun 22 11:05:25 1999 -@@ -1,4 +1,2 @@ - # Don't run fixproto - STMP_FIXPROTO = --# Use only native include files --USER_H = $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS) diff --git a/lang/gcc295/files/patch-an b/lang/gcc295/files/patch-an deleted file mode 100644 index 36378bfeee3f..000000000000 --- a/lang/gcc295/files/patch-an +++ /dev/null @@ -1,11 +0,0 @@ ---- gcc/fixinc/mkfixinc.sh.orig Sat May 15 11:21:35 1999 -+++ gcc/fixinc/mkfixinc.sh Thu Jun 10 19:49:25 1999 -@@ -40,7 +40,7 @@ - - *-*-netbsd* | \ - alpha*-*-linux-gnulibc1* | \ -- i[34567]86-*-freebsd* | \ -+ *-*-freebsd* | \ - i[34567]86-*-netbsd* | i[34567]86-*-openbsd* | \ - i[34567]86-*-solaris2* | \ - sparcv9-*-solaris2* | \ diff --git a/lang/gcc295/files/patch-ap b/lang/gcc295/files/patch-ap deleted file mode 100644 index 7fd8f6a10359..000000000000 --- a/lang/gcc295/files/patch-ap +++ /dev/null @@ -1,85 +0,0 @@ ---- gcc/ginclude/stddef.h.orig Wed Dec 16 22:19:25 1998 -+++ gcc/ginclude/stddef.h Sun Dec 22 18:18:47 2002 -@@ -25,8 +25,16 @@ - /* On 4.3bsd-net2, make sure ansi.h is included, so we have - one less case to deal with in the following. */ - #if defined (__BSD_NET2__) || defined (____386BSD____) || defined (__FreeBSD__) || defined(__NetBSD__) -+/* <machine/ansi.h> and <machine/_types.h> define __gnuc_va_list */ -+#define __NO_GNUC_VA_LIST -+#include <osreldate.h> -+#if __FreeBSD_version >= 500039 -+#include <sys/cdefs.h> -+#include <machine/_types.h> -+#else - #include <machine/ansi.h> - #endif -+#endif - - /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are - defined if the corresponding type is *not* defined. -@@ -109,7 +116,6 @@ - #define _T_PTRDIFF - #define __PTRDIFF_T - #define _PTRDIFF_T_ --#define _BSD_PTRDIFF_T_ - #define ___int_ptrdiff_t_h - #define _GCC_PTRDIFF_T - #ifndef __PTRDIFF_TYPE__ -@@ -145,6 +151,7 @@ - #ifndef _BSD_SIZE_T_ - #ifndef _SIZE_T_DEFINED_ - #ifndef _SIZE_T_DEFINED -+#ifndef _SIZE_T_DECLARED - #ifndef ___int_size_t_h - #ifndef _GCC_SIZE_T - #ifndef _SIZET_ -@@ -156,13 +163,12 @@ - #define _T_SIZE - #define __SIZE_T - #define _SIZE_T_ --#define _BSD_SIZE_T_ - #define _SIZE_T_DEFINED_ - #define _SIZE_T_DEFINED -+#define _SIZE_T_DECLARED - #define ___int_size_t_h - #define _GCC_SIZE_T - #define _SIZET_ --#define __size_t - #ifndef __SIZE_TYPE__ - #define __SIZE_TYPE__ long unsigned int - #endif -@@ -176,6 +182,7 @@ - #endif /* _SIZET_ */ - #endif /* _GCC_SIZE_T */ - #endif /* ___int_size_t_h */ -+#endif /* _SIZE_T_DECLARED */ - #endif /* _SIZE_T_DEFINED */ - #endif /* _SIZE_T_DEFINED_ */ - #endif /* _BSD_SIZE_T_ */ -@@ -207,6 +214,7 @@ - #ifndef _BSD_WCHAR_T_ - #ifndef _WCHAR_T_DEFINED_ - #ifndef _WCHAR_T_DEFINED -+#ifndef _WCHAR_T_DECLARED - #ifndef _WCHAR_T_H - #ifndef ___int_wchar_t_h - #ifndef __INT_WCHAR_T_H -@@ -217,9 +225,9 @@ - #define _T_WCHAR - #define __WCHAR_T - #define _WCHAR_T_ --#define _BSD_WCHAR_T_ - #define _WCHAR_T_DEFINED_ - #define _WCHAR_T_DEFINED -+#define _WCHAR_T_DECLARED - #define _WCHAR_T_H - #define ___int_wchar_t_h - #define __INT_WCHAR_T_H -@@ -253,6 +261,7 @@ - #endif - #ifndef __cplusplus - typedef __WCHAR_TYPE__ wchar_t; -+#endif - #endif - #endif - #endif diff --git a/lang/gcc295/files/patch-aq b/lang/gcc295/files/patch-aq deleted file mode 100644 index 1f57b1f328d6..000000000000 --- a/lang/gcc295/files/patch-aq +++ /dev/null @@ -1,38 +0,0 @@ ---- gcc/ginclude/stdarg.h.orig Sat May 8 03:52:35 1999 -+++ gcc/ginclude/stdarg.h Sun Dec 22 16:21:14 2002 -@@ -67,7 +67,7 @@ - - #ifndef __GNUC_VA_LIST - #define __GNUC_VA_LIST --#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) -+#if defined(__svr4__) || defined(_AIX) || defined(_M_UNIX) || defined(__NetBSD__) || defined(__FreeBSD__) - typedef char *__gnuc_va_list; - #else - typedef void *__gnuc_va_list; -@@ -181,6 +181,8 @@ - #if !defined (_VA_LIST_) || defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__) || defined(WINNT) - /* The macro _VA_LIST_DEFINED is used in Windows NT 3.5 */ - #ifndef _VA_LIST_DEFINED -+/* The macro _VA_LIST_DECLARED is used in FreeBSD 5.x */ -+#ifndef _VA_LIST_DECLARED - /* The macro _VA_LIST is used in SCO Unix 3.2. */ - #ifndef _VA_LIST - /* The macro _VA_LIST_T_H is used in the Bull dpx2 */ -@@ -188,6 +190,7 @@ - typedef __gnuc_va_list va_list; - #endif /* not _VA_LIST_T_H */ - #endif /* not _VA_LIST */ -+#endif /* not _VA_LIST_DECLARED */ - #endif /* not _VA_LIST_DEFINED */ - #if !(defined (__BSD_NET2__) || defined (____386BSD____) || defined (__bsdi__) || defined (__sequent__) || defined (__FreeBSD__)) - #define _VA_LIST_ -@@ -197,6 +200,9 @@ - #endif - #ifndef _VA_LIST_DEFINED - #define _VA_LIST_DEFINED -+#endif -+#ifndef _VA_LIST_DECLARED -+#define _VA_LIST_DECLARED - #endif - #ifndef _VA_LIST_T_H - #define _VA_LIST_T_H diff --git a/lang/gcc295/files/patch-ar b/lang/gcc295/files/patch-ar deleted file mode 100644 index 7dbadfba7e60..000000000000 --- a/lang/gcc295/files/patch-ar +++ /dev/null @@ -1,15 +0,0 @@ ---- gcc/cp/decl.c.orig Sat Jun 10 02:06:42 2000 -+++ gcc/cp/decl.c Sun Dec 22 19:37:47 2002 -@@ -7119,10 +7119,12 @@ - if (found_type > 1) - error ("multiple types in one declaration"); - -+#if 0 - /* Inside a class, we might be in a friend or access declaration. - Until we have a good way of detecting the latter, don't warn. */ - if (t == NULL_TREE && ! current_class_type) - pedwarn ("declaration does not declare anything"); -+#endif - - /* Check for an anonymous union. We're careful - accessing TYPE_IDENTIFIER because some built-in types, like diff --git a/lang/gcc295/files/patch-as b/lang/gcc295/files/patch-as deleted file mode 100644 index 2b75b67e0b6b..000000000000 --- a/lang/gcc295/files/patch-as +++ /dev/null @@ -1,10 +0,0 @@ ---- libio/gen-params.orig Sun Dec 22 20:02:50 2002 -+++ libio/gen-params Sun Dec 22 20:04:15 2002 -@@ -411,7 +411,6 @@ - #define __PTRDIFF_TYPE__ ${ptrdiff_t-long int /* default */} - #endif - typedef __PTRDIFF_TYPE__ ${macro_prefix}ptrdiff_t; --typedef ${sigset_t-int /* default */} ${macro_prefix}sigset_t; - #ifndef __SIZE_TYPE__ - #define __SIZE_TYPE__ ${size_t-unsigned long /* default */} - #endif diff --git a/lang/gcc295/files/patch-bc b/lang/gcc295/files/patch-bc deleted file mode 100644 index 4776146dd5b9..000000000000 --- a/lang/gcc295/files/patch-bc +++ /dev/null @@ -1,34 +0,0 @@ ---- libstdc++/Makefile.in.orig Sat Jul 17 22:50:47 1999 -+++ libstdc++/Makefile.in Tue Jul 20 07:56:00 1999 -@@ -14,7 +14,7 @@ - # along with this library; see the file COPYING. If not, write to the Free - # Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - --VERSION = 2.10.0 -+VERSION = 2100 - INTERFACE = 3 - - gxx_include_dir=${includedir}/g++ -@@ -111,7 +111,8 @@ - $(LN_S) $(SHLIB) $(SHLINK) || cp $(ARLIB) $(ARLINK) - - mshlink: -- @$(MAKE) $(MSHLINK) "SHLINK=$(MSHLINK)" -+ #@$(MAKE) $(MSHLINK) "SHLINK=$(MSHLINK)" -+ @true - - $(IO_DIR)/iostream.list: force - cd $(IO_DIR) ; $(MAKE) $(FLAGS_TO_PASS) iostream.list -@@ -336,11 +337,7 @@ - || cp $${RELINSTALLDIR}$(ARLIB) $${INSTALLLINKDIR}$(MULTISUBDIR)/$$FILE ; \ - fi; \ - elif [ $$FILE = mshlink ]; then \ -- for FILE in $(MSHLINK) ; do \ -- rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \ -- $(LN_S) $(SHLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE \ -- || cp $(SHLIB) $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \ -- done; \ -+ true; \ - elif [ $$FILE = marlink ]; then \ - for FILE in $(MARLINK) ; do \ - rm -f $${INSTALLDIR}$(MULTISUBDIR)/$$FILE ; \ diff --git a/lang/gcc295/files/patch-c-decl.c b/lang/gcc295/files/patch-c-decl.c deleted file mode 100644 index d57a29c0194a..000000000000 --- a/lang/gcc295/files/patch-c-decl.c +++ /dev/null @@ -1,38 +0,0 @@ ---- gcc/c-decl.c.orig Mon Apr 12 07:05:29 1999 -+++ gcc/c-decl.c Sun Nov 26 15:24:45 2000 -@@ -557,6 +557,7 @@ - /* Warn about *printf or *scanf format/argument anomalies. */ - - int warn_format; -+int warn_format_extra_args; - - /* Warn about a subscript that has type char. */ - -@@ -808,10 +809,17 @@ - warn_traditional = 1; - else if (!strcmp (p, "-Wno-traditional")) - warn_traditional = 0; -+ else if (!strcmp (p, "-Wnon-const-format")) -+ warn_format = MAX(warn_format, 2); - else if (!strcmp (p, "-Wformat")) -- warn_format = 1; -+ { -+ warn_format_extra_args = 1; -+ warn_format = MAX(warn_format, 1); -+ } - else if (!strcmp (p, "-Wno-format")) - warn_format = 0; -+ else if (!strcmp (p, "-Wno-format-extra-args")) -+ warn_format_extra_args = 0; - else if (!strcmp (p, "-Wchar-subscripts")) - warn_char_subscripts = 1; - else if (!strcmp (p, "-Wno-char-subscripts")) -@@ -882,7 +890,7 @@ - warn_return_type = 1; - warn_unused = 1; - warn_switch = 1; -- warn_format = 1; -+ warn_format = MAX(warn_format, 1); - warn_char_subscripts = 1; - warn_parentheses = 1; - warn_missing_braces = 1; diff --git a/lang/gcc295/files/patch-c-tree.h b/lang/gcc295/files/patch-c-tree.h deleted file mode 100644 index 1ee85295f60d..000000000000 --- a/lang/gcc295/files/patch-c-tree.h +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/c-tree.h.orig Thu Feb 18 12:38:43 1999 -+++ gcc/c-tree.h Sun Nov 26 15:21:36 2000 -@@ -495,6 +495,7 @@ - /* Warn about *printf or *scanf format/argument anomalies. */ - - extern int warn_format; -+extern int warn_format_extra_args; - - /* Warn about a subscript that has type char. */ - diff --git a/lang/gcc295/files/patch-decl2.c b/lang/gcc295/files/patch-decl2.c deleted file mode 100644 index 701f98f2b772..000000000000 --- a/lang/gcc295/files/patch-decl2.c +++ /dev/null @@ -1,10 +0,0 @@ ---- gcc/cp/decl2.c.orig Thu Aug 19 16:29:45 1999 -+++ gcc/cp/decl2.c Sun Nov 26 15:21:44 2000 -@@ -281,6 +281,7 @@ - /* Warn about *printf or *scanf format/argument anomalies. */ - - int warn_format; -+int warn_format_extra_args = 1; - - /* Warn about a subscript that has type char. */ - diff --git a/lang/gcc295/files/patch-fa b/lang/gcc295/files/patch-fa deleted file mode 100644 index b4cc8fd420bd..000000000000 --- a/lang/gcc295/files/patch-fa +++ /dev/null @@ -1,373 +0,0 @@ ---- gcc/c-common.c.orig Tue Sep 7 01:11:16 1999 -+++ gcc/c-common.c Sun Nov 26 15:35:38 2000 -@@ -64,7 +64,7 @@ - int, int, int)); - static void init_attributes PROTO((void)); - static void record_function_format PROTO((tree, tree, enum format_type, -- int, int)); -+ int, int, int)); - static void record_international_format PROTO((tree, tree, int)); - static tree c_find_base_decl PROTO((tree)); - static int default_valid_lang_attribute PROTO ((tree, tree, tree, tree)); -@@ -715,6 +715,7 @@ - = TREE_VALUE (TREE_CHAIN (TREE_CHAIN (args))); - int format_num; - int first_arg_num; -+ int null_format_ok; - enum format_type format_type; - tree argument; - int arg_num; -@@ -728,7 +729,7 @@ - - if (TREE_CODE (format_type_id) != IDENTIFIER_NODE) - { -- error ("unrecognized format specifier"); -+ error_with_decl (decl, "unrecognized format specifier"); - continue; - } - else -@@ -736,12 +737,26 @@ - const char *p = IDENTIFIER_POINTER (format_type_id); - - if (!strcmp (p, "printf") || !strcmp (p, "__printf__")) -+ { -+ format_type = printf_format_type; -+ null_format_ok = 0; -+ } -+ else if (!strcmp (p, "printf0") || !strcmp (p, "__printf0__")) -+ { - format_type = printf_format_type; -+ null_format_ok = 1; -+ } - else if (!strcmp (p, "scanf") || !strcmp (p, "__scanf__")) -+ { - format_type = scanf_format_type; -+ null_format_ok = 0; -+ } - else if (!strcmp (p, "strftime") - || !strcmp (p, "__strftime__")) -+ { - format_type = strftime_format_type; -+ null_format_ok = 0; -+ } - else - { - warning ("`%s' is an unrecognized format function type", p); -@@ -812,7 +827,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); - break; - } - -@@ -1090,6 +1106,11 @@ - } format_char_info; - - static format_char_info print_char_table[] = { -+/* FreeBSD kernel extensions. */ -+ { "D", 1, T_C, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" }, -+ { "b", 1, T_C, T_C, NULL, NULL, NULL, NULL, NULL, "-wp" }, -+ { "rz", 0, NULL, T_I, T_I, T_L, NULL, NULL, NULL, "-wp0 +#" }, -+#define unextended_print_char_table (print_char_table + 3) - { "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" }, -@@ -1150,6 +1171,7 @@ - tree name; /* identifier such as "printf" */ - tree assembler_name; /* optional mangled identifier (for C++) */ - 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) */ - } function_format_info; -@@ -1182,25 +1204,25 @@ - init_function_format_info () - { - record_function_format (get_identifier ("printf"), NULL_TREE, -- printf_format_type, 1, 2); -+ printf_format_type, 0, 1, 2); - record_function_format (get_identifier ("fprintf"), NULL_TREE, -- printf_format_type, 2, 3); -+ printf_format_type, 0, 2, 3); - record_function_format (get_identifier ("sprintf"), NULL_TREE, -- printf_format_type, 2, 3); -+ printf_format_type, 0, 2, 3); - record_function_format (get_identifier ("scanf"), NULL_TREE, -- scanf_format_type, 1, 2); -+ scanf_format_type, 0, 1, 2); - record_function_format (get_identifier ("fscanf"), NULL_TREE, -- scanf_format_type, 2, 3); -+ scanf_format_type, 0, 2, 3); - record_function_format (get_identifier ("sscanf"), NULL_TREE, -- scanf_format_type, 2, 3); -+ scanf_format_type, 0, 2, 3); - record_function_format (get_identifier ("vprintf"), NULL_TREE, -- printf_format_type, 1, 0); -+ printf_format_type, 0, 1, 0); - record_function_format (get_identifier ("vfprintf"), NULL_TREE, -- printf_format_type, 2, 0); -+ printf_format_type, 0, 2, 0); - record_function_format (get_identifier ("vsprintf"), NULL_TREE, -- printf_format_type, 2, 0); -+ printf_format_type, 0, 2, 0); - record_function_format (get_identifier ("strftime"), NULL_TREE, -- strftime_format_type, 3, 0); -+ strftime_format_type, 0, 3, 0); - - record_international_format (get_identifier ("gettext"), NULL_TREE, 1); - record_international_format (get_identifier ("dgettext"), NULL_TREE, 2); -@@ -1217,11 +1239,12 @@ - (e.g. for varargs such as vfprintf). */ - - 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) - tree name; - tree assembler_name; - enum format_type format_type; -+ int null_format_ok; - int format_num; - int first_arg_num; - { -@@ -1245,6 +1268,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; - } -@@ -1292,6 +1316,21 @@ - warning ("too few arguments for format"); - } - -+static function_format_info * -+find_function_format (name, assembler_name) -+ tree name; -+ tree assembler_name; -+{ -+ function_format_info *info; -+ -+ for (info = function_format_list; info; info = info->next) -+ if (info->assembler_name -+ ? (info->assembler_name == assembler_name) -+ : (info->name == name)) -+ return info; -+ return 0; -+} -+ - /* Check the argument list of a call to printf, scanf, etc. - NAME is the function identifier. - ASSEMBLER_NAME is the function's assembler identifier. -@@ -1307,17 +1346,10 @@ - function_format_info *info; - - /* See if this function is a format function. */ -- for (info = function_format_list; info; info = info->next) -- { -- if (info->assembler_name -- ? (info->assembler_name == assembler_name) -- : (info->name == name)) -- { -- /* Yup; check it. */ -- check_format_info (info, params); -- break; -- } -- } -+ info = find_function_format (name, assembler_name); -+ -+ if (info) -+ check_format_info (info, params); - } - - /* Check the argument list of a call to printf, scanf, etc. -@@ -1361,6 +1393,7 @@ - return; - - /* We can only check the format if it's a string constant. */ -+ again: - while (TREE_CODE (format_tree) == NOP_EXPR) - format_tree = TREE_OPERAND (format_tree, 0); /* strip coercion */ - -@@ -1396,16 +1429,73 @@ - } - } - -+ if (TREE_CODE (format_tree) == COND_EXPR) -+ { -+ format_tree = TREE_OPERAND(format_tree, 1); -+ goto again; -+ } -+ - if (integer_zerop (format_tree)) - { -- warning ("null format string"); -+ if (!info->null_format_ok) -+ warning ("null format string"); -+ return; -+ } -+ if (TREE_CODE (format_tree) != ADDR_EXPR) -+ { -+ if ((info->first_arg_num == 0) && -+ (TREE_CODE(format_tree) == PARM_DECL)) -+ { -+ function_format_info *i2; -+ tree p; -+ int n; -+ -+ /* Now, we need to determine if the current function is printf-like, -+ and, if so, if the parameter we have here is as a parameter of -+ the current function and is in the argument slot declared to -+ contain the format argument. */ -+ -+ p = current_function_decl; -+ -+ i2 = find_function_format (p->decl.name, p->decl.assembler_name); -+ -+ if (i2 == NULL) -+ { -+ if (warn_format > 1) -+ warning("non-constant format parameter"); -+ } -+ else -+ { -+ for (n = 1, p = current_function_decl->decl.arguments; -+ (n < i2->format_num) && (p != NULL); -+ n++, p = TREE_CHAIN(p)) -+ ; -+ if ((p == NULL) || (n != i2->format_num)) -+ warning("can't find format arg for current format function"); -+ else if (p != format_tree) -+ warning("format argument passed here is not declared as format argument"); -+ } -+ } -+ else if ((info->format_type != strftime_format_type) && -+ (warn_format > 1)) -+ warning("non-constant format parameter"); - return; - } -- if (TREE_CODE (format_tree) != ADDR_EXPR) -- return; - format_tree = TREE_OPERAND (format_tree, 0); -- if (TREE_CODE (format_tree) != STRING_CST) -- return; -+ if (warn_format > 1 && -+ (TREE_CODE (format_tree) == VAR_DECL) && -+ TREE_READONLY(format_tree) && -+ (DECL_INITIAL(format_tree) != NULL) && -+ TREE_CODE(DECL_INITIAL(format_tree)) == STRING_CST) -+ format_tree = DECL_INITIAL(format_tree); -+ -+ if (TREE_CODE (format_tree) != STRING_CST) -+ { -+ if ((info->format_type != strftime_format_type) && -+ (warn_format > 1)) -+ warning("non-constant format parameter"); -+ return; -+ } - format_chars = TREE_STRING_POINTER (format_tree); - format_length = TREE_STRING_LENGTH (format_tree); - if (format_length <= 1) -@@ -1433,7 +1523,10 @@ - if (format_chars - TREE_STRING_POINTER (format_tree) != format_length) - warning ("embedded `\\0' in format"); - if (info->first_arg_num != 0 && params != 0 && ! has_operand_number) -- warning ("too many arguments for format"); -+ { -+ if (warn_format_extra_args) -+ warning ("too many arguments for format"); -+ } - return; - } - if (*format_chars++ != '%') -@@ -1569,12 +1662,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. */ -+ /* XXX should we allow unsigned ints here? */ - if ((TYPE_MAIN_VARIANT (TREE_TYPE (cur_param)) - != integer_type_node) - && - (TYPE_MAIN_VARIANT (TREE_TYPE (cur_param)) - != unsigned_type_node)) -- warning ("field width is not type int (arg %d)", arg_num); -+ warning ("precision is not type int (arg %d)", arg_num); - } - } - else -@@ -1619,6 +1713,53 @@ - } - } - } -+ if (*format_chars == 'b') -+ { -+ /* There should be an int arg to control the string arg. */ -+ if (params == 0) -+ { -+ warning (tfaff); -+ 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)) -+ { -+ warning ("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) -+ { -+ warning (tfaff); -+ return; -+ } -+ if (info->first_arg_num != 0) -+ { -+ 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) -+ { -+ warning ("ethernet address is not type unsigned char *" -+ " (arg %d)", -+ arg_num); -+ } -+ } -+ } - - aflag = 0; - -@@ -1688,7 +1829,8 @@ - switch (info->format_type) - { - case printf_format_type: -- fci = print_char_table; -+ fci = flag_format_extensions ? print_char_table -+ : unextended_print_char_table; - break; - case scanf_format_type: - fci = scan_char_table; -@@ -1787,7 +1929,6 @@ - warning ("use of `%c' length character with `%c' type character", - length_char, format_char); - -- /* Finally. . .check type of argument against desired type! */ - if (info->first_arg_num == 0) - continue; - if (fci->pointer_count == 0 && wanted_type == void_type_node) diff --git a/lang/gcc295/files/patch-fb b/lang/gcc295/files/patch-fb deleted file mode 100644 index dae6d331898c..000000000000 --- a/lang/gcc295/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/gcc295/files/patch-fc b/lang/gcc295/files/patch-fc deleted file mode 100644 index 081cdcbabc52..000000000000 --- a/lang/gcc295/files/patch-fc +++ /dev/null @@ -1,31 +0,0 @@ ---- gcc/toplev.c.orig Thu Oct 21 00:01:37 1999 -+++ gcc/toplev.c Sun Nov 26 15:25:45 2000 -@@ -771,6 +771,9 @@ - - int flag_no_ident = 0; - -+/* Nonzero means that -Wformat accepts certain system-dependent formats. */ -+int flag_format_extensions = 0; -+ - /* Table of supported debugging formats. */ - static struct - { -@@ -971,6 +974,8 @@ - "Generate code to check every memory access" }, - {"prefix-function-name", &flag_prefix_function_name, 1, - "Add a prefix to all function names" }, -+ {"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, -@@ -1051,7 +1056,9 @@ - { "-Wconversion", "Warn about possibly confusing type conversions" }, - { "-Wno-conversion", "" }, - { "-Wformat", "Warn about printf format anomalies" }, -+ { "-Wnon-const-format", "Warn about printf-like format strings" }, - { "-Wno-format", "" }, -+ { "-Wno-format-extra-args", "" }, - { "-Wimplicit-function-declaration", - "Warn about implicit function declarations" }, - { "-Wno-implicit-function-declaration", "" }, diff --git a/lang/gcc295/files/patch-strerror.c b/lang/gcc295/files/patch-strerror.c deleted file mode 100644 index 5061520e10cc..000000000000 --- a/lang/gcc295/files/patch-strerror.c +++ /dev/null @@ -1,14 +0,0 @@ ---- libiberty/strerror.c.orig Fri May 15 16:42:41 1998 -+++ libiberty/strerror.c Mon May 6 13:53:14 2002 -@@ -461,9 +461,10 @@ - static const char **sys_errlist; - - #else -- -+/* sigh... why don't they just leave this to stdio.h... - extern int sys_nerr; - extern char *sys_errlist[]; -+*/ - - #endif - diff --git a/lang/gcc295/files/patch-strsignal.c b/lang/gcc295/files/patch-strsignal.c deleted file mode 100644 index 9ce126f1464e..000000000000 --- a/lang/gcc295/files/patch-strsignal.c +++ /dev/null @@ -1,56 +0,0 @@ ---- libiberty/strsignal.c.orig Fri May 15 16:42:42 1998 -+++ libiberty/strsignal.c Mon May 6 14:01:43 2002 -@@ -244,7 +244,7 @@ - #else - - #ifdef NSIG --static int sys_nsig = NSIG; -+static int Gsys_nsig = NSIG; - #else - #ifdef _NSIG - static int sys_nsig = _NSIG; -@@ -330,7 +330,7 @@ - if ((sys_siglist = (const char **) malloc (nbytes)) != NULL) - { - memset (sys_siglist, 0, nbytes); -- sys_nsig = num_signal_names; -+ Gsys_nsig = num_signal_names; - for (eip = signal_table; eip -> name != NULL; eip++) - { - sys_siglist[eip -> value] = eip -> msg; -@@ -379,7 +379,7 @@ - { - init_signal_tables (); - } -- maxsize = MAX (sys_nsig, num_signal_names); -+ maxsize = MAX (Gsys_nsig, num_signal_names); - return (maxsize - 1); - } - -@@ -432,7 +432,7 @@ - - #endif - -- if ((signo < 0) || (signo >= sys_nsig)) -+ if ((signo < 0) || (signo >= Gsys_nsig)) - { - /* Out of range, just return NULL */ - msg = NULL; -@@ -591,7 +591,7 @@ - { - init_signal_tables (); - } -- if ((signo <= 0) || (signo >= sys_nsig)) -+ if ((signo <= 0) || (signo >= Gsys_nsig)) - { - fprintf (stderr, "%s: unknown signal\n", message); - } -@@ -621,7 +621,7 @@ - - maxsigno = signo_max (); - printf ("%d entries in names table.\n", num_signal_names); -- printf ("%d entries in messages table.\n", sys_nsig); -+ printf ("%d entries in messages table.\n", Gsys_nsig); - printf ("%d is max useful index.\n", maxsigno); - - /* Keep printing values until we get to the end of *both* tables, not diff --git a/lang/gcc295/files/patch-va b/lang/gcc295/files/patch-va deleted file mode 100644 index 48040ffa6e96..000000000000 --- a/lang/gcc295/files/patch-va +++ /dev/null @@ -1,20 +0,0 @@ ---- gcc/Makefile.in.orig Thu Feb 25 12:40:16 1999 -+++ gcc/Makefile.in Mon Mar 1 04:36:40 1999 -@@ -793,7 +793,7 @@ - rm -f config.run - - $(srcdir)/configure: $(srcdir)/configure.in -- cd $(srcdir); autoconf -+ cd $(srcdir); echo "wants to run autoconf" - - # cstamp-h.in controls rebuilding of config.in. - # It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't -@@ -806,7 +806,7 @@ - # ??? Newer versions have a maintainer mode that may be useful here. - $(srcdir)/config.in: $(srcdir)/cstamp-h.in - $(srcdir)/cstamp-h.in: $(srcdir)/configure.in $(srcdir)/acconfig.h -- cd $(srcdir) && autoheader -+ cd $(srcdir) && echo "want to run autoheader" - @rm -f $(srcdir)/cstamp-h.in - echo timestamp > $(srcdir)/cstamp-h.in - auto-host.h: cstamp-h ; @true diff --git a/lang/gcc295/pkg-descr b/lang/gcc295/pkg-descr deleted file mode 100644 index bf0550cfa61d..000000000000 --- a/lang/gcc295/pkg-descr +++ /dev/null @@ -1,8 +0,0 @@ -GCC (the GNU Compiler Collection) version 2.95 contains many improvements -and features not found in the gcc-2.7.2 and gcc-2.8.1 compilers. -C++ support is vastly improved, in particular template support is worlds -above that of gcc-2.7.2. - -For more details, see <http://gcc.gnu.org/>. - -WWW: http://gcc.gnu.org/ diff --git a/lang/gcc295/pkg-plist b/lang/gcc295/pkg-plist deleted file mode 100644 index 493ce5bcfddb..000000000000 --- a/lang/gcc295/pkg-plist +++ /dev/null @@ -1,21 +0,0 @@ -@comment $FreeBSD$ -bin/g++295 -bin/g++filt295 -bin/gcc295 -bin/gcov -bin/%%GNU_HOST%%-gcc -bin/protoize295 -bin/unprotoize295 -%%GNU_HOST%%/include/_G_config.h -%%GNU_HOST%%/include/assert.h -@comment Insert PLIST.gcc-lib here -@comment -=[ begin PLIST.gcc-lib ]=- -@comment -=[ end PLIST.gcc-lib ]=- -@dirrm %%GNU_HOST%%/include -@dirrm %%GNU_HOST%% -@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++/std -@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include/g++ -@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%%/include -@dirrm lib/gcc-lib/%%GNU_HOST%%/%%EGCS_REV%% -@dirrm lib/gcc-lib/%%GNU_HOST%% -@dirrm lib/gcc-lib |